@warpgogol/forge 0.3.1 → 0.5.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 (180) hide show
  1. package/AGENTS.md +152 -5
  2. package/dist/bin/cli.js +4 -5
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/os/adr/adr.module.d.ts.map +1 -1
  5. package/dist/os/adr/adr.module.js +4 -2
  6. package/dist/os/adr/adr.module.js.map +1 -1
  7. package/dist/os/adr/handlers/validate.d.ts.map +1 -1
  8. package/dist/os/adr/handlers/validate.js +32 -4
  9. package/dist/os/adr/handlers/validate.js.map +1 -1
  10. package/dist/os/compass/compass.module.d.ts.map +1 -1
  11. package/dist/os/compass/compass.module.js +4 -0
  12. package/dist/os/compass/compass.module.js.map +1 -1
  13. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -1
  14. package/dist/os/compass/handlers/resolve-scan-root.js +16 -0
  15. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -1
  16. package/dist/os/core/core.module.d.ts.map +1 -1
  17. package/dist/os/core/core.module.js +82 -3
  18. package/dist/os/core/core.module.js.map +1 -1
  19. package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
  20. package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
  21. package/dist/os/core/handlers/knowledge-compact.js +198 -0
  22. package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
  23. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -1
  24. package/dist/os/rfc/handlers/implement-stamp.js +10 -6
  25. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -1
  26. package/dist/os/rfc/handlers/index-graph.js +2 -2
  27. package/dist/os/rfc/handlers/index-graph.js.map +1 -1
  28. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -1
  29. package/dist/os/rfc/handlers/lifecycle.js +4 -5
  30. package/dist/os/rfc/handlers/lifecycle.js.map +1 -1
  31. package/dist/os/rfc/handlers/pipeline-status.js +1 -1
  32. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -1
  33. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -1
  34. package/dist/os/rfc/handlers/validate-rules.js +41 -3
  35. package/dist/os/rfc/handlers/validate-rules.js.map +1 -1
  36. package/dist/os/rfc/handlers/validate.js +1 -1
  37. package/dist/os/rfc/handlers/validate.js.map +1 -1
  38. package/dist/os/rfc/rfc.module.d.ts.map +1 -1
  39. package/dist/os/rfc/rfc.module.js +15 -10
  40. package/dist/os/rfc/rfc.module.js.map +1 -1
  41. package/dist/os/session/handlers/validate.js +1 -1
  42. package/dist/os/session/handlers/validate.js.map +1 -1
  43. package/dist/os/session/session.module.d.ts.map +1 -1
  44. package/dist/os/session/session.module.js +4 -2
  45. package/dist/os/session/session.module.js.map +1 -1
  46. package/dist/os/spec/spec-schema.d.ts +1 -1
  47. package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -1
  48. package/dist/os/werkstatt/handlers/lock.js +27 -1
  49. package/dist/os/werkstatt/handlers/lock.js.map +1 -1
  50. package/dist/os/werkstatt/handlers/schema.d.ts +1 -0
  51. package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -1
  52. package/dist/os/werkstatt/handlers/schema.js +1 -0
  53. package/dist/os/werkstatt/handlers/schema.js.map +1 -1
  54. package/dist/src/config/forge-config.d.ts +70 -3
  55. package/dist/src/config/forge-config.d.ts.map +1 -1
  56. package/dist/src/config/forge-config.js +91 -4
  57. package/dist/src/config/forge-config.js.map +1 -1
  58. package/dist/src/index.d.ts +3 -1
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/index.js +6 -2
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/src/knowledge/budgets.d.ts +38 -0
  63. package/dist/src/knowledge/budgets.d.ts.map +1 -0
  64. package/dist/src/knowledge/budgets.js +157 -0
  65. package/dist/src/knowledge/budgets.js.map +1 -0
  66. package/dist/src/knowledge/compact.d.ts +47 -0
  67. package/dist/src/knowledge/compact.d.ts.map +1 -0
  68. package/dist/src/knowledge/compact.js +322 -0
  69. package/dist/src/knowledge/compact.js.map +1 -0
  70. package/dist/src/knowledge/index.d.ts +7 -0
  71. package/dist/src/knowledge/index.d.ts.map +1 -0
  72. package/dist/src/knowledge/index.js +19 -0
  73. package/dist/src/knowledge/index.js.map +1 -0
  74. package/dist/src/knowledge/parse.d.ts +3 -0
  75. package/dist/src/knowledge/parse.d.ts.map +1 -0
  76. package/dist/src/knowledge/parse.js +205 -0
  77. package/dist/src/knowledge/parse.js.map +1 -0
  78. package/dist/src/knowledge/promote.d.ts +37 -0
  79. package/dist/src/knowledge/promote.d.ts.map +1 -0
  80. package/dist/src/knowledge/promote.js +120 -0
  81. package/dist/src/knowledge/promote.js.map +1 -0
  82. package/dist/src/knowledge/schema.d.ts +61 -0
  83. package/dist/src/knowledge/schema.d.ts.map +1 -0
  84. package/dist/src/knowledge/schema.js +64 -0
  85. package/dist/src/knowledge/schema.js.map +1 -0
  86. package/dist/src/knowledge/serialize.d.ts +3 -0
  87. package/dist/src/knowledge/serialize.d.ts.map +1 -0
  88. package/dist/src/knowledge/serialize.js +67 -0
  89. package/dist/src/knowledge/serialize.js.map +1 -0
  90. package/dist/src/onboarding/agents-generate.d.ts +19 -0
  91. package/dist/src/onboarding/agents-generate.d.ts.map +1 -1
  92. package/dist/src/onboarding/agents-generate.js +156 -66
  93. package/dist/src/onboarding/agents-generate.js.map +1 -1
  94. package/dist/src/onboarding/create.d.ts.map +1 -1
  95. package/dist/src/onboarding/create.js +66 -10
  96. package/dist/src/onboarding/create.js.map +1 -1
  97. package/dist/src/onboarding/doctor.d.ts +13 -1
  98. package/dist/src/onboarding/doctor.d.ts.map +1 -1
  99. package/dist/src/onboarding/doctor.js +613 -7
  100. package/dist/src/onboarding/doctor.js.map +1 -1
  101. package/dist/src/onboarding/init.d.ts +8 -1
  102. package/dist/src/onboarding/init.d.ts.map +1 -1
  103. package/dist/src/onboarding/init.js +33 -2
  104. package/dist/src/onboarding/init.js.map +1 -1
  105. package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
  106. package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
  107. package/dist/src/onboarding/memory-scaffold.js +151 -0
  108. package/dist/src/onboarding/memory-scaffold.js.map +1 -0
  109. package/dist/src/onboarding/nested-agents-generate.d.ts +16 -0
  110. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -0
  111. package/dist/src/onboarding/nested-agents-generate.js +69 -0
  112. package/dist/src/onboarding/nested-agents-generate.js.map +1 -0
  113. package/dist/src/onboarding/nested-agents-templates.d.ts +26 -0
  114. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -0
  115. package/dist/src/onboarding/nested-agents-templates.js +178 -0
  116. package/dist/src/onboarding/nested-agents-templates.js.map +1 -0
  117. package/dist/src/onboarding/profile-validate.d.ts +13 -0
  118. package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
  119. package/dist/src/onboarding/profile-validate.js +109 -0
  120. package/dist/src/onboarding/profile-validate.js.map +1 -0
  121. package/dist/src/onboarding/upgrade.d.ts +6 -0
  122. package/dist/src/onboarding/upgrade.d.ts.map +1 -1
  123. package/dist/src/onboarding/upgrade.js +45 -1
  124. package/dist/src/onboarding/upgrade.js.map +1 -1
  125. package/dist/src/onboarding/workspace-discovery.d.ts +11 -0
  126. package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -0
  127. package/dist/src/onboarding/workspace-discovery.js +138 -0
  128. package/dist/src/onboarding/workspace-discovery.js.map +1 -0
  129. package/dist/src/profiles/profile-schema.d.ts +116 -0
  130. package/dist/src/profiles/profile-schema.d.ts.map +1 -0
  131. package/dist/src/profiles/profile-schema.js +94 -0
  132. package/dist/src/profiles/profile-schema.js.map +1 -0
  133. package/dist/src/profiles/stack-profile.d.ts +41 -1
  134. package/dist/src/profiles/stack-profile.d.ts.map +1 -1
  135. package/dist/src/profiles/stack-profile.js +9 -0
  136. package/dist/src/profiles/stack-profile.js.map +1 -1
  137. package/dist/src/profiles/terminology-utils.d.ts +8 -0
  138. package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
  139. package/dist/src/profiles/terminology-utils.js +31 -0
  140. package/dist/src/profiles/terminology-utils.js.map +1 -0
  141. package/dist/src/types.d.ts +0 -1
  142. package/dist/src/types.d.ts.map +1 -1
  143. package/dist/src/utils/fs-idempotent.d.ts +1 -1
  144. package/dist/src/utils/fs-idempotent.d.ts.map +1 -1
  145. package/dist/src/utils/fs-idempotent.js +12 -3
  146. package/dist/src/utils/fs-idempotent.js.map +1 -1
  147. package/dist/src/validators/skill-validate.d.ts +15 -0
  148. package/dist/src/validators/skill-validate.d.ts.map +1 -1
  149. package/dist/src/validators/skill-validate.js +204 -2
  150. package/dist/src/validators/skill-validate.js.map +1 -1
  151. package/package.json +2 -2
  152. package/profiles/astro-typescript-turborepo.yaml +87 -0
  153. package/profiles/editframe-html-templates/composition-agents.md +34 -0
  154. package/profiles/editframe-html-templates/composition.html +32 -0
  155. package/profiles/editframe-html.yaml +283 -0
  156. package/profiles/forge-shell.yaml +77 -0
  157. package/profiles/phaser-turborepo.yaml +87 -0
  158. package/skills/fo/fo-doc-audit/SKILL.md +6 -6
  159. package/skills/fo/fo-fix/SKILL.md +11 -0
  160. package/skills/fo/fo-handoff/SKILL.md +2 -1
  161. package/skills/fo/fo-idea-implement/SKILL.md +44 -2
  162. package/skills/fo/fo-idea-plan/SKILL.md +1 -0
  163. package/skills/fo/fo-knowledge-distill/SKILL.md +170 -0
  164. package/skills/fo/fo-memory-sync/SKILL.md +6 -3
  165. package/skills/fo/fo-memory-sync/fix-patterns.md +38 -4
  166. package/skills/fo/fo-review/SKILL.md +2 -2
  167. package/skills/fo/fo-session-retro/SKILL.md +21 -11
  168. package/skills/fo/fo-session-save/SKILL.md +3 -4
  169. package/skills/fo/fo-session-save/fix-patterns.md +53 -29
  170. package/skills/fo/fo-session-save/learned-principles.md +59 -8
  171. package/skills/fo/fo-step-commit/SKILL.md +55 -0
  172. package/skills/meta/forge-bootstrap/SKILL.md +28 -4
  173. package/skills/meta/forge-bootstrap/operator-profile-template.md +1 -0
  174. package/skills/meta/skill-create/SKILL.md +1 -1
  175. package/skills/shared/grilling/SKILL.md +1 -1
  176. package/skills/shared/grilling/learned-principles.md +14 -0
  177. package/skills/shared/grilling/qa-log.md +105 -6
  178. package/skills/shared/knowledge/learned-principles.md +5 -0
  179. package/skills/shared/windows-ai-tooling/SKILL.md +154 -1
  180. package/skills/shared/writing-great-skills/SKILL.md +74 -1
