@jeger-ai/opengantry 1.0.0 → 1.1.1

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 (177) hide show
  1. package/README.md +11 -6
  2. package/dist/cli/commands/init.d.ts.map +1 -1
  3. package/dist/cli/commands/init.js +3 -1
  4. package/dist/cli/commands/init.js.map +1 -1
  5. package/dist/cli/commands/legislate.d.ts +1 -20
  6. package/dist/cli/commands/legislate.d.ts.map +1 -1
  7. package/dist/cli/commands/legislate.js +1 -142
  8. package/dist/cli/commands/legislate.js.map +1 -1
  9. package/dist/cli/commands/onboarding.d.ts.map +1 -1
  10. package/dist/cli/commands/onboarding.js +5 -3
  11. package/dist/cli/commands/onboarding.js.map +1 -1
  12. package/dist/cli/commands/verify.d.ts.map +1 -1
  13. package/dist/cli/commands/verify.js +26 -17
  14. package/dist/cli/commands/verify.js.map +1 -1
  15. package/dist/cli/lib/audience-output.d.ts +1 -0
  16. package/dist/cli/lib/audience-output.d.ts.map +1 -1
  17. package/dist/cli/lib/audience-output.js +13 -0
  18. package/dist/cli/lib/audience-output.js.map +1 -1
  19. package/dist/cli/lib/break-glass-flow.d.ts +18 -0
  20. package/dist/cli/lib/break-glass-flow.d.ts.map +1 -0
  21. package/dist/cli/lib/break-glass-flow.js +29 -0
  22. package/dist/cli/lib/break-glass-flow.js.map +1 -0
  23. package/dist/cli/lib/cli-io.d.ts +6 -1
  24. package/dist/cli/lib/cli-io.d.ts.map +1 -1
  25. package/dist/cli/lib/cli-io.js +13 -2
  26. package/dist/cli/lib/cli-io.js.map +1 -1
  27. package/dist/cli/lib/command-reporter.d.ts +24 -0
  28. package/dist/cli/lib/command-reporter.d.ts.map +1 -0
  29. package/dist/cli/lib/command-reporter.js +55 -0
  30. package/dist/cli/lib/command-reporter.js.map +1 -0
  31. package/dist/cli/lib/doctor-orchestration.d.ts.map +1 -1
  32. package/dist/cli/lib/doctor-orchestration.js +9 -2
  33. package/dist/cli/lib/doctor-orchestration.js.map +1 -1
  34. package/dist/cli/lib/doctor-substrate-drift.d.ts +7 -0
  35. package/dist/cli/lib/doctor-substrate-drift.d.ts.map +1 -0
  36. package/dist/cli/lib/doctor-substrate-drift.js +35 -0
  37. package/dist/cli/lib/doctor-substrate-drift.js.map +1 -0
  38. package/dist/cli/lib/file-merge-gxt.d.ts +4 -0
  39. package/dist/cli/lib/file-merge-gxt.d.ts.map +1 -0
  40. package/dist/cli/lib/file-merge-gxt.js +35 -0
  41. package/dist/cli/lib/file-merge-gxt.js.map +1 -0
  42. package/dist/cli/lib/fix-hints.d.ts +5 -7
  43. package/dist/cli/lib/fix-hints.d.ts.map +1 -1
  44. package/dist/cli/lib/fix-hints.js +46 -1
  45. package/dist/cli/lib/fix-hints.js.map +1 -1
  46. package/dist/cli/lib/forbidden-scan.d.ts.map +1 -1
  47. package/dist/cli/lib/forbidden-scan.js +2 -2
  48. package/dist/cli/lib/forbidden-scan.js.map +1 -1
  49. package/dist/cli/lib/git-proof.d.ts.map +1 -1
  50. package/dist/cli/lib/git-proof.js +2 -1
  51. package/dist/cli/lib/git-proof.js.map +1 -1
  52. package/dist/cli/lib/git-repo.d.ts +9 -0
  53. package/dist/cli/lib/git-repo.d.ts.map +1 -1
  54. package/dist/cli/lib/git-repo.js +14 -0
  55. package/dist/cli/lib/git-repo.js.map +1 -1
  56. package/dist/cli/lib/gxt-error-codes.d.ts +3 -0
  57. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  58. package/dist/cli/lib/gxt-error-codes.js +5 -1
  59. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  60. package/dist/cli/lib/init-asset-catalog.d.ts.map +1 -1
  61. package/dist/cli/lib/init-asset-catalog.js +6 -0
  62. package/dist/cli/lib/init-asset-catalog.js.map +1 -1
  63. package/dist/cli/lib/init-tutorial.d.ts.map +1 -1
  64. package/dist/cli/lib/init-tutorial.js +9 -13
  65. package/dist/cli/lib/init-tutorial.js.map +1 -1
  66. package/dist/cli/lib/legislate-core.d.ts +21 -0
  67. package/dist/cli/lib/legislate-core.d.ts.map +1 -0
  68. package/dist/cli/lib/legislate-core.js +144 -0
  69. package/dist/cli/lib/legislate-core.js.map +1 -0
  70. package/dist/cli/lib/mcp-legislation-draft.d.ts +6 -0
  71. package/dist/cli/lib/mcp-legislation-draft.d.ts.map +1 -0
  72. package/dist/cli/lib/mcp-legislation-draft.js +62 -0
  73. package/dist/cli/lib/mcp-legislation-draft.js.map +1 -0
  74. package/dist/cli/lib/mcp-legislation-execute.d.ts +6 -0
  75. package/dist/cli/lib/mcp-legislation-execute.d.ts.map +1 -0
  76. package/dist/cli/lib/mcp-legislation-execute.js +43 -0
  77. package/dist/cli/lib/mcp-legislation-execute.js.map +1 -0
  78. package/dist/cli/lib/mcp-legislation-mission.d.ts +12 -0
  79. package/dist/cli/lib/mcp-legislation-mission.d.ts.map +1 -0
  80. package/dist/cli/lib/mcp-legislation-mission.js +82 -0
  81. package/dist/cli/lib/mcp-legislation-mission.js.map +1 -0
  82. package/dist/cli/lib/mcp-legislation-types.d.ts +68 -0
  83. package/dist/cli/lib/mcp-legislation-types.d.ts.map +1 -0
  84. package/dist/cli/lib/mcp-legislation-types.js +4 -0
  85. package/dist/cli/lib/mcp-legislation-types.js.map +1 -0
  86. package/dist/cli/lib/mcp-legislation.d.ts +4 -81
  87. package/dist/cli/lib/mcp-legislation.d.ts.map +1 -1
  88. package/dist/cli/lib/mcp-legislation.js +3 -180
  89. package/dist/cli/lib/mcp-legislation.js.map +1 -1
  90. package/dist/cli/lib/mcp-runtime.d.ts +3 -26
  91. package/dist/cli/lib/mcp-runtime.d.ts.map +1 -1
  92. package/dist/cli/lib/mcp-runtime.js +7 -70
  93. package/dist/cli/lib/mcp-runtime.js.map +1 -1
  94. package/dist/cli/lib/mcp-tools-register.d.ts.map +1 -1
  95. package/dist/cli/lib/mcp-tools-register.js +2 -1
  96. package/dist/cli/lib/mcp-tools-register.js.map +1 -1
  97. package/dist/cli/lib/mission-legislative-stub.d.ts.map +1 -1
  98. package/dist/cli/lib/mission-legislative-stub.js +3 -2
  99. package/dist/cli/lib/mission-legislative-stub.js.map +1 -1
  100. package/dist/cli/lib/mission-yaml.d.ts +6 -0
  101. package/dist/cli/lib/mission-yaml.d.ts.map +1 -1
  102. package/dist/cli/lib/mission-yaml.js +4 -0
  103. package/dist/cli/lib/mission-yaml.js.map +1 -1
  104. package/dist/cli/lib/runtime-env.d.ts.map +1 -1
  105. package/dist/cli/lib/runtime-env.js +3 -2
  106. package/dist/cli/lib/runtime-env.js.map +1 -1
  107. package/dist/cli/lib/start-orchestration.js +1 -1
  108. package/dist/cli/lib/start-orchestration.js.map +1 -1
  109. package/dist/cli/lib/trace-evidence.d.ts +23 -0
  110. package/dist/cli/lib/trace-evidence.d.ts.map +1 -0
  111. package/dist/cli/lib/trace-evidence.js +118 -0
  112. package/dist/cli/lib/trace-evidence.js.map +1 -0
  113. package/dist/cli/lib/trace-failure-kind.d.ts +1 -1
  114. package/dist/cli/lib/trace-failure-kind.d.ts.map +1 -1
  115. package/dist/cli/lib/trace-failure-kind.js +2 -0
  116. package/dist/cli/lib/trace-failure-kind.js.map +1 -1
  117. package/dist/cli/lib/trace-status.d.ts +7 -0
  118. package/dist/cli/lib/trace-status.d.ts.map +1 -0
  119. package/dist/cli/lib/trace-status.js +20 -0
  120. package/dist/cli/lib/trace-status.js.map +1 -0
  121. package/dist/cli/lib/trace.d.ts +9 -0
  122. package/dist/cli/lib/trace.d.ts.map +1 -1
  123. package/dist/cli/lib/trace.js +47 -4
  124. package/dist/cli/lib/trace.js.map +1 -1
  125. package/dist/cli/lib/upgrade-apply.d.ts.map +1 -1
  126. package/dist/cli/lib/upgrade-apply.js +2 -1
  127. package/dist/cli/lib/upgrade-apply.js.map +1 -1
  128. package/dist/cli/lib/upgrade-plan.d.ts.map +1 -1
  129. package/dist/cli/lib/upgrade-plan.js +11 -8
  130. package/dist/cli/lib/upgrade-plan.js.map +1 -1
  131. package/dist/cli/lib/verify-engine.d.ts +5 -2
  132. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  133. package/dist/cli/lib/verify-engine.js +47 -12
  134. package/dist/cli/lib/verify-engine.js.map +1 -1
  135. package/dist/cli/lib/verify-failure-presentation.d.ts +1 -2
  136. package/dist/cli/lib/verify-failure-presentation.d.ts.map +1 -1
  137. package/dist/cli/lib/verify-failure-presentation.js +13 -21
  138. package/dist/cli/lib/verify-failure-presentation.js.map +1 -1
  139. package/dist/cli/lib/verify-flow.d.ts +5 -3
  140. package/dist/cli/lib/verify-flow.d.ts.map +1 -1
  141. package/dist/cli/lib/verify-flow.js +38 -48
  142. package/dist/cli/lib/verify-flow.js.map +1 -1
  143. package/dist/cli/lib/verify-remediation.d.ts +17 -0
  144. package/dist/cli/lib/verify-remediation.d.ts.map +1 -0
  145. package/dist/cli/lib/verify-remediation.js +5 -0
  146. package/dist/cli/lib/verify-remediation.js.map +1 -0
  147. package/dist/cli/lib/verify-repair.d.ts +2 -2
  148. package/dist/cli/lib/verify-repair.d.ts.map +1 -1
  149. package/dist/cli/lib/verify-repair.js +16 -19
  150. package/dist/cli/lib/verify-repair.js.map +1 -1
  151. package/dist/cli/lib/verify-result-payload.d.ts +41 -0
  152. package/dist/cli/lib/verify-result-payload.d.ts.map +1 -0
  153. package/dist/cli/lib/verify-result-payload.js +136 -0
  154. package/dist/cli/lib/verify-result-payload.js.map +1 -0
  155. package/dist/cli/lib/verify-run.d.ts +16 -0
  156. package/dist/cli/lib/verify-run.d.ts.map +1 -0
  157. package/dist/cli/lib/verify-run.js +62 -0
  158. package/dist/cli/lib/verify-run.js.map +1 -0
  159. package/dist/cli/lib/verify-types.d.ts +4 -0
  160. package/dist/cli/lib/verify-types.d.ts.map +1 -1
  161. package/dist/cli/lib/version.gen.d.ts +1 -1
  162. package/dist/cli/lib/version.gen.js +1 -1
  163. package/dist/cli/program-workflow.d.ts.map +1 -1
  164. package/dist/cli/program-workflow.js +5 -1
  165. package/dist/cli/program-workflow.js.map +1 -1
  166. package/package.json +1 -1
  167. package/templates/.gitagent/foreman/SUBSTRATE.version.json +1 -1
  168. package/templates/.githooks/pre-push +3 -3
  169. package/templates/.github/workflows/gxt-validate.yml +19 -0
  170. package/templates/.gitignore.gxt +0 -1
  171. package/templates/.prettierignore.gxt +1 -0
  172. package/templates/integrations/compatibility.json +1 -1
  173. package/templates/scripts/verify-pr-missions.sh +141 -0
  174. package/dist/cli/lib/gitignore-gxt.d.ts +0 -2
  175. package/dist/cli/lib/gitignore-gxt.d.ts.map +0 -1
  176. package/dist/cli/lib/gitignore-gxt.js +0 -24
  177. package/dist/cli/lib/gitignore-gxt.js.map +0 -1
