@aperant/framework 0.6.6 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/CHANGELOG.md +215 -0
  2. package/dist/cli/commands/check-version.d.mts.map +1 -1
  3. package/dist/cli/commands/check-version.mjs +76 -1
  4. package/dist/cli/commands/check-version.mjs.map +1 -1
  5. package/dist/cli/commands/ci-watch.d.mts.map +1 -1
  6. package/dist/cli/commands/ci-watch.mjs +73 -5
  7. package/dist/cli/commands/ci-watch.mjs.map +1 -1
  8. package/dist/cli/commands/health-check.mjs +1 -1
  9. package/dist/cli/commands/health-check.mjs.map +1 -1
  10. package/dist/cli/commands/init.d.mts +17 -1
  11. package/dist/cli/commands/init.d.mts.map +1 -1
  12. package/dist/cli/commands/init.mjs +183 -11
  13. package/dist/cli/commands/init.mjs.map +1 -1
  14. package/dist/cli/commands/release-notes.d.mts +11 -0
  15. package/dist/cli/commands/release-notes.d.mts.map +1 -0
  16. package/dist/cli/commands/release-notes.mjs +173 -0
  17. package/dist/cli/commands/release-notes.mjs.map +1 -0
  18. package/dist/cli/commands/route.d.mts.map +1 -1
  19. package/dist/cli/commands/route.mjs +37 -2
  20. package/dist/cli/commands/route.mjs.map +1 -1
  21. package/dist/cli/commands/task.d.mts.map +1 -1
  22. package/dist/cli/commands/task.mjs +48 -0
  23. package/dist/cli/commands/task.mjs.map +1 -1
  24. package/dist/cli/config/load.d.mts +14 -0
  25. package/dist/cli/config/load.d.mts.map +1 -1
  26. package/dist/cli/config/load.mjs +40 -0
  27. package/dist/cli/config/load.mjs.map +1 -1
  28. package/dist/cli/config/upgrade-gitignore.d.mts.map +1 -1
  29. package/dist/cli/config/upgrade-gitignore.mjs +6 -0
  30. package/dist/cli/config/upgrade-gitignore.mjs.map +1 -1
  31. package/dist/cli/consistency/parse-review.d.mts.map +1 -1
  32. package/dist/cli/consistency/parse-review.mjs +4 -1
  33. package/dist/cli/consistency/parse-review.mjs.map +1 -1
  34. package/dist/cli/dispatch.d.mts.map +1 -1
  35. package/dist/cli/dispatch.mjs +2 -0
  36. package/dist/cli/dispatch.mjs.map +1 -1
  37. package/dist/cli/gate/gates/review-clean.d.mts.map +1 -1
  38. package/dist/cli/gate/gates/review-clean.mjs +4 -2
  39. package/dist/cli/gate/gates/review-clean.mjs.map +1 -1
  40. package/dist/cli/help.d.mts.map +1 -1
  41. package/dist/cli/help.mjs +1 -0
  42. package/dist/cli/help.mjs.map +1 -1
  43. package/dist/cli/host/detect.d.mts +122 -9
  44. package/dist/cli/host/detect.d.mts.map +1 -1
  45. package/dist/cli/host/detect.mjs +132 -0
  46. package/dist/cli/host/detect.mjs.map +1 -1
  47. package/dist/cli/install/legacy-paths.d.mts +38 -0
  48. package/dist/cli/install/legacy-paths.d.mts.map +1 -0
  49. package/dist/cli/install/legacy-paths.mjs +69 -0
  50. package/dist/cli/install/legacy-paths.mjs.map +1 -0
  51. package/dist/cli/install/runtime-migrate.d.mts +84 -0
  52. package/dist/cli/install/runtime-migrate.d.mts.map +1 -0
  53. package/dist/cli/install/runtime-migrate.mjs +244 -0
  54. package/dist/cli/install/runtime-migrate.mjs.map +1 -0
  55. package/dist/cli/install/update-chips.d.mts +23 -0
  56. package/dist/cli/install/update-chips.d.mts.map +1 -1
  57. package/dist/cli/install/update-chips.mjs +60 -0
  58. package/dist/cli/install/update-chips.mjs.map +1 -1
  59. package/dist/cli/release-notes/compile.d.mts +38 -0
  60. package/dist/cli/release-notes/compile.d.mts.map +1 -0
  61. package/dist/cli/release-notes/compile.mjs +244 -0
  62. package/dist/cli/release-notes/compile.mjs.map +1 -0
  63. package/dist/cli/release-notes/draft.d.mts +73 -0
  64. package/dist/cli/release-notes/draft.d.mts.map +1 -0
  65. package/dist/cli/release-notes/draft.mjs +120 -0
  66. package/dist/cli/release-notes/draft.mjs.map +1 -0
  67. package/dist/cli/release-notes/output-dir.d.mts +20 -0
  68. package/dist/cli/release-notes/output-dir.d.mts.map +1 -0
  69. package/dist/cli/release-notes/output-dir.mjs +42 -0
  70. package/dist/cli/release-notes/output-dir.mjs.map +1 -0
  71. package/dist/cli/release-notes/persona-filter.d.mts +51 -0
  72. package/dist/cli/release-notes/persona-filter.d.mts.map +1 -0
  73. package/dist/cli/release-notes/persona-filter.mjs +127 -0
  74. package/dist/cli/release-notes/persona-filter.mjs.map +1 -0
  75. package/dist/cli/release-notes/publish.d.mts +23 -0
  76. package/dist/cli/release-notes/publish.d.mts.map +1 -0
  77. package/dist/cli/release-notes/publish.mjs +125 -0
  78. package/dist/cli/release-notes/publish.mjs.map +1 -0
  79. package/dist/cli/release-notes/ship-autodraft.d.mts +37 -0
  80. package/dist/cli/release-notes/ship-autodraft.d.mts.map +1 -0
  81. package/dist/cli/release-notes/ship-autodraft.mjs +97 -0
  82. package/dist/cli/release-notes/ship-autodraft.mjs.map +1 -0
  83. package/dist/cli/route/drift-detect.d.mts +20 -0
  84. package/dist/cli/route/drift-detect.d.mts.map +1 -0
  85. package/dist/cli/route/drift-detect.mjs +107 -0
  86. package/dist/cli/route/drift-detect.mjs.map +1 -0
  87. package/dist/cli/util/aperant-section.d.mts +34 -0
  88. package/dist/cli/util/aperant-section.d.mts.map +1 -0
  89. package/dist/cli/util/aperant-section.mjs +127 -0
  90. package/dist/cli/util/aperant-section.mjs.map +1 -0
  91. package/dist/cli/util/copy.d.mts +28 -1
  92. package/dist/cli/util/copy.d.mts.map +1 -1
  93. package/dist/cli/util/copy.mjs +43 -55
  94. package/dist/cli/util/copy.mjs.map +1 -1
  95. package/dist/cli/util/semver.d.mts +17 -0
  96. package/dist/cli/util/semver.d.mts.map +1 -0
  97. package/dist/cli/util/semver.mjs +29 -0
  98. package/dist/cli/util/semver.mjs.map +1 -0
  99. package/dist/cli/util/skill-installs.d.mts +65 -9
  100. package/dist/cli/util/skill-installs.d.mts.map +1 -1
  101. package/dist/cli/util/skill-installs.mjs +130 -21
  102. package/dist/cli/util/skill-installs.mjs.map +1 -1
  103. package/dist/cli/util/version-preflight.d.mts +44 -0
  104. package/dist/cli/util/version-preflight.d.mts.map +1 -0
  105. package/dist/cli/util/version-preflight.mjs +66 -0
  106. package/dist/cli/util/version-preflight.mjs.map +1 -0
  107. package/dist/types/config.d.ts +11 -7
  108. package/dist/types/config.d.ts.map +1 -1
  109. package/package.json +133 -133
  110. package/skills/apt-close-task/SKILL.md +30 -0
  111. package/skills/apt-diagram/SKILL.md +45 -9
  112. package/skills/apt-release-notes/SKILL.md +193 -0
  113. package/skills/apt-release-notes/appendices/persona-voice.md +59 -0
  114. package/skills/apt-setup/SKILL.md +146 -3
  115. package/skills/apt-ship/SKILL.md +63 -4
  116. package/skills/apt-spar/SKILL.md +36 -11
  117. package/skills/apt-update/SKILL.md +77 -10
  118. package/skills/apt-watch-ci/SKILL.md +6 -3
  119. package/src/cli/commands/check-version.mjs +73 -1
  120. package/src/cli/commands/ci-watch.mjs +74 -5
  121. package/src/cli/commands/health-check.mjs +1 -1
  122. package/src/cli/commands/init.mjs +202 -10
  123. package/src/cli/commands/release-notes.mjs +187 -0
  124. package/src/cli/commands/route.mjs +38 -2
  125. package/src/cli/commands/task.mjs +49 -0
  126. package/src/cli/config/load.mjs +37 -0
  127. package/src/cli/config/upgrade-gitignore.mjs +6 -0
  128. package/src/cli/consistency/parse-review.mjs +3 -1
  129. package/src/cli/dispatch.mjs +2 -0
  130. package/src/cli/gate/gates/review-clean.mjs +4 -2
  131. package/src/cli/help.mjs +1 -0
  132. package/src/cli/host/detect.mjs +135 -0
  133. package/src/cli/install/legacy-paths.mjs +69 -0
  134. package/src/cli/install/runtime-migrate.mjs +252 -0
  135. package/src/cli/install/update-chips.mjs +57 -0
  136. package/src/cli/release-notes/compile.mjs +261 -0
  137. package/src/cli/release-notes/draft.mjs +133 -0
  138. package/src/cli/release-notes/output-dir.mjs +52 -0
  139. package/src/cli/release-notes/persona-filter.mjs +126 -0
  140. package/src/cli/release-notes/publish.mjs +128 -0
  141. package/src/cli/release-notes/ship-autodraft.mjs +106 -0
  142. package/src/cli/route/drift-detect.mjs +107 -0
  143. package/src/cli/util/aperant-section.mjs +136 -0
  144. package/src/cli/util/copy.mjs +43 -56
  145. package/src/cli/util/semver.mjs +28 -0
  146. package/src/cli/util/skill-installs.mjs +134 -21
  147. package/src/cli/util/version-preflight.mjs +65 -0
  148. package/templates/aperant-claude-md-appendix.md +37 -0
  149. package/templates/config.json +28 -3
  150. package/workflows/docs.md +12 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,221 @@
