Added
- One declared output-bounding dimension set on every read surface: 25 flag spellings across 19 commands collapse to include / how-much / cost / encoding, with a precedence algebra and permanent aliases Eintrag pm-hb7ug8
- Intent-scoped read projections: a command returns exactly the fields the declared intent consumes, so agents stop paying for fields they discard Eintrag pm-cxr0jb
Fixed
- Auto Release coverage depends on a /proc timing race in the SDK entrypoint sampler Eintrag pm-q2a7hr
- The author field is an ungoverned free-text vocabulary: 477 distinct spellings across 41,021 immutable entries encode harness, model, session role, topic, and date because those dimensions had no fields, and the record cannot be rewritten Eintrag pm-3yxwv5
- Recorded agent provenance is unreadable in practice: the only projection carrying it also carries every JSON Patch operation at 63.5x the compact cost, and no read surface can filter on harness, model, effort, or instance Eintrag pm-v8gfi7
- Harness provenance can only be declared as environment variables, so the model the primary harness publishes in its own session record is inexpressible: 900 of 900 explicit entries still record model null while effort resolves Eintrag pm-ffz0a9
- GH-867: linked files and docs no-op additions report changed and append phantom history Eintrag pm-jb1ron
- GH-868: atomic replacement contract for linked files and docs Eintrag pm-cstuys
- GH-865: classify linked-test lock contention as infrastructure collision Eintrag pm-2irc1p
- GH-779 recurrence: history-redact must refresh item and drift projections atomically Eintrag pm-wnbk2l
- GH-870: make runtime workspace path assertions portable in Windows nightly Eintrag pm-rusbe4
- GH-871: preserve letter-suffixed issue codes in duplicate similarity scoring Eintrag pm-sn3xor
- GH-866: telemetry flush queue-drain contract reports partial progress as fully drained Eintrag pm-u5c27w
Added
- Episode identity: a stable, labelled, nestable episode key that survives process, surface and harness boundaries so trajectory grouping and fleet aggregation have a join key Eintrag pm-oqo9l2
Fixed
- Both published bin names are refused as subcommands, so npx PKG pm init and bunx PKG pm init fail while the version probe that guards them passes Eintrag pm-rnl3sa
- The intent budget binds downward and is inert upward: a sevenfold budget increase buys zero rows and the field that would reveal the clamp is omitted exactly when it applies Eintrag pm-prsvjh
- The MCP action vocabulary is not derived from the CLI contract table: 26 MCP-only spellings, and seven contracted capability families including merge, workspace snapshot and eval have no MCP route at all Eintrag pm-0834kq
- The SDK boundary gate proves the CLI stopped importing private core and never proves the CLI only imports the published SDK, so ten private SDK modules carry our own commands Eintrag pm-xpumg4
- GH-855: core mutation locators must honor extension-registered item types Eintrag pm-scga6k
- GH-853: extension command test harness must inject the real host-bound SDK Eintrag pm-wx2lr5
- Session-topic provenance has no descriptor keys on any harness, and effort/role are wired for only claude-code and codex, so most fleet history records harness and model but nothing about the work's shape Eintrag pm-rbg1qo
- Explicit-unavailable provenance is recorded for the model dimension only, so effort and role absence is permanently indistinguishable from a legacy entry Eintrag pm-9wbiye
- GH-851: compare init discovery roots by filesystem identity Eintrag pm-noq46i
- GH-847: tighten managed built-in static SDK contracts and author guidance Eintrag pm-ka6m65
- The MCP server never receives the harness provenance environment, so one agent session writes permanently divergent identity records depending on which surface it used Eintrag pm-1zhfls
- The bounded read costs 13.8 times the unbounded read to deliver the same set, because eight metadata blocks are re-emitted per page and the page carries two rows Eintrag pm-sf31yl
- Declared intent token budgets are smaller than the smallest projection their own command can emit, so three of five intents return no result at all on this tracker Eintrag pm-yekkvt
- Declared read-intent token budgets are written to a flag three of five intent commands do not accept, so the shipped intent layer overruns its own declaration by up to 43.8x Eintrag pm-7hbfch
- The public SDK's item-lifecycle surface re-exports CLI command modules, so lifecycle policy cannot be expressed, inspected, or overridden through the SDK Eintrag pm-z5pmf8
Security
- GH-854: transactional extension mutation guards for enforceable domain invariants Eintrag pm-hx23u5
- CodeQL alert 33: eliminate polynomial trailing-whitespace matching in SDK append Eintrag pm-8wskoj
Other
- As a coding agent, every pm command I run costs the fewest tokens that still fully answer my question, and I can see what I spent Eintrag pm-g3n00m
- Self-reported token accounting: any command can report the token cost of its own output so budget spend is attributable at runtime and in CI Eintrag pm-t5dt4z
Fixed
- Mutation echo parity reversed after pm-nilh closed: the MCP surface now returns 5.2x the CLI default for an identical create Eintrag pm-awe3t6
- The bunx release gate passes with an arbitrary token in the executable position, so the only Bun coverage in the pipeline cannot fail for the reason it exists Eintrag pm-lpqln4
- The published-artifact gate never executes pm-mcp: two of three declared bins resolve to the same file and the third — which already shipped dead once — has zero release coverage Eintrag pm-u0oz2k
- One governance rule, two terminal-transition paths, opposite answers: pm close refuses a reasonless close while pm update --status closed invents a reason and writes it into the immutable record unmarked Eintrag pm-2ew0w3
- Closing an item deletes its ordering edges, so the historical ordering graph is structurally unable to exist Eintrag pm-xm0id4
- GH-831: actionable unknown-author health evidence is truncated without a complete disposition selector Eintrag pm-1bmeta
- GH-841: init ancestor discovery obscures the selected workspace and safe current-directory target Eintrag pm-ipbwcq
- GH-840: annotation primitives lack a merge-safe structured event append and query contract Eintrag pm-09rdni
- GH-839: extension field declarations accept types the persisted schema cannot validate Eintrag pm-tom5xp
- Harness-detection specs inherit the ambient harness, so four tests fail under Claude Code and pass in CI on the same commit: the local verdict depends on which agent ran it Eintrag pm-631t9p
- Extension-registered item types are created, stored and versioned like any other item but are invisible to the merge fence and its drift detector, which reports the fence clean Eintrag pm-5rexki
- Four edge-counting conventions publish under one edge_count field: graph analyze reports 10046 and graph centrality 7351 for the same graph at the same cache fingerprint Eintrag pm-jiusod
- Four read surfaces publish a jq_selector that is guaranteed to return nothing: the self-describing row contract is present, vacuous, and indistinguishable from an empty result Eintrag pm-x710qm
Security
- GH-827: local package install must prevent recursive self-copy and disk exhaustion Eintrag pm-0682l4
Fixed
- Exact-tag npm recovery must stabilize public package access before verification Eintrag pm-t310hx
- GH-830: duplicate-safe creation must require explicit bypass before persistence Eintrag pm-35w9l2
- GH-828: init status registries must expose one coherent alias contract Eintrag pm-62n4kk
- GH-826: extension commands need structured failure results and preserved remediation Eintrag pm-ye9v2t
- GH-825: restore SDK excess-property safety for extension definition metadata Eintrag pm-unwsns
- GH-824: core-field recovery must name dedicated flags instead of extension activation Eintrag pm-2jtbl8
- CodeFactor fixed-only success payload blocks exact-head release gate Eintrag pm-xcrlkl
- Both declared context intents are unreachable because the intent applier assigns field-group names into the section value domain, and the two validators give contradictory advice Eintrag pm-ai45y9
- GH-814: SDK metadata reads must distinguish missing and invalid tracker roots from an empty tracker Eintrag pm-23xkss
- The runtime contract enumeration is not closed over the surface it can resolve: 14 rendered commands, including the list-open that AGENTS.md mandates, are contract-backed by name yet absent from every enumeration Eintrag pm-6j7r1a
- GH-817: machine-readable flag contracts need semantic invocation metadata and stdin capability Eintrag pm-11phn1
Security
- GH-827: local package install must prevent recursive self-copy and disk exhaustion Eintrag pm-0682l4
Added
- Omission receipts: every bounded read shape names the field groups it withheld and the flag that restores each, with the same rigor row truncation already has Eintrag pm-p258tx
Fixed
- Workspace snapshot heartbeat races atomic root activation and loses its writer lock Eintrag pm-ifuysd
- GH-815: optional missing merge drivers must be advisory in default health verdicts Eintrag pm-r8u2g6
- GH-814: SDK metadata reads must distinguish missing and invalid tracker roots from an empty tracker Eintrag pm-23xkss
- Sentry gate misclassifies handled snapshot identifier validation as a blocking runtime error Eintrag pm-k785lu
- Scale fixtures vary only in size: the sole synthetic workspace generator hardcodes population shape, so the million-item tier is eleven simulated days deep with one history entry per item Eintrag pm-vv2lti
- Whole-workspace snapshot restore silently rewinds the immutable record: history streams are deleted and nothing records that a rewind happened Eintrag pm-6l2mza
- GH-808: lifecycle completion resolver types and provenance lie when no timestamp exists Eintrag pm-qhnq6t
- pm activity --compact --json emits an empty activity:\[\] decoy key alongside compact_activity Eintrag pm-p3x4
- Mode-paired envelopes zero-fill the inactive collection instead of omitting it, so parsing the obvious key returns an empty array that is indistinguishable from a real empty result Eintrag pm-cyrfjq
- GH-802: persist structured numeric measurements with test runs Eintrag pm-ygerpy
- GH-806: publish and reuse the eval query-set contract across help, errors, SDK, and machine discovery Eintrag pm-wd61s2
- The rendered command surface is not a subset of the contracted surface: pm workspace ships in help, runs, and exits 2 on its own contract lookup, and no gate compares the two sets Eintrag pm-1jrdri
- GH-797: rank read/show/view recovery by executable intent and bounded contracts guidance Eintrag pm-bex0ui
- GH-803: hoist repeated linked-test execution context and honor lean output Eintrag pm-fqdmbf
- GH-807: make the default eval query set version-controllable in every initialized workspace Eintrag pm-jdh1jg
Other
- The product advertises CI gates in its own help that no pipeline runs: pm eval names --fail-under a CI gate and nothing consumes it Eintrag pm-b2hc4x
- Gate registry: every enforced CI and release gate has an owner item, a declared failure taxonomy, a bypass policy, and a negative-control fixture proving it fails on known-bad input Eintrag pm-k6t4yb
Added
- GH-787: workspace snapshot and restore primitives for cheap reproducible evaluation episodes Eintrag pm-dkrmzv
- Reproducible workspace instances: seeded identifiers, injectable clock, and byte-identical construction from a declared recipe Eintrag pm-rbcvt2
Fixed
- GH-676: list tag filter must accept the CSV shape used by tag mutations Eintrag pm-b1zsk9
- GH-675: lifecycle must record actual completion time separately from tracker close time Eintrag pm-bwnclq
- GH-711: update must support intentional unresolved parent references under strict governance Eintrag pm-cragzs
- GH-715: expose mutation-guard policies through canonical config help and output Eintrag pm-5ecnar
- GH-672: pm context low_level rows omit blocked state and blocker IDs Eintrag pm-r2suqb
- GH-651: pm activity bare relative windows silently return empty results Eintrag pm-b0twiy
- GH-784: SDK blueprint preflight misses host-owned flag collisions and malformed long-flag tokens Eintrag pm-huolbk
- GH-785: align pm health ok with warn-only exit semantics on fresh clones Eintrag pm-83ov2i
- GH-792: fresh-clone health must not require ignored runtime and empty extension directories Eintrag pm-0k4o8t
- GH-793: remove or disambiguate list --all so filtered output cannot claim workspace completeness Eintrag pm-q7qojt
- GH-794: make copied identity output_format overrides decline instead of exposing the host envelope Eintrag pm-wi301j
- Nightly static quality fails closed in shallow workflow checkouts because CodeFactor parity cannot resolve a committed base Eintrag pm-1hbw4y
- GH-790/GH-791: pm merge install reports workspace_root in a different canonical form depending on which channel resolved it, so the same repository has two non-equal spellings on macOS and Windows Eintrag pm-ihmfs6
- The dependency token budget is enforced against a different representation than the one emitted, so a command that reports staying inside 16k tokens delivers about 45k Eintrag pm-t2t709
- pm activity has no default bound: a bare invocation returns all 40,446 history entries at 1.59M tokens, 397x the ceiling its own contract declares Eintrag pm-z2j1qt
- Both token gates are structurally unable to fail: one measures only help payloads, the other measures command output against a three-item fixture, so no check anywhere compares real output to the ceiling the contract declares Eintrag pm-9sui7t
- Sentry PM-CLI-2N: malformed missing tags crash normalizeItemMetadata before search can report the item Eintrag pm-89neyq
- pm-governance-audit comments-audit limit contract contradicts runtime alias semantics Eintrag pm-v657
- pm-governance-audit dedupe-audit rejects --status all, breaking explicit all-lifecycle duplicate sweeps Eintrag pm-mp49
- GH-781: managed built-in extensions redeclare public SDK contracts locally, and the mirrors already disagree with the authoritative declarations in shipped packages Eintrag pm-vnk7ob
Security
- GH-799: confine custom item-type storage folders to the tracker root Eintrag pm-d30cmk
- PR \#795 exact-head review hardening: dependency budget progress, rendered fixed points, nightly credential isolation, and drift-cache diagnostics Eintrag pm-jd3m6p
Other
- Refresh compatible 2026-07-29 development dependencies Eintrag pm-77bmeu
- Token-budget gate corpus is unrepresentative in both scale and coverage: budgets are set on a seeded micro-workspace and the largest agent-facing payloads are not measured at all Eintrag pm-z71aoy
- GH-782: guide-shell special-cases one multi-word command name and duplicates its status derivation, and calendar's throw-only validation call is unexplained, inside package-managed built-ins consumers cannot patch Eintrag pm-cb8qq2
Added
- MCP tool profiles: core/standard/full/custom tiers with an allowlist override, so 31 tools are the maximum surface, not the default Eintrag pm-9k90
- MCP resources and prompts surface: expose workspace context as addressable resources and canonical workflows as prompts, not only as tools Eintrag pm-yf07b7
- Project live workspace schema and extension commands into MCP discovery and mutations Eintrag pm-m4ikkz
- Public SDK contracts and static runtimes let extension authors reuse the CLI baseline Eintrag pm-w7mqzt
Changed
- Dedupe flag-contracts.ts repetitive per-command blocks (9 internal clones, ~150 lines) Eintrag pm-ueuq
Fixed
- GH-770: pending merge receipts remain invisible to validation and CI before reconciliation Eintrag pm-ysqb6n
- GH-775: make fresh-clone health distinguish material tracker loss from absent empty type folders Eintrag pm-xyuhh7
- GH-779: invalidate history drift cache after item and repair mutations Eintrag pm-ajaskl
- The merge fence covers item documents but not tracked non-item JSON, so .managed-extensions.json line-conflicts between agents on different branches Eintrag pm-gjicmx
- GH-773: install portable merge drivers without permanent checkout-path drift Eintrag pm-w91mvg
- GH-776: preserve output override compatibility and export the public decision contract Eintrag pm-u2tqn6
- GH-778: make lean structured reads omit caller echoes and inactive pagination metadata Eintrag pm-oi4zs3
- GH-772: rejected extension command registration leaves silent partial activation and zero-exit command gaps Eintrag pm-4vwcvq
- The surface-discovery contract costs 31k tokens in its brief form and still omits every flag, so the cheapest way to learn pm is the most expensive call it offers Eintrag pm-gmdzaa
- Linked-test schema sandbox breaks package prepare hooks that install the PM merge driver Eintrag pm-uawujr
- The list family exposes three incompatible --json projections under one flag, so an agent filtering on an unprojected field silently reads absent instead of unset Eintrag pm-pjnu91
- GH-768: deduplicate public SDK provenance exports across core and root entrypoints Eintrag pm-44aa4x
- GH-766: Windows nightly extension timeout and merge-safety cleanup EBUSY Eintrag pm-25b7tg
- Merge-fence scope ambiguity: extension-contributed item folders make default validation disagree with the no-extensions CI baseline Eintrag pm-mkzw1x
- GH-764: one host-global flag collision quarantines an entire extension and suggests reinstalling the installed package Eintrag pm-gnowgi
- Recovery bundle mines flag names from usage-error prose: scope errors like '--rebuild and --clear apply only to graph index' yield missing:--clear + suggested_retry appending the other invalid flag Eintrag pm-ikv6m0
- GH-755: dependency edges are written with a null author, so the relationship graph is the only recorded collection with no provenance Eintrag pm-0a24f5
- GH-752: list results claim completeness while unreadable items are omitted Eintrag pm-57ir3b
- GH-763: merge-decision receipt persists shell-quoted item_path that cannot resolve Eintrag pm-9nfpwd
- GH-747: the bundled TOON encoder emits documents its own decoder rejects, so a valid item becomes permanently unreadable Eintrag pm-avv3wx
- Identity provenance is a fixed three-dimension schema, so the reasoning level sitting in the environment right now and any session role are structurally unrepresentable Eintrag pm-itsjf0
- Model capture is inert in practice: zero of 35,103 recorded entries carry a model, because the declared signal for the primary harness is an environment variable that harness does not set Eintrag pm-0zcwz6
- The public harness detectors default env to an empty object, so detectAgentIdentity() and detectHarnessIdentity() silently return empty for every SDK caller Eintrag pm-pwq0g5
- GH-746: the release publish step guards on a package scope that does not exist, so publish idempotence and access recovery are permanently dead code Eintrag pm-2z9263
Other
- Evaluate Sentry 10.68.0 compatibility and retain 10.67.0 Eintrag pm-r31390
- Derive ALL MCP tool inputSchemas from \*\_FLAG_CONTRACTS — eliminate hand-declared parallel schema tables (extend the pm_copy pattern) Eintrag pm-xwah
- Generate shell completions, MCP tool registrations, and command reference docs from the contracts table (single source of truth) Eintrag pm-mu8m
- The agent token-surface harness from pm-a22j is wired into nothing, so output-size regressions like the 33k-token health check land undetected Eintrag pm-dpqa3h
- Ecosystem review and deep-graph enrichment pass 2026-07-27: all-status census, CLI simplification + token-efficiency + long-term brainstorm, dedupe-checked gap filing Eintrag pm-89qv6b
- Evaluate @toon-format/toon 4 compatibility and item-format migration Eintrag pm-5cgm2z
- ADR amendment: extensible durable agent provenance dimensions and privacy boundaries Eintrag pm-oskdmu
- SDK completeness is asserted by a 10-case curated array against 85 declared actions: the boundary proves the CLI reaches nothing below the SDK, nothing proves the SDK can do what the CLI does Eintrag pm-te6elw
Fixed
- GH-754: the merge driver's field-level conflict report is transient stdout, so the value it discarded leaves no durable record anywhere Eintrag pm-rh98vo
- Merge fence fails open: an unresolvable pm driver leaves unmarked UU files whose naive resolution silently discards the other branch's fields and history Eintrag pm-c0wthb
- Merged-main Windows init package acceptance exceeds generic Vitest timeout Eintrag pm-0vkmqs
- GH-739: expose duplicate-cluster discovery as a first-class CLI and SDK workflow Eintrag pm-n13lzc
- PmClient activation queue serializes unrelated workspaces and extension-free actions Eintrag pm-zpoyg9
- GH-741: replace reference-identity service override claiming with an explicit observable contract Eintrag pm-h3ipax
- GH-740: make the documented aggregate SDK barrel complete and continuously derived Eintrag pm-obbh43
- GH-738: publish the machine-readable public SDK surface snapshot with the package Eintrag pm-lnswp0
- Terminal release transitions retain stale claim_principal ownership Eintrag pm-bnrndo
- SDK: inject host-bound runtime into ImportExportContext Eintrag pm-i7indd
- Detected agent identity is not agent-unique, so claim mutual exclusion silently degenerates across a same-harness fleet Eintrag pm-z8qd4k
- GH-714: linked-test verbose child stdout still aborts with EAGAIN after bounded-drain fix Eintrag pm-5sm91o
- CodeFactor 2026-07-26 SDK and digital-twin regression cluster (GH-722 through GH-732) Eintrag pm-eq3ak8
- GH-733: Windows Node 24 nightly portability regressions in author, recovery, and drift tests Eintrag pm-wr8utz
- Sentry PM-CLI-2M: classify workspace audit-state drift as an actionable conflict Eintrag pm-o71t68
- GH-728: preserve live harness authorship across initialized multi-agent workspaces Eintrag pm-si2uur
- GH-720: diagnose unbuilt GitHub extension sources and recommend resolvable npm artifacts Eintrag pm-0sx3kz
- GH-719: reject or diagnose extension command flags shadowed by pm globals Eintrag pm-ill9gv
Security
- Scorecard Security-Policy (4→10): enrich SECURITY.md to full scoring depth Eintrag pm-2d7k
- Scorecard Fuzzing (0→10): add a fuzzing/property-based harness for the parser and codec surfaces Eintrag pm-0yi7
Other
- The merge-safety gate verifies one history stream of 2,058 and never checks drift, so a clean merge that provably corrupts stream anchoring passes CI green Eintrag pm-pdr8t1
- Branch merge is an unrecorded mutation: the field-aware merge produces an item state that no history entry ever produced, so the merged state is unaddressable by restore and point-in-time reads Eintrag pm-9j2r3b
- Continuous multi-branch merge conformance: randomized N-branch divergence and merge property suite with a zero-conflict acceptance bar Eintrag pm-76dnfg
- 2026-07-26 ecosystem review: all-status walk, graph depth enrichment, agent-ergonomics and release-pipeline verification Eintrag pm-v4iypw
- Historical release attribution backfill: stamp every terminal item with the release tag that contains its close event Eintrag pm-3j6it6
- Terminal relationship backfill, evidence-derived tranche: make every closed and canceled item reachable by typed graph traversal Eintrag pm-qudvto
- 2026-07-26 agent-context readiness audit: full CLI, SDK, and ecosystem review and optimization plan Eintrag pm-t9e3bc
- Ecosystem review and deep-graph enrichment pass 2026-07-26: all-status inspection, CLI simplification + context-algorithm brainstorm, gap filing Eintrag pm-e9yevx
Added
- Immutable-tree DeepScan and CodeFactor zero-new-issues release gate Eintrag pm-39cqqx
- Model-aware agent identity: detection resolves harness, model, and session so an agent never types an identity flag and history still records which model acted Eintrag pm-03pq3o
Changed
- Dependabot update queue 2026-07-21: PRs \#618-\#621 Eintrag pm-pegcmx
- Harness signal registry: identity detection becomes declared data that a config entry or a package can extend without a code change Eintrag pm-brxdct
- Public SDK surface snapshot and breaking-change gate: the exported API is a reviewed artifact, and an unintended removal or signature change cannot merge Eintrag pm-e6tm5c
Fixed
- GH-716: detect npm and Slack credential shapes in mutation secret guard Eintrag pm-fhhhlk
- pm package init doubles the pm- prefix and mints an unusable pm pm ... command path when given the package name every real pm package actually uses Eintrag pm-c5f0gh
- pm extension --init and pm package init are divergent scaffold generators behind the same grammar; the extension path emits no tests and an unpublishable manifest Eintrag pm-9smp7j
- Built-in help examples teach an explicit --author on dozens of commands, training every agent to suppress its own detected identity and pay tokens for it Eintrag pm-sx52hr
- Shipped MCP manifests and MCP tool guidance hardwire a static author, overriding the automatic identity of every plugin-hosted agent Eintrag pm-zqsrt5
- A configured author_default suppresses harness detection entirely, so any workspace that sets a default author records no harness and no model provenance Eintrag pm-6uxhe0
- GH-677: pm-path relocation must diagnose extension discovery changes Eintrag pm-qswf81
- GH-691: parseItemDocument errors need stable structured SDK classification Eintrag pm-r9pudt
- First-party service collision: builtin-calendar and builtin-guide-shell both override the global output_format service Eintrag pm-ixoa
- GH-680: completed Plan close must transition plan_mode terminally Eintrag pm-g512pv
- GH-692: plan update-step must persist file, test, and doc evidence fields Eintrag pm-z5vamp
- GH-678: linked-test sandbox must preserve freshly installed project extensions across child processes Eintrag pm-jvken3
- GH-709: batch duplicate-cluster sweep with canonical precomputed similarity signals Eintrag pm-2i12ti
- pm config set on one leaf key rewrites settings.json with every default materialized and silently replaces explicit stored values (validation.parent_reference warn -\> strict_error) Eintrag pm-x2aplf
- GH-690: plan resume and approve must apply or reject scope changes Eintrag pm-bxdlfa
- GH-688: seeded Plan creation must be atomic across ownership boundaries Eintrag pm-96tter
- GH-679: linked-test output capture must not abort verbose child tools with EAGAIN Eintrag pm-j36ypd
- Author-resolution bypass class: create/copy and the context, next, and usage-feedback paths re-implement author precedence without harness detection, stamping author 'unknown' on new items Eintrag pm-42p9nk
- GH-706: accept bare conventional forms for create/update boolean metadata flags Eintrag pm-ulb3rc
- GH-700/GH-701/GH-702: nightly Node 22 and cross-platform regression bundle Eintrag pm-3x8w4m
- GH-704: make extension activation failures actionable at command and lifecycle boundaries Eintrag pm-3ljt19
- GH-705: make duplicate governance discoverable and advisory by default Eintrag pm-de3foa
- GH-703: populate portable workspace coordinates in extension CommandHandlerContext Eintrag pm-fc9gm4
Removed
- GH-708: make retained delete tombstones discoverable and policy-controlled Eintrag pm-wdrkfr
Security
- Add TruffleHog OSS verified-secret scanning to the security workflow and complete free GitHub secret-scanning toggles Eintrag pm-4ris
- Refresh 2026-07-15 npm dependency updates with compatibility and release-gate proof Eintrag pm-tll8
Other
- CLI transport overhead budget: gate the per-invocation bootstrap floor and the CLI-vs-SDK delta, not just absolute scale numbers Eintrag pm-yse5dt
- CI/CD + test-suite performance: in-process CLI runner and dedupe redundant matrix legs Eintrag pm-7rlp
- ADR: agent identity model — stable author namespace plus structured harness, model, and session provenance Eintrag pm-qwuber
- Public SDK surface shape: 881 exports behind one flat entrypoint with no capability tiering and a 250ms eager import cost Eintrag pm-38bskj
Added
- Harness-aware author identity: pm resolves the acting agent from its runtime harness so PM_AUTHOR is never required Eintrag pm-z9x1r2
- Mutation event stream primitive: pm events --follow (NDJSON with durable cursor) + SDK subscription API for cross-process agent coordination Eintrag pm-e200
- Create-time near-duplicate advisory: pm create/copy surface similar existing items before new work is filed Eintrag pm-4ri6
Fixed
- GH-686: validate extension flag descriptors and support repeatable as a list alias Eintrag pm-s1w0sf
- GH-683: standard get projection must expose tests_count when tests are omitted Eintrag pm-1exil1
- GH-685: extension CommandContext needs portable source and tracker workspace coordinates Eintrag pm-j4ac9a
- GH-682: linked-test tracker sandbox must preserve source VCS workspace identity Eintrag pm-954h0o
- 10k scale gate regression: CLI create latency and create/claim peak RSS exceed fixed budgets Eintrag pm-hcrmye
- PR \#673 review hardening: literal Git paths, canonical workspace identity, bounded diagnostics, and recoverable init Eintrag pm-d7crwk
- GH-666/GH-667: nightly Node 22 stderr and Windows permission-contract regressions Eintrag pm-lvd647
- GH-665: schema migrations need derived idempotency keys and structured recovery Eintrag pm-s79kel
- GH-663: fresh init must install and surface the semantic merge fence Eintrag pm-1w3ljt
- GH-514: pm init writes no .gitignore rules — runtime/search caches churn as tracked files in downstream repos Eintrag pm-hous
- Stale-lock takeover race in acquireLock: two waiters can both remove the stale lock and both believe they own the item Eintrag pm-zwib
- Create/copy ID allocation TOCTOU: duplicate generated id silently overwrites the other item's file; idExists misses extension type folders Eintrag pm-khdq
- GH-664: published daily release fails Bun node:sqlite verification before GitHub Release Eintrag pm-cedo0g
Security
- Adopt TruffleHog 3.96.0 security action update Eintrag pm-ion0bp
- Semgrep 874840488: High spawn shell true in scripts/release/utils.mjs\#L38 Eintrag pm-a7m7
- Semgrep 874962820: High spawn shell true in plugins/pm-codex/scripts/pm-mcp-server.mjs\#L86 Eintrag pm-1uul
- Semgrep 874962821: High spawn shell true in plugins/pm-claude/scripts/pm-mcp-server.mjs\#L82 Eintrag pm-f7ik
- Dependabot alert: brace-expansion unbounded expansion denial of service (GHSA-mh99-v99m-4gvg) Eintrag pm-5q81jq
- Dependabot alert \#43: PostCSS previous source-map path traversal (GHSA-r28c-9q8g-f849) Eintrag pm-a24aqt
- Release pipeline permits duplicate same-day production versions Eintrag pm-4s24d2
Other
- PR \#684 post-merge deferred checks and review follow-up Eintrag pm-e3g0h6
- Execute and expose the unknown-author acknowledgment flow: dispose the five stranded events and give the shipped SDK primitive a CLI and MCP surface Eintrag pm-zqpnte
- Holistic pm CLI, SDK, and ecosystem optimization roadmap Eintrag pm-xe0c38