@jeger-ai/opengantry 2.6.0 → 3.0.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 (195) hide show
  1. package/README.md +132 -327
  2. package/dist/cli/commands/arch.d.ts +1 -0
  3. package/dist/cli/commands/arch.d.ts.map +1 -1
  4. package/dist/cli/commands/arch.js +56 -93
  5. package/dist/cli/commands/arch.js.map +1 -1
  6. package/dist/cli/commands/blueprint.d.ts +7 -0
  7. package/dist/cli/commands/blueprint.d.ts.map +1 -0
  8. package/dist/cli/commands/blueprint.js +69 -0
  9. package/dist/cli/commands/blueprint.js.map +1 -0
  10. package/dist/cli/commands/init.d.ts +3 -0
  11. package/dist/cli/commands/init.d.ts.map +1 -1
  12. package/dist/cli/commands/init.js +30 -25
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/commands/onboarding.js +1 -1
  15. package/dist/cli/commands/onboarding.js.map +1 -1
  16. package/dist/cli/commands/perimeter.d.ts.map +1 -1
  17. package/dist/cli/commands/perimeter.js +3 -6
  18. package/dist/cli/commands/perimeter.js.map +1 -1
  19. package/dist/cli/commands/planner.d.ts.map +1 -1
  20. package/dist/cli/commands/planner.js +5 -17
  21. package/dist/cli/commands/planner.js.map +1 -1
  22. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  23. package/dist/cli/commands/upgrade.js +6 -14
  24. package/dist/cli/commands/upgrade.js.map +1 -1
  25. package/dist/cli/commands/verify.d.ts.map +1 -1
  26. package/dist/cli/commands/verify.js +19 -27
  27. package/dist/cli/commands/verify.js.map +1 -1
  28. package/dist/cli/lib/architecture-drift-doctor.d.ts +4 -0
  29. package/dist/cli/lib/architecture-drift-doctor.d.ts.map +1 -0
  30. package/dist/cli/lib/architecture-drift-doctor.js +58 -0
  31. package/dist/cli/lib/architecture-drift-doctor.js.map +1 -0
  32. package/dist/cli/lib/blueprint-engine.d.ts +22 -0
  33. package/dist/cli/lib/blueprint-engine.d.ts.map +1 -0
  34. package/dist/cli/lib/blueprint-engine.js +127 -0
  35. package/dist/cli/lib/blueprint-engine.js.map +1 -0
  36. package/dist/cli/lib/command-boundary.d.ts +16 -0
  37. package/dist/cli/lib/command-boundary.d.ts.map +1 -0
  38. package/dist/cli/lib/command-boundary.js +45 -0
  39. package/dist/cli/lib/command-boundary.js.map +1 -0
  40. package/dist/cli/lib/command-reporter.d.ts +3 -3
  41. package/dist/cli/lib/command-reporter.d.ts.map +1 -1
  42. package/dist/cli/lib/context-feed-remediation.d.ts +1 -1
  43. package/dist/cli/lib/context-feed-remediation.d.ts.map +1 -1
  44. package/dist/cli/lib/defensive-guard.d.ts +2 -3
  45. package/dist/cli/lib/defensive-guard.d.ts.map +1 -1
  46. package/dist/cli/lib/defensive-guard.js +56 -69
  47. package/dist/cli/lib/defensive-guard.js.map +1 -1
  48. package/dist/cli/lib/discovery-proposal.d.ts +19 -0
  49. package/dist/cli/lib/discovery-proposal.d.ts.map +1 -0
  50. package/dist/cli/lib/discovery-proposal.js +110 -0
  51. package/dist/cli/lib/discovery-proposal.js.map +1 -0
  52. package/dist/cli/lib/discovery-scanner.d.ts +47 -0
  53. package/dist/cli/lib/discovery-scanner.d.ts.map +1 -0
  54. package/dist/cli/lib/discovery-scanner.js +81 -0
  55. package/dist/cli/lib/discovery-scanner.js.map +1 -0
  56. package/dist/cli/lib/doctor-core.d.ts.map +1 -1
  57. package/dist/cli/lib/doctor-core.js +2 -0
  58. package/dist/cli/lib/doctor-core.js.map +1 -1
  59. package/dist/cli/lib/domains/domain-adapter.d.ts +38 -0
  60. package/dist/cli/lib/domains/domain-adapter.d.ts.map +1 -0
  61. package/dist/cli/lib/domains/domain-adapter.js +20 -0
  62. package/dist/cli/lib/domains/domain-adapter.js.map +1 -0
  63. package/dist/cli/lib/domains/domain-code.d.ts +3 -0
  64. package/dist/cli/lib/domains/domain-code.d.ts.map +1 -0
  65. package/dist/cli/lib/domains/domain-code.js +171 -0
  66. package/dist/cli/lib/domains/domain-code.js.map +1 -0
  67. package/dist/cli/lib/domains/domain-content.d.ts +3 -0
  68. package/dist/cli/lib/domains/domain-content.d.ts.map +1 -0
  69. package/dist/cli/lib/domains/domain-content.js +190 -0
  70. package/dist/cli/lib/domains/domain-content.js.map +1 -0
  71. package/dist/cli/lib/domains/index.d.ts +5 -0
  72. package/dist/cli/lib/domains/index.d.ts.map +1 -0
  73. package/dist/cli/lib/domains/index.js +5 -0
  74. package/dist/cli/lib/domains/index.js.map +1 -0
  75. package/dist/cli/lib/errors.d.ts +2 -2
  76. package/dist/cli/lib/errors.d.ts.map +1 -1
  77. package/dist/cli/lib/errors.js +8 -8
  78. package/dist/cli/lib/errors.js.map +1 -1
  79. package/dist/cli/lib/executor-log-line-map.d.ts +0 -2
  80. package/dist/cli/lib/executor-log-line-map.d.ts.map +1 -1
  81. package/dist/cli/lib/executor-log-line-map.js +0 -5
  82. package/dist/cli/lib/executor-log-line-map.js.map +1 -1
  83. package/dist/cli/lib/git-proof.js +2 -2
  84. package/dist/cli/lib/gxt-error-codes.d.ts +2 -2
  85. package/dist/cli/lib/gxt-error-codes.js +7 -7
  86. package/dist/cli/lib/init-discover.d.ts +14 -0
  87. package/dist/cli/lib/init-discover.d.ts.map +1 -0
  88. package/dist/cli/lib/init-discover.js +45 -0
  89. package/dist/cli/lib/init-discover.js.map +1 -0
  90. package/dist/cli/lib/init-plan.d.ts +3 -1
  91. package/dist/cli/lib/init-plan.d.ts.map +1 -1
  92. package/dist/cli/lib/init-plan.js +2 -5
  93. package/dist/cli/lib/init-plan.js.map +1 -1
  94. package/dist/cli/lib/init-tutorial.js +1 -1
  95. package/dist/cli/lib/init-tutorial.js.map +1 -1
  96. package/dist/cli/lib/kpi-engine.d.ts +2 -2
  97. package/dist/cli/lib/kpi-engine.d.ts.map +1 -1
  98. package/dist/cli/lib/kpi-engine.js +3 -2
  99. package/dist/cli/lib/kpi-engine.js.map +1 -1
  100. package/dist/cli/lib/mcp-governance.d.ts.map +1 -1
  101. package/dist/cli/lib/mcp-governance.js +15 -15
  102. package/dist/cli/lib/mcp-governance.js.map +1 -1
  103. package/dist/cli/lib/mcp-runtime.d.ts +2 -2
  104. package/dist/cli/lib/mcp-runtime.d.ts.map +1 -1
  105. package/dist/cli/lib/mcp-runtime.js +1 -1
  106. package/dist/cli/lib/mcp-runtime.js.map +1 -1
  107. package/dist/cli/lib/mcp-upgrade.js +2 -2
  108. package/dist/cli/lib/mcp-write-guard.d.ts +2 -2
  109. package/dist/cli/lib/mcp-write-guard.js +2 -2
  110. package/dist/cli/lib/missions/parser.js +4 -4
  111. package/dist/cli/lib/surgeons/registry.d.ts +3 -2
  112. package/dist/cli/lib/surgeons/registry.d.ts.map +1 -1
  113. package/dist/cli/lib/surgeons/registry.js.map +1 -1
  114. package/dist/cli/lib/target-architecture.d.ts +12 -3
  115. package/dist/cli/lib/target-architecture.d.ts.map +1 -1
  116. package/dist/cli/lib/target-architecture.js +108 -8
  117. package/dist/cli/lib/target-architecture.js.map +1 -1
  118. package/dist/cli/lib/trace.d.ts +2 -1
  119. package/dist/cli/lib/trace.d.ts.map +1 -1
  120. package/dist/cli/lib/trace.js +21 -27
  121. package/dist/cli/lib/trace.js.map +1 -1
  122. package/dist/cli/lib/upgrade-apply.js +7 -7
  123. package/dist/cli/lib/verification-plan.d.ts +22 -0
  124. package/dist/cli/lib/verification-plan.d.ts.map +1 -0
  125. package/dist/cli/lib/verification-plan.js +26 -0
  126. package/dist/cli/lib/verification-plan.js.map +1 -0
  127. package/dist/cli/lib/verify-defensive-phase.d.ts +2 -13
  128. package/dist/cli/lib/verify-defensive-phase.d.ts.map +1 -1
  129. package/dist/cli/lib/verify-defensive-phase.js +11 -11
  130. package/dist/cli/lib/verify-defensive-phase.js.map +1 -1
  131. package/dist/cli/lib/verify-engine.d.ts +4 -36
  132. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  133. package/dist/cli/lib/verify-engine.js +28 -24
  134. package/dist/cli/lib/verify-engine.js.map +1 -1
  135. package/dist/cli/lib/verify-export.d.ts +1 -1
  136. package/dist/cli/lib/verify-export.d.ts.map +1 -1
  137. package/dist/cli/lib/verify-export.js +27 -17
  138. package/dist/cli/lib/verify-export.js.map +1 -1
  139. package/dist/cli/lib/verify-failure-normalize.d.ts +5 -10
  140. package/dist/cli/lib/verify-failure-normalize.d.ts.map +1 -1
  141. package/dist/cli/lib/verify-failure-normalize.js +128 -13
  142. package/dist/cli/lib/verify-failure-normalize.js.map +1 -1
  143. package/dist/cli/lib/verify-failure.d.ts +57 -0
  144. package/dist/cli/lib/verify-failure.d.ts.map +1 -0
  145. package/dist/cli/lib/verify-failure.js +2 -0
  146. package/dist/cli/lib/verify-failure.js.map +1 -0
  147. package/dist/cli/lib/verify-finding.d.ts +16 -0
  148. package/dist/cli/lib/verify-finding.d.ts.map +1 -0
  149. package/dist/cli/lib/verify-finding.js +11 -0
  150. package/dist/cli/lib/verify-finding.js.map +1 -0
  151. package/dist/cli/lib/verify-hints.d.ts +5 -18
  152. package/dist/cli/lib/verify-hints.d.ts.map +1 -1
  153. package/dist/cli/lib/verify-hints.js +40 -61
  154. package/dist/cli/lib/verify-hints.js.map +1 -1
  155. package/dist/cli/lib/verify-payload.d.ts +39 -2
  156. package/dist/cli/lib/verify-payload.d.ts.map +1 -1
  157. package/dist/cli/lib/verify-payload.js +1 -1
  158. package/dist/cli/lib/verify-payload.js.map +1 -1
  159. package/dist/cli/lib/verify-presenters.d.ts +3 -0
  160. package/dist/cli/lib/verify-presenters.d.ts.map +1 -1
  161. package/dist/cli/lib/verify-presenters.js +18 -5
  162. package/dist/cli/lib/verify-presenters.js.map +1 -1
  163. package/dist/cli/lib/verify-run.d.ts +0 -2
  164. package/dist/cli/lib/verify-run.d.ts.map +1 -1
  165. package/dist/cli/lib/verify-run.js +2 -2
  166. package/dist/cli/lib/version.gen.d.ts +1 -1
  167. package/dist/cli/lib/version.gen.js +1 -1
  168. package/dist/cli/program-blueprint.d.ts +3 -0
  169. package/dist/cli/program-blueprint.d.ts.map +1 -0
  170. package/dist/cli/program-blueprint.js +12 -0
  171. package/dist/cli/program-blueprint.js.map +1 -0
  172. package/dist/cli/program-core.d.ts.map +1 -1
  173. package/dist/cli/program-core.js +5 -1
  174. package/dist/cli/program-core.js.map +1 -1
  175. package/dist/cli/program-workflow.d.ts.map +1 -1
  176. package/dist/cli/program-workflow.js +19 -1
  177. package/dist/cli/program-workflow.js.map +1 -1
  178. package/dist/cli/program.d.ts.map +1 -1
  179. package/dist/cli/program.js +2 -0
  180. package/dist/cli/program.js.map +1 -1
  181. package/package.json +1 -1
  182. package/templates/.gitagent/foreman/SUBSTRATE.version.json +1 -1
  183. package/templates/integrations/compatibility.json +1 -1
  184. package/dist/cli/lib/verify-failure-normalize-phases.d.ts +0 -9
  185. package/dist/cli/lib/verify-failure-normalize-phases.d.ts.map +0 -1
  186. package/dist/cli/lib/verify-failure-normalize-phases.js +0 -84
  187. package/dist/cli/lib/verify-failure-normalize-phases.js.map +0 -1
  188. package/dist/cli/lib/verify-payload-types.d.ts +0 -36
  189. package/dist/cli/lib/verify-payload-types.d.ts.map +0 -1
  190. package/dist/cli/lib/verify-payload-types.js +0 -2
  191. package/dist/cli/lib/verify-payload-types.js.map +0 -1
  192. package/dist/cli/lib/verify-presentation.d.ts +0 -15
  193. package/dist/cli/lib/verify-presentation.d.ts.map +0 -1
  194. package/dist/cli/lib/verify-presentation.js +0 -12
  195. package/dist/cli/lib/verify-presentation.js.map +0 -1
