@aperant/framework 0.6.7 → 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 (77) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/cli/commands/ci-watch.d.mts.map +1 -1
  3. package/dist/cli/commands/ci-watch.mjs +39 -1
  4. package/dist/cli/commands/ci-watch.mjs.map +1 -1
  5. package/dist/cli/commands/health-check.mjs +1 -1
  6. package/dist/cli/commands/health-check.mjs.map +1 -1
  7. package/dist/cli/commands/init.d.mts +10 -1
  8. package/dist/cli/commands/init.d.mts.map +1 -1
  9. package/dist/cli/commands/init.mjs +94 -4
  10. package/dist/cli/commands/init.mjs.map +1 -1
  11. package/dist/cli/commands/route.d.mts.map +1 -1
  12. package/dist/cli/commands/route.mjs +37 -2
  13. package/dist/cli/commands/route.mjs.map +1 -1
  14. package/dist/cli/commands/task.d.mts.map +1 -1
  15. package/dist/cli/commands/task.mjs +48 -0
  16. package/dist/cli/commands/task.mjs.map +1 -1
  17. package/dist/cli/help.d.mts.map +1 -1
  18. package/dist/cli/help.mjs +1 -0
  19. package/dist/cli/help.mjs.map +1 -1
  20. package/dist/cli/host/detect.d.mts +122 -9
  21. package/dist/cli/host/detect.d.mts.map +1 -1
  22. package/dist/cli/host/detect.mjs +132 -0
  23. package/dist/cli/host/detect.mjs.map +1 -1
  24. package/dist/cli/install/legacy-paths.d.mts +38 -0
  25. package/dist/cli/install/legacy-paths.d.mts.map +1 -0
  26. package/dist/cli/install/legacy-paths.mjs +69 -0
  27. package/dist/cli/install/legacy-paths.mjs.map +1 -0
  28. package/dist/cli/install/runtime-migrate.d.mts +84 -0
  29. package/dist/cli/install/runtime-migrate.d.mts.map +1 -0
  30. package/dist/cli/install/runtime-migrate.mjs +244 -0
  31. package/dist/cli/install/runtime-migrate.mjs.map +1 -0
  32. package/dist/cli/route/drift-detect.d.mts +20 -0
  33. package/dist/cli/route/drift-detect.d.mts.map +1 -0
  34. package/dist/cli/route/drift-detect.mjs +107 -0
  35. package/dist/cli/route/drift-detect.mjs.map +1 -0
  36. package/dist/cli/util/aperant-section.d.mts +34 -0
  37. package/dist/cli/util/aperant-section.d.mts.map +1 -0
  38. package/dist/cli/util/aperant-section.mjs +127 -0
  39. package/dist/cli/util/aperant-section.mjs.map +1 -0
  40. package/dist/cli/util/copy.d.mts +28 -1
  41. package/dist/cli/util/copy.d.mts.map +1 -1
  42. package/dist/cli/util/copy.mjs +43 -55
  43. package/dist/cli/util/copy.mjs.map +1 -1
  44. package/dist/cli/util/semver.d.mts +17 -0
  45. package/dist/cli/util/semver.d.mts.map +1 -0
  46. package/dist/cli/util/semver.mjs +29 -0
  47. package/dist/cli/util/semver.mjs.map +1 -0
  48. package/dist/cli/util/skill-installs.d.mts +65 -9
  49. package/dist/cli/util/skill-installs.d.mts.map +1 -1
  50. package/dist/cli/util/skill-installs.mjs +130 -21
  51. package/dist/cli/util/skill-installs.mjs.map +1 -1
  52. package/dist/cli/util/version-preflight.d.mts +44 -0
  53. package/dist/cli/util/version-preflight.d.mts.map +1 -0
  54. package/dist/cli/util/version-preflight.mjs +66 -0
  55. package/dist/cli/util/version-preflight.mjs.map +1 -0
  56. package/package.json +1 -1
  57. package/skills/apt-close-task/SKILL.md +5 -0
  58. package/skills/apt-ship/SKILL.md +16 -4
  59. package/skills/apt-spar/SKILL.md +36 -11
  60. package/skills/apt-update/SKILL.md +26 -1
  61. package/skills/apt-watch-ci/SKILL.md +4 -1
  62. package/src/cli/commands/ci-watch.mjs +39 -1
  63. package/src/cli/commands/health-check.mjs +1 -1
  64. package/src/cli/commands/init.mjs +102 -2
  65. package/src/cli/commands/route.mjs +38 -2
  66. package/src/cli/commands/task.mjs +49 -0
  67. package/src/cli/help.mjs +1 -0
  68. package/src/cli/host/detect.mjs +135 -0
  69. package/src/cli/install/legacy-paths.mjs +69 -0
  70. package/src/cli/install/runtime-migrate.mjs +252 -0
  71. package/src/cli/route/drift-detect.mjs +107 -0
  72. package/src/cli/util/aperant-section.mjs +136 -0
  73. package/src/cli/util/copy.mjs +43 -56
  74. package/src/cli/util/semver.mjs +28 -0
  75. package/src/cli/util/skill-installs.mjs +134 -21
  76. package/src/cli/util/version-preflight.mjs +65 -0
  77. package/templates/aperant-claude-md-appendix.md +37 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,66 @@ All notable changes to `@aperant/framework` are documented here. See
