Added
- Complete SDK package-author test-assertion surface: service-override + migration helpers item pm-6pmp
- item-format-migration: add format-version field to front-matter for future migration gating item pm-ae1u
Fixed
- Windows nightly: secondary POSIX-separator + mocked-path test class (static-quality-gate, docs-skills-gate, bundle-cli, contracts-snapshot, smoke-npx-from-pack) item pm-s5pe
- Nightly windows-latest STILL red after pm-i84i: scriptModule test harness imports .mjs scripts via absolute file:// URL, shebang survives missing transform (SyntaxError) item pm-dita
Other
- Package scaffold generates a runnable sample test, .gitignore, and npm test script item pm-4ltc
- Code quality & perf audit 2026-06-12 item pm-nimu
- SDK testing helper for registerFlags registrations item pm-oveq
Added
- Search relevance eval harness: implement nDCG/MRR runner and gate in CI item pm-u8n5
- Offline BM25 lexical retrieval provider when no Ollama/OpenAI is configured item pm-75k9
- Add 120-file unit-test cap governance test to ci-workflow-contract.spec.ts item pm-wc0d
- Add integration test for background-refresh (instant mutations) non-blocking behavior item pm-5rge
- Add integration test for close-many --rollback checkpoint restore item pm-7p4w
- Add integration test for schema add-type / remove-type round-trip with governance.workflow_enforcement item pm-4dtf
- Add remediation registry entry for validate_metadata_duplicate_issue_codes warning item pm-sdbo
- Add remediation registry entry for extension_update_health_partial_coverage warning item pm-bdvm
- gc --scope checkpoints: prune stale bulk-mutation checkpoint files item pm-tyj8
- LanceDB snapshot: add gc --scope embeddings to include pending-refresh.json and drift-cache coordination item pm-3b1t
- Sentry KNOWN_NOISY_CONSOLE_MESSAGE_PATTERNS maintenance: add a governance test to prevent silent accumulation of stale patterns item pm-jxls
- Add vitest.config.ts coverage include/exclude governance guidance to ARCHITECTURE.md item pm-othr
- Add wiring-checklist reference card to ARCHITECTURE.md for new command authors item pm-zyse
- Add performance / startup-latency section to ARCHITECTURE.md item pm-p37b
- Add nightly.yml failure alerting: notify on Windows/Node25 smoke failures item pm-ehbb
- Add Windows path-separator test coverage for fs-utils and store/paths item pm-tq5t
Changed
- Refactor runUpdate (~950-line function) into table-driven per-field apply helpers item pm-e7dn
- Replace 'as unknown as ItemMetadata' double-casts (9 sites) with typed mutation/replay returns item pm-ul02
- COMMANDS.md omits pm get and pm copy; command-families table missing get/copy/update-many/close-many item pm-xvzm
Fixed
- pm-changelog over-escapes markdown in entry titles (parens + intra-word underscores) item pm-3299
- Nightly windows-latest red since 2026-06-14: ~373 tests fail with 'SyntaxError: Invalid or unexpected token' from file://-URL TS dynamic imports + POSIX-separator assertions item pm-i84i
- Accept --status all for duplicate-safe search and list filters item pm-i02t
- pm health 2.3-3.1s in dev repo (~2x the 1.3s baseline): drift-scan cache hit still reads + content-hashes every history stream item pm-c90s
- Daily auto-release was silently blocked 06-14..16 by a single stale, unresolved Sentry error (sentry-telemetry-gate is:unresolved has no time window) item pm-nb08
- appendLineAtomic is not truly atomic: concurrent appends to history JSONL can interleave item pm-xy9n
- Project-scope extension install writes ~69MB node_modules per workspace (peer pm-cli + transitive Sentry/OTel) item pm-oxq2
- Fix ARCHITECTURE.md storage layout: add plans/, stories/, schema/, checkpoints/, runtime/ dirs item pm-mcgf
- Fix nightly cross-platform reliability: macOS realpath in extension-command test and Windows .cmd spawn EINVAL item pm-gf6f
- GH-293..296 CLI parser and search regression bundle item pm-yy45
Removed
- Built-in type lists and storage layout drift: Plan missing; ARCHITECTURE.md still lists removed index/ dir item pm-7u4z
Other
- Export hygiene: 1 dead export + ~57 exported-but-internal-only symbols item pm-vn9l
- Document search eval golden-query harness usage in TESTING.md item pm-eg9k
- Sentry tracesSampleRate is hardcoded at 0.2 — expose as configurable knob or document intent item pm-gg8e
- CLAUDE_CODE_PLUGIN.md drift: architecture tree shows 9/14 commands + 1/4 agents; compat table says plugin 1.0.0 (actual 1.4.0) item pm-cxi9
- Docs index missing EXTENSION_AUTHOR_CONTRACTS + MIGRATION_CLI_SIMPLIFICATION links; migration note predates --pm-path item pm-c97q
- pm todos import: positional source arg silently ignored + folder-not-found error omits --folder flag (beads parity) item pm-90hp
- Unknown-command did-you-mean misses executable aliases: 'pm shwo' gets no suggestion (show/view/comment not in candidate set) item pm-i35t
Added
- pm context --fields: per-row field projection for focus items (GH-156 follow-up to --depth full) item pm-hnjf
- pm list output formats: csv/table for human export (GH-154 remainder) item pm-1lll
- pm plan discoverability: templates and auto-suggest for complex work (GH-158 remainder) item pm-aer3
- Dedupe merge workflow: pm dedupe-merge to consolidate duplicates (GH-163, builds on closed pm-4n1a detection) item pm-jmld
- pm search: structured inline query syntax (tag:/status:) + matched-text highlighting (GH-157 remainder) item pm-ldr1
- Auto-compact policy: config-driven threshold to trigger pm history-compact automatically item pm-0pnz
- pm history-compact: expose --scope all-streams (history GC pass) for closed items item pm-yj9w
- History stream bulk-compaction: pm history-compact --all-over N to batch-compact large streams item pm-f3pa
- Add agent-identity dimension to telemetry events: surface PM_AUTHOR as hashed author_context item pm-fbyu
- pm telemetry stats: add error_rate and resolution breakdown per command bucket item pm-gsoe
- Surface duration_ms percentile breakdown in pm telemetry stats (p50/p95 per command) item pm-3n3b
- GH-208: linked test sandbox ergonomics item pm-52eh
- Core read/validate integrity: exact-ID search rank guarantee across modes + parent-hierarchy cycle detection item pm-rkie
- Validate governance accuracy: suppress false-positive duplicate-code & terminal-item metadata noise + files --remove input clarity item pm-6bz1
- Sub-hour duration granularity for scheduling: support minutes in --duration / event duration= item pm-zoe4
Changed
- pm update --allow-audit-update: permit append-only --comment/--file/--doc evidence (GH-207) item pm-kanu
Fixed
- linked-test-adapters package install loses ESM module type item pm-v8fy
- GH-206: test-all silent run process-liveness regression item pm-mcxr
- Auto Release retries branch push after main advances item pm-5oti
- GH-284: align pm init required schema directories with health item pm-hl9y
- GH-215: enforce timestamps in history entries item pm-u42x
- GH-280: pm validate does not detect circular parent references (hierarchy cycles A-\>B-\>A of any length) item pm-8vul
- GH-281: exact-ID search match is rank-diluted in hybrid/semantic mode (keyword score normalized + capped by keyword weight) item pm-oqgf
- PR \#266 review feedback: tighten init and dynamic option validation item pm-at1j
- CI contracts snapshot temp cleanup can fail with ENOTEMPTY item pm-c61g
- pm templates: unknown subcommand + flags silently fall back to 'list' (exit 0) instead of erroring item pm-r2kd
- Dynamic package commands should reject excess args and unknown parent tokens item pm-nt1y
- GH-262: prevent path-like pm init from corrupting caller tracker settings item pm-jek2
- GH-265: schema unknown subcommands must not create custom types item pm-ablm
Other
- Repo-wide docstring coverage gate for source files item pm-p4mw
- SDK.md PM_PACKAGE_RESOURCE_KINDS drift: assets/prompts kinds missing item pm-u8y9
- GH-277: files --remove path-only input clarity item pm-k8ld
- GH-276: metadata check skip terminal items for planning fields item pm-pktw
- GH-278: duplicate_issue_codes exclude items closed-as-duplicate item pm-5fid
- GH-275: duplicate_issue_codes skip legitimate parent/child code-prefix pairs item pm-2nxe
- PR \#274 second review follow-up: prefix, format, and owner scoring item pm-89ur
- PR \#274 review follow-up: CodeQL and bot feedback item pm-0bwe
- GH \#267/\#271/\#272 follow-up: lifecycle automation, logical dependency validation, read format parity item pm-8uhf
- GH \#268-\#270 agent lookup and context output polish item pm-x7g1
- Dogfood audit 2026-06-12: ecosystem verification (CLI+SDK+packages) item pm-krgd
Added
- GH-216: default lifecycle transition suggestions item pm-y1z0
- GH-217: scheduling type creation shortcuts item pm-76r5
- GH-258: strict unknown-key rejection across all structured CSV/markdown link & metadata parsers (validation parity with test --add) item pm-0v9k
- Expose schema.unknown_field_policy via pm config set schema_unknown_field_policy item pm-nnaq
- Expose id_prefix, author_default, output.default_format, locks.ttl_seconds via pm config set item pm-9byd
- GH-245: schema add-type --infer from title prefixes item pm-tb42
- pm schema apply-preset <agile\|ops\|research\>: standalone type-preset for already-initialized projects item pm-86ob
- pm schema list-fields / show-field / add-field / remove-field: CLI management of schema/fields.json item pm-vhbf
Fixed
- Sentry PM-CLI-1R: 'cannot add command init as already have command init' — top-level init double-registration throws raw Commander error item pm-zyez
Other
- Document schema/fields.json runtime custom field authoring in CONFIGURATION.md item pm-izx5
Added
- pm focus: session default parent/context inheritance for new items (GH-161) item pm-72xf
- GH-235: detect duplicate logical issue code prefixes item pm-rpag
- GH-243: comments edit/delete lifecycle commands item pm-4swf
- GH-244: surface provider/vector-store resolution source in pm health item pm-gnu2
- GH-236: governance metadata missing-field filters item pm-mfl1
- GH-242: field-existence filters for list/search item pm-hntj
- GH-241: stats content-field utilization metrics item pm-7snq
- Finalize literal 100% coverage: close c8-ignore-masked gaps & remediate PR \#240 bot review item pm-0xix
- Apply Gemini correctness fixes & cover new branches (config/init/reindex/register-mutation) item pm-bw70
- Module-mirrored test reorganization: retire lane/wave naming, add shared script harness item pm-m449
- Search: persistent search.hybrid_semantic_weight setting as default for pm search --semantic-weight item pm-2xwh
- Search corpus: include type, priority, parent, assignee fields in keyword and semantic corpus item pm-jyie
- pm search filter parity with pm list: add --updated-after/before, --created-after/before, --assignee, --sprint, --release, --parent item pm-13nx
- Configurable min-score threshold for pm search: --min-score per-query override of search.score_threshold item pm-cstl
- pm search keyword mode: --match-mode (and/or/exact) + default result limit (GH-181 remainder) item pm-i1z6
- pm list --no-truncate/--all: explicit override of any --limit + surface total vs returned count (GH-154) item pm-0c0j
- pm context --depth full: comprehensive snapshot (all sections, no per-section cap) (GH-156) item pm-j0vc
- pm context --parent <id\>: scope snapshot to a single epic/parent subtree item pm-ds0m
- pm get: include child rollup summary for Milestone/Epic items (GH-155) item pm-gcm3
- pm validate: missing-link owner attribution (GH-210) + type-default estimate backfill (GH-212) item pm-gnnb
- Metadata governance & coverage observability (missing-field filters, stats breakdowns, validate full-id lists, aggregate explicit labels) item pm-yq7m
- pm close: short aliases -m/-r/-d for --message/--reason/--duplicate-of (GH-226) item pm-i1mu
- pm create/update --body-file: load body markdown from a file (GH-214) item pm-7c48
Changed
- Small verified cross-file duplications (4 pairs) + static-gate duplicate scan does not cover src/cli item pm-z2gi
- LOC growth watch: 5 src files back over 2000 lines (cap 3400) after 2026-05-25 barrel splits item pm-k1im
- health.ts re-implements doctor.ts capability-guidance helpers verbatim instead of importing the exported versions item pm-aabt
- Dedupe history-rewrite orchestration block triplicated across history-redact/repair/compact item pm-bzgt
- pm update-many: --filter-ac-missing/--filter-estimates-missing/--filter-resolution-missing selection filters for bulk backfill (GH-220) item pm-wbak
Fixed
- GH-256: update-many --dry-run skips field validation (priority/type/status/deadline) item pm-v4tb
- GH-253: invalid --type create error hardcodes .agents/pm path, ignoring active --pm-path item pm-nd08
- GH-252: pm get --json places body outside item (parity with list --include-body) item pm-hofv
- Extension activation failure is invisible outside pm health --json: extension list shows ok, no stderr hint, commands partially registered item pm-yffj
- pm create <type\> --title X silently ignores positional type, defaults to Task item pm-8sr3
- c8 ignore end (invalid keyword) silently masked source coverage; literal-100% gate passed on hidden code item pm-dg8j
Security
- Track open Dependabot alerts \#39/\#40/\#41 (vite and @opentelemetry/core) item pm-c24n
Other
- Content-field & governance introspection (GH-241/242/236) item pm-php4
- GitHub issue triage 2026-06-12 item pm-tk1z
- Slim guided-error boilerplate in agent contexts; lead unknown-command Examples with the did-you-mean candidate item pm-q0kr
- PR \#240 review: applied vs declined Gemini findings (with rationale) item pm-lg65
- Close c8-exposed coverage gaps in src/cli/commands/create.ts to 100% item pm-eifq
- Close c8-exposed coverage gaps in src/cli/commands/contracts.ts and restore.ts to 100% item pm-dmuq
- Close c8-exposed coverage gaps in src/cli/commands/history-redact.ts and normalize.ts to 100% item pm-byl1
- Test-suite dedup & best-practice audit (post module-mirror reorg) item pm-2nqx
- Source-correctness audit of all-source-100%-coverage branch src/ edits item pm-e2jt
- tests/unit is at exactly 120/120 spec files: zero headroom before Gates(static) fails; consolidation candidates identified item pm-vks9
- ADR: test organization convention — module-mirrored spec files, no lane/wave naming item pm-kjmx
- ADR: literal all-src coverage supersedes curated include/exclude allowlist item pm-w13j
- Literal 100% all-source test coverage & module-mirrored test reorganization item pm-xau3
- Coverage to 100%: packages, plugins, and docs examples item pm-6tch
- Coverage to 100%: src/cli command handlers (group B — query, search, calendar, test, init, extension) item pm-7v9s
- Coverage to 100%: src/cli command handlers (group A — mutation, history, storage, schema) item pm-ud1x
- Coverage to 100%: src/cli infrastructure (registration, bootstrap, help, main) item pm-uvxc
- Coverage to 100%: build, release, and smoke scripts item pm-f2ne
- pm context power-user projection: --depth full, --fields, --parent subtree (GH-156, pm-ds0m, GH-154) item pm-kp1d
- Document and test telemetry env-var surface: PM_TELEMETRY_DISABLED, PM_NO_TELEMETRY, PM_TELEMETRY_SOURCE_CONTEXT, PM_TELEMETRY_OTEL_DISABLED, PM_TELEMETRY_INLINE_FLUSH item pm-r7md
- GH-212: type-default estimate backfill via validate --auto-fix --fix-scope estimates item pm-s3hl
- GH-210: missing_linked_path_rows owner attribution in validate --check-files item pm-z36m
- pm validate: --all-affected-ids flag + never truncate ID lists in JSON mode (GH-224) item pm-o0d2
- pm aggregate: explicit (unassigned)/(none) labels for blank group keys in all output modes (GH-225) item pm-zcx9
- pm stats: --by-assignee/--by-tag/--by-priority breakdowns + --metadata-coverage + lifecycle/type adoption (GH-213/218/219) item pm-gq27
- pm list: --filter-ac-missing/--filter-estimates-missing/--filter-resolution-missing/--filter-metadata-missing (GH-228) item pm-fryg
- Shared core/governance/metadata-coverage primitive: missing-field predicates + coverage % + grouped lifecycle counts item pm-hm1q
- pm close: when require_close_reason is on, accept --resolution text as the close reason instead of hard-blocking item pm-7x8d
Closed
- Closed: GH-250: pm close checks item existence before the close-reason gate item pm-1jtl
- Closed: GH-249: create --status closed bypasses governance.require_close_reason item pm-4a1p
- Closed: GH-248: fix schema add-type silent slug-collision overwrite + malformed-name acceptance item pm-3l0f
- Closed: GH-205: surface telemetry flush/probe + OTEL export diagnostics in pm health item pm-hx5a
- Closed: GH-209 follow-up: OTEL span export keeps the CLI alive ~10s (and can exit 13) when the traces endpoint is unreachable item pm-25se
Changed
- Dedup private Levenshtein implementations onto shared OSA helper item pm-dzcx
Fixed
- Claude Code plugin install spec drift: README says pm-cli@pm but plugin name is pm-claude item pm-m4bx
- Compact strict-create recovery duplicates missing fields under two keys item pm-3rjo
- pm-mcp bin is dead on npm installs: main-module guard fails under symlinked argv\[1\] (silent exit 0, no JSON-RPC output) item pm-qtbc
- GH-209: successful pm mutations can exit 13 from unsettled top-level await item pm-1byt
- pm validate --check-files misclassifies existing directories as deleted (GH-203, prune/auto-fix data-loss path) item pm-b1ni
Other
- Ecosystem audit + GH-204..208/210 remediation session 2026-06-13 item pm-y7sc
- CI gap: plugin/package markdown pushed to main runs no functional workflow item pm-5909
- Compact strict create recovery for agents item pm-tjvl
Added
- pm files/docs: standalone --note flag alongside --add (GH-170) item pm-pfnx
- Add pm health 'locks' check: surface stale item-claim counts before gc is needed item pm-xo1n
- pm history-repair --all: bulk drift repair across streams (GH-171) item pm-9ftr
- pm validate --check-files: classify stale linked paths (moved vs deleted) and offer --prune-missing (GH-184) item pm-0v2m
- pm validate --auto-fix: apply safe remediations automatically (GH-179, GH-153 interactive part, GH-167 backfill part) item pm-c3sz
- pm validate metadata report grouped by item type (GH-172) item pm-pmyq
Fixed
- PR \#200 review: batch validate prune-missing auto-fix removals item pm-60p0
- MCP pm_files discover/apply/discoveryNote params are declared but ignored by the files action handler item pm-wcaa
- Session 2026-06-11: validation auto-fix & self-repair PR (validate --auto-fix/--prune-missing/grouped metadata, history-repair --all, health locks, files/docs --note, plan --step accumulate, consent CI guard, completion drift) item pm-dhrp
- Lifecycle subcommand flags duplicated on the parent extension/package command are silently dropped (commander hoists them) item pm-df9k
- Telemetry first-run prompt CI guard is inverted: CI=true does not skip, only CI=false/0/no/off does item pm-0hx2
- pm plan create: repeated --step silently keeps only the last value instead of accumulating steps item pm-6mit
- pm validate lifecycle: auto-fix for active items with closed/terminal parents (GH-168) item pm-8jss
Other
- PR \#200 review: contract and defensive hardening follow-up item pm-im0s
- Refresh Sentry expected handled CLI classifier for 2026-06-11 dogfood CommandErrors item pm-lg9i
- Milestone calendar_item_without_schedule warning should include actionable hint (GH-174) item pm-2cgu
- Shell completion drift: show-status missing from bash/zsh/fish schema subcommand lists item pm-6qi8
Added
- MCP pm_list/pm_search: expose active filter summary in compact output so agents know what was applied item pm-rmjy
- Add narrow pm_append MCP tool for agent log-seeding without pm_run passthrough item pm-7u9j
- Add pm_schema and pm_config narrow MCP tools for workspace configuration via MCP item pm-v68d
Fixed
- GH-191: test --add command parser should accept quoted commands containing -- item pm-vcr2
Other
- Contract schema golden-file must cover MCP tool inputSchema shapes — current snapshot only covers CLI flags item pm-4os2
Added
- Combined PR: duplicate-aware close, parent fail-fast, id-only output, context/aggregate completion stats, robust test add/run item pm-z9e9
- pm close --duplicate-of: structured duplicate tracking with auto-populated closure fields (GH-183, GH-160) item pm-xnkd
- pm test --run selectors: --match / --only-index / --only-last (GH-194) item pm-p86h
- pm context: per-epic completion stats + recently_created/unparented sections (GH-187, GH-182) item pm-ojpq
- Root --id-only flag: minimal mutation output (id+status) for agent automation loops (GH-195) item pm-esf6
- pm aggregate --completion: closed/total ratio and completion_pct per group (GH-185) item pm-eaer
- pm list: include parent in default compact projection when set (GH-180) item pm-awfr
- Embedding provider migration guide + pm reindex --migrate: automated full reindex on model/provider change item pm-wt0g
- Incremental reindex --mode semantic --stale-only: skip already-up-to-date vectors item pm-o3nr
- Settings read cache: memoize readSettingsWithMetadata across the 3-5 reads per command item pm-2bn5
- Add MCP pm_context, pm_contracts, pm_plan, pm_health integration tests item pm-8d00
- Add importer/exporter options arg and command-def examples to SDK.md item pm-btwe
- pm_max_version default-BLOCK should have a per-layer warn-only toggle in settings item pm-k5e8
- First-party exemplar package for registerCommand + registerFlags + registerParser (commands capability pattern) item pm-1js9
- Extension teardown: per-deactivate timeout guard so a hanging deactivate() cannot block host shutdown/reload item pm-bujg
Fixed
- GH-189: create --parent should fail fast on unresolved references item pm-p9hw
- GH-190: SDK locateItem should default idPrefix or throw explicit argument errors item pm-rjh9
- Telemetry queue max_attempts backlog health warning: surface items near retry exhaustion in pm health item pm-irc7
- Harden history replay and compact diff against malformed patch entries item pm-kf5q
- MCP server: request-scoped extension registries (process-global set/clear can race under concurrent native-action requests) item pm-bl6m
- Fix Windows Nightly smoke cleanup helper import item pm-uzty
Security
- Extension sandbox profiles are advisory-only — no runtime enforcement of declared permission boundaries item pm-pl53
- Declare trusted=true, sandbox_profile, and permissions on all 9 first-party package manifests item pm-iljy
Other
- Run verification matrix and temp-dir smoke for active cycle item pm-rav7
- Upgrade pm-changelog to 2026.6.9 and validate changelog fidelity item pm-kx7v
- Close stale GH issues, clarify dedupe-audit docs, and bump @sentry/node item pm-utd6
- SDK author-ergonomics batch: extension-manifest JSON Schema, getWorkspaceContracts memoization, FlagDefinition type/value_type unification item pm-l0jd
- Document pm-linked-test-adapters package in EXTENSIONS.md and TESTING.md item pm-yj8n
Added
- PmPackageResourceKind is missing 'assets' and 'prompts' as canonical resource types item pm-z9ho
- Extension activation: no teardown/deactivation hook — extensions cannot clean up timers, connections, or state item pm-k1e4
- Extension API missing self-identity accessor: extensions cannot read their own name, layer, or version at activation item pm-qo36
- registerItemFields/registerItemTypes: validate declared field type against known coercion kinds with did-you-mean item pm-oll8
Other
- SDK lacks assertRegisteredCommandOverride testing helper (coverage gap in testing.ts) item pm-aw7d
Closed
- Closed: Extension FlagDefinition lacks 'list' and 'default' fields — extension-registered flags cannot match core comma-list contract item pm-ltbr