@@ -1,70 +1,50 @@
1
- import { getRepoRoot } from "../lib/git.js";
2
- import { logError, logInfo, setExitCode, errorMessage } from "../lib/cli-io.js";
1
+ import { logError, logInfo, setExitCode } from "../lib/cli-io.js";
2
+ import { reportCommandError, resolveRepoRootAtBoundary, runAtCommandBoundary, runAtCommandBoundaryAsync, } from "../lib/command-boundary.js";
3
3
  import { fetchExternalArchitecture } from "../lib/architecture-fetch.js";
4
4
  import { loadWorkspace } from "../lib/workspace.js";
5
- import { formatArchCheckHuman, runArchCheck, } from "../lib/target-architecture.js";
5
+ import { formatArchCheckHuman, loadTargetArchitecture, runArchCheck, walkPerimeterFiles, } from "../lib/target-architecture.js";
6
6
  import { loadArchitecturePointer, summarizeArchitecturePointer, } from "../lib/architecture-pointer.js";
7
7
  import { logCredentialStatus, parseCredentialValuesFromStdin, readStdinCredentialPayload, removeArchitectureCredential, validateCredentialSlot, writeArchitectureCredential, } from "../lib/architecture-credential.js";
8
- export function runArchPointer(options = {}) {
9
- let repoRoot;
10
- try {
11
- repoRoot = getRepoRoot(options.cwd);
8
+ /** Repo root plus optional credential-slot validation shared by the cred subcommands. */
9
+ function resolveCredCommandRoot(cwd, slot) {
10
+ const repoRoot = resolveRepoRootAtBoundary(cwd);
11
+ if (repoRoot === null)
12
+ return null;
13
+ if (slot !== undefined) {
14
+ try {
15
+ validateCredentialSlot(slot);
16
+ }
17
+ catch (e) {
18
+ reportCommandError(e);
19
+ return null;
20
+ }
12
21
  }
13
- catch (e) {
14
- logError(e instanceof Error ? e.message.replace("gantry: ", "") : String(e));
15
- setExitCode(2);
22
+ return repoRoot;
23
+ }
24
+ export function runArchPointer(options = {}) {
25
+ const repoRoot = resolveRepoRootAtBoundary(options.cwd);
26
+ if (repoRoot === null)
16
27
  return;
17
- }
18
- try {
28
+ runAtCommandBoundary(2, () => {
19
29
  const pointer = loadArchitecturePointer(repoRoot);
20
30
  logInfo(summarizeArchitecturePointer(pointer));
21
- }
22
- catch (e) {
23
- logError(errorMessage(e));
24
- setExitCode(2);
25
- }
31
+ });
26
32
  }
27
33
  export async function runArchCredSet(options) {
28
- let repoRoot;
29
- try {
30
- repoRoot = getRepoRoot(options.cwd);
31
- validateCredentialSlot(options.slot);
32
- }
33
- catch (e) {
34
- logError(errorMessage(e));
35
- setExitCode(2);
36
- return;
37
- }
38
- let stdin;
39
- try {
40
- stdin = await readStdinCredentialPayload();
41
- }
42
- catch (e) {
43
- logError(errorMessage(e));
44
- setExitCode(2);
34
+ const repoRoot = resolveCredCommandRoot(options.cwd, options.slot);
35
+ if (repoRoot === null)
45
36
  return;
46
- }
47
- try {
37
+ await runAtCommandBoundaryAsync(2, async () => {
38
+ const stdin = await readStdinCredentialPayload();
48
39
  const values = parseCredentialValuesFromStdin(options.kind, stdin);
49
40
  writeArchitectureCredential(repoRoot, options.slot, options.kind, values);
50
41
  logInfo(`gantry arch cred: stored slot=${options.slot} kind=${options.kind}`);
51
- }
52
- catch (e) {
53
- logError(errorMessage(e));
54
- setExitCode(2);
55
- }
42
+ });
56
43
  }
57
44
  export function runArchCredUnset(options) {
58
- let repoRoot;
59
- try {
60
- repoRoot = getRepoRoot(options.cwd);
61
- validateCredentialSlot(options.slot);
62
- }
63
- catch (e) {
64
- logError(errorMessage(e));
65
- setExitCode(2);
45
+ const repoRoot = resolveCredCommandRoot(options.cwd, options.slot);
46
+ if (repoRoot === null)
66
47
  return;
67
- }
68
48
  if (!removeArchitectureCredential(repoRoot, options.slot)) {
69
49
  logError(`gantry arch cred: slot ${options.slot} not found`);
70
50
  setExitCode(2);
@@ -73,30 +53,16 @@ export function runArchCredUnset(options) {
73
53
  logInfo(`gantry arch cred: removed slot=${options.slot}`);
74
54
  }
75
55
  export function runArchCredStatus(options = {}) {
76
- let repoRoot;
77
- try {
78
- repoRoot = getRepoRoot(options.cwd);
79
- if (options.slot)
80
- validateCredentialSlot(options.slot);
81
- }
82
- catch (e) {
83
- logError(errorMessage(e));
84
- setExitCode(2);
56
+ const repoRoot = resolveCredCommandRoot(options.cwd, options.slot);
57
+ if (repoRoot === null)
85
58
  return;
86
- }
87
59
  logCredentialStatus(repoRoot, options.slot);
88
60
  }
89
61
  export async function runArchFetch(options = {}) {
90
- let repoRoot;
91
- try {
92
- repoRoot = getRepoRoot(options.cwd);
93
- }
94
- catch (e) {
95
- logError(e instanceof Error ? e.message.replace("gantry: ", "") : String(e));
96
- setExitCode(2);
62
+ const repoRoot = resolveRepoRootAtBoundary(options.cwd);
63
+ if (repoRoot === null)
97
64
  return;
98
- }
99
- try {
65
+ await runAtCommandBoundaryAsync(2, async () => {
100
66
  const result = await fetchExternalArchitecture({ repoRoot });
101
67
  if (options.json) {
102
68
  logInfo(JSON.stringify(result, null, 2));
@@ -111,29 +77,30 @@ export async function runArchFetch(options = {}) {
111
77
  }
112
78
  if (result.status === "fallback")
113
79
  setExitCode(1);
114
- }
115
- catch (e) {
116
- logError(errorMessage(e));
117
- setExitCode(2);
118
- }
80
+ });
119
81
  }
120
82
  export function runArchCheckCommand(options = {}) {
121
- let repoRoot;
122
- try {
123
- repoRoot = getRepoRoot(options.cwd);
124
- }
125
- catch (e) {
126
- logError(e instanceof Error ? e.message.replace("gantry: ", "") : String(e));
127
- setExitCode(2);
83
+ const repoRoot = resolveRepoRootAtBoundary(options.cwd);
84
+ if (repoRoot === null)
128
85
  return;
129
- }
130
- const files = options.files?.length ? options.files : [];
86
+ const label = options.label ?? "arch";
87
+ let files = options.files?.length ? options.files : [];
131
88
  if (files.length === 0) {
132
- logError("gantry arch check: pass one or more .ts file paths");
133
- setExitCode(2);
134
- return;
89
+ try {
90
+ const spec = loadTargetArchitecture(repoRoot);
91
+ files = walkPerimeterFiles(repoRoot, spec);
92
+ }
93
+ catch (e) {
94
+ reportCommandError(e);
95
+ return;
96
+ }
97
+ if (files.length === 0) {
98
+ logError(`gantry ${label} check: no files under scan_roots`);
99
+ setExitCode(2);
100
+ return;
101
+ }
135
102
  }
136
- try {
103
+ runAtCommandBoundary(2, () => {
137
104
  const { manifest } = loadWorkspace();
138
105
  const skill = manifest.skills.gantry ?? Object.values(manifest.skills)[0];
139
106
  const manifestTmvcRoots = skill?.tmvc_roots;
@@ -142,14 +109,10 @@ export function runArchCheckCommand(options = {}) {
142
109
  logInfo(JSON.stringify({ schema_version: 1, ok: result.ok, violations: result.violations }, null, 2));
143
110
  }
144
111
  else {
145
- logInfo(formatArchCheckHuman(result));
112
+ logInfo(formatArchCheckHuman(result, label));
146
113
  }
147
114
  if (!result.ok)
148
115
  setExitCode(1);
149
- }
150
- catch (e) {
151
- logError(errorMessage(e));
152
- setExitCode(2);
153
- }
116
+ });
154
117
  }
155
118
  //# sourceMappingURL=arch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arch.js","sourceRoot":"","sources":["../../../src/cli/commands/arch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arch.js","sourceRoot":"","sources":["../../../src/cli/commands/arch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AA6B3C,yFAAyF;AACzF,SAAS,sBAAsB,CAAC,GAAY,EAAE,IAAa;IACzD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAuB,EAAE;IACtD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE;QAC3B,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA2B;IAC9D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAE9B,MAAM,yBAAyB,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,MAAM,0BAA0B,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,8BAA8B,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnE,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1E,OAAO,CAAC,iCAAiC,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAA6B;IAC5D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,IAAI,CAAC,4BAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,QAAQ,CAAC,0BAA0B,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;QAC7D,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IACD,OAAO,CAAC,kCAAkC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAiC,EAAE;IACnE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAC9B,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAA4B,EAAE;IAC/D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAE9B,MAAM,yBAAyB,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;YAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAA4B,EAAE;IAChE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IACtC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAC9C,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,UAAU,KAAK,mCAAmC,CAAC,CAAC;YAC7D,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACT,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAAU,CAAC;QAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface BlueprintOptions {
2
+ yes?: boolean;
3
+ cwd?: string;
4
+ domain?: string;
5
+ }
6
+ export declare function runBlueprintCommand(options?: BlueprintOptions): Promise<void>;
7
+ //# sourceMappingURL=blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/blueprint.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkDD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvF"}
@@ -0,0 +1,69 @@
1
+ import { CLI_NAME } from "../lib/constants.js";
2
+ import { logInfo, setExitCode } from "../lib/cli-io.js";
3
+ import { reportCommandError, resolveRepoRootAtBoundary } from "../lib/command-boundary.js";
4
+ import { buildBlueprintQuestions, emitBlueprintArtifacts, runBlueprintDiscovery, } from "../lib/blueprint-engine.js";
5
+ async function runInterview(questions, yes) {
6
+ const answers = [];
7
+ const { select, text, isCancel } = await import("@clack/prompts");
8
+ for (const q of questions) {
9
+ if (yes) {
10
+ answers.push({
11
+ questionId: q.id,
12
+ choice: "enforce",
13
+ gateCommand: "npm test",
14
+ });
15
+ continue;
16
+ }
17
+ const choice = await select({
18
+ message: q.message,
19
+ options: [
20
+ { value: "enforce", label: "Yes — enforce strictly (add to TARGET_ARCHITECTURE.yaml)" },
21
+ { value: "warn", label: "No — warn only" },
22
+ { value: "legacy", label: "Legacy — flag as warning, don't block" },
23
+ ],
24
+ });
25
+ if (isCancel(choice)) {
26
+ setExitCode(1);
27
+ return [];
28
+ }
29
+ const gateCommand = await text({
30
+ message: `Verification command for ${q.ruleId} (e.g. npm run test:feature-x):`,
31
+ defaultValue: "npm test",
32
+ });
33
+ if (isCancel(gateCommand)) {
34
+ setExitCode(1);
35
+ return [];
36
+ }
37
+ answers.push({
38
+ questionId: q.id,
39
+ choice: choice,
40
+ gateCommand: String(gateCommand),
41
+ });
42
+ }
43
+ return answers;
44
+ }
45
+ export async function runBlueprintCommand(options = {}) {
46
+ const repoRoot = resolveRepoRootAtBoundary(options.cwd);
47
+ if (repoRoot === null)
48
+ return;
49
+ try {
50
+ const proposal = runBlueprintDiscovery(repoRoot, options.domain);
51
+ const questions = buildBlueprintQuestions(proposal, options.domain);
52
+ if (questions.length < 3) {
53
+ logInfo(`${CLI_NAME} blueprint: insufficient evidence-anchored questions (${questions.length}) — add source files`);
54
+ setExitCode(2);
55
+ return;
56
+ }
57
+ const answers = await runInterview(questions, options.yes === true);
58
+ if (answers.length === 0)
59
+ return;
60
+ const artifacts = emitBlueprintArtifacts(repoRoot, proposal, questions, answers, options.domain);
61
+ logInfo(`${CLI_NAME} blueprint: wrote ${artifacts.architectureMdPath}`);
62
+ logInfo(`${CLI_NAME} blueprint: wrote ${artifacts.targetArchitecturePath}`);
63
+ logInfo(`${CLI_NAME} blueprint: wrote ${artifacts.verificationPlanPath}`);
64
+ }
65
+ catch (e) {
66
+ reportCommandError(e);
67
+ }
68
+ }
69
+ //# sourceMappingURL=blueprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint.js","sourceRoot":"","sources":["../../../src/cli/commands/blueprint.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@ export interface InitOptions {
3
3
  yes?: boolean;
4
4
  dryRun?: boolean;
5
5
  tutorial?: boolean;
6
+ discover?: boolean;
7
+ discoverStdout?: boolean;
8
+ domain?: string;
6
9
  cwd?: string;
7
10
  ides?: string;
8
11
  docsPath?: string;
@@ -1 +1 @@
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;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAiKD,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AA4CA,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,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,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;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA0JD,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0EtE"}
@@ -1,14 +1,15 @@
1
1
  import path from "node:path";
2
2
  import fs from "node:fs";
3
3
  import { CLI_NAME, REL_ARCHITECTURE_POINTER, REL_MANIFEST } from "../lib/constants.js";
4
- import { logError, logInfo, logManagedAssetConflicts, setExitCode, errorMessage } from "../lib/cli-io.js";
5
- import { getRepoRoot } from "../lib/git.js";
4
+ import { logError, logInfo, logManagedAssetConflicts, setExitCode } from "../lib/cli-io.js";
5
+ import { reportCommandError, resolveRepoRootAtBoundary } from "../lib/command-boundary.js";
6
6
  import { isIntegrationIdeKey, loadIntegrationCompat, resolveTemplateRootFromModule, } from "../lib/integration-compat.js";
7
7
  import { resolveAssetsFromProfile } from "../lib/init-asset-catalog.js";
8
8
  import { composeArchitecturePointer, serializeArchitecturePointer, } from "../lib/init-compose.js";
9
9
  import { composeIntegrationsDoc, recipeFilesExist } from "../lib/init-compose.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 { isConfigJsonTarget, mergeDefensiveProfileIntoConfigBody, } from "../lib/init-defensive-profile.js";
12
13
  import { mergeGitignoreFromTemplate, mergePrettierignoreFromTemplate, } from "../lib/file-merge-gxt.js";
13
14
  import { ensureSubstrateVersionOnInit } from "../lib/substrate-version.js";
14
15
  import { ensurePlannerAllowlistOnInit } from "../lib/planner-identity.js";
@@ -37,32 +38,17 @@ async function resolveProfile(options, repoRoot, templatesRoot) {
37
38
  return mergeInitProfile(defaultInitProfile(), partial);
38
39
  }
39
40
  function loadInitWorkspace(options) {
40
- let repoRoot;
41
- try {
42
- repoRoot = getRepoRoot(options.cwd);
43
- }
44
- catch (e) {
45
- logError(e instanceof Error ? e.message.replace(`${CLI_NAME}: `, "") : String(e));
46
- setExitCode(2);
41
+ const repoRoot = resolveRepoRootAtBoundary(options.cwd);
42
+ if (repoRoot === null)
47
43
  return null;
48
- }
49
- let templatesRoot;
50
- try {
51
- templatesRoot = resolveTemplateRootFromModule();
52
- }
53
- catch (e) {
54
- logError(errorMessage(e));
55
- setExitCode(2);
56
- return null;
57
- }
58
44
  try {
45
+ const templatesRoot = resolveTemplateRootFromModule();
59
46
  const compat = loadIntegrationCompat(templatesRoot);
60
47
  recipeFilesExist(templatesRoot, compat);
61
48
  return { repoRoot, templatesRoot, compat };
62
49
  }
63
50
  catch (e) {
64
- logError(errorMessage(e));
65
- setExitCode(2);
51
+ reportCommandError(e);
66
52
  return null;
67
53
  }
68
54
  }
@@ -71,8 +57,7 @@ function validateInitProfile(profile, repoRoot, compat) {
71
57
  profile.integrationsDocPath = validateIntegrationsDocPath(repoRoot, profile.integrationsDocPath);
72
58
  }
73
59
  catch (e) {
74
- logError(errorMessage(e));
75
- setExitCode(2);
60
+ reportCommandError(e);
76
61
  return false;
77
62
  }
78
63
  for (const id of profile.ides) {
@@ -84,9 +69,17 @@ function validateInitProfile(profile, repoRoot, compat) {
84
69
  }
85
70
  return true;
86
71
  }
72
+ /** Profile-aware template transform: merges the chosen defensive preset into config.json. */
73
+ function initBodyTransformForProfile(profile) {
74
+ const preset = profile.defensiveProfilePreset;
75
+ if (!preset)
76
+ return undefined;
77
+ return (body, targetPath) => isConfigJsonTarget(targetPath) ? mergeDefensiveProfileIntoConfigBody(body, preset) : body;
78
+ }
87
79
  async function resolveInitAssetPlan(options, profile, assets, templatesRoot, repoRoot) {
80
+ const transformBody = initBodyTransformForProfile(profile);
88
81
  let force = options.force === true;
89
- let plan = planInitAssets(assets, templatesRoot, repoRoot, force, profile);
82
+ let plan = planInitAssets(assets, templatesRoot, repoRoot, force, transformBody);
90
83
  if (!plan.ok) {
91
84
  setExitCode(2);
92
85
  return null;
@@ -108,7 +101,7 @@ async function resolveInitAssetPlan(options, profile, assets, templatesRoot, rep
108
101
  return null;
109
102
  }
110
103
  force = true;
111
- plan = planInitAssets(assets, templatesRoot, repoRoot, force, profile);
104
+ plan = planInitAssets(assets, templatesRoot, repoRoot, force, transformBody);
112
105
  if (!plan.ok) {
113
106
  setExitCode(2);
114
107
  return null;
@@ -135,6 +128,18 @@ export async function runInit(options = {}) {
135
128
  if (!workspace)
136
129
  return;
137
130
  const { repoRoot, templatesRoot, compat } = workspace;
131
+ if (options.discover === true) {
132
+ const { runInitDiscoverFlow } = await import("../lib/init-discover.js");
133
+ await runInitDiscoverFlow(repoRoot, {
134
+ yes: options.yes,
135
+ stdout: options.discoverStdout,
136
+ domain: options.domain,
137
+ });
138
+ if (!options.discoverStdout) {
139
+ logInfo(`${CLI_NAME} init: discovery complete — run init without --discover to scaffold substrate`);
140
+ }
141
+ return;
142
+ }
138
143
  if (options.tutorial === true &&
139
144
  !options.dryRun &&
140
145
  !options.force &&
@@ -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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"}
@@ -7,7 +7,7 @@ import { integrationOnboardingBlockers } from "../lib/doctor-integration.js";
7
7
  import { resolveTemplateRootFromModule } from "../lib/integration-compat.js";
8
8
  import { loadWorkspace } from "../lib/workspace.js";
9
9
  import { runStartOrchestration } from "../lib/start-orchestration.js";
10
- import { runVerifyCore } from "../lib/verify-presentation.js";
10
+ import { runVerifyCore } from "../lib/verify-run.js";
11
11
  const EXAMPLE_MISSION = ".gitagent/missions/example.verify.yaml";
12
12
  function integrationBlockers(repoRoot) {
13
13
  const templatesRoot = resolveTemplateRootFromModule();
@@ -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":"perimeter.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/perimeter.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAWD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAmC5D"}
1
+ {"version":3,"file":"perimeter.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/perimeter.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAWD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAgC5D"}
@@ -1,5 +1,6 @@
1
1
  import { checkPerimeter } from "../lib/perimeter.js";
2
2
  import { logError, logInfo, logWarn, setExitCode } from "../lib/cli-io.js";
3
+ import { runAtCommandBoundary } from "../lib/command-boundary.js";
3
4
  import { gitRevParse } from "../lib/git.js";
4
5
  import { loadWorkspace } from "../lib/workspace.js";
5
6
  function resolveBaseRef(root, baseRef) {
@@ -14,7 +15,7 @@ function resolveBaseRef(root, baseRef) {
14
15
  return "HEAD~1";
15
16
  }
16
17
  export function runPerimeter(options) {
17
- try {
18
+ runAtCommandBoundary(1, () => {
18
19
  const { root, manifest } = loadWorkspace();
19
20
  const baseRef = resolveBaseRef(root, options.baseRef);
20
21
  const result = checkPerimeter(root, manifest, { baseRef, ci: options.ci === true });
@@ -41,10 +42,6 @@ export function runPerimeter(options) {
41
42
  else {
42
43
  logInfo("gantry perimeter: OK");
43
44
  }
44
- }
45
- catch (e) {
46
- logError(e instanceof Error ? e.message : String(e));
47
- setExitCode(1);
48
- }
45
+ });
49
46
  }
50
47
  //# sourceMappingURL=perimeter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"perimeter.js","sourceRoot":"","sources":["../../../src/cli/commands/perimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,SAAS,cAAc,CAAC,IAAY,EAAE,OAAgB;IACpD,IAAI,OAAO,EAAE,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI,UAAU;QAAE,OAAO,aAAa,CAAC;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAyB;IACpD,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAEpF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAyB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACxD,OAAO,CAAC,iEAAiE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"perimeter.js","sourceRoot":"","sources":["../../../src/cli/commands/perimeter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,SAAS,cAAc,CAAC,IAAY,EAAE,OAAgB;IACpD,IAAI,OAAO,EAAE,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI,UAAU;QAAE,OAAO,aAAa,CAAC;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAyB;IACpD,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAEpF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAyB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACpF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACxD,OAAO,CAAC,iEAAiE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/planner.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAwBrE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAoB9D"}
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/planner.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAkBrE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAc9D"}
@@ -1,17 +1,11 @@
1
- import { getRepoRoot } from "../lib/git.js";
2
1
  import { logError, logInfo, setExitCode } from "../lib/cli-io.js";
2
+ import { resolveRepoRootAtBoundary } from "../lib/command-boundary.js";
3
3
  import { CLI_NAME } from "../lib/constants.js";
4
4
  import { REL_PLANNER_ALLOWLIST_LOCAL, resolvePlannerEmails, writePlannerAllowlistLocal, } from "../lib/planner-identity.js";
5
5
  export function runPlannerShow(options = {}) {
6
- let repoRoot;
7
- try {
8
- repoRoot = getRepoRoot(options.cwd);
9
- }
10
- catch (e) {
11
- logError(e instanceof Error ? e.message.replace(`${CLI_NAME}: `, "") : String(e));
12
- setExitCode(2);
6
+ const repoRoot = resolveRepoRootAtBoundary(options.cwd);
7
+ if (repoRoot === null)
13
8
  return;
14
- }
15
9
  const resolved = resolvePlannerEmails(repoRoot);
16
10
  if (options.json) {
17
11
  console.log(JSON.stringify({ ...resolved, repo_root: repoRoot }, null, 2));
@@ -26,15 +20,9 @@ export function runPlannerShow(options = {}) {
26
20
  logInfo(` source: ${resolved.detail} (${resolved.source})`);
27
21
  }
28
22
  export function runPlannerSet(options) {
29
- let repoRoot;
30
- try {
31
- repoRoot = getRepoRoot(options.cwd);
32
- }
33
- catch (e) {
34
- logError(e instanceof Error ? e.message.replace(`${CLI_NAME}: `, "") : String(e));
35
- setExitCode(2);
23
+ const repoRoot = resolveRepoRootAtBoundary(options.cwd);
24
+ if (repoRoot === null)
36
25
  return;
37
- }
38
26
  const emails = options.emails.flatMap((e) => e.split(",")).map((e) => e.trim()).filter(Boolean);
39
27
  if (emails.length === 0) {
40
28
  logError(`${CLI_NAME} planner set: provide at least one email`);
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/cli/commands/planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAYpC,MAAM,UAAU,cAAc,CAAC,UAA8B,EAAE;IAC7D,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,QAAQ,mCAAmC,CAAC,CAAC;QACxD,OAAO,CAAC,sDAAsD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,aAAa,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,aAAa,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA0B;IACtD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,GAAG,QAAQ,0CAA0C,CAAC,CAAC;QAChE,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,QAAQ,mBAAmB,2BAA2B,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/cli/commands/planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAYpC,MAAM,UAAU,cAAc,CAAC,UAA8B,EAAE;IAC7D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAE9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,QAAQ,mCAAmC,CAAC,CAAC;QACxD,OAAO,CAAC,sDAAsD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,aAAa,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,aAAa,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA0B;IACtD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChG,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,GAAG,QAAQ,0CAA0C,CAAC,CAAC;QAChE,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,QAAQ,mBAAmB,2BAA2B,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC"}