5
5
 
6
6
  ## [Unreleased]
7
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
+
8
68
  ### persona-aware release-notes system (task persona-aware-changelog-and-release-note_16-05-26)
9
69
 
10
70
  Two-skill split: `/apt:docs changelog` keeps the dev-flavored
@@ -1 +1 @@
1
- {"version":3,"file":"ci-watch.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/ci-watch.mjs"],"names":[],"mappings":"AAoEA;;;;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"}
@@ -25,12 +25,33 @@
25
25
  */
26
26
  import { randomBytes } from 'node:crypto';
27
27
  import { existsSync, readFileSync } from 'node:fs';
28
- import { resolve } from 'node:path';
28
+ import { dirname, resolve } from 'node:path';
29
+ import { fileURLToPath } from 'node:url';
29
30
  import { acquireLock, releaseLock } from '../ci-watch/lock.mjs';
30
31
  import { deleteState, listWatches, readState, writeState } from '../ci-watch/state.mjs';
31
32
  import { classify, isFailing } from '../ci-watch/stop-matrix.mjs';
32
33
  import { parseFlags } from '../util/args.mjs';
33
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
+ })();
34
55
  const DEFAULT_TICK_INTERVAL_MS = 300_000; // 5 minutes
35
56
  const MAX_TICK_INTERVAL_MS = 30 * 60 * 1000; // 30 min
36
57
  const WALL_BUDGET_MS = 4 * 60 * 60 * 1000; // 4 hours
@@ -110,12 +131,14 @@ function doStart(root, flags) {
110
131
  command: 'ci-watch-start',
111
132
  pr: Number(pr),
112
133
  reason: 'already-armed',
134
+ scheduler_handle: existingState.scheduler_handle ?? null,
113
135
  existing: {
114
136
  task_id: existingState.task_id,
115
137
  host: existingState.host,
116
138
  attempts: existingState.attempts,
117
139
  started_at: existingState.started_at,
118
140
  deadline: existingState.deadline,
141
+ scheduler_handle: existingState.scheduler_handle ?? null,
119
142
  },
120
143
  }, 2);
121
144
  }
@@ -238,6 +261,21 @@ function summarize(s) {
238
261
  // tick
239
262
  // ---------------------------------------------------------------------------
240
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);
241
279
  const prCheck = validatePr(flags.get('pr'));
242
280
  if (typeof prCheck !== 'string')
243
281
  return prCheck;
