Added
- GH-472: create error for missing required custom fields lists the field names 条目 pm-4bzq
- Provenance records distinguish unavailable configuration from resolver failures 条目 pm-lu6sca
Fixed
- GH-959 recurrence: snapshot restore planning races lease-expiry fixture cleanup 条目 pm-usq49n
- GH-960: structured diagnostic notices preserve machine-readable JSON envelopes 条目 pm-embm6t
- GH-956: lossless acceptance-criteria replacement and unmatched-removal failure contract 条目 pm-lppm6y
- GH-954: fail-fast dependency target validation with explicit forward-reference intent 条目 pm-x3dq0l
- Preserve executable recovery semantics across terminators, nested aliases, and tracker scope 条目 pm-szn67i
- Measure source replication against an independently discovered denominator 条目 pm-b84irw
- GH-515: pm test --add reorders linked tests — --only-last can execute a non-newest command 条目 pm-x2vx
- GH-490: unknown-command suggester ranks substring hits over synonyms/edit distance — pm log suggests 'extension catalog' 条目 pm-g543
- GH-441: type-aware create help mislabels applicable flags as required (ignores create-mode) 条目 pm-qmjx
- GH-519: close recovery bundle suggests --validate-close "<value\>" for an enum flag and hides the real resolution-fields blocker 条目 pm-ulqu
- GH-950: item-addressing commands reject a consistent --id alias and misroute recovery 条目 pm-mkinft
- GH-951: required-field policy can force fabricated relationship edges 条目 pm-st7wgu
- GH-953: close recovery suggested_retry is not executable and drops supplied flags 条目 pm-p316vn
- A sandboxed fixture records provenance from the host harness environment, so the suite is green on CI and deterministically red for any agent running it locally 条目 pm-xgah3a
- The session-role dimension is wired to a boolean child-session flag, so every nested claude-code invocation records the role literally as "1" and fleet analytics will group real work under a meaningless label 条目 pm-eq9dlw
- GH-921/GH-922: merge-decision receipts are not durable in fresh-clone CI 条目 pm-1j5j21
- GH-948: version-skewed pm invocations silently rewrite the tracked merge fence during unrelated commands 条目 pm-l56d0o
- A measurement ratchet bound stops enforcing the moment its owner reaches a terminal status, so every guarded population goes unbounded exactly when its fix ships 条目 pm-5z9plz
- The docs tree grows one file per shipped contract, so 39 of 51 documents are stubs and the SDK's story is split across twelve files 条目 pm-9hv1o7
- The status-token normalization rule is replicated at five sites and the replication gate covers none of them 条目 pm-ulxdqp
- The two slowest governance commands load every item body while twenty other SDK modules use the light read path 条目 pm-sr3xzg
- GH-946: context signal-store staleness warning has no executable remediation contract 条目 pm-wn1jy1
- GH-943: health remediation points at validate while actionable unknown-author recovery remains undiscoverable 条目 pm-jwmszf
- GH-942: expose the lightweight all-item metadata reader through the public SDK 条目 pm-yrj7qr
- GH-941: pm read omits notes without declaring their omission and invites duplicate writes 条目 pm-swfelk
Other
- Refresh pinned GitHub Actions for PR \#958 with exact-head compatibility proof 条目 pm-obh6lo
- The measurement ratchet floors only aggregate graph totals, so converting typed semantic edges to untyped ones passes every declaration 条目 pm-70jyvw
Fixed
- The release gate cannot classify Sentry events emitted before its own contract producer shipped, so a correct usage refusal from an older release blocks the daily cut for the whole rolling window and clears only by hand 条目 pm-h75tjh
- Entity projections carry a collection key only when it is non-empty, so an absent key cannot be distinguished from an unprojected one and neither projection level is a superset of the other 条目 pm-b1w8vr
- Ordering recorded as blocks is invisible to actionability: the same prerequisite schedules differently depending on which endpoint wrote it 条目 pm-jkbqt8
- Dependency-kind lexicon: fifteen accepted spellings for roughly eight relations, canonicalized inconsistently at write time, so the stored graph vocabulary keeps fragmenting 条目 pm-4020c5
- GH-930: duplicates --status all silently scans zero items 条目 pm-sy24w2
- GH-920: health conflates lossless merge receipts with discarded-value decisions 条目 pm-jtwsct
- GH-937: package list exposes alias rows as packages and overstates the catalog total 条目 pm-fr6u17
- Post-merge guidance names history-repair, which clears drift but never settles the merge receipt, so every merged item leaves a permanent merge_decisions_unreviewed warning 条目 pm-lwmstb
- GH-925: package manage diagnostics reject universal read-output controls 条目 pm-479ggz
- Surface replication gate activates unrelated sets through shared required members 条目 pm-kmnvug
- GH-924: closed completed plans still recommend pm close 条目 pm-ltlcsw
- Merge direction decides which agent's value survives: the same two branches converge to different item state depending on which side merges, and nothing reports the divergence 条目 pm-dlx7v7
- GH-931: linked-test detector misclassifies unrelated node dist/cli.js commands as pm 条目 pm-u3o3ur
- Release candidate acceptance hard-codes the pre-bump CLI version and blocks the daily cut 条目 pm-7ipajv
Added
- The CLI has 195 error codes and contracts none of them: the surface agents read when they are wrong is the only one with no enumeration, no stability promise, and no gate 条目 pm-x4nn3z
Fixed
- PR \#935 review remediation: executable gate registry and fail-closed runtime context parsing 条目 pm-n41vay
- GH-926: warn before a stale pm binary mutates a project pinned to a newer CLI/SDK 条目 pm-1eted6
- PR \#935 CI: preserve dependency-free fast-version startup and regenerate runtime contracts 条目 pm-dskxwf
- Make stale-runtime compatibility classification action-aware across mixed CLI commands 条目 pm-zjelve
- CLI and SDK refusal contracts now preserve consistent codes and recovery semantics 条目 pm-0xmajx
- Sentry exception capture never writes the pm.error_code and pm.exit_code tags the release gate reads, so every unexpected runtime error is unclassifiable by construction and blocks the daily cut for the full rolling window 条目 pm-qxo5iu
- Sentry PM-CLI-2S: resource-exhausted copy reports a high handled error without actionable storage guidance 条目 pm-4odf0c
- Sentry PM-CLI-2Q: expected snapshot-name validation is captured as a high production error 条目 pm-qyg51h
- The release gate classifies production errors by message prose and reads none of the 236 error codes the product declares, so every waiver is a latent re-block and a broad substring is a silent waiver 条目 pm-dqtzva
- The mandatory command-wiring replication set is enforced only by a prose checklist, and the census shows partial application is the single largest recurring defect class in the record 条目 pm-7rrqsk
- GH-919: \_workspace author-attribution coordinates cannot be acknowledged 条目 pm-ety1qc
- pm comments write response replays the entire accumulated history, so one append can emit hundreds of comments 条目 pm-9stazf
- GH-457: pm health hangs during vectorization check with no output (never-block violation) 条目 pm-tu71
Security
- GH-933: nested PM writes in non-PM linked tests can mutate the source project 条目 pm-alhqbz
Other
- One governed verification plan now drives local preflight and maps hosted release gates 条目 pm-ei6x66
- Every command declares its exit-code set, and the code distinguishes applied from applied-to-nothing 条目 pm-hqa8g1
- Floor polarity for the tracker measurement ratchet, with graph edge and node floors declared 条目 pm-z0cfor
- Refresh tsx to 4.23.11 with full release-gate proof 条目 pm-nw1y14
Added
- Caller-carried output sessions compose token budgets across reads and suppress repeated item facts 条目 pm-hid9g1
- Fleet attribution analytics: per-harness and per-model throughput, rework, and defect-escape rates derived from immutable history alone 条目 pm-gw6uyq
- Improvement ledger: measured properties of pm carry a recorded time series, because a ceiling proves a number did not grow and can never prove a change made it smaller 条目 pm-chahyq
Changed
- Update @toon-format/toon to 4.1.1 and verify codec compatibility 条目 pm-ko35zx
Fixed
- Nested pm test coverage changes repository-root fixtures because outer PM_PATH sandboxing leaks into package-owned run-tests 条目 pm-ay3l0p
- Read surfaces have no common row contract: field projection reaches 4 of 11 commands and the row collection sits under a different key on each, so no single shell or jq expression works across pm 条目 pm-sb0tns
- Sentry PM-CLI-2W: rejected unknown-author acknowledgments are emitted as high production errors 条目 pm-c3uru0
- Expose live bounded provenance coverage over immutable history 条目 pm-1wiugq
- GH-915: Windows nightly Vite import portability and shared contract-fixture isolation regressions 条目 pm-ssd7vv
- GH-914: macOS extension source identity compares non-canonical /var and /private/var paths 条目 pm-eu46an
- The coverage gate every contributor is told to run is not a gate: run-tests.mjs coverage prints the shortfall and exits 0, so only CI can fail on coverage 条目 pm-2qqcgl
- The one projection that promises completeness is the one that loses data: pm contracts --full drops all 76 structured command summaries, returns 160 bare name strings, and reports has_omissions false 条目 pm-x0iv17
- GH-910: keep extension assets outside item merge-driver patterns 条目 pm-t9qbmp
- GH-911: preserve runtime dependency resolution in post-install activation probes 条目 pm-pg9599
- GH-912 regression: restore atomic cross-owner seeded Plan creation 条目 pm-hxuqsa
Other
- Refresh compatible tooling dependencies: tsx 4.23.8 and pm-changelog 2026.8.6 条目 pm-l9fv1e
Fixed
- GH-909: executable extension migration application and remediation contract 条目 pm-ig5cfe
- GH-908: explicit package-source identity and bare-name ambiguity diagnostics 条目 pm-495lkc
- GH-907: preflight override ownership and statically disjoint command scopes 条目 pm-miy5k6
- Release ratchet verdicts are a property of the working copy, not the commit: gitignored installs and clone-local git config decide three populations, so an identical commit passes locally and fails in CI 条目 pm-fr4dg8
- Exact-tag Release recovery must bootstrap tracker gates and publish an unpublished immutable tag from its tagged source 条目 pm-lwnifd
Other
- Refresh compatible 2026-08-05 TypeScript-ESLint and Unicorn quality tooling 条目 pm-7gxbl8
Fixed
- GH-896: heterogeneous atomic specification batches need batch-local references and one discoverable SDK-first CLI path 条目 pm-o8z748
- Completion is decomposed while creation is composed: create takes nine inline evidence flags, close takes none, so the prescribed finish protocol is seven invocations and seven unrelated history entries 条目 pm-cyn0y6
- Reindex coverage test leaks semantic refresh HTTP beyond its mock lifetime 条目 pm-cflhoj
- Sentry PM-CLI-2V: pm init surfaces raw EACCES when the managed workspace .gitignore cannot be written 条目 pm-3gh457
- Filed defect populations grow after they are measured and nothing turns a tracker measurement into a ceiling: the maintenance passes that record the count are the writer that widens it 条目 pm-ips23h
- Tracker-only PM governance commits cannot satisfy required CI without changing the generated changelog 条目 pm-2x5x83
- GH-891: external blockers make graph stale_lifecycle_block impossible to resolve truthfully 条目 pm-6sc8jq
- GH-889: merge-conflict recovery guidance hides the durable discarded-value report 条目 pm-fbrz7p
- GH-890: extension collision diagnostics omit the effective winner and cannot distinguish safe scoped overlap 条目 pm-6mjxgq
- GH-885: create-time close_reason_required recovery recommends an impossible different-command retry 条目 pm-5uclvd
- GH-887: terminal create contract is non-atomic and inconsistent across importer-facing closure metadata 条目 pm-ykdt4m
Security
- 2026-08-04 holistic pm CLI, SDK, and ecosystem manual review and optimization plan 条目 pm-gzyt2j
Other
- Auto Release fresh clones build the CLI and install merge drivers before tracker gates 条目 pm-xvccnm
- Tracker data-quality ratchet in CI: pm validate and pm health run against this repository's own workspace with a shrinking-only per-warning baseline 条目 pm-kpftft
- Eliminate July static-analysis nullability, dead-code, and redundant-allocation findings 条目 pm-cp5pbo
Added
- GH-471: pm context includes an installed package/extension health summary 条目 pm-h85e
- Static contribution manifest: persist the install-time contribution inventory so the command registry is built from data and extension modules import only when a contribution is actually invoked 条目 pm-021kdp
Fixed
- Uniform multi-value filter-value grammar: --status accepts CSV but --type/--priority fail fast and --tag silently matches the literal CSV string 条目 pm-gknu
- list applies an undisclosed default lifecycle scope and reports the scoped count as the corpus total with has_more false, while search applies no such scope, so the two discovery surfaces disagree about what exists 条目 pm-999jh7
- GH-882: unresolved extension commands must lead with the activation failure and actionable recovery 条目 pm-4uplae
- Extension-mode is folded into the metadata-cache identity, so alternating --no-extensions with a normal invocation evicts a 4.5 MB cache and every command costs 5 seconds instead of 0.4 条目 pm-77okxr
- Declared activation.commands is silently overridden by the renderers/hooks/parser/preflight capability tier, so any extension beyond plain commands is eagerly imported on every invocation 条目 pm-j0w7j9
- GH-832: package command namespace ownership and collision diagnostics are not discoverable 条目 pm-6z0wzf
- GH-681: latest calendar ordinal must satisfy stable package peer ranges 条目 pm-csuce0
- The model provenance resolver derives the harness session-file path with an incomplete slug encoding, so it silently resolves nothing in any workspace whose path contains an underscore - including this repository 条目 pm-9gvazz
- GH-878: nested workspace snapshot and help paths are enumerated but not resolvable by structured help 条目 pm-7wx1f9
- Warn when custom schema fields collide with MCP transport or tool-specific inputs 条目 pm-yfdav2
- GH-844: local npm package archives are rejected as install sources 条目 pm-lw6acw
- The one-release-per-day guard compares a prefix glob against unpadded date keys, so it is correct only by accident of tag creation order and silently skips a real release for any out-of-order tag 条目 pm-ki67py
Security
- Refresh transitive brace-expansion and PostCSS patches for 2026-08-03 audit advisories 条目 pm-2cv2o1
Other
- Scripting contract: documented and test-gated guarantees for exit codes, stdout/stderr stream discipline, and stable machine-readable field names 条目 pm-psy1
- Published artifact weight: the npm tarball ships 20MB of inline-source sourcemaps plus duplicate tsc and bundle outputs 条目 pm-998juj
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 条目 pm-hb7ug8
- Intent-scoped read projections: a command returns exactly the fields the declared intent consumes, so agents stop paying for fields they discard 条目 pm-cxr0jb
Fixed
- Auto Release coverage depends on a /proc timing race in the SDK entrypoint sampler 条目 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 条目 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 条目 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 条目 pm-ffz0a9
- GH-867: linked files and docs no-op additions report changed and append phantom history 条目 pm-jb1ron
- GH-868: atomic replacement contract for linked files and docs 条目 pm-cstuys
- GH-865: classify linked-test lock contention as infrastructure collision 条目 pm-2irc1p
- GH-779 recurrence: history-redact must refresh item and drift projections atomically 条目 pm-wnbk2l
- GH-870: make runtime workspace path assertions portable in Windows nightly 条目 pm-rusbe4
- GH-871: preserve letter-suffixed issue codes in duplicate similarity scoring 条目 pm-sn3xor
- GH-866: telemetry flush queue-drain contract reports partial progress as fully drained 条目 pm-u5c27w
Security
- GH-864: history-redact output must never echo literal secrets 条目 pm-y3w0ld
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 条目 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 条目 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 条目 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 条目 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 条目 pm-xpumg4
- GH-855: core mutation locators must honor extension-registered item types 条目 pm-scga6k
- GH-853: extension command test harness must inject the real host-bound SDK 条目 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 条目 pm-rbg1qo
- Explicit-unavailable provenance is recorded for the model dimension only, so effort and role absence is permanently indistinguishable from a legacy entry 条目 pm-9wbiye
- GH-851: compare init discovery roots by filesystem identity 条目 pm-noq46i
- GH-847: tighten managed built-in static SDK contracts and author guidance 条目 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 条目 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 条目 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 条目 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 条目 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 条目 pm-z5pmf8
Security
- GH-854: transactional extension mutation guards for enforceable domain invariants 条目 pm-hx23u5
- CodeQL alert 33: eliminate polynomial trailing-whitespace matching in SDK append 条目 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 条目 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 条目 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 条目 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 条目 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 条目 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 条目 pm-2ew0w3
- Closing an item deletes its ordering edges, so the historical ordering graph is structurally unable to exist 条目 pm-xm0id4
- GH-831: actionable unknown-author health evidence is truncated without a complete disposition selector 条目 pm-1bmeta
- GH-841: init ancestor discovery obscures the selected workspace and safe current-directory target 条目 pm-ipbwcq
- GH-840: annotation primitives lack a merge-safe structured event append and query contract 条目 pm-09rdni
- GH-839: extension field declarations accept types the persisted schema cannot validate 条目 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 条目 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 条目 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 条目 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 条目 pm-x710qm
Security
- GH-827: local package install must prevent recursive self-copy and disk exhaustion 条目 pm-0682l4
Other
- Refresh compatible Sentry 10.69 and Greptile 3.3 dependencies 条目 pm-7564ov