3
3
  All notable changes to `@aperant/framework` are documented here. See
4
4
  [`VERSIONING.md`](VERSIONING.md) for the per-tier contract.
5
5
 
6
+ ## [Unreleased]
7
+
8
+ ## 0.7.0 — 2026-05-17 — install/discovery/ship pipeline hardening (8-bug bundle)
9
+
10
+ This release ships the 7.0 bug bundle: 8 framework defects discovered during the 0.6.6→0.6.7 self-upgrade pipeline (FRAMEWORK-BUG-017 through -024). Each fix was independently verified by Codex/GPT-5 review before implementation. -021 and -022 bundled atomically per Codex recommendation.
11
+
12
+ ### Highlights
13
+
14
+ - **`/apt:update` reliability** (-017): in-band drift detection in `apt-tools route` synthesizes the `update_check` chip when the workspace source is ahead of `.aperant/deps/`; new `requireMinVersion` helper for cmd preflight as a future-guard for new flags; `apt:update --from-source` skill flag for monorepo self-host case.
15
+ - **`/apt:ship` honesty** (-018): CI watcher banner now distinguishes state-recording from wake-registration. New four-way branch in §7.2 reads `scheduler_handle`; when null, emits explicit next-action instruction (`Register a wake-up: CronCreate every ~3min running '/apt:watch-ci --tick --pr {N}'`). Applied to both primary and ask-deferred paths.
16
+ - **`/apt:watch-ci` worktree safety** (-019): auto-merge unconditionally forbids `gh pr merge --delete-branch` from the worktree-rooted watcher (the flag tries to `git switch <base>` in the cwd, which fails when base is checked out in the primary worktree). Local branch + worktree cleanup remains `/apt:close-task`'s job via existing `computeWorktreeCleanup` (best-effort with named failure modes).
17
+ - **`task close-merged --narrate-only`** (-020): the flag was documented as SKILL-level but `parseFlags` parsed it generically and the cmd silently dropped it. Now wired as a CLI flag — read-only enumeration of `pending_narration[]` returning one entry per row in `closed[]` with `narration_pending: true`. SKILL.md §4 calls this before iterating per-row drain via the existing `narration-drain` primitive. At-least-once retry safe (verified narrator idempotence in `apt-team-docs-narrator`).
18
+ - **Install/discovery surface** (-021 + -022, bundled): `init` now detects + removes the legacy `.agents/skills/` codex tree per file against a shared `LEGACY_INSTALL_PATHS` constant (user-added skills preserved). Opt-out via `--keep-legacy`. New `legacy_cleanup` envelope field. **Health-check unified with check-version**: `readSkillInstallState` is now manifest-aware (`apt-file-manifest.json` precedence over `.apt-version` legacy fallback). Malformed manifests surface as stale (not silently healthy). `host` field stays `'claude-code'` for backward compat; new `runtime` field exposes descriptor id.
19
+ - **CLAUDE.md catalog generator** (-023): the hardcoded `APT_SECTION` constant in `copy.mjs` is gone. The section is built from `discoverSkills` (filesystem source of truth — same helper the router uses). Hand-curated sub-sections (Fast Path Guarantee, Discoverability, Feature Registry, Config) live in `templates/aperant-claude-md-appendix.md`. Foreign-row defensive check with `--force-overwrite-catalog` escape hatch (exit-2 on foreign rows). **Breaking for unattended upgrades:** unattended `init` flows on projects with custom CLAUDE.md rows must pass `--force-overwrite-catalog`.
20
+ - **`/apt:spar` partner transport ladder** (-024): replaced single-transport gate (`codex-companion.mjs` only) with 3-rung ladder: MCP tool → plugin shim → raw CLI. MCP-first per user preference with 60s timeout + automatic fallthrough to next rung on hang. Symmetric for codex/claude/gemini. `host-detect` extended additively with `host.partner_transports`. Raw codex invocation is `codex exec` (precedent from `apt-pr-review`).
21
+
22
+ ### Spec-gaps cross-reference
23
+
24
+ All 8 entries at `docs/frameworks/spec-gaps.md#framework-bug-017-installed-deps-drift` through `#framework-bug-024-spar-partner-transport-too-narrow`. Each entry includes the Codex review verdict that drove the implementation choices.
25
+
26
+ ### Commits
27
+
28
+ - `cac1db9c` BUG-017 — deps drift detection
29
+ - `3d9b1a2f` BUG-019 — forbid `gh pr merge --delete-branch`
30
+ - `cdd24c79` BUG-024 — apt:spar 3-rung partner transport ladder
31
+ - `a21c7d32` BUG-023 — CLAUDE.md APT_SECTION generator + appendix
32
+ - `bf51f438` BUG-023 — typecheck fix
33
+ - `42251bd2` BUG-021+022 — codex legacy cleanup + health-check manifest-aware
34
+ - `256edc11` BUG-018 — apt:ship CI watcher banner honesty
35
+ - `8a74b0f9` BUG-020 — task close-merged --narrate-only
36
+
37
+ ### FRAMEWORK-BUG-023 — CLAUDE.md catalog generator (no more stale `APT_SECTION`)
38
+
39
+ `apt-tools init` previously regenerated the `## Aperant Framework` block
40
+ in `CLAUDE.md` / `AGENTS.md` from a hardcoded 19-row constant in
41
+ `src/cli/util/copy.mjs`, silently dropping the 18 skills added after the
42
+ constant was last hand-edited. The constant is gone; the section is now
43
+ built from `discoverSkills` (filesystem source of truth — same helper
44
+ the router uses at runtime), and the hand-curated sub-sections (Fast
45
+ Path Guarantee, Discoverability, Feature Registry, Config) live in a
46
+ template file at `templates/aperant-claude-md-appendix.md`.
47
+
48
+ - **NEW** `src/cli/util/aperant-section.mjs` — `buildAptSection({...})`
49
+ emits the wrapped section. Skills are filtered to `user_invocable &&
50
+ !internal`, sorted with the bare `apt` router first then ASCII by
51
+ name, and pipe characters in descriptions are escaped (`apt:triage`
52
+ is a live case).
53
+ - **NEW** `templates/aperant-claude-md-appendix.md` — hand-curated
54
+ sub-sections, read verbatim by the generator. Editing this file is a
55
+ normal docs PR with no `.mjs` rebuild.
56
+ - **NEW** `--force-overwrite-catalog` flag on `apt-tools init`.
57
+ **Breaking for unattended upgrades:** if the on-disk CLAUDE.md /
58
+ AGENTS.md contains row IDs the generator does NOT produce ("foreign
59
+ rows"), init now exits 2 with the structured envelope
60
+ `{ code: 'instruction-file.foreign-rows', foreignRowIds: [...] }`
61
+ instead of silently clobbering. Re-run with
62
+ `--force-overwrite-catalog` to regenerate anyway, or remove the
63
+ foreign rows manually. Greenfield installs and brownfield installs
64
+ with NO foreign rows are unaffected.
65
+
66
+
67
+
68
+ ### persona-aware release-notes system (task persona-aware-changelog-and-release-note_16-05-26)
69
+
70
+ Two-skill split: `/apt:docs changelog` keeps the dev-flavored
71
+ `CHANGELOG.md` surface unchanged; a new opt-in `/apt:release-notes`
72
+ skill ships a persona-aware user-facing artifact. Schema bumps
73
+ `.aperant/config.json` v4 → v5 with a new `changelog.{dev,release_notes}`
74
+ block (default-OFF release-notes, dev-changelog stays default-ON).
75
+
76
+ - **New skill** `/apt:release-notes` (`stage: ops`, `intent: capture`,
77
+ `task_context: none`). Three modes — `draft --pr <n>` for towncrier-
78
+ style per-PR fragments, `compile <tag>` for tag-time narrative + the
79
+ non-negotiable `## Needs Triage` bucket (spec ID-6: never silent-drop
80
+ unmapped fragments), `publish <tag>` for `gh release create/edit`
81
+ with a graceful `{status: 'skipped', reason: 'gh-not-found'}`
82
+ envelope when `gh` is missing. DEEP-track-only — Fast Path Guarantee
83
+ pinned by `apt-release-notes-quick-exempt.test.ts`.
84
+ - **New CLI verb** `apt-tools release-notes <draft|compile|publish>`.
85
+ Deterministic I/O only — no LLM in the CLI, no prompt templates.
86
+ Persona-voice tuning lives in the SKILL.md via the
87
+ `appendices/persona-voice.md` posture loader.
88
+ - **Schema v4 → v5.** `packages/framework/templates/config.json` gains
89
+ the `changelog` block; the existing
90
+ `runMigrationsAgainstTemplate()` path silently auto-adds the new
91
+ block to any v4 config via the `auto_added` bucket. No bespoke
92
+ migration code, no destructive paths — TD-1 pins the safety net.
93
+ - **Setup integration.** `/apt:setup` gains Batch 9 (Changelog & Release
94
+ Notes) with two top-level questions + an audience / persona-filter
95
+ sub-picker under Q2=Yes. Per-project opt-in is explicit; presence of
96
+ `.aperant/personas.json` does NOT auto-enable (spec ID-7).
97
+ - **Ship integration.** `/apt:ship` §2.6 runs only when opted in.
98
+ Feature-registry diff → persona mapping → `Release note: …`
99
+ auto-draft in the PR body. When `require_pr_field=true` (default)
100
+ AND auto-draft fails, ship emits the exact error string `[APT] No
101
+ release-note signal found — author manual note in PR body or label
102
+ PR no-notes` and stops before `gh pr create`.
103
+ - **Close-task integration.** `/apt:close-task` §2.6 drops the
104
+ per-PR fragment on merge via the same idempotent `apt-tools
105
+ release-notes draft` verb. Failure is additive bookkeeping (appends
106
+ to `pending_release_note[]` in state.json) — never blocks close.
107
+ - **Tests.** TD-1 schema migration, TD-2 fragment idempotency, TD-3
108
+ compile + triage bucket, TD-4 ship-autodraft decision matrix, TD-5
109
+ end-to-end opt-in flow (mocked `gh`), TD-6 quick-exempt regression.
110
+ 32 cases across 6 release-notes test files.
111
+
112
+ The framework's own `CHANGELOG.md` stays dev-flavored — Aperant ships
113
+ to developers, so this file is the right audience already. The
114
+ user-facing surface that this work introduces is for projects that
115
+ ship to non-developer humans.
116
+
117
+ ## 0.6.7 — 2026-05-16 — /apt:update pipeline fixes (Codex spar) + framework-bug bundle
118
+
119
+ ### /apt:update pipeline (Codex spar 2026-05-15)
120
+
121
+ Three line-cited defects from a 2026-05-15 Codex adversarial spar made
122
+ `/apt:update` silently a no-op on a real version bump (e.g. 0.6.5 →
123
+ 0.6.7). All three are now fixed and proved by a new end-to-end test.
124
+
125
+ - **Bug 1: `check-version` was npm-blind.** `src/cli/commands/check-version.mjs:80-82`
126
+ previously read `framework_version` from the local kernel's own
127
+ `package.json` and hard-coded `update_available:false` per runtime
128
+ (lines 59, 70). The skill's `<context>` block documented fields like
129
+ `framework.latest_version` + `update_available` + `dev_install_ahead`
130
+ that `check-version` never emitted — those fields lived only in the
131
+ SessionStart worker's cache file (`hooks/apt-check-update-worker.js`
132
+ at `~/.cache/aperant/apt-update-check.json`). **Fix:** `check-version`
133
+ now reads that cache file when it exists and is fresh (< 1 h,
134
+ `schema_version=1`) and merges `framework.latest_version`,
135
+ `update_available`, `dev_install_ahead`, `not_published`,
136
+ `stale_files_total`, `lookup_error` into its envelope. On a stale or
137
+ missing cache the same field names are emitted with null/false/0
138
+ sentinel values so the skill's parser stays single-shape (ID-03).
139
+ Bails out on any non-1 `schema_version` (R2 mitigation against
140
+ future cache schema drift).
141
+ - **Bug 2: `init` upgrade no-op ignored runtime-manifest drift.**
142
+ `src/cli/commands/init.mjs:354-370` decided `upgrade_noop` solely on
143
+ `.aperant/config.json` schema drift, and lines `1064-1078` returned
144
+ `status:up_to_date` BEFORE `installRuntimes` ran. Reproduction:
145
+ deleting `.claude/apt-file-manifest.json` and re-running init still
146
+ returned `up_to_date` with the manifest unrestored. **Fix:** new
147
+ `--force-runtimes` flag on `init`. When set AND `upgrade_noop` would
148
+ fire, the cmdInit synthesizes a real `InstallAnswers` shape from the
149
+ existing config (preserving visibility/autonomy/cross-verification)
150
+ and falls through to `installRuntimes` + `runKernelInstall` +
151
+ `finishInit` as on the upgrade-with-drift path. The flag is strictly
152
+ additive — callers without it keep the existing no-op short-circuit
153
+ (preserves `init-upgrade-drift.test.ts` case (a) — verified by 27
154
+ passing tests across `init-upgrade-drift.test.ts` and
155
+ `init-flag-parser.test.ts`).
156
+ - **Bug 3: skill read fields `check-version` didn't emit.**
157
+ `skills/apt-update/SKILL.md:49-54` parsed `framework.installed_version`,
158
+ `framework.latest_version`, `stale_files_total`, `update_available`,
159
+ `dev_install_ahead`, `not_published` — none of which the CLI emitted.
160
+ **Fix:** Bug 1's fix lights up the fields the skill was already
161
+ reading; the SKILL.md prose is rewritten to also document a new
162
+ Step 1.5 (`npm view @aperant/framework version` + `npm install
163
+ --prefix .aperant/deps @aperant/framework@<latest>` when newer, with
164
+ 10 s npm timeout per ID-04) and to pass `--force-runtimes` in Step 3.
165
+ Added a `TODO(followup)` comment near the hardcoded
166
+ `.aperant/deps/...` path so the PATH-only / npx-only install case is
167
+ tracked but explicitly deferred (ID-05).
168
+
169
+ - **Schema status.** Envelope changes are strictly additive — the new
170
+ `framework`, `update_available`, `dev_install_ahead`, `not_published`,
171
+ `stale_files_total`, `lookup_error` fields are all nullable; existing
172
+ callers ignore unknown fields. `--force-runtimes` is opt-in. No
173
+ `schema_version` bump required.
174
+ - **Decision source.** Codex spar 2026-05-15.
175
+ - **Tests.** New: `check-version-cache-merge.test.ts` (6 cases),
176
+ `init-force-runtimes.test.ts` (3 cases),
177
+ `update-pipeline-bump-e2e.test.ts` (2 cases). Existing:
178
+ `init-upgrade-drift.test.ts` case (a) still green —
179
+ `--force-runtimes` is opt-in, not a behavior change. Manual smoke
180
+ test (kernel binary upgrades in place via `npm install --prefix`) is
181
+ deferred to release-time validation; the e2e test scopes to
182
+ cache-merge + force-runtimes composition.
183
+
184
+ `task: fix-apt-update-pipeline-3-bugs_15-05-26`
185
+
186
+ ### Other framework-bug fixes shipped in this release (rolled up from previous unreleased)
187
+
188
+ - **fix:** ship gate `review-clean` and `parse-review` now accept `fixed:true`
189
+ alongside `resolved:true` as resolution markers
190
+ ([FRAMEWORK-BUG-009](../../docs/frameworks/spec-gaps.md#framework-bug-009-review-clean-fixed-key)).
191
+ The reviewer skill writes `fixed:true` paired with `fix_commit` — the gate
192
+ and consistency normalizer previously only recognized `resolved:true`,
193
+ causing false-positive blocks when a review fixed findings in-loop.
194
+ - **fix:** `apt-tools ci-watch tick --payload-file <path>` lets the
195
+ orchestrator skill pass pre-captured `gh pr checks` + `gh pr view`
196
+ payloads directly to the cmd, closing the production-path gap
197
+ ([FRAMEWORK-BUG-010](../../docs/frameworks/spec-gaps.md#framework-bug-010-ci-watch-payload-file)).
198
+ The cmd still does NOT shell out to gh — that boundary stays with the
199
+ orchestrator.
200
+ - **feat:** new `loadMergedProjectConfig` deep-merge reader in
201
+ `src/cli/config/load.mjs` for per-user overrides via
202
+ `.aperant/config.local.json` (gitignored). `diagram.mcpConsent` migrated
203
+ to `config.local.json` to close a per-user consent-leak surface
204
+ ([FRAMEWORK-AUDIT-001](../../docs/frameworks/spec-gaps.md#framework-audit-001-config-local-json-migration)).
205
+ Five additional per-user candidates documented and deferred per a recorded
206
+ Codex spar round (cede-partial outcome).
207
+ - **blocked:** FRAMEWORK-BUG-011 (vitest `NODE_ENV='test'` workaround
208
+ location). Spec proposed moving the env override from `vitest.config.ts`
209
+ to `vitest.setup.ts`; empirical regression in `use-analytics.test.ts`
210
+ (`ERR_UNKNOWN_BUILTIN_MODULE: No such built-in module: node:`) disproved
211
+ the hypothesis. See
212
+ [FRAMEWORK-BUG-011](../../docs/frameworks/spec-gaps.md#framework-bug-011-vitest-node-env-workaround)
213
+ for follow-up options.
214
+
215
+ ### apt:setup onboarding-marker (rolled up from PR #137)
216
+
217
+ - **fix:** fresh installs now walk the full Batch 1-8 onboarding flow
218
+ via an explicit onboarding marker, replacing the previous heuristic
219
+ that short-circuited on the presence of any `.aperant/` content.
220
+
6
221
  ## 0.6.5 — 2026-05-14 — Drop aggregate envelope cap
7
222
 
8
223
  Replaces the aggregate `ENVELOPE_MAX_BYTES` cap in
@@ -1 +1 @@
1
- {"version":3,"file":"check-version.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"AAyEA;;GAEG;AACH,4CAFW,MAAM,8CA0ChB"}
1
+ {"version":3,"file":"check-version.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"AAqGA;;GAEG;AACH,4CAFW,MAAM,8CAsFhB"}
@@ -16,7 +16,26 @@
16
16
  * stale_files: [{ path, reason }],
17
17
  * update_available: false
18
18
  * }],
19
- * legacy_install: false // true when only the old .apt-version exists
19
+ * legacy_install: false, // true when only the old .apt-version exists
20
+ * // === 0.6.7 cache-merge fields (Bug 1 fix) ===
21
+ * // Merged from the SessionStart worker's cache at
22
+ * // ~/.cache/aperant/apt-update-check.json when fresh (< 1 h,
23
+ * // schema_version=1). When stale, missing, or malformed, the same
24
+ * // field names are present with null/false/0 sentinel values so
25
+ * // the skill's parser stays single-shape.
26
+ * //
27
+ * // Note: framework.installed_version is intentionally absent.
28
+ * // The live kernel version is always in the top-level
29
+ * // `framework_version` field (read from package.json, never from
30
+ * // the cache).
31
+ * framework: {
32
+ * latest_version: '0.6.7' | null
33
+ * },
34
+ * update_available: false,
35
+ * dev_install_ahead: false,
36
+ * not_published: false,
37
+ * stale_files_total: 0,
38
+ * lookup_error: null
20
39
  * }
21
40
  *
22
41
  * Per-file `reason` values:
@@ -30,6 +49,7 @@ import { dirname, join, resolve } from 'node:path';
30
49
  import { fileURLToPath } from 'node:url';
31
50
  import { readManifest } from '../install/manifest.mjs';
32
51
  import { detectInstalledRuntimes } from '../install/runtime-detect.mjs';
52
+ import { readFreshUpdateCache } from '../install/update-chips.mjs';
33
53
  import { inspectManifestFiles } from '../install/version-header.mjs';
34
54
  import { err, ok } from '../util/result.mjs';
35
55
  const __filename = fileURLToPath(import.meta.url);
@@ -53,6 +73,10 @@ function inspectRuntime(targetDir, descriptor) {
53
73
  runtime: descriptor.id,
54
74
  installed_version: null,
55
75
  stale_files: [],
76
+ // 0.6.7 — per-runtime `update_available` is retained as `false` for
77
+ // backward shape compatibility with pre-0.6.7 callers. The real
78
+ // npm-bump signal now lives on the TOP-LEVEL `update_available`
79
+ // field (merged from the SessionStart worker's cache below).
56
80
  update_available: false,
57
81
  };
58
82
  }
@@ -64,9 +88,12 @@ function inspectRuntime(targetDir, descriptor) {
64
88
  runtime: descriptor.id,
65
89
  installed_version: manifest.framework_version,
66
90
  stale_files: stale,
91
+ // See note above — top-level `update_available` carries the real signal.
67
92
  update_available: false,
68
93
  };
69
94
  }
95
+ /** Cache freshness window — 1 hour, matches the worker's CACHE_TTL_MS. */
96
+ const CACHE_TTL_MS = 60 * 60 * 1_000;
70
97
  /**
71
98
  * @param {string} projectDir
72
99
  */
@@ -98,6 +125,43 @@ export function cmdCheckVersion(projectDir) {
98
125
  else if (runtimes.length > 0) {
99
126
  messageParts.push(`Skills are up to date for ${runtimes.length} runtime(s).`);
100
127
  }
128
+ // 0.6.7 (Bug 1 fix) — merge the SessionStart worker's cache fields when
129
+ // the cache file is fresh (< 1 h, schema_version=1). On a stale / missing
130
+ // / malformed cache the same field names are emitted with null/false/0
131
+ // sentinel values so the skill's parser stays single-shape (ID-03).
132
+ //
133
+ // LOG-001: stale_files_total is always derived from the live per-runtime
134
+ // walk (totalStale). The cache value is intentionally NOT merged — it is
135
+ // up to 1 h old and would hide drift that occurred since the last worker
136
+ // run.
137
+ //
138
+ // LOG-002: installed_version always comes from the kernel's own
139
+ // package.json (frameworkVersion). The cache's installed_version is
140
+ // stale by definition and is NOT merged into the envelope. Consumers
141
+ // that need the live kernel version use the top-level `framework_version`
142
+ // field, which is identical.
143
+ const cacheResult = readFreshUpdateCache(CACHE_TTL_MS);
144
+ let latestVersion = null;
145
+ let updateAvailable = false;
146
+ let devInstallAhead = false;
147
+ let notPublished = false;
148
+ let lookupError = null;
149
+ if (cacheResult.fresh) {
150
+ const c = cacheResult.cache;
151
+ const fw = c.framework && typeof c.framework === 'object' ? c.framework : {};
152
+ // latest_version is semver-validated inside readFreshUpdateCache (SEC-001).
153
+ if (typeof fw.latest_version === 'string')
154
+ latestVersion = fw.latest_version;
155
+ if (typeof c.update_available === 'boolean')
156
+ updateAvailable = c.update_available;
157
+ if (typeof c.dev_install_ahead === 'boolean')
158
+ devInstallAhead = c.dev_install_ahead;
159
+ if (typeof c.not_published === 'boolean')
160
+ notPublished = c.not_published;
161
+ // stale_files_total intentionally NOT taken from cache (LOG-001).
162
+ if (typeof c.lookup_error === 'string')
163
+ lookupError = c.lookup_error;
164
+ }
101
165
  return ok({
102
166
  status,
103
167
  command: 'check-version',
@@ -105,6 +169,17 @@ export function cmdCheckVersion(projectDir) {
105
169
  runtimes,
106
170
  legacy_install: legacyInstall,
107
171
  message: messageParts.join(' '),
172
+ // Cache-merge fields (additive, nullable). Documented in the
173
+ // file-header schema comment.
174
+ framework: {
175
+ latest_version: latestVersion,
176
+ },
177
+ update_available: updateAvailable,
178
+ dev_install_ahead: devInstallAhead,
179
+ not_published: notPublished,
180
+ // stale_files_total: always the live sum from per-runtime walks (LOG-001).
181
+ stale_files_total: totalStale,
182
+ lookup_error: lookupError,
108
183
  });
109
184
  }
110
185
  //# sourceMappingURL=check-version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-version.mjs","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-version.mjs","sourceRoot":"","sources":["../../../src/cli/commands/check-version.mjs"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ci-watch.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/ci-watch.mjs"],"names":[],"mappings":"AA8DA;;;;GAIG;AACH,uCAJW,MAAM,cACN,MAAM,aACN,MAAM,EAAE,8CAyBlB"}
1
+ {"version":3,"file":"ci-watch.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/ci-watch.mjs"],"names":[],"mappings":"AAyFA;;;;GAIG;AACH,uCAJW,MAAM,cACN,MAAM,aACN,MAAM,EAAE,8CAyBlB"}
@@ -16,15 +16,42 @@
16
16
  * reads the gh payload from that file instead of shelling out. The stub
17
17
  * shape is `{ checks: [...], prMetadata: {...} }` — matches the classifier
18
18
  * input contract in stop-matrix.mjs.
19
+ *
20
+ * Production seam: when `--payload-file <path>` is passed, the tick path
21
+ * reads the gh payload from that file. Same shape as the stub. The
22
+ * orchestrator skill (apt-watch-ci §3) captures `gh pr checks ...` +
23
+ * `gh pr view ...` into the payload file BEFORE invoking the cmd — the cmd
24
+ * itself never shells out to gh.
19
25
  */
20
26
  import { randomBytes } from 'node:crypto';
21
27
  import { existsSync, readFileSync } from 'node:fs';
22
- import { resolve } from 'node:path';
28
+ import { dirname, resolve } from 'node:path';
29
+ import { fileURLToPath } from 'node:url';
23
30
  import { acquireLock, releaseLock } from '../ci-watch/lock.mjs';
24
31
  import { deleteState, listWatches, readState, writeState } from '../ci-watch/state.mjs';
25
32
  import { classify, isFailing } from '../ci-watch/stop-matrix.mjs';
26
33
  import { parseFlags } from '../util/args.mjs';
27
34
  import { err, exitWith, ok } from '../util/result.mjs';
35
+ import { requireMinVersion } from '../util/version-preflight.mjs';
36
+ /**
37
+ * Installed kernel version — read once at module scope, same pattern as
38
+ * commands/check-version.mjs:108-109. Used by the version-preflight in
39
+ * `doTick` to fail loud (instead of infra-backoff-loop) when a future
40
+ * framework fix introduces a new tick flag and the user is on a stale
41
+ * install. See FRAMEWORK-BUG-017 rung 2 + the helper docstring for the
42
+ * "future-guard" framing.
43
+ */
44
+ const INSTALLED_KERNEL_VERSION = (() => {
45
+ try {
46
+ const here = dirname(fileURLToPath(import.meta.url));
47
+ const pkgPath = resolve(here, '..', '..', '..', 'package.json');
48
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
49
+ return typeof pkg?.version === 'string' ? pkg.version : null;
50
+ }
51
+ catch {
52
+ return null;
53
+ }
54
+ })();
28
55
  const DEFAULT_TICK_INTERVAL_MS = 300_000; // 5 minutes
29
56
  const MAX_TICK_INTERVAL_MS = 30 * 60 * 1000; // 30 min
30
57
  const WALL_BUDGET_MS = 4 * 60 * 60 * 1000; // 4 hours
@@ -104,12 +131,14 @@ function doStart(root, flags) {
104
131
  command: 'ci-watch-start',
105
132
  pr: Number(pr),
106
133
  reason: 'already-armed',
134
+ scheduler_handle: existingState.scheduler_handle ?? null,
107
135
  existing: {
108
136
  task_id: existingState.task_id,
109
137
  host: existingState.host,
110
138
  attempts: existingState.attempts,
111
139
  started_at: existingState.started_at,
112
140
  deadline: existingState.deadline,
141
+ scheduler_handle: existingState.scheduler_handle ?? null,
113
142
  },
114
143
  }, 2);
115
144
  }
@@ -232,6 +261,21 @@ function summarize(s) {
232
261
  // tick
233
262
  // ---------------------------------------------------------------------------
234
263
  function doTick(root, flags) {
264
+ // FRAMEWORK-BUG-017 rung 2 (future-guard): emit a structured
265
+ // version_drift envelope when a future framework fix requires a
266
+ // new tick flag and the installed kernel predates it. The current
267
+ // pin to 0.6.7 (the version that introduced --payload-file) is a
268
+ // no-op on every 0.6.7+ install — but the scaffolding is in place
269
+ // for the NEXT new-flag fix to bump `introducedIn` without
270
+ // re-discovering the silent-infra-backoff failure mode.
271
+ const versionGate = requireMinVersion({
272
+ feature: 'payload-file',
273
+ introducedIn: '0.6.7',
274
+ installedVersion: INSTALLED_KERNEL_VERSION,
275
+ missingFlag: '--payload-file',
276
+ });
277
+ if (versionGate)
278
+ return exitWith(versionGate, 1);
235
279
  const prCheck = validatePr(flags.get('pr'));
236
280
  if (typeof prCheck !== 'string')
237
281
  return prCheck;
@@ -262,7 +306,8 @@ function doTick(root, flags) {
262
306
  reason: 'watch is paused (reviewer-pause); resume with /apt:watch-ci --resume',
263
307
  });
264
308
  }
265
- const payload = fetchGhPayload(pr);
309
+ const payloadFile = flags.get('payload-file');
310
+ const payload = payloadFile ? loadPayloadFile(resolve(root, payloadFile)) : fetchGhPayload(pr);
266
311
  if (payload.error) {
267
312
  // gh CLI not available / auth failed → infra-backoff. Don't count it,
268
313
  // double the next-tick interval (capped at MAX_TICK_INTERVAL_MS), and reschedule.
@@ -440,12 +485,35 @@ function fetchGhPayload(_pr) {
440
485
  // Real gh shell-out lives in the skill body. The cmd's tick treats
441
486
  // "no stub + no payload" as infra-backoff so unit tests can exercise the
442
487
  // path without a live gh binary. The orchestrator skill is responsible
443
- // for pre-fetching and re-invoking with APT_TEST_GH_STUB set, OR for
444
- // passing real data via a future --payload-file flag (out of scope here).
488
+ // for pre-fetching and re-invoking with APT_TEST_GH_STUB set (tests) OR
489
+ // `--payload-file <path>` (production see loadPayloadFile below).
445
490
  return {
446
- error: 'gh shell-out is the skill orchestrator boundary — set APT_TEST_GH_STUB for unit tests',
491
+ error: 'gh shell-out is the skill orchestrator boundary — set APT_TEST_GH_STUB for unit tests or pass --payload-file for production',
447
492
  };
448
493
  }
494
+ /**
495
+ * Read a gh payload from disk for the production path (FRAMEWORK-BUG-010).
496
+ * Returns the same shape as fetchGhPayload's stub branch on success, or an
497
+ * { error } envelope on missing path / parse failure — the existing
498
+ * infra-backoff branch surfaces the error cleanly.
499
+ *
500
+ * @param {string} path absolute or already-resolved path
501
+ */
502
+ function loadPayloadFile(path) {
503
+ try {
504
+ if (!existsSync(path)) {
505
+ return { error: `payload-file path not found: ${path}` };
506
+ }
507
+ const data = JSON.parse(readFileSync(path, 'utf-8'));
508
+ return {
509
+ checks: data.checks || [],
510
+ prMetadata: data.prMetadata || { state: 'OPEN' },
511
+ };
512
+ }
513
+ catch (e) {
514
+ return { error: `payload-file parse error: ${e.message}` };
515
+ }
516
+ }
449
517
  /**
450
518
  * Read `ci_watch.auto_merge_on_green` from `.aperant/config.json` (default
451
519
  * false). Best-effort — missing file or unparsable JSON returns false.
@@ -1 +1 @@
1
- {"version":3,"file":"ci-watch.mjs","sourceRoot":"","sources":["../../../src/cli/commands/ci-watch.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ci-watch.mjs","sourceRoot":"","sources":["../../../src/cli/commands/ci-watch.mjs"],"names":[],"mappings":"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"}
@@ -135,7 +135,7 @@ export function cmdHealthCheck(projectDir) {
135
135
  issues.push({
136
136
  type: 'missing-skills',
137
137
  severity: 'warning',
138
- detail: 'No installed skill version stamps found under .claude/skills or .agents/skills',
138
+ detail: 'No apt install manifests or version stamps found for any supported runtime',
139
139
  install_surfaces: installs,
140
140
  });
141
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health-check.mjs","sourceRoot":"","sources":["../../../src/cli/commands/health-check.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health-check.mjs","sourceRoot":"","sources":["../../../src/cli/commands/health-check.mjs"],"names":[],"mappings":"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"}
@@ -15,8 +15,21 @@
15
15
  * a missing runtimes flag should block (no flag, no `--yes`) or not
16
16
  * (flag passed, or `--yes`).
17
17
  *
18
+ * 0.6.7 — `--force-runtimes` (Bug 2 fix) bypasses the `upgrade_noop`
19
+ * short-circuit so `/apt:update` can re-stamp runtime manifests even
20
+ * when `.aperant/config.json` is at the current schema. Strictly
21
+ * additive: callers without the flag still get the no-op short-circuit
22
+ * (preserves `init-upgrade-drift.test.ts` case (a)).
23
+ *
24
+ * 0.7.0 — `--force-overwrite-catalog` (FRAMEWORK-BUG-023) bypasses the
25
+ * foreign-row defensive check in `injectInstructionFile`. Power-user
26
+ * flag only — no interview prompt. Without it, an instruction file
27
+ * carrying rows the generator didn't produce causes init to exit 2 with
28
+ * `code: 'instruction-file.foreign-rows'` so unattended upgrade flows
29
+ * surface the would-be data loss instead of silently clobbering it.
30
+ *
18
31
  * @param {string[]} args
19
- * @returns {{ runtimes: string[], runtimes_explicit: boolean, target: string|null, interactive: boolean, skipBootstrap: boolean, visibility?: 'solo'|'team', autonomy?: 0|1|2|3, accept_new_defaults: boolean, yes: boolean }}
32
+ * @returns {{ runtimes: string[], runtimes_explicit: boolean, target: string|null, interactive: boolean, skipBootstrap: boolean, visibility?: 'solo'|'team', autonomy?: 0|1|2|3, accept_new_defaults: boolean, yes: boolean, forceRuntimes: boolean, forceOverwriteCatalog: boolean, keepLegacy: boolean }}
20
33
  */
21
34
  export function parseInstallFlags(args: string[]): {
22
35
  runtimes: string[];
@@ -28,6 +41,9 @@ export function parseInstallFlags(args: string[]): {
28
41
  autonomy?: 0 | 1 | 2 | 3;
29
42
  accept_new_defaults: boolean;
30
43
  yes: boolean;
44
+ forceRuntimes: boolean;
45
+ forceOverwriteCatalog: boolean;
46
+ keepLegacy: boolean;
31
47
  };
32
48
  /**
33
49
  * Main entry — invoked from bin/apt-tools.mjs.