@@ -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":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAErC,MAAM,UAAU,cAAc,CAAC,UAAU;IACxC,IAAI,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC,6CAA6C,CAAC,CAAA;IAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC9C,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,mDAAmD;IACnD,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,oCAAoC,EAAE;YAC7D,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,OAAO;SACjB,CAAC,CAAC,IAAI,EAAE,CAAA;QACT,IAAI,MAAM,EAAE,CAAC;YACZ,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC/C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,sCAAsC;oBAClE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBAC9B,CAAC,CAAA;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,YAAY;IACb,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAChD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;YAC1D,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvB,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;gBAClD,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAA;gBAClE,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,mBAAmB;wBACzB,QAAQ,EAAE,SAAS;wBACnB,MAAM,EAAE,gBAAgB,KAAK,CAAC,WAAW,CAAC,WAAW,iBAAiB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO;wBACrG,IAAI,EAAE,KAAK,CAAC,WAAW;qBACvB,CAAC,CAAA;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,qBAAqB;QACtB,CAAC;IACF,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC5C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;YAC1E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;gBAC5D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;gBAC9C,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;gBAE1D,IAAI,QAAQ,GAAG,KAAK,CAAA;gBACpB,IAAI,CAAC;oBACJ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;oBACpC,QAAQ,GAAG,IAAI,CAAA;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACR,QAAQ,GAAG,KAAK,CAAA;gBACjB,CAAC;gBAED,IAAI,QAAQ,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,OAAO;wBACjB,MAAM,EAAE,eAAe,QAAQ,SAAS,QAAQ,CAAC,UAAU,oBAAoB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ;wBAC3G,SAAS,EAAE,QAAQ;wBACnB,SAAS,EAAE,QAAQ;qBACnB,CAAC,CAAA;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,kBAAkB;QACnB,CAAC;IACF,CAAC;IAED,oEAAoE;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC5C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;iBACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAClC,IAAI,EAAE,CAAA;YACR,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;YACzB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAA;YAE1B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;gBACpE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACjE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;oBAClE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;YAED,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,gBAAgB;wBACtB,QAAQ,EAAE,SAAS;wBACnB,MAAM,EAAE,YAAY,OAAO,kBAAkB,SAAS,iCAAiC;wBACvF,OAAO;qBACP,CAAC,CAAA;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,eAAe;QAChB,CAAC;IACF,CAAC;IAED,0DAA0D;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;IACpE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;QAC3E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;QACnE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACjE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,gFAAgF;gBACxF,gBAAgB,EAAE,QAAQ;aAC1B,CAAC,CAAA;QACH,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,2CAA2C,gBAAgB,QAAQ,aAAa;qBACtF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;qBAC9B,IAAI,CAAC,IAAI,CAAC,EAAE;gBACd,gBAAgB,EAAE,aAAa;aAC/B,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,MAAM;KACN,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"health-check.mjs","sourceRoot":"","sources":["../../../src/cli/commands/health-check.mjs"],"names":[],"mappings":"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"}
@@ -21,8 +21,15 @@
21
21
  * additive: callers without the flag still get the no-op short-circuit
22
22
  * (preserves `init-upgrade-drift.test.ts` case (a)).
23
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
+ *
24
31
  * @param {string[]} args
25
- * @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 }}
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 }}
26
33
  */