package/AGENTS.md CHANGED
@@ -7,17 +7,17 @@ Portable governance skills and command modules extracted from site-kernel (RFC-0
7
7
  - `src/` — portable, no kernel imports. Contains skill schema, registry, validators, onboarding handlers, config module, canonical types, and utilities.
8
8
  - `os/` — ForgeModule registrations. RFC-0556: `os/compass/` and `os/werkstatt/` are fully autonomous — all command handlers are inlined in `os/*/handlers/` and no longer dynamically import `@warpgogol/*` packages. Other `os/` modules may still use dynamic imports where kernel integration is needed.
9
9
  - `bin/` — CLI entrypoint (`forge` command) for autonomous usage without `@warpgogol/site-kernel`.
10
- - `skills/` — forge-managed skill definitions (22 fo skills + 4 shared + 3 meta = 29 skills). Project-declared skill packs (RFC-0539) live outside forge and are discovered via `discoverPackSkills` from `forge.yaml` `skillPacks` config.
10
+ - `skills/` — forge-managed skill definitions (26 fo skills + 4 shared + 3 meta = 33 skills). Project-declared skill packs (RFC-0539) live outside forge and are discovered via `discoverPackSkills` from `forge.yaml` `skillPacks` config.
11
11
 
12
12
  ## OS modules
13
13
 
14
14
  | Module | Commands | Source |
15
15
  | --- | --- | --- |
16
- | `forgeCoreModule` | `forge.create`, `forge.doctor`, `forge.upgrade`, `forge.agents.generate`, `forge.scaffold`, `forge.port.scaffold`, `forge.skill.validate`, `forge.skill.list`, `forge.port.validate`, `docs.archive` | `os/core/` |
16
+ | `forgeCoreModule` | `forge.create`, `forge.doctor`, `forge.upgrade`, `forge.agents.generate`, `forge.scaffold`, `forge.port.scaffold`, `forge.skill.validate`, `forge.skill.list`, `forge.port.validate`, `forge.profile.validate`, `docs.archive` | `os/core/` |
17
17
  | `forgeRfcModule` | `rfc.list`, `rfc.validate`, `rfc.create`, etc. | `os/rfc/` |
18
18
  | `forgeWorkflowModule` | `workflow.lint`, `workflow.list`, `workflow.amend.list` | `os/workflow/` |
19
19
  | `forgeNamingModule` | `naming.convention.lint` | `os/naming/` |
20
- | `forgeCompassModule` | `compass.inventory`, `compass.validate`, `compass.summary.trim`, etc. (8 commands) | `os/compass/` |
20
+ | `forgeCompassModule` | `compass.inventory`, `compass.validate`, `compass.summary.trim`, etc. (8 commands). All compass commands accept `--workpiece <path>` for scoping to a mission workpiece directory (RFC-0617). | `os/compass/` |
21
21
  | `forgeWerkstattModule` | `werkstatt.lock.status`, `werkstatt.lock.recover`, `werkstatt.operation.validate` | `os/werkstatt/` |
22
22
  | `forgeSpecModule` | `spec.validate`, `spec.status`, `spec.materialize` | `os/spec/` |
23
23
  | `forgeAdrModule` | `adr.list`, `adr.create`, `adr.validate`, `adr.archive` | `os/adr/` |
@@ -34,9 +34,17 @@ When archiving terminal artifacts, prefer the `docs.archive` umbrella command ov
34
34
 
35
35
  Skills live in `skills/` and are synced to `.agents/skills/` by `forge.create`. Each skill has a `SKILL.md` with standardized frontmatter (name, description, category, concerns, dependsOn).
36
36
 
37
+ - **When editing a skill in `packages/forge/skills/`**, the synced copy in `.agents/skills/<name>/SKILL.md` MUST also be committed in the same session — `forge.create` is not run automatically after manual edits. Stale `.agents/skills/` copies cause `forge.doctor` to report drift.
38
+ - **Canonical sync path is flat**: `.agents/skills/<name>/SKILL.md` (e.g. `.agents/skills/fo-idea-implement/SKILL.md`). Both `forge.create` (`init.ts`) and `forge.upgrade` (`upgrade.ts`) sync to this flat path. A nested `.agents/skills/fo/<name>/SKILL.md` path is NOT created or maintained by forge — it is a stale artifact if present and should be removed.
39
+ - **`FORGE_SKILLS[].path` is relative to the forge package root** and already includes the `skills/` prefix — resolve via `path.join(forgeRoot, skill.path)` (see `init.ts`). Never join a `skillsRoot` with `skill.path`: that produces a doubled `skills/skills/` prefix and silently finds nothing.
40
+
37
41
  The `concerns` field uses a four-level taxonomy (RFC-0523): `read-only` (no file modifications), `document-only` (modifies `.md` files only), `content-mutation` (modifies content `.md`/`.yaml` but not executable code), `code-mutation` (modifies `.ts`/`.astro` code). `forge.skill.validate` enforces this via SKILL-12.
38
42
 
39
- The optional `knowledge` field (RFC-0524) declares cumulative knowledge files as an array of file names relative to the SKILL.md directory (e.g. `knowledge: [qa-log.md, learned-principles.md]`). `forge.skill.validate` enforces SKILL-13: declared knowledge files must exist. `forge.create` syncs them to `.agents/skills/`. `forge.doctor` detects stale copies. See `writing-great-skills` § Cumulative knowledge pattern for the three-layer reference pattern and mutation contract.
43
+ The optional `knowledge` field (RFC-0524) declares cumulative knowledge files as an array of file names relative to the SKILL.md directory (e.g. `knowledge: [qa-log.md, learned-principles.md]`). `forge.skill.validate` enforces SKILL-13: declared knowledge files must exist. `forge.create` syncs them to `.agents/skills/`. `forge.doctor` detects stale copies. See `writing-great-skills` § Cumulative knowledge pattern for the three-layer reference pattern, entry format, and mutation contract. RFC-0660 adds SKILL-19 (entry schema validity) and SKILL-20 (identifier uniqueness) for structured knowledge entries, and `forge.doctor` reports legacy-section counts. RFC-0661 adds SKILL-21 (hot/warm layer character budget warnings — warnings only, never build gates) and `forge.doctor` reports budget summaries with headroom %.
44
+
45
+ ### Validator return-type refactoring
46
+
47
+ When refactoring a validator's return type (e.g. from `Violation[]` to `{ errors, warnings }`), update **all** return points and call sites in the same commit. TypeScript catches missing fields in return objects, but does not catch semantic errors like warnings accidentally left in the violations array. After refactoring, search for all `return` statements and all call sites that destructure the result, and verify each one handles both `errors` and `warnings` correctly.
40
48
 
41
49
  ### Skill packs (RFC-0539)
42
50
 
@@ -61,6 +69,36 @@ skillPacks:
61
69
  - `os/compass/` and `os/werkstatt/` are fully autonomous (RFC-0556) — all handlers are inlined in `os/*/handlers/` and must NOT import from `@warpgogol/*` packages.
62
70
  - Other `os/` modules MAY dynamically import `@warpgogol/*` packages where kernel integration is needed.
63
71
  - Apps import forge modules from `@warpgogol/forge` (the package entrypoint re-exports all OS modules).
72
+ - **MUST** use `hasGeneratedMarker()` from `utils/index.ts` for detecting generated file markers — never use raw `content.includes("GENERATED")` which is fragile and breaks if the marker format changes.
73
+ - **Compass shared flags:** New flags for compass commands MUST be added to the shared `compassScanFlags` object in `os/compass/compass.module.ts`, not to individual command definitions. The `compassScanFlags` object is spread into all compass commands that use `flags: { ...compassScanFlags }`, ensuring the flag is available consistently across the command family. Per-command flags that are unique to one command may be defined inline.
74
+ - **CLI flags must be wired to behavior.** Every flag declared in a command registration MUST affect the command's output or behavior — not just be read and stored. A flag that is read but never used is dead code and a contract violation. When adding a flag, implement its behavioral effect in the same commit. Verify by searching for the flag variable name in the handler function body.
75
+ - **Profile-driven workspace detection is domain-neutral.** `workspaceTypes` from a stack profile must replace hardcoded workspace detection for ALL domains, not just software. Do NOT gate `checkNestedAgentsMd` or `discoverWorkspaces` by `isSoftwareDomain` — that silently skips the check for non-software domains (video, creative, etc.). When `workspaceTypes` is present, it fully replaces hardcoded detection; when absent, hardcoded detection is the fallback for all domains.
76
+
77
+ ## RFC frontmatter: commands.changed (RFC-CMD-03)
78
+
79
+ The `commands.changed` field in RFC frontmatter must only list **registered CLI commands** (e.g. `compass.audit.baseline`, `mission.materialize`), not internal functions or handlers (e.g. `acquireLock`, `releaseLock`). `rfc.validate` enforces this via RFC-CMD-03: every entry in `commands.changed` must match a live command in the registry. Internal functions that are not registered as CLI commands must not appear in `commands.changed` — use `packagesImpacted` to indicate which packages were modified.
80
+
81
+ ## RFC frontmatter: YAML backtick quoting
82
+
83
+ YAML plain scalar values that **start with a backtick** (`` ` ``) must be double-quoted. Backtick is a reserved character in YAML plain scalars — the parser fails with "Plain value cannot start with reserved character `" and `rfc.implement.stamp`reports "Could not parse target RFC" (RFC-IMP-01). This commonly affects`successSignals`, `nonGoals`, and other list items in RFC frontmatter that reference code identifiers in backticks. Always quote such strings: `` - "`forge.doctor`reports domain information" `` instead of `` -`forge.doctor` reports domain information ``.
84
+
85
+ **Agent action:** After creating an RFC with `rfc.create`, scan the generated `successSignals` and `nonGoals` sections for unquoted backtick entries. Fix them immediately before committing. This prevents a recurring pattern where `ecosystem.manifest.generate` and `rfc.implement.stamp` fail on RFCs created with backtick-heavy frontmatter.
86
+
87
+ ## RFC command lifecycle validation (RFC-CMD-02)
88
+
89
+ `getLiveCommands` in `os/rfc/handlers/lifecycle.ts` always merges `commandRegistry.listCommands()` with `docs/command-manifest.generated.yaml`. This is necessary because lazy-loaded modules (e.g. `leitstand`) are not loaded when `rfc.validate` runs, so their commands are absent from the registry but present in the manifest. Never change this to a fallback-only pattern (using manifest only when registry is empty) — that produces false-positive `RFC-CMD-02` violations for commands from lazy-loaded modules.
90
+
91
+ ## RFC status transitions: rfc.implement.stamp is exclusive (V-16)
92
+
93
+ `rfc.implement.stamp` is the **exclusive atomic path** for accepted → implemented transitions. It atomically sets `status: implemented`, `implementedAt`, and `updatedAt` together. **NEVER** manually edit RFC frontmatter to set `implementedAt` or change `status` to `implemented` — this bypasses the atomic guarantee and risks leaving `status` and `implementedAt` out of sync. V-16 enforces this as an error: `status: accepted/draft` with `implementedAt` set, or `status: implemented` with empty `implementedAt`, both fail `rfc.validate`. After implementing an RFC, run `rfc.implement.stamp --id RFC-XXXX --implementation-commit <sha>` to stamp it.
94
+
95
+ ## RFC acceptance criteria: evidence annotation (RFC-IMP-02)
96
+
97
+ `rfc.implement.stamp` enforces RFC-IMP-02: every checked acceptance criterion (`- [x]`) MUST have an inline `(evidence: ...)` annotation. Parenthetical references without the `evidence:` keyword (e.g. `(promote.ts, 13 tests)`) do NOT satisfy the rule — the stamp fails with "checked criteria lack inline (evidence: ...) annotation". Always format as: `- [x] <criterion text> (evidence: <file paths, commands, or test counts>)`. Commit the annotated criteria before running `rfc.implement.stamp`.
98
+
99
+ ## Re-entrant werkstatt locks (RFC-0616)
100
+
101
+ `acquireLock` and `releaseLock` in `os/werkstatt/handlers/lock.ts` are re-entrant by PID. When the same process re-acquires a lock it already holds, `acquireLock` increments the `depth` counter instead of throwing. `releaseLock` decrements `depth` and only deletes the lock file when `depth` reaches `1` or is `undefined`. The `depth` field is `.optional()` in `werkstattLockSchema` — old lock files without `depth` parse successfully and are treated as `depth=1` via `?? 1` fallbacks. Agents MUST NOT assume `acquireLock` always throws on an existing lock file — it only throws when a **different** live process holds the lock.
64
102
 
65
103
  ## forge.yaml (RFC-0391)
66
104
 
@@ -76,7 +114,44 @@ Stack profiles are YAML documents under `profiles/` describing a supported stack
76
114
 
77
115
  - **MUST NOT** scaffold into a non-empty directory — no `--force` flag.
78
116
  - **MUST NOT** add stack profiles for stacks forge cannot scaffold end-to-end.
79
- - Shipped profiles: `astro-typescript-turborepo`, `phaser-turborepo`, `forge-shell` (minimal default for `forge.create`).
117
+ - **MUST** reference all template files in `profiles/<profile>-templates/` from the profile YAML (`workspaceTypes[].agentsMdTemplate` or `firstWorkspace.files`) or document them in the `agentsMdTemplate` file. Unreferenced template files are orphan artifacts that operators cannot discover.
118
+ - Shipped profiles: `astro-typescript-turborepo`, `phaser-turborepo`, `forge-shell` (minimal — default for `forge.create`), `editframe-html` (video domain — first non-software profile, RFC-0641).
119
+ - **MUST** include a `.github/workflows/ci.yml` template in every stack profile's `workspace.files` list. The CI template MUST include `concurrency` (cancel superseded PR runs), `permissions: contents: read` at workflow level, `timeout-minutes` per job, `env: TZ: UTC` per job, `actions/checkout@v5`, and `actions/setup-node@v5` with Node 24. New projects inherit reliable CI from the scaffold — operators should not need to hand-write CI from scratch.
120
+
121
+ ### Domain fields (RFC-0638)
122
+
123
+ The `forge/stack-profile@1` schema includes six optional domain-neutral fields that allow a profile to declare its domain model. All fields are optional — existing profiles without them parse and function identically.
124
+
125
+ - **`domain`** — string identifying the project domain (e.g. `software`, `video`, `book`, `music`, `game`, `illustration`). Used for profile detection and doctor output.
126
+ - **`terminology`** — map of universal concept keys to domain-specific terms (e.g. `artifact: "composition"`). Open vocabulary; universal keys have built-in defaults exported as `TERMINOLOGY_DEFAULTS`. Missing keys fall back to the default term.
127
+ - **`artifacts`** — array of artifact definitions (id, extensions, produce/validate commands, determinism properties). Used by `forge.doctor` for domain-specific health checks in follow-up RFCs.
128
+ - **`workspaceTypes`** — array of workspace type definitions (id, detection markers, associated skills, AGENTS.md template). Used by `forge.agents.generate` for per-domain workspace detection in follow-up RFCs.
129
+ - **`invariants`** — array of domain-specific invariant definitions (id matching `^[A-Z]+-\d+$`, rule text, severity). Schema only — enforcement is deferred to follow-up RFCs.
130
+ - **`register`** — string selecting the default behavioral register (`business` or `creative`). Used by `forge.create` as a one-time default for new projects; existing `PREFERENCES.md` is never overwritten.
131
+
132
+ Types and schemas are exported from `@warpgogol/forge`: `StackProfileDomainFields`, `ProfileArtifact`, `ProfileWorkspaceType`, `ProfileInvariant`, `stackProfileDomainFieldsSchema`, `UNIVERSAL_TERMINOLOGY_KEYS`, `TERMINOLOGY_DEFAULTS`.
133
+
134
+ ### Domain-aware commands (RFC-0640)
135
+
136
+ The following commands are domain-aware — they read domain fields from the stack profile and `forge.yaml` to adapt their behavior:
137
+
138
+ - **`forge.profile.validate`** — validates profile YAML files under `packages/forge/profiles/` against the `forge/stack-profile@1` schema (including RFC-0638 domain fields). Supports `--id <profile-id>` to validate a single profile. Returns exit 1 if any profile is invalid.
139
+ - **`forge.create`** — reads `domain`, `terminology`, `register`, and artifact-derived semantic bindings from the selected profile and writes them into `forge.yaml` (domain, terminology, bindings.commands) and `PREFERENCES.md` (register). When the profile has no domain fields, behavior is unchanged (software-domain fallback).
140
+ - **`forge.doctor`** — reports domain info (domain, source, register, terminology, invariant count) as a `domain-info` check. Lists declared invariants as a `domain-invariants` check (reported-only, advisory). Runs `forge.profile.validate` as an advisory `profile-validate` check (warn status on failure, not gating — shipped profiles are forge-internal). The `--strict` flag elevates `warn` to `fail` for `domain-invariants` and `profile-validate` checks. Nested AGENTS.md check runs for all domains — profile-driven workspace types replace hardcoded detection when present. Domain is resolved via a three-tier chain: `forge.yaml` `project.domain` → stack profile `domain` → default `software`.
141
+ - **`forge.agents.generate`** — loads `workspaceTypes[]` from the matching stack profile and passes them to `discoverWorkspaces` for profile-driven workspace type detection. When the profile has no `workspaceTypes`, falls back to hardcoded detection (astro.config → app, Dockerfile → service, else package).
142
+
143
+ ### Per-domain AGENTS.md templates (RFC-0643)
144
+
145
+ `forge.agents.generate` uses profile terminology and register to produce domain-appropriate AGENTS.md files. When no profile is loaded (or the profile has no domain fields), output is identical to the pre-RFC-0643 implementation — no regression for existing software-domain projects.
146
+
147
+ - **Root AGENTS.md templates**: Static prose (header, project section, paths section, conventions) is extracted to template files at `src/onboarding/templates/root-agents-business.md` and `root-agents-creative.md`. `selectRootTemplate(register)` returns the appropriate template. Dynamic sections (skills table, capabilities, behavioral layer) remain inline and are inserted at the `{{dynamicSections}}` marker.
148
+ - **Nested AGENTS.md templates**: `selectNestedTemplate(workspaceType, profile, terminology, fallback)` reads `workspaceTypes[].agentsMdTemplate` from the profile. Template paths are relative to `packages/forge/profiles/`. Absolute paths and parent-directory traversal (`..`) are rejected with a silent fallback to the hardcoded template.
149
+ - **Terminology substitution**: `substituteTemplate(content, terminology)` replaces `{{terminology.key}}` placeholders with resolved values. Runs on the final assembled content (after dynamic sections are appended), so the behavioral layer's fixed policy text also receives terminology substitution. Unknown keys resolve to the key name itself — no error.
150
+ - **`{{terminology.key}}` placeholder syntax**: AGENTS.md templates use `{{terminology.key}}` (double-brace), not `ref(bindings.terminology.key)` (skill syntax). The two are documented separately.
151
+ - **`details` field in `--json` output**: `AgentsGenerateResult` includes an optional `details` array with per-file metadata: `{ path, domain?, register?, workspaceType? }`. The `generated` field remains `string[]` for backward compatibility.
152
+ - **`profile` field in `forge.yaml`**: `forge.create` writes `profile: <id>` to `forge.yaml`. `loadForgeConfig` loads the corresponding `profiles/<id>.yaml` and attaches it as `config.profile` (a `StackProfile` object). The profile object is stripped before serialization — `forge.yaml` stores the profile id (string), not the full profile.
153
+ - **Template comments MUST NOT use literal `{{placeholder}}` syntax**: `replaceProjectPlaceholders()` runs on the entire template content, including HTML comments. A comment like `<!-- inserted at {{dynamicSections}} -->` will have the placeholder replaced with the full dynamic sections content, breaking the comment and inflating the output. Use plain text names (e.g. `dynamicSections marker`) in comments instead of `{{...}}` syntax.
154
+ - **Profile object stripping before YAML serialization**: `loadForgeConfig` attaches a full `StackProfile` object to `config.profile`. Before serializing the config back to YAML (e.g. in `forge.create` post-processing), the profile object MUST be stripped back to its string id. Otherwise `forge.yaml` contains an object instead of a string and fails schema validation on re-read.
80
155
 
81
156
  ## Bindings contract (RFC-0393)
82
157
 
@@ -87,8 +162,34 @@ The `bindings` section in `forge.yaml` de-hardcodes project-specific values from
87
162
  - `forge.create` writes forge-CLI-backed defaults for commands forge provides (`validateRfc`, `validateAdr`, `implementStamp`, `specValidate`) and null for stack-dependent commands (`typecheck`, `test`, `scopedBuild`). The package manager from `forge.yaml` determines the runner prefix (`pnpm exec`, `npx`, `yarn exec`, `bunx`).
88
163
  - `forge.skill.validate` enforces SKILL-11: canonical skill bodies must not contain hardcoded `pnpm exec site-kernel run` or `docs/architecture-dna.md` in instruction lines (code blocks and `run:` directives). Supports `<!-- skill-lint-disable SKILL-11 -->` escape hatch.
89
164
  - `forge.skill.validate` enforces SKILL-17: skill files must not contain specific platform RFC/ADR ids (`RFC-\d{4}`, `ADR-\d{4}`) or platform names ("Warpgogol", "Warpgogol", "WarpGogol"). Generic "RFC"/"ADR" terms, generic placeholder ids (`RFC-XXXX`), file paths (`adr-0000-template.md`), and binding key names (`validateRfc`) are allowed. The `@warpgogol/forge` npm package name is excluded from the platform name check. Supports `<!-- skill-lint-disable SKILL-17 -->` escape hatch.
165
+ - `forge.skill.validate` enforces SKILL-18: canonical forge skill bodies must not reference software-specific binding keys (`bindings.commands.typecheck`, `bindings.commands.scopedBuild`, `bindings.commands.test`) in instruction lines (code blocks and `run:` directives). Skills must reference semantic keys (`bindings.commands.validate`, `bindings.commands.produce`, `bindings.commands.verify`) instead. Supports `<!-- skill-lint-disable SKILL-18 -->` escape hatch. Applies to forge skills only, not pack skills.
90
166
  - Skills declare binding requirements in frontmatter: `bindings: { requires: [...], optional: [...] }`.
91
167
  - Degradation contract: required binding unresolvable → skill refuses to start; optional binding absent → step skipped with `Degraded:` line in report.
168
+ - **RFC-0609: Binding templates must use flag format.** CLI binding templates in `FORGE_CLI_BINDING_DEFAULTS` and `forge.yaml` must use `--id {id}` (flag format), not `{id}` (positional). For example: `forge rfc.validate --id {id} --json`, not `forge rfc.validate {id} --json`. This applies to `validateRfc`, `validateAdr`, and any future binding that passes an identifier to a command.
169
+
170
+ ### Semantic command keys (RFC-0639)
171
+
172
+ The `forge/bindings@1` schema includes five optional semantic command keys that work across all domains. These coexist with the software-specific keys (`typecheck`, `test`, `scopedBuild`) — they do not replace them.
173
+
174
+ - **`commands.validate`** — domain-neutral validation command (replaces `typecheck` for non-software domains).
175
+ - **`commands.produce`** — domain-neutral artifact production command (replaces `scopedBuild`).
176
+ - **`commands.verify`** — domain-neutral verification command (replaces `test`).
177
+ - **`commands.preview`** — domain-neutral preview command (e.g. dev server, live preview).
178
+ - **`commands.lint`** — domain-neutral linting command.
179
+
180
+ All semantic keys are optional with `null` defaults. `applyCliBindingDefaults` initializes them with `null` (they are stack-dependent, not CLI-backed). `forge.doctor` does **not** validate semantic keys — they are opt-in per-domain, so reporting them as `absent` for projects that intentionally leave them `null` would be noise. Skills reference them via `ref(bindings.commands.produce)` etc.
181
+
182
+ ### Terminology resolution (RFC-0639)
183
+
184
+ The `terminology` field in `forge/bindings@1` is non-optional with a `{}` default (changed from `.optional()` in RFC-0639). `resolveTerminology(config, terminology, key)` resolves a terminology key using a three-tier chain:
185
+
186
+ 1. **Tier 1 — bindings override**: `config.bindings.terminology[key]` (per-project).
187
+ 2. **Tier 2 — caller-provided**: the `terminology` parameter (typically `profile.terminology` from RFC-0638).
188
+ 3. **Tier 3 — universal default**: `TERMINOLOGY_DEFAULTS` from `@warpgogol/forge` (re-exported from `profile-schema.ts`).
189
+
190
+ If the key is not found in any tier, the key itself is returned. The `terminology` parameter is `Record<string, string> | undefined` — a separate parameter, not embedded in `StackProfile` — so the function works whether or not RFC-0638 profile terminology is available.
191
+
192
+ `resolveTerminology` is exported from `@warpgogol/forge` and `@warpgogol/forge/config`.
92
193
 
93
194
  ## Output contract (RFC-0542)
94
195
 
@@ -119,6 +220,21 @@ The `forge-bootstrap` skill step 0 silently checks `forge.syncedVersion` against
119
220
 
120
221
  The `triggers` field in skill frontmatter is validated by SKILL-16: optional array of 1-5 natural-language strings (each 5-100 characters), only allowed on fo-category skills. Pack skills may not declare triggers.
121
222
 
223
+ ## Nested AGENTS.md generation (RFC-0611)
224
+
225
+ `forge.agents.generate` also generates nested `AGENTS.md` files for workspace directories (directories containing `package.json`). Workspace type is auto-detected by content markers:
226
+
227
+ - **app** — directory with `astro.config.*`
228
+ - **service** — directory with `Dockerfile` or `service.config.yaml`
229
+ - **package** — directory with `package.json` only
230
+ - Precedence: app > service > package
231
+
232
+ Workspace-type detection rules are defined in RFC-0611. Agents MUST NOT add new detection rules without an amending RFC.
233
+
234
+ The edit guard skips hand-written nested `AGENTS.md` files (no generated marker) and reports them in the `skipped` array. Generated files (with marker) are regenerated if content differs. `forge.upgrade` also runs nested generation after skill sync. `forge.doctor` checks for missing, stale (in-memory comparison), and hand-written improvement opportunities.
235
+
236
+ `forge.agents.generate` supports `dryRun` mode (RFC-0601 pattern): it renders content in memory without writing to disk, returning `renderedFiles` in the result. This is used by `forge.doctor` for staleness detection.
237
+
122
238
  ## Extended behavioral layer (RFC-0549)
123
239
 
124
240
  The extended behavioral layer is conditionally included in generated `AGENTS.md` files when the operator's register is `creative`. It adds ten behavioral policies additive to the core layer:
@@ -138,6 +254,13 @@ Three surrogate-relationship mitigations: questions instead of declarations, out
138
254
 
139
255
  `fo-session-retro` routes extended-layer insights to `operator-profile.md` with Zugangsstufen tags: emotional rhythm → `[Vertraulich]` with 90-day expiry, aesthetic preferences → `[Öffentlich]`.
140
256
 
257
+ ## RFC commands frontmatter (RFC-CMD-01..03)
258
+
259
+ When an RFC transitions to `implemented`, `rfc.validate` enforces command lifecycle rules against the `commands:` frontmatter:
260
+
261
+ - **RFC-CMD-01:** A live command listed under `commands.proposed` but not `commands.added` is a violation. For implemented RFCs, newly created commands MUST be in `commands.added`, not `commands.proposed`. `commands.proposed` is only valid for RFCs in `draft` or `accepted` status.
262
+ - **RFC-CMD-03:** Every entry under `commands.changed` MUST be a registered live command (present in `docs/command-manifest.generated.yaml`). Pipeline names (e.g. `build.prepare`, `SITES_BUILD_PREPARE_PIPELINE`) are NOT registered commands — they MUST NOT be listed under `commands.changed`. If an RFC modifies a pipeline array, that is not a command registration change.
263
+
141
264
  ## Spec vendoring (RFC-0394..0397)
142
265
 
143
266
  External specification packages are vendored as immutable snapshots under `docs/specs/<spec-id>/` with an integrity manifest and `forge-spec.yaml` projection.
@@ -147,3 +270,27 @@ External specification packages are vendored as immutable snapshots under `docs/
147
270
  - `spec.materialize` scaffolds RFC files for front nodes with `specRef` traceability and writes `materializedAs` back to `forge-spec.yaml`.
148
271
  - `spec.status` projects per-node states, blockers, and progress.
149
272
  - Spec amendments (`docs/specs/<id>/amendments/amd-NNN-*.md`) are the only correction channel — snapshot files are never modified.
273
+
274
+ ## NPM publish workflow
275
+
276
+ To publish a new version of `@warpgogol/forge` to NPM:
277
+
278
+ 1. Bump `version` in `packages/forge/package.json` (semver: minor for new skills/features, patch for fixes).
279
+ 2. Bump `forge.syncedVersion` in `forge.yaml` to match.
280
+ 3. Run `pnpm --filter @warpgogol/forge run build` — compiles TypeScript to `dist/`.
281
+ 4. Run `node packages/forge/scripts/publish-check.mjs` — verifies metadata, dist/ freshness, README, VERSION sourcing, and files array.
282
+ 5. Run `npm publish --access public` from `packages/forge/` — publishes to `@warpgogol/forge` on npmjs.org.
283
+ 6. Commit version bumps: `git add packages/forge/package.json forge.yaml && git commit -m "release: @warpgogol/forge@<version>"`.
284
+
285
+ The `prepublishOnly` script runs `clean → build → publish-check` automatically, so steps 3-4 are redundant if publishing via `npm publish` directly.
286
+
287
+ ## Git command patterns in forge handlers
288
+
289
+ - **`git log --oneline` output includes a hash prefix** — the format is `<hash> <message>`, not `<message>`. When matching commit message patterns in `--oneline` output, do NOT anchor the regex to `^implement:` or `^feat:` — the line starts with the hash. Use a non-anchored pattern like `implement:\s+RFC-\d{4}\b` instead. Discovered during RFC-0625 V-32 implementation where `^implement:` failed to match `--oneline` output.
290
+ - **`execGit` helper pattern** — multiple forge handlers (`implement-stamp.ts`, `verification-evidence.ts`, `validate-rules.ts`, `validate.ts`) each define their own `execGit`/`execGitLog` helper wrapping `execFile("git", ...)`. These are candidates for extraction into a shared `os/utils/git.ts` utility.
291
+
292
+ ## CLI invocation and test fixtures
293
+
294
+ - **Running forge CLI commands on the workspace root** — `pnpm --filter @warpgogol/forge exec forge <command>` runs from the package directory (`packages/forge/`), where `forge.yaml` is not found. To run forge commands against the workspace root (e.g. `forge.doctor`, `rfc.validate`, `forge.upgrade`), use `node packages/forge/bin/cli.js <command>` from the workspace root instead.
295
+ - **Golden fixture for `agents-generate`** — when adding or modifying sections in `agents-generate.ts`, the golden fixture `src/tests/fixtures/agents-generate-business-before.txt` MUST be updated to match the new generated output. The test `agents-generate-domain.test.ts` compares generated content against this fixture with `expect(content).toBe(goldenFixture)` — a mismatch fails the test.
296
+ - **SKILL-17 brand pattern must be case-sensitive** — the brand regex in `skill-validate.ts` uses a `@`-lookbehind to allow `@warpgogol/<pkg>` npm-scope references in skill instruction lines. Making the regex case-insensitive (`/gi`) defeats the lookbehind and false-flags every `@warpgogol` import as a brand violation. Keep the regex case-sensitive (`/g` only) so the `@`-scope allowance works correctly.
package/dist/bin/cli.js CHANGED
@@ -86,7 +86,6 @@ class ForgeCliRegistry {
86
86
  // Flag parsing
87
87
  // ---------------------------------------------------------------------------
88
88
  function parseArgs(argv) {
89
- const args = [];
90
89
  const flags = {};
91
90
  for (let i = 0; i < argv.length; i++) {
92
91
  const arg = argv[i];
@@ -110,10 +109,10 @@ function parseArgs(argv) {
110
109
  }
111
110
  }
112
111
  else {
113
- args.push(arg);
112
+ // RFC-0609: positional arguments are no longer collected; ignore them
114
113
  }
115
114
  }
116
- return { args, flags };
115
+ return { flags };
117
116
  }
118
117
  // ---------------------------------------------------------------------------
119
118
  // Module registration
@@ -212,7 +211,7 @@ async function main() {
212
211
  }
213
212
  const commandName = argv[0];
214
213
  const rest = argv.slice(1);
215
- const { args, flags } = parseArgs(rest);
214
+ const { flags } = parseArgs(rest);
216
215
  const registry = await buildRegistry();
217
216
  const command = registry.getCommand(commandName);
218
217
  if (!command) {
@@ -223,7 +222,7 @@ async function main() {
223
222
  const workspaceRoot = resolve(process.cwd());
224
223
  const outputFormat = flags["json"] === true ? "json" : "pretty";
225
224
  const dryRun = flags["dry-run"] === true;
226
- const input = { argv: rest, args, flags };
225
+ const input = { argv: rest, flags };
227
226
  const context = {
228
227
  workspaceRoot,
229
228
  forgeRoot: resolveForgeRootFromCli(),
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;EAeE;AAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAM,MAAM,GAAG;IACb,OAAO,CAAC,GAAW,EAAE,OAAiB;QACpC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC1B,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,GAAW,EAAE,OAAiB;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACxB,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,GAAW,EAAE,OAAiB;QACjC,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC3B,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,OAAiB;QAClC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC5B,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,OAAiB;QACpC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC1B,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;CACF,CAAC;AAeF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG9F,MAAM,gBAAgB;IACZ,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAE7D,eAAe,CAAC,OAA+B;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,MAA2B;QACzD,4CAA4C;IAC9C,CAAC;IAED,gBAAgB;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,WAAoB;YAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;YACpC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;YACxC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,KAAK,GAAmC,EAAE,CAAC;IAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACrC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;oBAClB,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sEAAsE;QACxE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,KAAK,UAAU,aAAa;IAC1B,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAExC,MAAM,OAAO,GAAkB;QAC7B,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;QACxE,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QACrE,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACpF,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC9E,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACjF,MAAM,MAAM,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACvF,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;KAClF,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAE9C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E,8EAA8E;AAC9E,4DAA4D;AAC5D,8EAA8E;AAE9E,SAAS,WAAW;IAClB,2EAA2E;IAC3E,oDAAoD;IACpD,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC;YAC9E,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;AAE9B,SAAS,uBAAuB;IAC9B,+DAA+D;IAC/D,uDAAuD;IACvD,KAAK,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAsB,CAAC;YAC3E,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB;gBAAE,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA0B,EAAE,WAAmB;IACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,GAAG,QAAQ,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;QACvC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAEzC,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACvD,MAAM,OAAO,GAAwB;QACnC,aAAa;QACb,SAAS,EAAE,uBAAuB,EAAE;QACpC,MAAM;QACN,MAAM;QACN,YAAY;QACZ,eAAe,EAAE,QAAQ;KAC1B,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAA8B,CAAC;QACpF,IAAI,MAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,MAAM,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adr.module.d.ts","sourceRoot":"","sources":["../../../os/adr/adr.module.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,cAAc,EAAE,WA2G5B,CAAC"}
1
+ {"version":3,"file":"adr.module.d.ts","sourceRoot":"","sources":["../../../os/adr/adr.module.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,cAAc,EAAE,WA6G5B,CAAC"}
@@ -77,9 +77,11 @@ export const forgeAdrModule = {
77
77
  name: "adr.validate",
78
78
  description: "Validate ADR frontmatter schema, required markdown sections, " +
79
79
  "referential integrity (supersedes/supersededBy), and id/filename consistency. " +
80
- "Pass an ADR id to validate a single file, or run without arguments for all.",
80
+ "Pass --id to validate a single file, or run without arguments for all.",
81
81
  scope: "workspace",
82
- flags: {},
82
+ flags: {
83
+ id: { kind: "string", description: "Target a single ADR by id (e.g. ADR-0003)." },
84
+ },
83
85
  reads: ["docs/adrs/**/*.md"],
84
86
  execute: runAdrValidate,
85
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"adr.module.js","sourceRoot":"","sources":["../../../os/adr/adr.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adr.module.js","sourceRoot":"","sources":["../../../os/adr/adr.module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../os/adr/handlers/validate.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAA0B,mBAAmB,EAAuB,MAAM,aAAa,CAAC;AAuBpG,wBAAsB,cAAc,CAClC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAqGlD"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../os/adr/handlers/validate.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAA0B,mBAAmB,EAAuB,MAAM,aAAa,CAAC;AAuBpG,wBAAsB,cAAc,CAClC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAsGlD"}
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  <MODULE_CONTRACT>
3
- <purpose>ADR validation handler — frontmatter, section, and referential integrity checks.</purpose>
3
+ <purpose>ADR validation handler — frontmatter, section, referential integrity checks, and implementation commit drift detection (AV-16).</purpose>
4
4
  <non-goals>
5
5
  <item>Do not introduce app-specific runtime composition or deployment behavior.</item>
6
6
  </non-goals>
@@ -12,6 +12,7 @@
12
12
  </CHANGE_SUMMARY>
13
13
  */
14
14
  import path from "node:path";
15
+ import { execFile } from "node:child_process";
15
16
  import { listAdrFiles, readAndParseAdr } from "../frontmatter-io.js";
16
17
  import { listRfcFiles, readAndParseRfc } from "../../rfc/frontmatter-io.js";
17
18
  import { ADR_DIR, ADR_ID_PATTERN, ADR_KNOWN_KEYS, ADR_REQUIRED_SECTIONS, ADR_SCOPES, ADR_STATUSES, } from "../types.js";
@@ -31,7 +32,7 @@ async function loadRfcIds(workspaceRoot) {
31
32
  export async function runAdrValidate(input, context) {
32
33
  const { workspaceRoot, logger, outputFormat } = context;
33
34
  const adrDirPath = path.join(workspaceRoot, ADR_DIR);
34
- const targetId = input.args[0];
35
+ const targetId = input.flags["id"];
35
36
  const allFiles = await listAdrFiles(adrDirPath);
36
37
  const filesToValidate = targetId
37
38
  ? allFiles.filter((f) => f.toLowerCase().startsWith(targetId.toLowerCase()))
@@ -69,7 +70,7 @@ export async function runAdrValidate(input, context) {
69
70
  const result = allParsedByFile.get(fileName);
70
71
  if (!result)
71
72
  continue;
72
- validateSingleAdr(fileName, result.parsed, allParsed, knownRfcIds, seenIds, knownKeys, addViolation);
73
+ await validateSingleAdr(fileName, result.parsed, allParsed, knownRfcIds, seenIds, knownKeys, workspaceRoot, addViolation);
73
74
  }
74
75
  const hasErrors = violations.some((v) => v.severity === "error");
75
76
  const resultStatus = hasErrors ? "fail" : "pass";
@@ -106,7 +107,7 @@ export async function runAdrValidate(input, context) {
106
107
  : `All ${filesToValidate.length} ADR(s) passed validation`,
107
108
  };
108
109
  }
109
- function validateSingleAdr(fileName, parsed, allParsed, knownRfcIds, seenIds, knownKeys, addViolation) {
110
+ async function validateSingleAdr(fileName, parsed, allParsed, knownRfcIds, seenIds, knownKeys, workspaceRoot, addViolation) {
110
111
  const fm = parsed.frontmatter;
111
112
  const body = parsed.body;
112
113
  const relFile = path.join(ADR_DIR, fileName);
@@ -215,5 +216,32 @@ function validateSingleAdr(fileName, parsed, allParsed, knownRfcIds, seenIds, kn
215
216
  addViolation(adrId, relFile, "AV-15", `unknown frontmatter key "${key}" (not in the ADR schema)`, "warning");
216
217
  }
217
218
  }
219
+ // AV-16: implementation commit drift detection (RFC-0625)
220
+ // Warns when implement: ADR-XXXX commits exist in git history since createdAt
221
+ // but the ADR status is not yet "implemented".
222
+ if (status !== "implemented") {
223
+ const datePattern = /^\d{4}-\d{2}-\d{2}$/;
224
+ if (datePattern.test(createdAt)) {
225
+ const log = await execGitLog(workspaceRoot, ["log", `--since=${createdAt}`, "--oneline"]);
226
+ if (log) {
227
+ const pattern = new RegExp(`implement:\\s+${adrId}\\b`, "i");
228
+ const matchingLines = log.split("\n").filter((line) => pattern.test(line.trim()));
229
+ if (matchingLines.length > 0) {
230
+ addViolation(adrId, relFile, "AV-16", `${adrId} has ${matchingLines.length} implement: commit(s) in git history since ${createdAt} but status is still "${status}". Set status: implemented and implementedAt to complete.`, "warning");
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }
236
+ function execGitLog(workspaceRoot, args) {
237
+ return new Promise((resolve) => {
238
+ execFile("git", args, { cwd: workspaceRoot, timeout: 10000 }, (err, stdout) => {
239
+ if (err) {
240
+ resolve("");
241
+ return;
242
+ }
243
+ resolve(stdout.trim());
244
+ });
245
+ });
218
246
  }
219
247
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../os/adr/handlers/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;EAYE;AAEF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAO5E,OAAO,EACL,OAAO,EACP,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,KAAK,UAAU,UAAU,CAAC,aAAqB;IAC7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAC7C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAwB,EACxB,OAA4B;IAE5B,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAuB,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,QAAQ;QAC9B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,QAAQ,CAAC;IAEb,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,OAAO,OAAO,GAAG,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;YAC3E,OAAO,EAAE,gCAAgC;SAC1C,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAyD,IAAI,GAAG,EAAE,CAAC;IAClF,MAAM,eAAe,GAAyD,IAAI,GAAG,EAAE,CAAC;IACxF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1B,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,SAAS,YAAY,CACnB,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,WAAgC,OAAO;QAEvC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,SAAS;QAEtB,iBAAiB,CACf,QAAQ,EACR,MAAM,CAAC,MAAM,EACb,SAAS,EACT,WAAW,EACX,OAAO,EACP,SAAS,EACT,YAAY,CACb,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAEjD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,OAAO,eAAe,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,mBAAmB,eAAe,CAAC,MAAM,WAAW,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzD,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAC/C,IAAI,MAAM,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CACjD,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YAC3E,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YAC5E,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,cAAc,SAAS,aAAa,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,gCAAgC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,eAAe,CAAC,MAAM;YAC7B,UAAU;SACX;QACD,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,SAAS;YAChB,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,iBAAiB;YAC7E,CAAC,CAAC,OAAO,eAAe,CAAC,MAAM,2BAA2B;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,MAAiB,EACjB,SAA+D,EAC/D,WAAwB,EACxB,OAA4B,EAC5B,SAAsB,EACtB,YAMS;IAET,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;IAE5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,kCAAkC,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,KAAK,eAAe,QAAQ,EAAE,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAmB,CAAC,EAAE,CAAC;QAChD,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,mBAAmB,MAAM,sBAAsB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAiB,CAAC,EAAE,CAAC;QAC5C,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,kBAAkB,KAAK,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,qBAAqB,CAAC;IAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,cAAc,SAAS,6CAA6C,CACrE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,cAAc,SAAS,6CAA6C,CACrE,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,eAAe,MAAM,mCAAmC,CACzD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxF,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;oBACtB,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,GAAG,KAAK,wBAAwB,MAAM,SAAS,MAAM,qBAAqB,OAAO,IAAI,SAAS,eAAe,KAAK,GAAG,EACrH,SAAS,CACV,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,cAAc,CAAuB,CAAC;IAC9D,IAAI,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACrF,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,iBAAiB,YAAY,mCAAmC,CACjE,CAAC;IACJ,CAAC;SAAM,IAAI,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9F,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,iBAAiB,YAAY,mCAAmC,CACjE,CAAC;IACJ,CAAC;SAAM,IAAI,YAAY,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnE,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,iBAAiB,YAAY,kCAAkC,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7C,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,kDAAkD,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,YAAY,MAAM,mCAAmC,EACrD,SAAS,CACV,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,YAAY,MAAM,gDAAgD,EAClE,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,gCAAgC,OAAO,GAAG,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACjE,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,sBAAsB,QAAQ,kCAAkC,YAAY,GAAG,EAC/E,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAC;IACnE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,YAAY,gCAAgC,UAAU,GAAG,CACvE,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,aAAa,QAAQ,gEAAgE,CACtF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,YAAY,CACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,4BAA4B,GAAG,2BAA2B,EAC1D,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../os/adr/handlers/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compass.module.d.ts","sourceRoot":"","sources":["../../../os/compass/compass.module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAyB7D,eAAO,MAAM,kBAAkB,EAAE,WA6IhC,CAAC"}
1
+ {"version":3,"file":"compass.module.d.ts","sourceRoot":"","sources":["../../../os/compass/compass.module.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AA8B7D,eAAO,MAAM,kBAAkB,EAAE,WA6IhC,CAAC"}
@@ -23,6 +23,10 @@ const compassScanFlags = {
23
23
  kind: "string",
24
24
  description: "With --packages, scan one package by directory/name.",
25
25
  },
26
+ workpiece: {
27
+ kind: "string",
28
+ description: "Scan a mission workpiece directory (RFC-0617). Mutually exclusive with --packages and --site.",
29
+ },
26
30
  };
27
31
  export const forgeCompassModule = {
28
32
  name: "forge-compass",
@@ -1 +1 @@
1
- {"version":3,"file":"compass.module.js","sourceRoot":"","sources":["../../../os/compass/compass.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compass.module.js","sourceRoot":"","sources":["../../../os/compass/compass.module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-scan-root.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/resolve-scan-root.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,MAAM,GAAG,SAAS,CAiCpB"}
1
+ {"version":3,"file":"resolve-scan-root.d.ts","sourceRoot":"","sources":["../../../../os/compass/handlers/resolve-scan-root.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,MAAM,GAAG,SAAS,CAuDpB"}
@@ -10,12 +10,28 @@ Moved from @warpgogol/site-kernel to @warpgogol/forge for full autonomous mode (
10
10
  <CHANGE_SUMMARY>
11
11
  <item>Introduced as part of RFC-0015 to extend Compass commands to packages/.</item>
12
12
  <item>RFC-0556: moved canonical implementation from @warpgogol/site-kernel to @warpgogol/forge for autonomous mode.</item>
13
+ <item>RFC-0617: added --workpiece flag for mission workpiece directory scanning.</item>
13
14
  </CHANGE_SUMMARY>
14
15
  */
15
16
  import { existsSync } from "node:fs";
16
17
  import { resolve } from "node:path";
17
18
  export function resolveCompassScanRoot(input, context) {
18
19
  const hasPackages = input.flags["packages"] === true;
20
+ const workpiecePath = input.flags["workpiece"];
21
+ const hasWorkpiece = typeof workpiecePath === "string" && workpiecePath.length > 0;
22
+ if (hasWorkpiece && hasPackages) {
23
+ throw new Error("[compass] --workpiece and --packages are mutually exclusive. Use one or the other.");
24
+ }
25
+ if (hasWorkpiece && context.siteExplicit) {
26
+ throw new Error("[compass] --workpiece and --site are mutually exclusive. Use one or the other.");
27
+ }
28
+ if (hasWorkpiece) {
29
+ const resolved = resolve(context.workspaceRoot, workpiecePath);
30
+ if (!existsSync(resolved)) {
31
+ throw new Error(`[compass] workpiece path not found: ${workpiecePath}`);
32
+ }
33
+ return resolved;
34
+ }
19
35
  if (context.siteExplicit && hasPackages) {
20
36
  throw new Error("[compass] --site and --packages are mutually exclusive. Use one or the other.");
21
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-scan-root.js","sourceRoot":"","sources":["../../../../os/compass/handlers/resolve-scan-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;EAaE;AAEF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,sBAAsB,CACpC,KAAwB,EACxB,OAA4B;IAE5B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAErD,IAAI,OAAO,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC;QAC7D,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC;KACxD,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,wBAAwB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resolve-scan-root.js","sourceRoot":"","sources":["../../../../os/compass/handlers/resolve-scan-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAEF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,UAAU,sBAAsB,CACpC,KAAwB,EACxB,OAA4B;IAE5B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IACrD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnF,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,aAAuB,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,uCAAuC,aAAa,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC;QAC7D,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC;KACxD,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,wBAAwB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtG,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAe7D,eAAO,MAAM,eAAe,EAAE,WA2V7B,CAAC"}
1
+ {"version":3,"file":"core.module.d.ts","sourceRoot":"","sources":["../../../os/core/core.module.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAe7D,eAAO,MAAM,eAAe,EAAE,WAmb7B,CAAC"}