Docs freshness sweep (28 MCP tools, Node 22.18, package caveats) + CI least-privilege hardening
Merged
UN
4mo ago+341+341+012345678901234567890123456789-53-53-01234567890123456789
Applies the fixes queued by the 2026-07-02 full ecosystem audit (umbrella [pm-fpod], lanes pm-kes3/pm-6vy7/pm-hfli/pm-3l76/pm-p99b/pm-mo2v): documentation freshness + progressive disclosure, and CI/CD least-privilege hardening.
Docs freshness (Lane E, pm-p99b)
- 26 → 28 MCP tools everywhere the stale count survived:
README.md,plugins/pm-claude/README.md(×3 sites),plugins/pm-claude/.claude-plugin/plugin.json,plugins/pm-claude/commands/pm-init.md; the plugin narrow-tool table gains the missingpm_next,pm_focus,pm_profilerows (27 narrow +pm_run), and the pm-init tool list now names all 28. Plugin version bumped 1.4.0 → 1.4.1. - Node 20 → 22.18 (matches
engines>=22.18.0):CONTRIBUTING.md,docs/ARCHITECTURE.md,docs/ONBOARDING.md. - Stale CI matrix in
CONTRIBUTING.md: nowubuntu-latest(Node 22, 24) +macos-latest(Node 24), nightly for Windows/Node 25 — matchingci.yml. - Package-only commands no longer read as core:
comments-audit/normalize(governance-audit) andtest-runs† (linked-test-adapters) footnoted indocs/COMMANDS.md; caveats added at first mention forreindex/normalize(AGENT_GUIDE),normalize(ONBOARDING),calendar(CONFIGURATION),reindex(ARCHITECTURE);pm completionsection notes it comes fromguide-shell. - Deduplicated the 10-capability scaffold matrix:
docs/EXTENSIONS.mdnow summarizes and links to the canonical matrix indocs/SDK.mdinstead of restating it (also keeps EXTENSIONS.md under its 450-line gate). - Canonical-loop duplication:
docs/ONBOARDING.mdnow declaresAGENT_GUIDE.mdas the canonical loop source. - starter-extension example switched to package-first vocabulary (
pm install <path> --project,pm package --reload,pm package doctor), notingpm extension --installremains a compatibility form. - Orphan links fixed:
docs/README.mdlinksAGENTS.md+PRD.md;docs/EXTENSIONS.mdfirst-party package list now links all 11 package READMEs. - Six built-in statuses wording fix (was "five ... plus draft").
CI/CD hardening (Lane F, pm-mo2v)
auto-release.yml:actions: write→actions: read(gh run list/watchonly read run state).scripts/check-secrets-lib.mjs: newanthropic-api-key(sk-ant-…),openai-api-key(sk-…/sk-proj-…/sk-svcacct-…), andgitlab-token(glpat-…) rules + spec coverage; repo-wide scan stays clean.- Live repo settings (gh api, no code):
releaseenvironment now restricted by deployment branch policy tomain+v*.*.*tags (covers bothauto-release.ymlon main and tag-triggeredrelease.yml). - Declined:
secret_scanning_non_provider_patterns/secret_scanning_validity_checksrequire paid GitHub Secret Protection (PATCH is silently ignored on the free plan) — documented on pm-mo2v.
Audit follow-ups filed (not in this PR)
- [pm-3wsi] P1: declarative extension install misreports activation failure when
@unbrained/pm-cliis unresolvable - [pm-ghf1] P2: reserved item-field collisions invisible to SDK lint/preflight/harness
- [pm-llrp] P3: SDK authoring DX polish bundle
- [pm-gdi7] P2: agent-UX output polish (unknown-option suggestions, list-closed projection, schema add-field help)
- [pm-z1pv] P2:
pm context/pm nexthot path ~700ms on an 857-item tracker
Verification
pnpm build,pnpm typecheck,npx eslint .(zero output), docs-skills gate,node scripts/check-secrets.mjsclean, Claude-plugin smoke, full coverage suite green (see checks).pnpm changelog:pm:checkgreen after regeneration (audit-lane closes recorded under Unreleased).
🤖 Generated with Claude Code
https://claude.ai/code/session_01FM3GimxcR6DpRdMiBX3RLs
Summary by cubic
Refreshes docs to match the current ecosystem (28 MCP tools, Node 22.18, package-provided commands) and hardens CI with least-privilege permissions and stronger secret scanning, including GitLab routable PATs. Keeps plugin/marketplace metadata in sync and trims duplicated docs.
-
Docs Freshness
- Updated 26 → 28 MCP tools across
README.md, plugin docs, and manifests; addedpm_next,pm_focus,pm_profile; bumpedpm-claudeto 1.4.1 in plugin and both marketplace manifests. - Set Node requirement to 22.18 in
CONTRIBUTING.md,docs/ARCHITECTURE.md, anddocs/ONBOARDING.md; aligned CI matrix docs toubuntu-latest(Node 22, 24) andmacos-latest(Node 24), with nightly Windows/Node 25. - Clarified package-provided commands and caveats:
comments-audit/normalizefromgovernance-audit,test-runsfromlinked-test-adapters,pm completionfromguide-shell; notedreindex/normalize/calendarrequire packages (e.g.,search-advanced,governance-audit,calendar). - Reduced duplication and fixed links:
EXTENSIONS.mdlinks to the canonical SDK matrix;ONBOARDING.mdpoints toAGENT_GUIDE.md; starter example uses package-first (pm install,pm package --reload,pm package doctor).
- Updated 26 → 28 MCP tools across
-
CI/CD Hardening
- Dropped
auto-release.ymlpermissions toactions: read; updated the workflow contract test. - Expanded and refined secret scanning with tests: Anthropic (
sk-ant-), OpenAI (sk-incl.sk-proj-/sk-svcacct-with a negative lookahead to avoidsk-ant-), and GitLab (glpat-), now including routable PATs with dots. - Restricted the
releaseenvironment tomainandv*.*.*tags via deployment branch policy.
- Dropped