27
34
  export function parseInstallFlags(args: string[]): {
28
35
  runtimes: string[];
@@ -35,6 +42,8 @@ export function parseInstallFlags(args: string[]): {
35
42
  accept_new_defaults: boolean;
36
43
  yes: boolean;
37
44
  forceRuntimes: boolean;
45
+ forceOverwriteCatalog: boolean;
46
+ keepLegacy: boolean;
38
47
  };
39
48
  /**
40
49
  * Main entry — invoked from bin/apt-tools.mjs.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/init.mjs"],"names":[],"mappings":"AAmEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wCAHW,MAAM,EAAE,GACN;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAC,IAAI,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,GAAC,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,CAoDrP;AA23BD;;;;;;GAMG;AACH,oCAJW,MAAM,cACN,MAAM,EAAE,GACN,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAoK3D;;;;;cAhiCa,MAAM,EAAE;;;;qBACR,CAAC,GAAC,CAAC,GAAC,CAAC,GAAC,CAAC;;;;gBACP,MAAM,GAAC,MAAM;;;;4BACb,MAAM,EAAE;;;;aACR,OAAO;;;;mBACP,OAAO;eACP,OAAO,0BAA0B,EAAE,eAAe;;;;;;;;;aAErC,MAAM;eAAS,OAAO;cAAQ,MAAM;iBAAW,MAAM;;;;;;aAErD,MAAM;eAAS,OAAO;gBAAU,MAAM;;;;;;kBAEvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAAoB,OAAO,EAAE;2BAAqB,OAAO,EAAE;oBAAc,OAAO,EAAE"}
1
+ {"version":3,"file":"init.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/init.mjs"],"names":[],"mappings":"AAqEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wCAHW,MAAM,EAAE,GACN;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAC,IAAI,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,GAAC,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,qBAAqB,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CA8D1S;AA23BD;;;;;;GAMG;AACH,oCAJW,MAAM,cACN,MAAM,EAAE,GACN,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgM3D;;;;;cA5jCa,MAAM,EAAE;;;;qBACR,CAAC,GAAC,CAAC,GAAC,CAAC,GAAC,CAAC;;;;gBACP,MAAM,GAAC,MAAM;;;;4BACb,MAAM,EAAE;;;;aACR,OAAO;;;;mBACP,OAAO;eACP,OAAO,0BAA0B,EAAE,eAAe;;;;;;;;;aAErC,MAAM;eAAS,OAAO;cAAQ,MAAM;iBAAW,MAAM;;;;;;aAErD,MAAM;eAAS,OAAO;gBAAU,MAAM;;;;;;kBAEvC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0BAAoB,OAAO,EAAE;2BAAqB,OAAO,EAAE;oBAAc,OAAO,EAAE"}
@@ -29,8 +29,10 @@ import { detectArchetype } from '../install/archetype.mjs';
29
29
  import { installKernel } from '../install/install-kernel.mjs';
30
30
  import { discoverCanonicalFiles, runInstall, writeLastInstallSummary, } from '../install/pipeline.mjs';
31
31
  import { RUNTIMES, suggestRuntimes } from '../install/runtime-detect.mjs';
32
+ import { runLegacyCleanup } from '../install/runtime-migrate.mjs';
32
33
  import { CLASS_A_SETTINGS, CLASS_B_SETTINGS, findClassDescriptor, parseClassFlags, } from '../install/setting-class.mjs';
33
34
  import { detectAgentRuntime } from '../util/agent-runtime.mjs';
35
+ import { buildAptSection } from '../util/aperant-section.mjs';
34
36
  import { atomicWriteJson } from '../util/atomic-write.mjs';
35
37
  import { aperantBanner } from '../util/banner.mjs';
36
38
  import { copyDirRecursive, injectInstructionFile } from '../util/copy.mjs';
@@ -66,8 +68,15 @@ const TRANSFORM_LOADERS = new Map(RUNTIMES.map((r) => [r.id, () => import(`../in
66
68
  * additive: callers without the flag still get the no-op short-circuit
67
69
  * (preserves `init-upgrade-drift.test.ts` case (a)).
68
70
  *
71
+ * 0.7.0 — `--force-overwrite-catalog` (FRAMEWORK-BUG-023) bypasses the
72
+ * foreign-row defensive check in `injectInstructionFile`. Power-user
73
+ * flag only — no interview prompt. Without it, an instruction file
74
+ * carrying rows the generator didn't produce causes init to exit 2 with
75
+ * `code: 'instruction-file.foreign-rows'` so unattended upgrade flows
76
+ * surface the would-be data loss instead of silently clobbering it.
77
+ *
69
78
  * @param {string[]} args
70
- * @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 }}
79
+ * @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 }}
71
80
  */
72
81
  export function parseInstallFlags(args) {
73
82
  const flagSet = new Set(args.filter((a) => a.startsWith('--')));
@@ -83,11 +92,21 @@ export function parseInstallFlags(args) {
83
92
  // 0.6.7 (Bug 2 fix) — opt-in bypass of the upgrade_noop short-circuit
84
93
  // so /apt:update can re-stamp runtime files on a no-drift upgrade.
85
94
  const forceRuntimes = flagSet.has('--force-runtimes');
95
+ // 0.7.0 (FRAMEWORK-BUG-023) — opt-in bypass of the foreign-row check
96
+ // in injectInstructionFile. Power-user flag only.
97
+ const forceOverwriteCatalog = flagSet.has('--force-overwrite-catalog');
98
+ // 0.7.0 (FRAMEWORK-BUG-021) — opt out of the codex legacy-tree cleanup
99
+ // that fires when `codex` is in the runtime set. Defaults to false so
100
+ // the cleanup runs by default; pass `--keep-legacy` to preserve the
101
+ // orphaned `.agents/skills/` tree on upgrades.
102
+ const keepLegacy = flagSet.has('--keep-legacy');
86
103
  const classFlags = parseClassFlags(args);
87
104
  const base = {
88
105
  target,
89
106
  skipBootstrap,
90
107
  forceRuntimes,
108
+ forceOverwriteCatalog,
109
+ keepLegacy,
91
110
  visibility: classFlags.visibility,
92
111
  autonomy: classFlags.autonomy,
93
112
  accept_new_defaults: classFlags.accept_new_defaults,
@@ -1066,12 +1085,36 @@ export async function cmdInit(projectDir, extraArgs = []) {
1066
1085
  explicit_inputs: collectExplicitInputs(parsedFlags),
1067
1086
  };
1068
1087
  }
1088
+ // FRAMEWORK-BUG-021 — sweep the legacy `.agents/skills/` codex tree
1089
+ // BEFORE the install pipeline runs so the install can re-stamp
1090
+ // `.codex/` against a clean slate. Only fires when codex is in the
1091
+ // requested runtime set and `--keep-legacy` was not passed; the
1092
+ // helper itself is conservative (no-op on managed installs, no-op
1093
+ // when no legacy framework files are present).
1094
+ let legacyCleanup = null;
1095
+ if (effectiveAnswers.runtimes.includes('codex')) {
1096
+ if (parsedFlags.keepLegacy) {
1097
+ legacyCleanup = { runtime: 'codex', ran: false, reason: '--keep-legacy' };
1098
+ }
1099
+ else {
1100
+ const cleanup = runLegacyCleanup({ targetDir: installTarget });
1101
+ legacyCleanup = { runtime: 'codex', ...cleanup };
1102
+ if (cleanup.ran && cleanup.retained.length > 0) {
1103
+ process.stderr.write(`[apt-tools] legacy_cleanup retained ${cleanup.retained.length} user-added path(s) under .agents/skills/: ${cleanup.retained.join(', ')}\n`);
1104
+ }
1105
+ }
1106
+ }
1069
1107
  const results = await installRuntimes(effectiveAnswers.runtimes, canonicalRoot, installTarget, version);
1070
1108
  // Provision the project-local kernel BEFORE finishInit runs its JSON
1071
1109
  // output — that way the "structure" summary can reflect the kernel
1072
1110
  // path. We show a spinner in TTY mode because npm install is slow.
1073
1111
  const kernelResult = await runKernelInstall(installTarget, version, interactiveTty);
1074
- const envelope = finishInit(targetDir, installTarget, canonicalRoot, version, effectiveAnswers.runtimes, results, effectiveAnswers, interactiveTty, kernelResult);
1112
+ const envelope = finishInit(targetDir, installTarget, canonicalRoot, version, effectiveAnswers.runtimes, results, effectiveAnswers, interactiveTty, kernelResult, parsedFlags.forceOverwriteCatalog === true, legacyCleanup);
1113
+ // FRAMEWORK-BUG-023 — finishInit signals the foreign-row defensive
1114
+ // abort by returning an early-exit sentinel envelope.
1115
+ if (envelope?.__earlyExit) {
1116
+ return envelope.__earlyExit;
1117
+ }
1075
1118
  if (interactiveTty) {
1076
1119
  await renderOutro(effectiveAnswers, results, version, kernelResult);
1077
1120
  // TTY mode: envelope was persisted to disk + suppressed from stdout
@@ -1237,8 +1280,21 @@ async function renderOutro(answers, results, version, kernelResult) {
1237
1280
  * deps/` — surfaced in the envelope so
1238
1281
  * downstream tooling can detect a
1239
1282
  * degraded install.
1283
+ * @param {boolean} [forceOverwriteCatalog=false]
1284
+ * FRAMEWORK-BUG-023 — bypass the
1285
+ * foreign-row check in
1286
+ * injectInstructionFile when the user
1287
+ * explicitly opted in via
1288
+ * --force-overwrite-catalog.
1289
+ * @param {object|null} [legacyCleanup=null]
1290
+ * FRAMEWORK-BUG-021 — outcome of the
1291
+ * codex `.agents/skills/` cleanup
1292
+ * step. `null` when codex was not in
1293
+ * the runtime set; otherwise the
1294
+ * shape `{ runtime, ran, … }` from
1295
+ * `runLegacyCleanup`.
1240
1296
  */
1241
- function finishInit(targetDir, installTarget, canonicalRoot, version, chosenIds, runtimeResults, answers, suppressStdout = false, kernelResult = null) {
1297
+ function finishInit(targetDir, installTarget, canonicalRoot, version, chosenIds, runtimeResults, answers, suppressStdout = false, kernelResult = null, forceOverwriteCatalog = false, legacyCleanup = null) {
1242
1298
  writeLastInstallSummary(targetDir, runtimeResults, version);
1243
1299
  const aperantDir = join(targetDir, '.aperant');
1244
1300
  mkdirSync(join(aperantDir, 'proof'), { recursive: true });
@@ -1353,7 +1409,36 @@ function finishInit(targetDir, installTarget, canonicalRoot, version, chosenIds,
1353
1409
  instructionFile = agentsMdPath;
1354
1410
  else
1355
1411
  instructionFile = claudeMdPath;
1356
- const injectionResult = injectInstructionFile(instructionFile);
1412
+ // FRAMEWORK-BUG-023 generate the section from discoverSkills before
1413
+ // handing it to the writer. The writer also runs a foreign-row defensive
1414
+ // check; if rows present in the file aren't in the generated set we
1415
+ // signal exit-2 via the __earlyExit sentinel so cmdInit can route the
1416
+ // envelope through exitWith() without writing a malformed install.
1417
+ const aptSection = buildAptSection({
1418
+ canonicalRoot,
1419
+ targetDir,
1420
+ cli: detectAgentRuntime(),
1421
+ });
1422
+ const injectionOutcome = injectInstructionFile(instructionFile, {
1423
+ aptSection,
1424
+ force: forceOverwriteCatalog,
1425
+ });
1426
+ if (injectionOutcome.status === 'aborted-foreign-rows') {
1427
+ return {
1428
+ __earlyExit: exitWith({
1429
+ ok: false,
1430
+ status: 'error',
1431
+ command: 'init',
1432
+ code: 'instruction-file.foreign-rows',
1433
+ message: `${basename(instructionFile)} contains skill rows not present in the installed framework: ` +
1434
+ `${injectionOutcome.foreignRowIds.join(', ')}. ` +
1435
+ 'Re-run with --force-overwrite-catalog to regenerate anyway, or remove the foreign rows manually.',
1436
+ foreignRowIds: injectionOutcome.foreignRowIds,
1437
+ instructionFile: basename(instructionFile),
1438
+ }, 2),
1439
+ };
1440
+ }
1441
+ const injectionResult = injectionOutcome.status;
1357
1442
  const installedClaude = chosenIds.includes('claude') || existsSync(join(targetDir, '.claude'));
1358
1443
  const precompactResult = installedClaude
1359
1444
  ? installPrecompactHook(targetDir)
@@ -1456,6 +1541,11 @@ function finishInit(targetDir, installTarget, canonicalRoot, version, chosenIds,
1456
1541
  ...(kernelResult.reason ? { reason: kernelResult.reason } : {}),
1457
1542
  }
1458
1543
  : null,
1544
+ // FRAMEWORK-BUG-021 — always-present envelope field. `null` when
1545
+ // codex was not in the runtime set; otherwise the cleanup outcome
1546
+ // (uses `{ ran: false, reason }` for every skip case so parsers
1547
+ // see a uniform shape).
1548
+ legacy_cleanup: legacyCleanup,
1459
1549
  };
1460
1550
  if (suppressStdout) {
1461
1551
  // Interactive TTY path — persist the envelope to disk for tooling and