Added
- Expose SDK runAction and PmClient execution surface for programmatic integrations item pm-xzhz
Other
- ADR: the pm SDK is the single public API — CLI and MCP are presentation layers (proposed) item pm-muhw
Added
- Architecture boundary ratchet: prevent new CLI/MCP private core imports while SDK promotion shrinks the baseline item pm-8778
- Lock contention auto-retry: bounded jittered wait before lock_conflict so parallel agent mutations self-heal item 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 item 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 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 item pm-8t5x
- Extension activation adds ~200ms to every command when bundled packages are installed item 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) item pm-9hry
- beads/todos import-export runtime broken from real npm installs: runtime-loader imports .ts under node_modules (type-strip refused) item pm-ejy7
Other
- Bundle GH-433 self-parent guard, Windows nightly lock proof, and pnpm 11 bootstrap hardening item pm-q1ke
- Inventory the CLI-to-core call graph: map every command to core modules and classify logic for SDK promotion item pm-lodl
- 2026-07-04 ecosystem audit \#4: coverage matrix, governance capability epic & relationship modeling item 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 item 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 item 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 item 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 item 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 item 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 item 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 item 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 item 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 item 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 item pm-nh73
- Backfill full-context bodies (and comments/deps/risk) on all active items so context is rebuildable from pm CLI alone item pm-o043
- Sandbox audit fixes: package describe accepts npm package name; pm context <id\> routes to pm get item pm-ayn7
- 2026-07-04 full pm-backlog audit: reconcile pm items with entire ecosystem (code, tests, docs, ideas, decisions) item pm-y904
- GH-426: reduce complex method in compatibility-check.spec runCurrentPmCommand item pm-24o5
- SDK testing-helper input validation: runRegisteredCommandForTest positional misuse crashes; createExtensionTestHarness accepts non-extension module silently item pm-2exf
Closed
- Closed: Extension installs are dead-on-arrival in CommonJS host projects: installed extension dirs lack package.json type:module item pm-r0m4
Security
- Extreme mandatory quality gates: strict ESLint everywhere, jscpd strict/zero-threshold, suppressions budget, Trivy/ShellCheck/PSScriptAnalyzer/actionlint CI, admin-proof branch protection item pm-7wmq
Other
- Test meaningfulness audit: strengthen hollow assertions, de-mock thin specs, convert contract source-mirrors to behavior item pm-4i73
Fixed
- GH-416: Windows nightly validate linked-artifact prune classification item pm-xpkt
Other
- Perf: pm context / pm next hot path ~700ms on an ~850-item tracker item pm-z1pv
- 2026-07-02 full ecosystem audit & optimization pass (CLI+SDK+packages+docs+CI) item pm-fpod
- Lane C: Code quality audit (complexity, dead code, cross-file duplication, long files, type safety, dependencies) item pm-hfli
- Lane F: CI/CD best-practice + secret/PII leak scan incl. pm history files item pm-mo2v
- Lane E: Docs audit (progressive disclosure, minimal README, link graph, duplicated docs/skills) item pm-p99b
- Lane B: SDK best-practice + package-authoring DX review (define/compose/harness/preflight loop, scaffold matrix) item pm-6vy7
- Lane A: E2E ecosystem smoke in temp workspace (pack+install CLI, all first-party packages, full command surface, agent UX/token-efficiency) item pm-kes3
- Lane D: Performance audit (startup latency, per-command responsiveness, hot paths) item pm-3l76
- CodeFactor residual complexity and duplication cleanup for 27-issue main snapshot item pm-bssk
- Zero the jscpd clone baseline: dedupe registration-helpers/flag-contracts source clones and 21 test-spec clones item pm-chxp
Changed
- CodeFactor/Complexity: decompose runUpdate, the update mutate apply-callback, and register-mutation MCP arrows item pm-0n6p
Changed
- CodeFactor/Complexity: decompose runCreate (CC 172) and the audit-scope update guard (CC 38) item pm-g7vl
Fixed
- Auto Release blocked: bot cannot push version commit to protected main (GH006, 12 required checks) item pm-9gxi
Removed
- CodeFactor/Complexity: remove 33 suppressions and split 100+ complexity-point dispatch hot spots item pm-o34s
Other
- CodeFactor/Complexity: zero out the SDK contract-resolution, extension-loader and composition surface item pm-lzzp
- AGENTS.md: mandate reading full live pm item data (status/resolution/comments) before any state claim item pm-g61e
- CodeFactor/Complexity: cut cyclomatic-complexity debt across the extension authoring, management & diagnostics surface item pm-zro7
Added
- pm package/extension init --capability profile: scaffold a project-profile starter package item pm-h2hk
- Project profile author-time validation: lintProjectProfile + assertProjectProfile + pm profile lint item pm-j1fj
- Extension-contributed project profiles: api.registerProfile end-to-end item pm-08sv
- SDK test harness summary/render surface item pm-2qte
- Describe --markdown writes reference docs to a file item pm-u2tm
- SDK + CLI: render extension/package surfaces to Markdown reference docs (renderExtensionSurfaceMarkdown + describe --markdown) item pm-dmum
- First-party baseline profile package built on public SDK primitives item pm-a7o4
- Project profile presets: compose types, statuses, fields, workflows, templates, and packages item pm-v37g
- Add pm package / pm packages shell completion (bash/zsh/fish), including the package-only --declarative flag item pm-mthy
- pm package init --declarative: scaffold a composeExtension blueprint starter + author-time preflight test item pm-8mxg
- pm next: recommend the next actionable (unblocked, ready) work item with rationale + blocked companion item pm-nj90
- Complete scaffold capability matrix: --capability renderers/parser/preflight/services starters item pm-i5p5
- pm package/extension init --capability schema: scaffold custom item type/field/migration starter item pm-d1ig
- Scaffolded & authored command-bearing extensions reliably activate for their own commands item pm-yxb5
- TypeScript-only extension loading: ship .ts entry, load via Node native type stripping (no compiled .js) item pm-2p7a
Changed
- CodeFactor/Duplication: remove duplicated code blocks (×20: 2 Critical, 3 Major, 15 Minor) item pm-fmjy
- CodeFactor/Complexity: reduce cyclomatic complexity (×152: 3 Critical, 7 High, 142 Moderate) item pm-arzz
- ADR: pm extensions are authored AND loaded as TypeScript via Node native type stripping item pm-m1uz
Fixed
- CodeFactor no-regression gate: complexity ceiling + ESLint suppressions baseline + Greptile in local CI/CD item pm-bkcv
- MCP action-schema contracts drifted from CLI flag tables (guide.list, health.brief, validate.parentCycleSeverity, contracts.full) item pm-zx13
- pm next hides completed-container closeout rows while leaf work exists item pm-9g87
- Windows background stop progress assertion item pm-bnh3
- GH-348/GH-376: Windows nightly Vitest worker fork exits unexpectedly after passing tests item pm-2kkl
- CodeFactor/Maintainability: fix unsafe optional chaining (no-unsafe-optional-chaining ×25) item pm-m8yl
- CI: make Codecov badge uploads branch-explicit item pm-x878
- pm next should skip completed open containers when recommending actionable work item pm-2n6i
- pm validate --check-files mis-handles remote (URL) doc/file references: flagged as deleted and silently destroyed by --prune-missing item pm-k2n4
- pm install does not scaffold extension-contributed item-type folders (transient missing_directory health warning) item pm-rjab
- Contracts command lookup should handle package namespace roots item pm-y1o4
- GH-363: Windows nightly (Node 24) red — runtime-loader colon-path + telemetry detached-spawn unhandled error + npm-install regression item pm-xaib
- Auto Release blocked-alert step can never create its tracking issue (auto-release.yml missing issues:write) item pm-qawd
- Aggregate --status all should match duplicate-safe lifecycle filters item pm-bhtx
- Sentry PM-CLI-1T: pm stats should tolerate disappearing history streams item pm-7o0s
- Package lifecycle typo recovery should suggest action subcommands item pm-js02
- describeExtensionBlueprint omits importer/exporter-with-options command definitions (parity gap vs describeExtensionActivation) item pm-zqes
- deriveExtensionCapabilities omits 'schema' for importer/exporter options.flags (declarative blueprint under-grant) item pm-v3ty
- Scaffolded search/importers package commands fail to dispatch: lazy-activation probe skips command-bearing extensions that omit activation.commands item pm-nacb
- Harden extensionNeedsActivationForProbe: non-terminal search gate + command-bearing importers item pm-b5r8
Removed
- CodeFactor/Maintainability: remove useless object-spread fallbacks (unicorn/no-useless-fallback-in-spread ×57) item pm-xsth
Other
- PR \#406 review follow-up: clear partial MCP extension registries before fallback execution item pm-dyzy
- ADR: profile lint severity model — errors break apply, warnings flag suspicious-but-valid cross-references item pm-qcdu
- Action-scoped MCP parameter descriptions: split shared name/target description per action (schema vs profile) item pm-fq80
- Built-in MCP actions are now extension-aware: pm_profile/pm_list/pm_schema activate workspace extensions like the CLI item pm-zumn
- Docs: SDK.md/EXTENSIONS.md document api.registerProfile + regenerate contracts/full.json item pm-ol8j
- Dogfood: pm-kanban registers kanbanProfile so pm profile apply kanban works item pm-kj7x
- SDK profile parity: assertRegisteredProfile + composeExtension blueprint.profiles + deriveExtensionCapabilities + describe item pm-l8fl
- pm profile list/show/apply merges extension-registered profiles with source labels item pm-vpwt
- registerProfile core registration surface: ExtensionApi + registry + loader gate + capability-usage + policy surface item pm-6oox
- Decompose cli-contracts.ts monolith into flag-contracts + tool-schema sibling modules item pm-3wue
- First-party package manifests declare current SDK compatibility floor item pm-6d7q
- Package scaffolds declare current SDK compatibility floor item pm-sf08
- Refresh Sentry release and telemetry dependencies item pm-4dz7
- CodeFactor parity tooling: local ESLint (unicorn) + complexity + duplication lint to reproduce findings and prevent regressions item pm-6sqo
- CodeFactor/Maintainability: clear remaining unicorn lints (no-thenable ×4, no-useless-spread ×2, no-useless-length-check ×1) item pm-q0ye
- ADR: offline BM25 lexical provider + relevance eval harness for search quality item pm-f2al
- ADR: explicit pm_format_version front-matter field for storage schema evolution item pm-eeai
- Normalize stale audit containers and intentional-open resolved items item pm-psc0
- Docs & CI/CD audit 2026-06-12 item pm-gpea
- Audit (2026-06-07): observability / telemetry / health item pm-lzrq
- Audit (2026-06-07): storage/history + search/semantic item pm-34gb
- Audit (2026-06-07): MCP + SDK/extensions/packages item pm-b4cp
- Audit (2026-06-07): CLI surface & schema/config item pm-srex
- Audit (2026-06-07): docs/onboarding/release/CI + tests/coverage item pm-5dbn
- Expose project profile application through MCP contracts and drift gates item pm-bhmk
- 2026-06-25 PM ecosystem taxonomy and context backlog normalization item pm-57vh
- Sub-agent lane: release, GitHub, Sentry, telemetry, and live-ops evidence item pm-3whx
- Sub-agent lane: SDK, packages, MCP, and universal customization backlog item pm-o578
- Sub-agent lane: source, tests, docs, and command-surface coverage map item pm-xezi
- Sub-agent lane: tracker taxonomy, hierarchy, and duplicate hygiene item pm-klpw
- Refresh runtime dependencies for audit baseline item pm-r642
- Extend pm package init --declarative to the full capability matrix (hooks/search/importers/schema/renderers/parser/preflight/services) item pm-lfdv
- ADR: dependency-aware actionability for pm next — ready = active leaf with no open blocked_by; reuse compareCriticalItems + shared blocked_by resolver item pm-9x6k
- Schema-capability scaffolds must omit narrow activation.commands so custom item types/fields register globally item pm-halx
- Schema scaffold docs: EXTENSIONS.md, SDK.md, shell completion, help-content examples item pm-pwf1
- Schema scaffold tests: unit coverage (package+extension variants) + materialize/run generated node:test smoke item pm-x3vi
- Implement schema scaffold capability in scaffold.ts (manifest/entrypoint/README/define\* guidance, omit activation.commands) item pm-mdw6
- Document activation.commands lazy-activation contract in scaffold README, EXTENSIONS.md, SDK.md item pm-scvz
- Scaffold emits manifest activation.commands matching registered command paths per capability item pm-mhih
Closed
- Closed: pm package doctor should warn when a schema package registers item types/fields but declares narrow activation.commands (silently non-global) item pm-ok47
Added
- TypeScript-first extension & package scaffolding + SDK docs reframe item pm-09rh
- Modular declarative authoring: mergeExtensionBlueprints + composeExtensionPackage item pm-2p38
- SDK unified author-time preflight capstone: preflightExtension + assertExtensionPreflight item pm-ozaf
- SDK author-time version-compatibility preflight: checkExtensionManifestCompatibility + assertExtensionManifestCompatible item pm-1w0d
- SDK author-once manifest synthesis: synthesizeExtensionManifest + assertExtensionManifestMatchesBlueprint item pm-u5le
Changed
- Extract shared version-compat core (core/extensions/version-compat.ts); loader delegates, behavior-preserving item pm-sjea
Other
- ADR: pm extensions & SDK packages must be authored fully in TypeScript item pm-2c28
- Convert docs/examples extensions to TypeScript-first (starter-extension, policy-restricted-extension) item pm-ax7z
- Reframe SDK docs & docstrings TypeScript-first (SDK.md, EXTENSIONS.md, define\*/compose\*) item pm-l2ud
- Scaffolder emits TypeScript source: index.ts + tsconfig.json + type-check/test scripts (./index.ts entry) item pm-frou
- defineExtensionBlueprint: typed identity helper for partial blueprint fragments item pm-nvgy
- composeExtensionPackage: author-once capstone returning { module, manifest } item pm-cn0c
- mergeExtensionBlueprints: pure modular composition of partial ExtensionBlueprints item pm-high
- assertExtensionPreflight(blueprint, options) — throwing CI/test bookend (testing.ts) + barrel re-export item pm-t8yl
- preflightExtension(blueprint, options) — pure unified author-time analyzer (compose.ts) item pm-tcw1
- assertExtensionManifestCompatible(manifest, target) — SDK testing assert item pm-hng2
- checkExtensionManifestCompatibility(manifest, target) — pure author-time analyzer item pm-knma
- assertExtensionManifestMatchesBlueprint(manifest, blueprint): strict least-privilege CI guard against capability drift item pm-pfxi
- synthesizeExtensionManifest(blueprint, identity): generate a complete least-privilege ExtensionManifest from a blueprint item pm-nr5j
Added
- SDK lintExtensionBlueprint + assertExtensionBlueprint: author-time preflight for composeExtension blueprints (capability drift, duplicate commands, empty surfaces) item pm-9ect
- SDK describeExtensionBlueprint: static author-time surface map of a composeExtension blueprint (author-time inverse of describeExtensionActivation) item pm-tlpv
- Declarative extension authoring: composeExtension blueprint + deriveExtensionCapabilities + defineExtensionManifest item pm-iqq0
- pm extension/package describe: agent-facing CLI + MCP surface for describeExtensionActivation item pm-l4c8
- SDK describeExtensionActivation: single-call introspection of every registered surface (complements assert\*/run\*) item pm-16ue
- SDK authoring-time define\* typed builders for every extension registration surface item pm-12tj
- Unified extension test harness (createExtensionTestHarness): one fluent fixture binding all activate/assert/invoke/deactivate SDK helpers item pm-jcyn
Fixed
- deriveExtensionCapabilities omits 'schema' for a CommandDefinition with inline flags (manifest under-grant would fail activation) item pm-5758
- GH-340: Windows nightly telemetry OTLP cleanup EBUSY item pm-zpe7
Other
- ADR: SDK author-time helpers are the static inverse of runtime extension checks (derive↔reconcile, describe-blueprint↔describe-activation, lint↔loader-enforcement+doctor) item pm-4oio
- ADR: SDK define\* builders are zero-cost identity helpers (defineConfig pattern), generic for object defs / non-generic for function defs item pm-3mph
Added
- Add importers package scaffold and dependency-maintenance closeout item pm-j5az
- pm package init --capability search: scaffold search provider starter packages item pm-pwai
- pm package init --capability <kind\>: scaffold capability-targeted starter packages (commands\|hook) item pm-nhby
- SDK invoke helpers for importers & exporters: runRegisteredImporterForTest + runRegisteredExporterForTest item pm-1p2u
- SDK invoke helpers for search providers, vector store adapters and migrations item pm-bd3u
- Complete the SDK extension-invoke testing surface: runRegisteredHookForTest + override invoke helpers item pm-miqm
- SDK testing helper to invoke a registered extension command handler: runRegisteredCommandForTest item pm-owm0
- SDK deactivate test lifecycle: deactivateExtensionForTest + assertExtensionDeactivated helpers item pm-0zn9
- Least-privilege capability reconciliation: pm package doctor flags declared-but-unused extension capabilities + SDK assertExtensionCapabilityUsage item pm-fk84
Fixed
- Fix Windows nightly full-test path and permission assumptions item pm-83rt
Other
- Package and extension scaffolds emit least-privilege manifest policy metadata item pm-bav0