SpecsCLICli Update Enforcement
CLI Update Enforcement Implementation Notes
Implementation Notes: CLI Update Enforcement
Delivered
.devpunks/settings.jsonnow preserves and writescliVersionandbaselineVersionpins on accepted scaffold-writing CLI flows.dp checkis a read-only drift command for CLI executable drift, managed scaffold/baseline drift, and settings pin drift.dp check --jsonincludesfailed,cli,settings,releaseSummary, andupdate.- Session-start scaffold hooks now call
dp checkorpunks check. - Drift remediation guidance tells operators to ask before proceeding and run accepted
dp upgradeordp updateremediation in a subagent. - Packaged CLI dist includes
CHANGELOG.mdandBASELINE_CHANGELOG.mdso changelog summaries work from global/npm installs. - Upstream
dp-cliskill source was updated, pushed, and synced into Harness mirrors. - Docs ingest completed for root docs, scaffolding runbook, wiki scaffold lifecycle pages, hook page, basic usage, wiki log, and CLI spec index.
Review Fixes
- Fixed packaged/global CLI changelog availability by copying root changelogs into
apps/cli/distand asserting they exist in the installed package layout. - Fixed settings-pin drift coverage by comparing
.devpunks/settings.jsoncliVersionandbaselineVersionduringdp check, failing on drift, rendering a Version Pins section, and exposing the result in JSON. - Fixed final review blockers: changelog lookup now continues until a candidate contains the requested release heading, and stale project
cliVersionpins route to an accepted project write path instead ofdp upgrade.
Validation
bun --cwd apps/cli test src/cli/check-command.test.ts src/scaffold/stage.test.ts src/scaffold/run.test.ts src/update/run.test.ts src/content/content.test.ts src/data/hooks.test.ts src/data/scripts/sync-subagents.test.tspassed: 7 files, 100 tests.bun --cwd apps/cli test src/ui/brand.test.ts src/cli/check-command.test.ts src/content/content.test.ts src/data/hooks.test.ts src/data/scripts/sync-subagents.test.tspassed: 5 files, 39 tests.bun --cwd apps/cli test src/cli/check-command.test.tspassed: 9 tests.bun --cwd apps/cli check-typespassed.bun --cwd apps/cli checkpassed.bun run --cwd apps/wiki check-typespassed.git diff --checkpassed.bun --cwd apps/cli buildpassed.node scripts/assert-dist-commands.mjsfromapps/clipassed.- Temp scaffold smoke ran
dp check --json --baseline bundled, exited 1 due detected drift, returnedfailed,cli,settings, andupdate, and left.devpunksplus.agentshashes unchanged.
Phase Closeout
- Requirements: closed 100%.
- Spec: reviewed.
- Plan: executed.
- Implementation: complete.
- Review: mandatory review found two blockers; both fixed and revalidated before final review.
- Debugging: skipped; no runtime failure after fixes.
- Docs ingest: complete.