package/README.md CHANGED
@@ -34,9 +34,10 @@ Developing this repository from source: `npm ci && npm run build` — see [gapma
34
34
  | **Lower onboarding friction** | `gapman init --tutorial`, `gapman onboarding`, `gapman start "<intent>"`, `gapman status --json` |
35
35
  | **No unreviewed agent scope** | Teacher reviews mission YAML **before** `runtime env` / worker execution; TMVC roots + forbidden zones enforce paths |
36
36
  | **Audit-ready evidence** | `[MSN-XXXX]` commit subjects; verifier PASS requires a verbatim quote from `WORKER_LOG.md` |
37
+ | **Regulated / ISO-aligned workflows** | SOD, mission authorization, and Git-native trace — see [`docs/COMPLIANCE-ISO.md`](docs/COMPLIANCE-ISO.md) (27001 change control, 42001 AI governance) |
37
38
  | **Faster recovery from failure** | Stable `GXT_*` error codes, `gapman verify --fix`, role output via `--audience worker\|teacher\|verifier` |
38
39
 
39
- **Protocol maturity:** substrate law **v0.5.0**; **`gapman` v1.0.0** — enterprise onboarding, contextual output, first-run tutorial. See [.gitagent/teacher/RUNTIME.md](.gitagent/teacher/RUNTIME.md).
40
+ **Protocol maturity:** substrate law **v0.5.0**; **`gapman` v1.1.1** — maintainability hardening (lib/command boundary, unified verify core, CommandReporter). See [.gitagent/teacher/RUNTIME.md](.gitagent/teacher/RUNTIME.md).
40
41
 
41
42
  ## v1.0 adoption release
42
43
 
@@ -46,6 +47,8 @@ Developing this repository from source: `npm ci && npm run build` — see [gapma
46
47
  |---------|------------|
47
48
  | **v0.9.0** | `gapman start`, `verify --fix`, `status --json`, `onboarding`, GXT error codes |
48
49
  | **v1.0.0** | `gapman init --tutorial`, global `--audience` / `GXT_AUDIENCE`, adoption-first README + runbook |
50
+ | **v1.1.1** | Lib/command boundary, unified `runVerifyCore`, typed remediation, CommandReporter, mission YAML emitter |
51
+ | **v1.1.0** | Stale trace evidence, mission purity PR lock, CI target lock, `verify --json`, doctor substrate drift warn |
49
52
 
50
53
  ## What you get
51
54
 
@@ -148,7 +151,7 @@ The gate is whatever command **fails closed** for your repo (lint, typecheck, in
148
151
 
149
152
  Requires **Node.js 24+** (Active LTS line). Published as **`@jeger-ai/opengantry`** on npm; the `gapman` binary is registered via `package.json` `bin` (see [`package.json`](package.json)). From source: `npm ci && npm run build` → `dist/cli/index.js`.
150
153
 
151
- **Developing OpenGantry:** dogfood the full stack — [`docs/DEVELOPMENT.md`](docs/DEVELOPMENT.md) (missions, hooks, verify, `npm run validate`). Layer rules: [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md). Adopters: [`docs/ADOPTION.md`](docs/ADOPTION.md).
154
+ **Developing OpenGantry:** dogfood the full stack — [`docs/DEVELOPMENT.md`](docs/DEVELOPMENT.md) (missions, hooks, verify, `npm run validate`). Layer rules: [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md). Adopters: [`docs/ADOPTION.md`](docs/ADOPTION.md). Roadmap: [`docs/BACKLOG.md`](docs/BACKLOG.md) · [Project board](https://github.com/orgs/jeger-ai/projects/2).
152
155
 
153
156
  **Adoption path:**
154
157
 
@@ -176,8 +179,8 @@ Requires **Node.js 24+** (Active LTS line). Published as **`@jeger-ai/opengantry
176
179
  | `gapman mission snapshot --file <path>` | Write start-state JSON under `.gitagent/history/` (git HEAD, branch, dirty flag, manifest hash, hashes of files under the mission skill's `tmvc_roots`). |
177
180
  | `gapman runtime env --mission <path>` | Worker Runtime Contract: emit `GXT_REPO_ROOT`, `GXT_MISSION_FILE`, `GXT_MSN_ID`, `GXT_SKILL_KEY`, `GXT_TMVC_ROOTS`, `GXT_FORBIDDEN_ZONES`, `GXT_WORKER_LOG`. Default: POSIX `export …` lines; `--json` for scripts. [.gitagent/teacher/RUNTIME.md](.gitagent/teacher/RUNTIME.md). |
178
181
  | `gapman runtime exec --mission <path> -- <cmd…>` | Run worker command with mission env, telemetry capture, and forbidden-zone scan (strongest TMVC trap). |
179
- | `gapman mcp serve` | Stdio MCP server exposing `gxt_*` tools (legislation, pin, runtime env, verify with `fix_hints`, `gxt_start_orchestration`, exec). Configure via `.cursor/mcp.json`. |
180
- | `gapman verify --mission <path>` | Teacher-approved mission commit + gate + trace. **`--fix`** guided repair. CI: `--audience verifier` (errors only). Failures emit **`GXT_*`** codes. |
182
+ | `gapman mcp serve` | Stdio MCP server exposing `gxt_*` tools (legislation, pin, runtime env, verify with `fix_hints`, `gxt_start_orchestration`, exec). `gxt_verify` uses the flat `--json` envelope — see [ADOPTION.md § MCP verify envelope](docs/ADOPTION.md). Configure via `.cursor/mcp.json`. |
183
+ | `gapman verify --mission <path>` | Teacher-approved mission commit + gate + trace. **`--json`** structured output (`status`, `phase`, `error_code`, `fix_hints`). **`--fix`** guided repair. CI: `--audience verifier` (errors only). Failures emit **`GXT_*`** codes. |
181
184
  | `gapman arch pointer` | Print architecture pointer summary for agents (`.gitagent/ARCHITECTURE.pointer.json`). |
182
185
  | `gapman arch cred status\|set\|unset` | Git-ignored credential slots for authenticated external architecture sources (secrets via stdin only). |
183
186
  | `gapman metrics [--json] [--ref main]` | Git-native governance rollup (stream-parsed). See [`docs/ADOPTION.md`](docs/ADOPTION.md). |
@@ -228,10 +231,12 @@ Details and variable semantics: [.gitagent/teacher/RUNTIME.md](.gitagent/teacher
228
231
  - **[`AGENTS.md`](AGENTS.md)** tells agents to read **RULES** + **MANIFEST** before acting.
229
232
  - **[`.cursor/rules/opengantry-gxt-substrate.mdc`](.cursor/rules/opengantry-gxt-substrate.mdc)** does the same for Cursor with `alwaysApply: true`.
230
233
  - **CI:** this repo includes **[`.github/workflows/gxt-validate.yml`](.github/workflows/gxt-validate.yml)**:
234
+ - **PR governance (PR only):** mission PRs must target the **default branch** (`main` in this repo; `github.event.repository.default_branch` in init template, overridable via `GXT_INTEGRATION_BRANCH`) — prevents stacked mission merges.
231
235
  - **gapman:** `npm ci` / `npm run build`, then `gapman check`, `gapman doctor`, and unit tests.
232
236
  - **Manifest (jq parity):** validates [`.gitagent/foreman/MANIFEST.json`](.gitagent/foreman/MANIFEST.json) via [`scripts/validate-gxt.sh`](scripts/validate-gxt.sh) `manifest`.
233
237
  - **Changed-code quality (PR only):** ESLint complexity, import layers, line budgets on touched `src/cli/**/*.ts`.
234
238
  - **MSN (PR only, path-scoped):** on **pull_request** only, any **non-merge** commit in the PR range that touches `.gitagent/`, repo-root `WORKER_LOG.md`, `.githooks/`, or [`.github/workflows/gxt-validate.yml`](.github/workflows/gxt-validate.yml) must have a subject starting with **`[MSN-NNNN]`** (four digits). Other paths (e.g. root `README.md` only) do not trigger this check.
239
+ - **Mission purity (PR only):** [`scripts/verify-pr-missions.sh`](scripts/verify-pr-missions.sh) requires exactly one `[MSN-NNNN]` in `${base}..${head}` commit subjects before full `gapman verify` on changed missions.
235
240
  - **Local (full stack):** [`scripts/dev-validate.sh`](scripts/dev-validate.sh) / `npm run validate` — superset of CI (includes changed-code + MSN vs `origin/main`).
236
241
 
237
242
  ```bash
@@ -267,7 +272,7 @@ Add to your **`.gitignore`** (if not already present):
267
272
  .gitagent/history/
268
273
  ```
269
274
 
270
- **Empty `WORKER_LOG.md` on branch checkout:** after copying, point Git at the vendored hooks once per clone (`git config core.hooksPath .githooks`). On branch checkouts **other than** `main` or `master`, if `WORKER_LOG.md` is missing at the repo root, [`.githooks/post-checkout`](.githooks/post-checkout) copies [`.gitagent/teacher/WORKER_LOG.template.md`](.gitagent/teacher/WORKER_LOG.template.md) into place. It **never overwrites** an existing file.
275
+ **Empty `WORKER_LOG.md` on branch checkout:** after copying, point Git at the vendored hooks once per clone (`git config core.hooksPath .githooks`). On branch checkouts **other than** `main` or `master`, if `WORKER_LOG.md` is missing at the repo root, [`.githooks/post-checkout`](.githooks/post-checkout) copies [`.gitagent/teacher/WORKER_LOG.template.md`](.gitagent/teacher/WORKER_LOG.template.md) into place. It **never overwrites** an existing file. Keep formatters off `WORKER_LOG.md` — see [docs/ADOPTION.md](docs/ADOPTION.md) (formatter guard under stale trace evidence).
271
276
 
272
277
  ## Staying in sync
273
278
 
@@ -326,7 +331,7 @@ GXT deliberately trades "always-on improvisation" for a **narrow, inspectable en
326
331
 
327
332
  ## Relationship to this repository
328
333
 
329
- **jeger-ai/opengantry** is the **canonical reference tree** for **GXT** (manifest `schema_version` **v0.5.0** law + **`gapman` v1.0.0** CLI). Fork it, run `gapman init` in your repo, vendor the `.gitagent/` folder, or cherry-pick files—there is no published runtime "install" step.
334
+ **jeger-ai/opengantry** is the **canonical reference tree** for **GXT** (manifest `schema_version` **v0.5.0** law + **`gapman` v1.1.1** CLI). Install the CLI with `npm install -g @jeger-ai/opengantry`, or fork this repo and run `gapman init` in your project.
330
335
 
331
336
  ## Security
332
337
 
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA8JD,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDtE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAuCA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA8JD,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DtE"}
@@ -9,7 +9,7 @@ import { composeArchitecturePointer, serializeArchitecturePointer, } from "../li
9
9
  import { composeIntegrationsDoc, recipeFilesExist } from "../lib/init-compose-doc.js";
10
10
  import { defaultInitProfile, mergeInitProfile, profileFromCliFlags, shouldRunInteractiveWizard, validateIntegrationsDocPath, } from "../lib/init-profile.js";
11
11
  import { applyInitWrites, logInitNextSteps, logInitSummary, planInitAssets, } from "../lib/init-plan.js";
12
- import { mergeGitignoreFromTemplate } from "../lib/gitignore-gxt.js";
12
+ import { mergeGitignoreFromTemplate, mergePrettierignoreFromTemplate, } from "../lib/file-merge-gxt.js";
13
13
  import { ensureSubstrateVersionOnInit } from "../lib/substrate-version.js";
14
14
  import { ensureTeacherAllowlistOnInit } from "../lib/teacher-identity.js";
15
15
  function planArchitecturePointerWrite(profile, repoRoot) {
@@ -141,6 +141,7 @@ export async function runInit(options = {}) {
141
141
  const { runInitTutorial } = await import("../lib/init-tutorial.js");
142
142
  await runInitTutorial();
143
143
  mergeGitignoreFromTemplate(repoRoot, templatesRoot);
144
+ mergePrettierignoreFromTemplate(repoRoot, templatesRoot);
144
145
  return;
145
146
  }
146
147
  const profile = await resolveProfile(options, repoRoot, templatesRoot);
@@ -181,5 +182,6 @@ export async function runInit(options = {}) {
181
182
  logInitNextSteps(profile);
182
183
  }
183
184
  mergeGitignoreFromTemplate(repoRoot, templatesRoot);
185
+ mergePrettierignoreFromTemplate(repoRoot, templatesRoot);
184
186
  }
185
187
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,2 @@
1
- export interface LegislateOptions {
2
- intent: string;
3
- msn?: string;
4
- skillKey?: string;
5
- out?: string;
6
- allowDuplicate?: boolean;
7
- gateCommand?: string;
8
- gateSuccessSubstring?: string;
9
- /** When true, skip stdout info messages (MCP / structured JSON callers). */
10
- silent?: boolean;
11
- }
12
- export type LegislateResult = {
13
- ok: true;
14
- missionAbs: string;
15
- missionRel: string;
16
- } | {
17
- ok: false;
18
- exitCode: 2;
19
- };
20
- export declare function runLegislate(options: LegislateOptions): LegislateResult;
1
+ export { runLegislate, type LegislateOptions, type LegislateResult, } from "../lib/legislate-core.js";
21
2
  //# sourceMappingURL=legislate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"legislate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/legislate.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAA;CAAE,CAAC;AAsI/B,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAsCvE"}
1
+ {"version":3,"file":"legislate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/legislate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC"}
@@ -1,143 +1,2 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { CLI_NAME } from "../lib/constants.js";
4
- import { buildLegislativeTraceRows } from "../lib/mission-yaml.js";
5
- import { formatRepoRelative, logError, logInfo, logWarn, } from "../lib/cli-io.js";
6
- import { isValidMsnId } from "../lib/msn.js";
7
- import { extractMsnIdFromMissionPath } from "../lib/mission-msn.js";
8
- import { resolveSkillKeyForLegislation } from "../lib/legislate-skill.js";
9
- import { loadWorkspace } from "../lib/workspace.js";
10
- import YAML from "yaml";
11
- /** Slug for filename: alphanumeric + hyphen, capped length */
12
- function intentSlug(intent, maxLen) {
13
- const s = intent
14
- .trim()
15
- .toLowerCase()
16
- .replace(/[^a-z0-9]+/g, "-")
17
- .replace(/^-+|-+$/g, "")
18
- .slice(0, maxLen);
19
- return s || "mission";
20
- }
21
- function buildYamlMissionBody(opts) {
22
- const doc = {
23
- msn_id: opts.msn_id,
24
- skill_key: opts.skill_key,
25
- gate_command: opts.gate_command,
26
- trace_rows: buildLegislativeTraceRows(),
27
- };
28
- if (opts.gate_success_substring !== null) {
29
- doc.gate_success_substring = opts.gate_success_substring;
30
- }
31
- const header = `# OpenGantry mission scaffold (Teacher: fill gate, TMVC narrowing, trace rows).\n` +
32
- `# Legislated intent: ${opts.intent.trim().replace(/\n/g, " ")}\n`;
33
- return `${header}${YAML.stringify(doc)}`;
34
- }
35
- function resolveLegislateSkillKey(options, root, manifest) {
36
- const resolved = resolveSkillKeyForLegislation({
37
- root,
38
- manifest,
39
- intent: options.intent,
40
- skillKey: options.skillKey,
41
- });
42
- if (!resolved.ok) {
43
- logError(`legislate: ${resolved.reason}`);
44
- return null;
45
- }
46
- return resolved.skillKey;
47
- }
48
- function resolveLegislateOutputPath(root, options, msnId) {
49
- const slug = intentSlug(options.intent, 48);
50
- const defaultFilename = `.gitagent/missions/${msnId}.${slug}.yaml`;
51
- const outRel = options.out?.trim() || defaultFilename;
52
- const absolute = path.isAbsolute(outRel)
53
- ? path.resolve(outRel)
54
- : path.join(root, outRel.replace(/\\/g, path.sep));
55
- const normRel = path.relative(root, path.resolve(absolute)).split(path.sep).join("/");
56
- if (!normRel || normRel.startsWith("..")) {
57
- logError(`legislate: output path outside repository (${absolute})`);
58
- return null;
59
- }
60
- if (!normRel.startsWith(".gitagent/missions/")) {
61
- logError(`legislate: mission path must stay under .gitagent/missions/ for gapman verify (got ${normRel})`);
62
- return null;
63
- }
64
- if (fs.existsSync(absolute)) {
65
- logError(`legislate: output already exists ${absolute}`);
66
- return null;
67
- }
68
- return absolute;
69
- }
70
- function findDuplicateMsnMissionPaths(root, msnId) {
71
- const dupes = [];
72
- const missionsDir = path.join(root, ".gitagent", "missions");
73
- if (!fs.existsSync(missionsDir))
74
- return dupes;
75
- for (const ent of fs.readdirSync(missionsDir, { withFileTypes: true })) {
76
- if (!ent.isFile())
77
- continue;
78
- const abs = path.join(missionsDir, ent.name);
79
- try {
80
- if (extractMsnIdFromMissionPath(abs) === msnId) {
81
- dupes.push(formatRepoRelative(root, abs));
82
- }
83
- }
84
- catch {
85
- // ignore malformed mission files during advisory scan
86
- }
87
- }
88
- return dupes;
89
- }
90
- function assertLegislateDuplicatePolicy(options, msnId, existingMissionDupes) {
91
- if (existingMissionDupes.length === 0)
92
- return true;
93
- if (options.allowDuplicate === true) {
94
- logWarn(`legislate: allowing duplicate msn ${msnId} for migration flow; existing mission file(s): ${existingMissionDupes.join(", ")}`);
95
- return true;
96
- }
97
- logError(`legislate: duplicate msn ${msnId} already appears in ${existingMissionDupes.length} mission file(s): ${existingMissionDupes.join(", ")}. Re-run with --allow-duplicate only for intentional branch migrations.`);
98
- return false;
99
- }
100
- function resolveLegislateGateOptions(options) {
101
- const gateCommand = options.gateCommand?.trim() || "echo OK";
102
- const gateSuccessSubstring = options.gateSuccessSubstring !== undefined
103
- ? options.gateSuccessSubstring.trim() || null
104
- : gateCommand === "echo OK"
105
- ? "OK"
106
- : null;
107
- return { gateCommand, gateSuccessSubstring };
108
- }
109
- export function runLegislate(options) {
110
- const { root, manifest } = loadWorkspace();
111
- const msnId = (options.msn ?? "").trim();
112
- if (!isValidMsnId(msnId)) {
113
- logError('legislate: --msn must match "MSN-0007" exactly');
114
- return { ok: false, exitCode: 2 };
115
- }
116
- const skill_key = resolveLegislateSkillKey(options, root, manifest);
117
- if (!skill_key)
118
- return { ok: false, exitCode: 2 };
119
- const absolute = resolveLegislateOutputPath(root, options, msnId);
120
- if (!absolute)
121
- return { ok: false, exitCode: 2 };
122
- const existingMissionDupes = findDuplicateMsnMissionPaths(root, msnId);
123
- if (!assertLegislateDuplicatePolicy(options, msnId, existingMissionDupes)) {
124
- return { ok: false, exitCode: 2 };
125
- }
126
- const { gateCommand, gateSuccessSubstring } = resolveLegislateGateOptions(options);
127
- const body = buildYamlMissionBody({
128
- msn_id: msnId,
129
- skill_key,
130
- intent: options.intent,
131
- gate_command: gateCommand,
132
- gate_success_substring: gateSuccessSubstring,
133
- });
134
- fs.mkdirSync(path.dirname(absolute), { recursive: true });
135
- fs.writeFileSync(absolute, body, "utf8");
136
- const missionRel = formatRepoRelative(root, absolute);
137
- if (!options.silent) {
138
- logInfo(`${CLI_NAME} legislate: wrote ${missionRel}`);
139
- logInfo(`Teacher: git commit modifying this mission with subject starting [${msnId}] from an allowlisted Teacher email (gapman teacher show).`);
140
- }
141
- return { ok: true, missionAbs: absolute, missionRel };
142
- }
1
+ export { runLegislate, } from "../lib/legislate-core.js";
143
2
  //# sourceMappingURL=legislate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legislate.js","sourceRoot":"","sources":["../../../src/cli/commands/legislate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legislate.js","sourceRoot":"","sources":["../../../src/cli/commands/legislate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAGb,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"AAcA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqFnD"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"AAcA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAuFnD"}
@@ -3,7 +3,7 @@ import { ONBOARDING_ADOPTION_DOC, onboardingRuntimeEnvHint, onboardingStatusHint
3
3
  import { logError, logInfo, setExitCode } from "../lib/cli-io.js";
4
4
  import { loadWorkspace } from "../lib/workspace.js";
5
5
  import { runStartOrchestration } from "../lib/start-orchestration.js";
6
- import { runVerify } from "./verify.js";
6
+ import { executeVerifyMission } from "../lib/verify-run.js";
7
7
  const EXAMPLE_MISSION = ".gitagent/missions/example.verify.yaml";
8
8
  export async function runOnboarding() {
9
9
  const p = await import("@clack/prompts");
@@ -72,12 +72,14 @@ export async function runOnboarding() {
72
72
  initialValue: true,
73
73
  });
74
74
  if (!p.isCancel(runNow) && runNow) {
75
- process.exitCode = undefined;
76
- await runVerify({
75
+ const result = await executeVerifyMission({
77
76
  mission: EXAMPLE_MISSION,
78
77
  fix: true,
79
78
  fixNonInteractive: true,
80
79
  });
80
+ if (!result.ok) {
81
+ setExitCode(result.exitCode);
82
+ }
81
83
  }
82
84
  }
83
85
  p.outro(`Onboarding complete — see ${ONBOARDING_ADOPTION_DOC} for the full loop`);
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5D,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrE;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,uDAI9D"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAM5D,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAa5D,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBrE;AAED,+EAA+E;AAC/E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,uDAI9D"}
@@ -1,33 +1,42 @@
1
- import { assertMissionGatePresent, parseMissionFile } from "../lib/mission-parser.js";
2
- import { runVerifyBreakGlass, runVerifyPhasesFromEngine } from "../lib/verify-flow.js";
3
- import { runVerifyWithFix } from "../lib/verify-repair.js";
1
+ import { parseMissionFile } from "../lib/mission-parser.js";
2
+ import { initFailurePayload } from "../lib/verify-result-payload.js";
3
+ import { emitVerifyJson } from "../lib/verify-flow.js";
4
4
  import { evaluateVerifyPhases } from "../lib/verify-engine.js";
5
5
  import { loadWorkspace } from "../lib/workspace.js";
6
- import { reportUserFacingError } from "../lib/user-error.js";
6
+ import { GapmanUserError, reportUserFacingError } from "../lib/user-error.js";
7
+ import { runVerifyCore } from "../lib/verify-run.js";
8
+ function assertVerifyOptionsCompatible(options) {
9
+ if (options.json === true && options.fix === true) {
10
+ throw new GapmanUserError("INVALID_ARGUMENT", "The --fix flag cannot be used with --json. Automated repair is not supported in structured output mode.", undefined, 2);
11
+ }
12
+ }
7
13
  export async function runVerify(options) {
8
14
  try {
9
- const { root } = loadWorkspace();
10
- const mission = parseMissionFile(root, options.mission);
11
- const missionArg = options.mission;
12
- if (options.breakGlass === true) {
13
- runVerifyBreakGlass(root, mission, options);
14
- return;
15
- }
16
- assertMissionGatePresent(mission);
17
- if (options.fix === true) {
18
- await runVerifyWithFix(root, mission, missionArg, options);
15
+ assertVerifyOptionsCompatible(options);
16
+ }
17
+ catch (e) {
18
+ if (options.json) {
19
+ emitVerifyJson(initFailurePayload(e));
19
20
  return;
20
21
  }
21
- runVerifyPhasesFromEngine(root, mission, missionArg, options);
22
+ reportUserFacingError(e);
23
+ return;
24
+ }
25
+ try {
26
+ await runVerifyCore(options);
22
27
  }
23
28
  catch (e) {
29
+ if (options.json) {
30
+ emitVerifyJson(initFailurePayload(e));
31
+ return;
32
+ }
24
33
  reportUserFacingError(e);
25
34
  }
26
35
  }
27
36
  /** Exposed for tests that need silent phase evaluation without fix wrapper. */
28
37
  export function evaluateVerifyForMission(options) {
29
- const { root } = loadWorkspace();
38
+ const { root, manifest } = loadWorkspace();
30
39
  const mission = parseMissionFile(root, options.mission);
31
- return evaluateVerifyPhases(root, mission, options);
40
+ return evaluateVerifyPhases(root, mission, options, manifest);
32
41
  }
33
42
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;QAEnC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAChC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,wBAAwB,CAAC,OAAsB;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,SAAS,6BAA6B,CAAC,OAAsB;IAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,eAAe,CACvB,kBAAkB,EAClB,yGAAyG,EACzG,SAAS,EACT,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAsB;IACpD,IAAI,CAAC;QACH,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,wBAAwB,CAAC,OAAsB;IAC7D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC"}
@@ -13,6 +13,7 @@ export interface AudienceNextStep {
13
13
  audience: OutputAudience;
14
14
  step: string;
15
15
  }
16
+ export declare function filterTaggedStepsForAudience(audience: OutputAudience | undefined, tagged: AudienceNextStep[]): string[];
16
17
  export declare function filterNextStepsForAudience(audience: OutputAudience | undefined, steps: string[]): string[];
17
18
  export declare function audienceSectionTitle(audience: OutputAudience | undefined): string | null;
18
19
  //# sourceMappingURL=audience-output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audience-output.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAS5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAOjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAQlB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CASjG;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAwBD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,EAAE,CAQV;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CASxF"}
1
+ {"version":3,"file":"audience-output.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAS5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAOjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAQlB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CASjG;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AA4BD,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,MAAM,EAAE,gBAAgB,EAAE,GACzB,MAAM,EAAE,CAMV;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,EAAE,CAQV;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CASxF"}
@@ -53,8 +53,21 @@ function stepMatchesAudience(step, audience) {
53
53
  return /gapman verify/i.test(step);
54
54
  case "platform":
55
55
  return /hooksPath|gapman doctor|gapman init/i.test(step);
56
+ default: {
57
+ const _exhaustive = audience;
58
+ return _exhaustive;
59
+ }
56
60
  }
57
61
  }
62
+ export function filterTaggedStepsForAudience(audience, tagged) {
63
+ if (!audience)
64
+ return tagged.map((t) => t.step);
65
+ const filtered = [...new Set(tagged.filter((t) => t.audience === audience).map((t) => t.step))];
66
+ if (filtered.length > 0)
67
+ return filtered;
68
+ const roleDefaults = DEFAULT_NEXT_STEPS.filter((s) => s.audience === audience).map((s) => s.step);
69
+ return roleDefaults.length > 0 ? roleDefaults : tagged.map((t) => t.step);
70
+ }
58
71
  export function filterNextStepsForAudience(audience, steps) {
59
72
  if (!audience)
60
73
  return steps;
@@ -1 +1 @@
1
- {"version":3,"file":"audience-output.js","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAA8B;IACjD,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,GAAuB;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAmB,CAAC,EAAE,CAAC;QAClD,OAAO,CAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAC7B,MAAe,EACf,MAAe;IAEf,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAoC;IACvF,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOD,MAAM,kBAAkB,GAAuB;IAC7C,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,8DAA8D,EAAE;IAC7F,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,0EAA0E,EAAE;IACzG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,yEAAyE,EAAE;IACvG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,uCAAuC,EAAE;IACrE,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,wDAAwD,EAAE;IACxF,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,sDAAsD,EAAE;CACvF,CAAC;AAEF,SAAS,mBAAmB,CAAC,IAAY,EAAE,QAAwB;IACjE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,KAAK,QAAQ;YACX,OAAO,+EAA+E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpG,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,UAAU;YACb,OAAO,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAoC,EACpC,KAAe;IAEf,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3C,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClG,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAoC;IACvE,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAmC;QAC7C,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,qBAAqB;KAChC,CAAC;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"audience-output.js","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ParsedMission } from "./types.js";
2
+ import type { VerifyOptions } from "./verify-types.js";
3
+ export interface BreakGlassAuditOk {
4
+ kind: "ok";
5
+ missionRel: string;
6
+ commitSha: string;
7
+ reason: string;
8
+ msnId?: string;
9
+ auditCommit: boolean;
10
+ }
11
+ export interface BreakGlassAuditFail {
12
+ kind: "fail";
13
+ error: unknown;
14
+ }
15
+ export type BreakGlassAuditOutcome = BreakGlassAuditOk | BreakGlassAuditFail;
16
+ /** Single break-glass audit path shared by human and JSON presenters. */
17
+ export declare function runBreakGlassAuditFlow(root: string, mission: ParsedMission, options: VerifyOptions): BreakGlassAuditOutcome;
18
+ //# sourceMappingURL=break-glass-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"break-glass-flow.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/break-glass-flow.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAE7E,yEAAyE;AACzE,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,aAAa,GACrB,sBAAsB,CAuBxB"}
@@ -0,0 +1,29 @@
1
+ import { assertBypassSecretAuthorized, runBreakGlassAudit, validateBreakGlassReason, } from "./break-glass.js";
2
+ import { toPosixRel } from "./cli-io.js";
3
+ /** Single break-glass audit path shared by human and JSON presenters. */
4
+ export function runBreakGlassAuditFlow(root, mission, options) {
5
+ try {
6
+ const reason = validateBreakGlassReason(options.breakGlassReason);
7
+ assertBypassSecretAuthorized(root);
8
+ const missionRel = toPosixRel(root, mission.rawPath);
9
+ const commitSha = runBreakGlassAudit(root, {
10
+ reason,
11
+ msnId: mission.msnId,
12
+ missionFile: missionRel,
13
+ commit: options.breakGlassCommit,
14
+ auditCommit: options.auditCommit === true,
15
+ });
16
+ return {
17
+ kind: "ok",
18
+ missionRel,
19
+ commitSha,
20
+ reason,
21
+ msnId: mission.msnId ?? undefined,
22
+ auditCommit: options.auditCommit === true,
23
+ };
24
+ }
25
+ catch (error) {
26
+ return { kind: "fail", error };
27
+ }
28
+ }
29
+ //# sourceMappingURL=break-glass-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"break-glass-flow.js","sourceRoot":"","sources":["../../../src/cli/lib/break-glass-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBzC,yEAAyE;AACzE,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,OAAsB,EACtB,OAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClE,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,EAAE;YACzC,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE,OAAO,CAAC,gBAAgB;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI;SAC1C,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,IAAI;YACV,UAAU;YACV,SAAS;YACT,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACjC,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI;SAC1C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -3,7 +3,12 @@ export declare function logWarn(message: string): void;
3
3
  export declare function logError(message: string): void;
4
4
  /** Red stderr for existing managed-asset conflicts (respects NO_COLOR). */
5
5
  export declare function logManagedAssetConflicts(conflicts: string[]): void;
6
- /** Relative path for user-facing messages */
6
+ /** POSIX repo-relative path (stable across platforms). */
7
+ export declare function toPosixRel(repoRoot: string, absolutePath: string): string;
8
+ /** Convert a POSIX repo-relative path to native separators. */
9
+ export declare function fromPosix(posixPath: string): string;
10
+ /** Relative path for user-facing messages (POSIX-normalized). */
7
11
  export declare function formatRepoRelative(repoRoot: string, absolutePath: string): string;
12
+ export declare function errorMessage(e: unknown): string;
8
13
  export declare function setExitCode(code: number): void;
9
14
  //# sourceMappingURL=cli-io.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-io.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/cli-io.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9C;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAWlE;AAED,6CAA6C;AAC7C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C"}
1
+ {"version":3,"file":"cli-io.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/cli-io.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9C;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAWlE;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C"}