Added
- Bare-core audit extraction phase 2: move audit command implementations and audit flags out of default CLI/SDK into pm-governance-audit 条目 pm-vjk3
- Cursor pagination and bounded-output defaults for list/search/context at scale 条目 pm-dfg0
- Notes/learnings repair parity: add --edit/--delete (and a real --stdin/--file input source) matching comments, so bad annotation entries are fixable via the CLI 条目 pm-a2h3
Changed
- S3: move the --allow-audit-\* override flag family out of core command registrations into pm-governance-audit (enforcement stays core) 条目 pm-7dcf
- S2: move the --audit linked-usage report mode off pm files/pm docs into pm-governance-audit 条目 pm-27mv
- S1: relocate dedupe-audit/dedupe-merge/comments-audit/normalize implementations into pm-governance-audit and delete their public SDK exports 条目 pm-79fr
Fixed
- Runtime-extension snapshot caches go stale in long-lived in-process embeddings (install invisible to next invocation) 条目 pm-8fxc
- GH-518: reduce Complex Method in src/cli/commands/next.ts (CodeFactor, PR\#517 rank rendering) 条目 pm-2gvp
Other
- Extract governance audit runtime from the default CLI and SDK 条目 pm-w1c0
- S5: coverage migration + bare-core vs installed-plugin e2e verification for the audit extraction 条目 pm-rxp1
- S4: purge audit surface from default SDK contracts, MCP tool definitions, completion, help, and docs; package declares its own contracts; re-measure token surface 条目 pm-kg18
- Promote terminal-status and mutation runner primitives required by package-owned governance workflows 条目 pm-yu6d
- Decision: extension-point mechanism and bare-core fallback semantics for extracted audit flags (D1+D2 of pm-vjk3) 条目 pm-fg0b
- Scale benchmark harness: synthetic 10k/100k/1M-item workspace generator + latency/memory/token baseline for the read and claim hot paths 条目 pm-mi2x
- Lazy-load @sentry/node off the command hot path (~850ms ESM load on every command, even when telemetry disabled) 条目 pm-1ybs
- ADR: workspace scale-out strategy — indexed reads, storage fan-out, and bounded-output contracts for 100k-1M-item workspaces (proposed) 条目 pm-bl8x
- Local test/coverage dev loop 17+min: replace per-call spawnSync CLI runner with synchronous worker-thread bridge 条目 pm-kvd0
Added
- Promote plan workflow primitives to the public SDK: plan create/steps/dependencies/decisions/discoveries/validation/materialization 条目 pm-je50
Fixed
- Restore 100% SDK workspace read-error coverage 条目 pm-jw2a
- GH-510: macOS nightly red — withTempPmPath skips realpath canonicalization; init-path-guard probe-root assertion fails (/var vs /private/var) 条目 pm-dprb
- GH-454: schema add-field accepts reserved built-in names silently; collision error names no partner 条目 pm-b9ov
- GH-516: pm init seeds unrelated managed packages into fresh PM_GLOBAL_PATH workspaces 条目 pm-b0se
- GH-448: boolean custom field is silently never persisted (data-loss class) 条目 pm-sjfs
- GH-509: pm claim --next lacks candidate filters and race-loss walk — thread next filters + advance to next candidate 条目 pm-fjxm
- Prevent Decision items from entering agent work lanes by default; allow explicit maintainer opt-in 条目 pm-eqk0
- GH-513: pm next ready\[\] documented as ranked but not priority-ordered; no rank/score exposed 条目 pm-1mwk
- Fix red main coverage gate: measure-agent-token-surface.mjs landed without a covering spec 条目 pm-ksca
- GH-508: dedupe LegacyNoneCollectionNormalizer tables duplicated between create.ts and update.ts (CodeFactor) 条目 pm-zuw8
- Release-readiness guard expects pre-sync version:check command after date-version synchronization 条目 pm-pmmv
- Restore generated-loader docstrings and redact host path from tracker history 条目 pm-9ugc
- Full coverage contention times out metadata content-filter integration case 条目 pm-d30l
- GH-453: plan materialize --json response omits title/type/parent on materialized entries 条目 pm-ypha
- GH-452: plan materialize dead-ends on types with required-on-create custom fields 条目 pm-qd2h
- GH-507: recovery suggested_retry appends <value\> to missing boolean EXTENSION flags (contract arity ignored) 条目 pm-9qcr
- GH-505: nested extension failures suggest irrelevant missing flags instead of preserving tracker recovery 条目 pm-o71e
- GH-504: importer/exporter registered without options yields an unusable CLI command (no arg/flag contracts) 条目 pm-0mjz
- GH-503: flattened extension-command aliases (csv-export, jira-sync) drop option contracts 条目 pm-s9iu
Other
- Coverage to 100%: src/core, src/mcp, and src/sdk modules 条目 pm-krwu
- Baseline agent token cost of the CLI surface: measure pm --help, per-command help, and contracts payload sizes before consolidation 条目 pm-a22j
- Research and document the July 2026 native ChatGPT/Codex plugin implementation plan 条目 pm-n28t
- Align all plugin and package manifests to date-based versioning with release-time sync 条目 pm-hxsv
Added
- pm claim --next: atomically claim the next actionable item so parallel agents each get distinct work 条目 pm-114v
Fixed
- Dangling dependency references: accepted at create/update, skipped by validate, and treated as satisfied by pm next (silent unblock) 条目 pm-ol5v
- Classify tracker-not-initialized Sentry CommandErrors as expected handled CLI errors 条目 pm-w7jq
- GH-498: pm comments rejects --body — accept it as an alias for --add and hint on unknown options 条目 pm-z32q
- GH-500: suggested_retry renders boolean flags with a "<value\>" placeholder — literal suggestion fails 条目 pm-6y58
- pm next repeats the recommended item verbatim as ready\[0\] — emit an id reference instead 条目 pm-hfg5
- pm next recommends another agent's assigned in_progress item as 'resume to finish' — recommendation must be caller-aware 条目 pm-yl6c
- GH-489: pm next summary reports blocked: 0 while blocked items exist — blocked companion list missing 条目 pm-l0bu
- GH-501: pm init <path\> roots a tracker that workspace discovery cannot find — tracker_not_initialized loop right after init 条目 pm-69nl
- GH-496: extension flags declared list:true don't accumulate repeated occurrences — host maps to scalar, Commander last-wins drops values 条目 pm-kfq5
- Reserved item-field name collisions are invisible to SDK lint/preflight/harness 条目 pm-ghf1
- Repeated --ac flags on create/update silently keep only the last acceptance criterion 条目 pm-b84u
- GH-497: pm create --template silently drops tags and custom type-option fields — only built-ins (priority/assignee) apply 条目 pm-l6rz
- pm create/update --dep silently normalizes malformed shorthand into dangling dependency ids (related:pm-x26a -\> pm-related:pm-x26a) 条目 pm-zazb
- contracts-snapshot gate is environment-dependent: fixture baked in installed-extension contracts, failing CI on extension version drift or absence 条目 pm-zcjy
- GH-495: extension context pm_root ignores root-layout trackers (falls back to non-existent .agents/pm) 条目 pm-kvev
- pm close never stamps closed_at, so changelog and release-notes bucketing always falls back to updated_at 条目 pm-m4iu
Other
- Repo-wide 100% docstring coverage: public API + data contracts (gate-enforced) 条目 pm-4ak1
- Docstring gate: extend static-quality-gate to enforce public-API + data-contract coverage repo-wide 条目 pm-5566
- Docstrings: src/types (shared data model interfaces + consts) 条目 pm-uxmf
- Docstrings: src/sdk (public SDK surface + cli-contracts) 条目 pm-uwu0
- Docstrings: packages/\* (module docs + exported/public surface for all 11 shipped packages) 条目 pm-qely
- Docstrings: src/core/extensions (extension-types + loader/runtime contracts) 条目 pm-mswi
- Docstrings: src/cli/commands (largest surface — command option/result interfaces) 条目 pm-m0uc
- Docstrings: src/core (search, schema, test, history, telemetry, governance, store, item, and remaining core modules) 条目 pm-768v
- Docstrings: src/cli (non-commands), src/mcp, src/ root modules 条目 pm-2vb2
- Untrack vendored pm-changelog extension dist from git (installed npm artifact, restored by changelog:pm:install) 条目 pm-sod3
- Refresh CodeQL Actions and reject incompatible Node 26 type-contract bump 条目 pm-2a9n
Added
- GH-473: pm install prints a post-install verification summary 条目 pm-yjim
Fixed
- Sentry release gate misclassifies handled duplicate-import refusal as a blocking runtime error 条目 pm-io4t
- GH-488: path-target pm init emits executable tracker-scoped follow-up commands 条目 pm-x26a
- Declarative extension install: activation failure is misreported and scaffold next_steps break when @unbrained/pm-cli is unresolvable 条目 pm-3wsi
- Project package install with --pm-path can write extensions into the caller workspace 条目 pm-qt5d
- GH-482: Node 24 nightly coverage gate flake — readdir-order-dependent branch at front-matter-cache.ts:505 条目 pm-gume
- Context evaluation runner and CI gate: rank-aware quality metrics plus token-budget regression checks 条目 pm-xmp5
- Token-cost regression gate: CI budget check over a representative command-output corpus 条目 pm-cu1i
- GH-484: pm update --blocked-by silently overwrites prior blockers instead of appending 条目 pm-q6gx
- GH-485: pm search rewrites quoted status:all hybrid queries into --status and drops keywords 条目 pm-2ldo
Other
- Pre-install package-owned command names should hint the owning package install command 条目 pm-b3e9
- Context relevance scorer contract: pluggable SDK weighting, deterministic default model, and extension override path 条目 pm-h3no
Added
- GH-442: lean pm contracts --summary mode for cheap agent bootstrap (25KB -\> 1-3KB) 条目 pm-vxxm
- GH-470: pm list --today and --recent shorthand filters for recently active items 条目 pm-bfma
Added
- GH-467: isolated package/extension diagnostics — project-scoped doctor and smoke tests without global pm state leaking in 条目 pm-6abs
- GH-474: pm search --limit support in hybrid mode 条目 pm-alnj
Fixed
- Triage: close GH-455 with shipped evidence once the Ollama embedding auto-default fix releases 条目 pm-hq0r
Other
- Expose package lifecycle primitives through public SDK helpers 条目 pm-kffw
- Expose sentry telemetry gate as package script alias 条目 pm-w86l
- ADR: 2026-06-07 deep review + remediation pass (never-block, MCP/version coherence, docs/CI hardening) 条目 pm-96wm
- GH-476: pm context rejects --max-items with an untargeted unknown_option (alias or recovery hint) 条目 pm-5h9g
Added
- Promote query/read primitives to the public SDK: list, get, search, context, next, aggregate, stats 条目 pm-rjqr
- Promote item lifecycle primitives to the public SDK: create, update, close, claim/release, copy, delete, restore, focus 条目 pm-98cz
Fixed
- SDK client.run() rejects structured payloads for create: raw {type,title} fails with 'Missing required option --title' 条目 pm-395t
- GH-427: Windows Node 24 nightly fails — POSIX-only error-code assertions (EACCES/EISDIR) in restore-command and history-rewrite specs 条目 pm-lt6n
- pm plan create silently ignores the root --id-only flag (prints full plan envelope) 条目 pm-oz0k
- Annotation --add silently stores flag-like tokens as content: pm notes <id\> --add --stdin records the literal note "--stdin" 条目 pm-vcu7
- Bare extension command group (pm changelog / pm graph) exits 0 with zero output instead of rendering group help 条目 pm-1k57
- pm extension --install pm-<alias\> / @unbrained/pm-<alias\> fails with 'Local extension source does not exist' instead of suggesting the bundled catalog alias 条目 pm-jqd2
- GH-463: linked PM tracker-read tests should auto-remediate or suggest --auto-pm-context 条目 pm-6e1d
- GH-455: pm health auto-selects an uninstalled Ollama embedding model then fails vector refresh 条目 pm-aems
- Relative lancedb vector-store path resolves against process cwd, creating nested .agents/pm/.agents/pm stores 条目 pm-og1v
Other
- GH-458: claim/start-task reject --assignee with an untargeted recovery hint (alias or better hint) 条目 pm-qfte
- GH-468: clarify or publish the pm SDK npm package coordinates (@unbrained/pm-sdk is 404) 条目 pm-25d0
- 2026-07-07 ecosystem audit \#16: all-status review, long-horizon gap items (merge semantics, event stream, policy roles, flow metrics) 条目 pm-su60
- 2026-07-06 ecosystem audit \#15: WIP hygiene, GH/commit coverage verification, grammar+SDK domain completions, horizon-4 planning 条目 pm-pvij
- chore: 2026-07-06 ecosystem audit \#14 — WIP status hygiene (docstring family reset) + stale in-progress detection backlog 条目 pm-6a1g
- chore: 2026-07-06 ecosystem audit \#13 — Semgrep-issue metadata backfill, scale-out initiative pm-9rxu, composability contract set 条目 pm-lgim
- 2026-07-06 ecosystem audit \#12: GH-467..474 backlog coverage + code-scanning capability epic 条目 pm-3rgp
- pm install should accept multiple package targets (help already advertises \[targets...\]) 条目 pm-hj9h
- Triage: close stale dogfood reports GH-436 (pm next/focus) and GH-440 (context --fields) with shipped evidence 条目 pm-7cx8
- Unblock dependabot PRs: @types/node 26 type error, pnpm release-age cooldown, codeql-action lockstep group 条目 pm-2czc
Added
- Expose SDK runAction and PmClient execution surface for programmatic integrations 条目 pm-xzhz
Other
- ADR: the pm SDK is the single public API — CLI and MCP are presentation layers (proposed) 条目 pm-muhw
Added
- Architecture boundary ratchet: prevent new CLI/MCP private core imports while SDK promotion shrinks the baseline 条目 pm-8778
- Lock contention auto-retry: bounded jittered wait before lock_conflict so parallel agent mutations self-heal 条目 pm-2muu
- As a new teammate or onboarding agent, I want accurate docs, one-command onboarding, and automated date-based releases, so that I can become productive quickly and ship safely 条目 pm-ixm6
- As a coding agent, I want keyword, semantic, and hybrid search with inline field filters, so that I can find relevant prior context before creating new work and never duplicate an item 条目 pm-nnro
Fixed
- pm claim silently steals items already assigned to another agent — claim must be atomic test-and-set for multi-agent work distribution 条目 pm-8t5x
- Extension activation adds ~200ms to every command when bundled packages are installed 条目 pm-4oww
- pm close <id\> -m 'text' still hard-blocks with close_reason_required: accept --message text as close-reason fallback (like closed pm-7x8d did for --resolution) 条目 pm-9hry
- Extension installs are dead-on-arrival in CommonJS host projects: installed extension dirs lack package.json type:module 条目 pm-r0m4
- beads/todos import-export runtime broken from real npm installs: runtime-loader imports .ts under node_modules (type-strip refused) 条目 pm-ejy7
Other
- Bundle GH-433 self-parent guard, Windows nightly lock proof, and pnpm 11 bootstrap hardening 条目 pm-q1ke
- Inventory the CLI-to-core call graph: map every command to core modules and classify logic for SDK promotion 条目 pm-lodl
- 2026-07-04 ecosystem audit \#4: coverage matrix, governance capability epic & relationship modeling 条目 pm-osea
- As a future maintainer, I want every significant architectural decision recorded as an ADR with context, decision, and consequences, so that I can understand why the system is built the way it is 条目 pm-xugp
- As a maintainer extending pm with agents, I want CodeFactor A+ enforced by ratcheted static gates, so that the codebase stays maintainable no matter how many agents contribute 条目 pm-r0z2
- As an MCP-connected agent, I want narrow pm\_\* tools kept in lockstep with the CLI via machine-readable contracts, so that I get drift-free, discoverable operations over the same primitives 条目 pm-wo7x
- As a coding agent bootstrapping any project, I want to define custom item types, statuses, fields, workflows, and profiles via config, so that pm fits the project's domain without code changes 条目 pm-0zuv
- As a maintainer, I want consent-aware local telemetry and health diagnostics, so that I can observe how pm is used and detect problems without leaking any project data 条目 pm-gnya
- As one of many parallel agents, I want atomic claim and lock semantics with bounded auto-retry, so that we each get distinct work and never corrupt shared tracker state 条目 pm-miju
- As an agent gating on tracker quality, I want pm validate and pm health to surface every data-quality gap with a machine-executable remediation, so that I can keep context trustworthy and rebuild it from pm alone 条目 pm-tra4
- As a third-party author, I want an SDK to compose, validate, test, and ship a pm extension or package, so that pm can be customized and optimized for any project without forking 条目 pm-m2kl
- As a coding agent, I want every mutation to be atomic and fully replayable from an append-only history, so that I can trust the tracker's state and recover any prior context at any time 条目 pm-hu11
- As a coding agent, I want every pm command to be self-describing and to never block without a machine-actionable recovery path, so that I can operate the full item lifecycle with zero out-of-band context 条目 pm-nh73
- Backfill full-context bodies (and comments/deps/risk) on all active items so context is rebuildable from pm CLI alone 条目 pm-o043
- Sandbox audit fixes: package describe accepts npm package name; pm context <id\> routes to pm get 条目 pm-ayn7
- 2026-07-04 full pm-backlog audit: reconcile pm items with entire ecosystem (code, tests, docs, ideas, decisions) 条目 pm-y904
- GH-426: reduce complex method in compatibility-check.spec runCurrentPmCommand 条目 pm-24o5
- SDK testing-helper input validation: runRegisteredCommandForTest positional misuse crashes; createExtensionTestHarness accepts non-extension module silently 条目 pm-2exf
Security
- Extreme mandatory quality gates: strict ESLint everywhere, jscpd strict/zero-threshold, suppressions budget, Trivy/ShellCheck/PSScriptAnalyzer/actionlint CI, admin-proof branch protection 条目 pm-7wmq
Other
- Test meaningfulness audit: strengthen hollow assertions, de-mock thin specs, convert contract source-mirrors to behavior 条目 pm-4i73