@jeger-ai/opengantry 2.4.0 → 2.6.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 (129) hide show
  1. package/README.md +7 -3
  2. package/dist/cli/commands/arch.d.ts.map +1 -1
  3. package/dist/cli/commands/arch.js +5 -1
  4. package/dist/cli/commands/arch.js.map +1 -1
  5. package/dist/cli/commands/init.d.ts +2 -0
  6. package/dist/cli/commands/init.d.ts.map +1 -1
  7. package/dist/cli/commands/init.js +4 -4
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/dist/cli/lib/cli-io.d.ts +2 -0
  10. package/dist/cli/lib/cli-io.d.ts.map +1 -1
  11. package/dist/cli/lib/cli-io.js +14 -0
  12. package/dist/cli/lib/cli-io.js.map +1 -1
  13. package/dist/cli/lib/command-reporter.d.ts.map +1 -1
  14. package/dist/cli/lib/command-reporter.js +10 -0
  15. package/dist/cli/lib/command-reporter.js.map +1 -1
  16. package/dist/cli/lib/defensive-guard.d.ts +27 -0
  17. package/dist/cli/lib/defensive-guard.d.ts.map +1 -0
  18. package/dist/cli/lib/defensive-guard.js +305 -0
  19. package/dist/cli/lib/defensive-guard.js.map +1 -0
  20. package/dist/cli/lib/defensive-profile-presets.d.ts +10 -0
  21. package/dist/cli/lib/defensive-profile-presets.d.ts.map +1 -0
  22. package/dist/cli/lib/defensive-profile-presets.js +76 -0
  23. package/dist/cli/lib/defensive-profile-presets.js.map +1 -0
  24. package/dist/cli/lib/defensive-profile.d.ts +60 -0
  25. package/dist/cli/lib/defensive-profile.d.ts.map +1 -0
  26. package/dist/cli/lib/defensive-profile.js +178 -0
  27. package/dist/cli/lib/defensive-profile.js.map +1 -0
  28. package/dist/cli/lib/doctor-core.d.ts.map +1 -1
  29. package/dist/cli/lib/doctor-core.js +2 -0
  30. package/dist/cli/lib/doctor-core.js.map +1 -1
  31. package/dist/cli/lib/gate.d.ts +5 -0
  32. package/dist/cli/lib/gate.d.ts.map +1 -1
  33. package/dist/cli/lib/gate.js +5 -0
  34. package/dist/cli/lib/gate.js.map +1 -1
  35. package/dist/cli/lib/gxt-config.d.ts +2 -0
  36. package/dist/cli/lib/gxt-config.d.ts.map +1 -1
  37. package/dist/cli/lib/gxt-config.js +6 -1
  38. package/dist/cli/lib/gxt-config.js.map +1 -1
  39. package/dist/cli/lib/gxt-error-codes.d.ts +1 -0
  40. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  41. package/dist/cli/lib/gxt-error-codes.js +1 -0
  42. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  43. package/dist/cli/lib/init-defensive-profile.d.ts +5 -0
  44. package/dist/cli/lib/init-defensive-profile.d.ts.map +1 -0
  45. package/dist/cli/lib/init-defensive-profile.js +14 -0
  46. package/dist/cli/lib/init-defensive-profile.js.map +1 -0
  47. package/dist/cli/lib/init-interactive.d.ts.map +1 -1
  48. package/dist/cli/lib/init-interactive.js +34 -0
  49. package/dist/cli/lib/init-interactive.js.map +1 -1
  50. package/dist/cli/lib/init-plan.d.ts +1 -1
  51. package/dist/cli/lib/init-plan.d.ts.map +1 -1
  52. package/dist/cli/lib/init-plan.js +6 -2
  53. package/dist/cli/lib/init-plan.js.map +1 -1
  54. package/dist/cli/lib/init-profile.d.ts +5 -0
  55. package/dist/cli/lib/init-profile.d.ts.map +1 -1
  56. package/dist/cli/lib/init-profile.js +9 -0
  57. package/dist/cli/lib/init-profile.js.map +1 -1
  58. package/dist/cli/lib/kpi-scan.js +1 -1
  59. package/dist/cli/lib/kpi-scan.js.map +1 -1
  60. package/dist/cli/lib/program-stdin.d.ts +1 -2
  61. package/dist/cli/lib/program-stdin.d.ts.map +1 -1
  62. package/dist/cli/lib/program-stdin.js +1 -14
  63. package/dist/cli/lib/program-stdin.js.map +1 -1
  64. package/dist/cli/lib/target-architecture-doctor.d.ts +4 -0
  65. package/dist/cli/lib/target-architecture-doctor.d.ts.map +1 -0
  66. package/dist/cli/lib/target-architecture-doctor.js +32 -0
  67. package/dist/cli/lib/target-architecture-doctor.js.map +1 -0
  68. package/dist/cli/lib/target-architecture.d.ts +19 -4
  69. package/dist/cli/lib/target-architecture.d.ts.map +1 -1
  70. package/dist/cli/lib/target-architecture.js +87 -9
  71. package/dist/cli/lib/target-architecture.js.map +1 -1
  72. package/dist/cli/lib/verify-defensive-phase.d.ts +20 -0
  73. package/dist/cli/lib/verify-defensive-phase.d.ts.map +1 -0
  74. package/dist/cli/lib/verify-defensive-phase.js +44 -0
  75. package/dist/cli/lib/verify-defensive-phase.js.map +1 -0
  76. package/dist/cli/lib/verify-engine.d.ts +8 -1
  77. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  78. package/dist/cli/lib/verify-engine.js +46 -22
  79. package/dist/cli/lib/verify-engine.js.map +1 -1
  80. package/dist/cli/lib/verify-failure-normalize-phases.d.ts +1 -0
  81. package/dist/cli/lib/verify-failure-normalize-phases.d.ts.map +1 -1
  82. package/dist/cli/lib/verify-failure-normalize-phases.js +14 -0
  83. package/dist/cli/lib/verify-failure-normalize-phases.js.map +1 -1
  84. package/dist/cli/lib/verify-failure-normalize.d.ts.map +1 -1
  85. package/dist/cli/lib/verify-failure-normalize.js +3 -1
  86. package/dist/cli/lib/verify-failure-normalize.js.map +1 -1
  87. package/dist/cli/lib/verify-hints.d.ts +1 -0
  88. package/dist/cli/lib/verify-hints.d.ts.map +1 -1
  89. package/dist/cli/lib/verify-hints.js +14 -0
  90. package/dist/cli/lib/verify-hints.js.map +1 -1
  91. package/dist/cli/lib/verify-payload-types.d.ts +2 -0
  92. package/dist/cli/lib/verify-payload-types.d.ts.map +1 -1
  93. package/dist/cli/lib/verify-payload.d.ts.map +1 -1
  94. package/dist/cli/lib/verify-payload.js +6 -0
  95. package/dist/cli/lib/verify-payload.js.map +1 -1
  96. package/dist/cli/lib/verify-presentation.d.ts +2 -2
  97. package/dist/cli/lib/verify-presentation.d.ts.map +1 -1
  98. package/dist/cli/lib/verify-presentation.js +1 -1
  99. package/dist/cli/lib/verify-presentation.js.map +1 -1
  100. package/dist/cli/lib/verify-presenters.d.ts +2 -0
  101. package/dist/cli/lib/verify-presenters.d.ts.map +1 -1
  102. package/dist/cli/lib/verify-presenters.js +11 -0
  103. package/dist/cli/lib/verify-presenters.js.map +1 -1
  104. package/dist/cli/lib/verify-run.d.ts +1 -1
  105. package/dist/cli/lib/verify-run.d.ts.map +1 -1
  106. package/dist/cli/lib/verify-run.js +1 -1
  107. package/dist/cli/lib/verify-run.js.map +1 -1
  108. package/dist/cli/lib/version.gen.d.ts +1 -1
  109. package/dist/cli/lib/version.gen.js +1 -1
  110. package/dist/cli/program-core.d.ts.map +1 -1
  111. package/dist/cli/program-core.js +2 -0
  112. package/dist/cli/program-core.js.map +1 -1
  113. package/dist/cli/program.js +1 -1
  114. package/dist/cli/program.js.map +1 -1
  115. package/package.json +1 -1
  116. package/templates/.gitagent/config.json +21 -0
  117. package/templates/.gitagent/foreman/SUBSTRATE.version.json +1 -1
  118. package/templates/.githooks/pre-commit +3 -3
  119. package/templates/TARGET_ARCHITECTURE.yaml +20 -0
  120. package/templates/integrations/asset-catalog.json +2 -1
  121. package/templates/integrations/compatibility.json +1 -1
  122. package/dist/cli/lib/gate-work-dir.d.ts +0 -6
  123. package/dist/cli/lib/gate-work-dir.d.ts.map +0 -1
  124. package/dist/cli/lib/gate-work-dir.js +0 -6
  125. package/dist/cli/lib/gate-work-dir.js.map +0 -1
  126. package/dist/cli/lib/verify-sinks.d.ts +0 -4
  127. package/dist/cli/lib/verify-sinks.d.ts.map +0 -1
  128. package/dist/cli/lib/verify-sinks.js +0 -13
  129. package/dist/cli/lib/verify-sinks.js.map +0 -1
@@ -2,6 +2,7 @@ import * as p from "@clack/prompts";
2
2
  import { INTEGRATION_IDE_KEYS, integrationWizardLabel, loadIntegrationCompat, } from "./integration-compat.js";
3
3
  import { defaultInitProfile, mergeInitProfile, } from "./init-profile.js";
4
4
  import { defaultArchitectureLocation } from "./init-compose.js";
5
+ import { DEFENSIVE_PROFILE_PRESET_LABELS, DEFENSIVE_PROFILE_PRESET_NAMES, } from "./defensive-profile-presets.js";
5
6
  function wizardCancelled(value) {
6
7
  return p.isCancel(value);
7
8
  }
@@ -101,6 +102,29 @@ async function promptInitArchitecture(partial, base) {
101
102
  architectureAccessRequired,
102
103
  };
103
104
  }
105
+ async function promptDefensiveProfile(partial) {
106
+ const choice = await p.select({
107
+ message: "Defensive profile baseline",
108
+ options: [
109
+ { value: "skip", label: "Skip — keep template defaults (disabled)" },
110
+ ...DEFENSIVE_PROFILE_PRESET_NAMES.map((value) => ({
111
+ value,
112
+ label: DEFENSIVE_PROFILE_PRESET_LABELS[value],
113
+ })),
114
+ ],
115
+ initialValue: partial.defensiveProfilePreset === null
116
+ ? "skip"
117
+ : (partial.defensiveProfilePreset ?? "balanced_partner"),
118
+ });
119
+ if (wizardCancelled(choice)) {
120
+ p.cancel("init cancelled");
121
+ return null;
122
+ }
123
+ if (choice === "skip") {
124
+ return { defensiveProfilePreset: null };
125
+ }
126
+ return { defensiveProfilePreset: choice };
127
+ }
104
128
  async function promptInitInfrastructure(partial, base) {
105
129
  const skills = await p.select({
106
130
  message: "Skills preset",
@@ -146,6 +170,11 @@ export async function runInitInteractiveWizard(repoRoot, templatesRoot, partial)
146
170
  const architecture = await promptInitArchitecture(partial, base);
147
171
  if (!architecture)
148
172
  return null;
173
+ const defensive = partial.defensiveProfilePreset !== undefined
174
+ ? { defensiveProfilePreset: partial.defensiveProfilePreset }
175
+ : await promptDefensiveProfile(partial);
176
+ if (!defensive)
177
+ return null;
149
178
  const infrastructure = await promptInitInfrastructure(partial, base);
150
179
  if (!infrastructure)
151
180
  return null;
@@ -153,12 +182,17 @@ export async function runInitInteractiveWizard(repoRoot, templatesRoot, partial)
153
182
  ...partial,
154
183
  ...integrations,
155
184
  ...architecture,
185
+ ...defensive,
156
186
  ...infrastructure,
157
187
  });
188
+ const defensiveLine = profile.defensiveProfilePreset == null
189
+ ? "Defensive profile: disabled (template default)"
190
+ : `Defensive profile: ${profile.defensiveProfilePreset}`;
158
191
  p.note([
159
192
  `IDEs: ${profile.ides.join(", ")}`,
160
193
  `Doc: ${profile.integrationsDocPath}`,
161
194
  `Architecture: ${profile.architectureSource}${profile.architectureLocation ? ` → ${profile.architectureLocation}` : ""}`,
195
+ defensiveLine,
162
196
  `Skills: ${profile.skillsPreset}`,
163
197
  `Hooks: ${profile.gitHooks ? "yes" : "no"}`,
164
198
  `CI: ${profile.ciWorkflow ? "yes" : "no"}`,
@@ -1 +1 @@
1
- {"version":3,"file":"init-interactive.js","sourceRoot":"","sources":["../../../src/cli/lib/init-interactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-interactive.js","sourceRoot":"","sources":["../../../src/cli/lib/init-interactive.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface InitPlanResult {
13
13
  unchanged: string[];
14
14
  conflicts: string[];
15
15
  }
16
- export declare function planInitAssets(assets: (InitAsset | InitAssetSpec)[], templatesRoot: string, repoRoot: string, force: boolean): InitPlanResult;
16
+ export declare function planInitAssets(assets: (InitAsset | InitAssetSpec)[], templatesRoot: string, repoRoot: string, force: boolean, profile?: InitProfile): InitPlanResult;
17
17
  export declare function applyInitWrites(writes: PlannedWrite[]): void;
18
18
  export declare function logInitSummary(writes: PlannedWrite[], skippedUserMutable: string[], unchanged: string[]): void;
19
19
  export declare function logInitNextSteps(profile?: InitProfile): void;
@@ -1 +1 @@
1
- {"version":3,"file":"init-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/init-plan.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,CAAC,SAAS,GAAG,aAAa,CAAC,EAAE,EACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,GACb,cAAc,CAwChB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAM5D;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EAAE,EACtB,kBAAkB,EAAE,MAAM,EAAE,EAC5B,SAAS,EAAE,MAAM,EAAE,GAClB,IAAI,CAQN;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAgB5D"}
1
+ {"version":3,"file":"init-plan.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/init-plan.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,CAAC,SAAS,GAAG,aAAa,CAAC,EAAE,EACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CA4ChB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAM5D;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EAAE,EACtB,kBAAkB,EAAE,MAAM,EAAE,EAC5B,SAAS,EAAE,MAAM,EAAE,GAClB,IAAI,CAQN;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAgB5D"}
@@ -5,7 +5,8 @@ import { logError, logInfo } from "./cli-io.js";
5
5
  import { audienceSectionTitle, filterTaggedStepsForAudience, formatAudienceNextStep, INIT_TAGGED_NEXT_STEPS, } from "./audience-output.js";
6
6
  import { getOutputAudience } from "./output-context.js";
7
7
  import { templatePathForAsset } from "./init-asset-catalog.js";
8
- export function planInitAssets(assets, templatesRoot, repoRoot, force) {
8
+ import { isConfigJsonTarget, mergeDefensiveProfileIntoConfigBody, } from "./init-defensive-profile.js";
9
+ export function planInitAssets(assets, templatesRoot, repoRoot, force, profile) {
9
10
  const writes = [];
10
11
  const conflicts = [];
11
12
  const skippedUserMutable = [];
@@ -21,7 +22,10 @@ export function planInitAssets(assets, templatesRoot, repoRoot, force) {
21
22
  logError(`init: missing template for ${asset.targetPath} at ${templateAbs}`);
22
23
  return { ok: false, writes, skippedUserMutable, unchanged, conflicts };
23
24
  }
24
- const body = fs.readFileSync(templateAbs, "utf8");
25
+ const bodyRaw = fs.readFileSync(templateAbs, "utf8");
26
+ const body = profile?.defensiveProfilePreset && isConfigJsonTarget(asset.targetPath)
27
+ ? mergeDefensiveProfileIntoConfigBody(bodyRaw, profile.defensiveProfilePreset)
28
+ : bodyRaw;
25
29
  const existing = fs.existsSync(targetAbs) ? fs.readFileSync(targetAbs, "utf8") : null;
26
30
  if (existing === null) {
27
31
  writes.push({ absoluteTarget: targetAbs, body, executable: asset.executable === true });
@@ -1 +1 @@
1
- {"version":3,"file":"init-plan.js","sourceRoot":"","sources":["../../../src/cli/lib/init-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-plan.js","sourceRoot":"","sources":["../../../src/cli/lib/init-plan.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { IntegrationIdeKey } from "./integration-compat.js";
2
+ import { type DefensiveProfilePresetName } from "./defensive-profile-presets.js";
2
3
  export type SkillsPreset = "minimal" | "specimen";
3
4
  /** Where code architecture docs live — unset means agents must ask before implementing. */
4
5
  export type ArchitectureSourceKind = "unset" | "file" | "directory" | "external";
@@ -13,6 +14,8 @@ export interface InitProfile {
13
14
  architectureAccessRequired?: boolean;
14
15
  architectureCredentialSlot?: string;
15
16
  architectureAuthHint?: string;
17
+ /** Selected defensive profile preset; undefined = prompt/default, null = explicit skip */
18
+ defensiveProfilePreset?: DefensiveProfilePresetName | null;
16
19
  }
17
20
  export declare const DEFAULT_INTEGRATIONS_DOC_PATH = "docs/INTEGRATIONS.md";
18
21
  export declare function defaultInitProfile(): InitProfile;
@@ -29,6 +32,8 @@ export declare function profileFromCliFlags(opts: {
29
32
  noCi?: boolean;
30
33
  archSource?: string;
31
34
  archLocation?: string;
35
+ defensiveProfile?: string;
36
+ noDefensiveProfile?: boolean;
32
37
  }): Partial<InitProfile>;
33
38
  export declare function mergeInitProfile(base: InitProfile, partial: Partial<InitProfile>): InitProfile;
34
39
  export declare function hasFullCliProfile(partial: Partial<InitProfile>): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"init-profile.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/init-profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElD,2FAA2F;AAC3F,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AAEpE,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAK3E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAO7D;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUrF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,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,GAAG,OAAO,CAAC,WAAW,CAAC,CAYvB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAa9F;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAQxE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/B,GAAG,OAAO,CAKV"}
1
+ {"version":3,"file":"init-profile.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/init-profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElD,2FAA2F;AAC3F,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,iBAAiB,EAAE,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,sBAAsB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAC5D;AAED,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AAEpE,wBAAgB,kBAAkB,IAAI,WAAW,CAShD;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAK3E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAO7D;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUrF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,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,GAAG,OAAO,CAAC,WAAW,CAAC,CAgBvB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAiB9F;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAQxE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/B,GAAG,OAAO,CAKV"}
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import { parseDefensiveProfilePreset, } from "./defensive-profile-presets.js";
2
3
  export const DEFAULT_INTEGRATIONS_DOC_PATH = "docs/INTEGRATIONS.md";
3
4
  export function defaultInitProfile() {
4
5
  return {
@@ -58,6 +59,11 @@ export function profileFromCliFlags(opts) {
58
59
  partial.architectureSource = parseArchitectureSource(opts.archSource);
59
60
  if (opts.archLocation)
60
61
  partial.architectureLocation = opts.archLocation.replace(/\\/g, "/");
62
+ if (opts.noDefensiveProfile)
63
+ partial.defensiveProfilePreset = null;
64
+ else if (opts.defensiveProfile) {
65
+ partial.defensiveProfilePreset = parseDefensiveProfilePreset(opts.defensiveProfile);
66
+ }
61
67
  return partial;
62
68
  }
63
69
  export function mergeInitProfile(base, partial) {
@@ -72,6 +78,9 @@ export function mergeInitProfile(base, partial) {
72
78
  architectureAccessRequired: partial.architectureAccessRequired ?? base.architectureAccessRequired,
73
79
  architectureCredentialSlot: partial.architectureCredentialSlot ?? base.architectureCredentialSlot,
74
80
  architectureAuthHint: partial.architectureAuthHint ?? base.architectureAuthHint,
81
+ defensiveProfilePreset: partial.defensiveProfilePreset !== undefined
82
+ ? partial.defensiveProfilePreset
83
+ : base.defensiveProfilePreset,
75
84
  };
76
85
  }
77
86
  export function hasFullCliProfile(partial) {
@@ -1 +1 @@
1
- {"version":3,"file":"init-profile.js","sourceRoot":"","sources":["../../../src/cli/lib/init-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-profile.js","sourceRoot":"","sources":["../../../src/cli/lib/init-profile.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import path from "node:path";
3
3
  import { DEFAULT_KPI_REPORT_DIR } from "./constants.js";
4
4
  import { runGate } from "./gate.js";
5
5
  import { assertKpiReportSchemaValid } from "./kpi-engine.js";
6
- import { resolveGateWorkDir } from "./gate-work-dir.js";
6
+ import { resolveGateWorkDir } from "./gate.js";
7
7
  function namespaceMetrics(verifierId, metrics) {
8
8
  const namespaced = {};
9
9
  for (const [key, value] of Object.entries(metrics)) {
@@ -1 +1 @@
1
- {"version":3,"file":"kpi-scan.js","sourceRoot":"","sources":["../../../src/cli/lib/kpi-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kpi-scan.js","sourceRoot":"","sources":["../../../src/cli/lib/kpi-scan.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- /** Shared stdin drain for Commander commands that accept piped intent text. */
2
- export declare function readStdinIfEmpty(text: string): Promise<string>;
1
+ export { readStdinIfEmpty } from "./cli-io.js";
3
2
  //# sourceMappingURL=program-stdin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"program-stdin.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/program-stdin.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9D"}
1
+ {"version":3,"file":"program-stdin.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/program-stdin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,15 +1,2 @@
1
- /** Shared stdin drain for Commander commands that accept piped intent text. */
2
- export function readStdinIfEmpty(text) {
3
- if (text.trim())
4
- return Promise.resolve(text);
5
- return new Promise((resolve, reject) => {
6
- let data = "";
7
- process.stdin.setEncoding("utf8");
8
- process.stdin.on("data", (chunk) => {
9
- data += chunk;
10
- });
11
- process.stdin.on("end", () => resolve(data.trim()));
12
- process.stdin.on("error", reject);
13
- });
14
- }
1
+ export { readStdinIfEmpty } from "./cli-io.js";
15
2
  //# sourceMappingURL=program-stdin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program-stdin.js","sourceRoot":"","sources":["../../../src/cli/lib/program-stdin.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"program-stdin.js","sourceRoot":"","sources":["../../../src/cli/lib/program-stdin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DoctorLine } from "./doctor-types.js";
2
+ /** Deterministic TARGET_ARCHITECTURE.yaml presence/parse/schema checks (no network). */
3
+ export declare function runTargetArchitectureDoctorChecks(root: string): DoctorLine[];
4
+ //# sourceMappingURL=target-architecture-doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-architecture-doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpD,wFAAwF;AACxF,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CA2B5E"}
@@ -0,0 +1,32 @@
1
+ import { TARGET_ARCHITECTURE_FILENAME, loadTargetArchitecture, targetArchitectureMigrationHint, } from "./target-architecture.js";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ /** Deterministic TARGET_ARCHITECTURE.yaml presence/parse/schema checks (no network). */
5
+ export function runTargetArchitectureDoctorChecks(root) {
6
+ const lines = [];
7
+ const abs = path.join(root, TARGET_ARCHITECTURE_FILENAME);
8
+ if (!fs.existsSync(abs)) {
9
+ lines.push({
10
+ level: "warn",
11
+ message: `${TARGET_ARCHITECTURE_FILENAME} missing — run gantry init or add scaffold from templates/TARGET_ARCHITECTURE.yaml`,
12
+ });
13
+ return lines;
14
+ }
15
+ try {
16
+ const spec = loadTargetArchitecture(root);
17
+ lines.push({
18
+ level: "ok",
19
+ message: `${TARGET_ARCHITECTURE_FILENAME} present (schema ${spec.schema_version})`,
20
+ });
21
+ const hint = targetArchitectureMigrationHint(spec.schema_version);
22
+ if (hint) {
23
+ lines.push({ level: "warn", message: hint });
24
+ }
25
+ }
26
+ catch (e) {
27
+ const message = e instanceof Error ? e.message : String(e);
28
+ lines.push({ level: "fail", message: `${TARGET_ARCHITECTURE_FILENAME}: ${message}` });
29
+ }
30
+ return lines;
31
+ }
32
+ //# sourceMappingURL=target-architecture-doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-architecture-doctor.js","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture-doctor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,wFAAwF;AACxF,MAAM,UAAU,iCAAiC,CAAC,IAAY;IAC5D,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,GAAG,4BAA4B,oFAAoF;SAC7H,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,GAAG,4BAA4B,oBAAoB,IAAI,CAAC,cAAc,GAAG;SACnF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,4BAA4B,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,5 +1,8 @@
1
1
  export declare const TARGET_ARCHITECTURE_FILENAME: "TARGET_ARCHITECTURE.yaml";
2
- export declare const TARGET_ARCHITECTURE_SCHEMA_VERSION: "0.1.0";
2
+ export declare const TARGET_ARCHITECTURE_SCHEMA_VERSION: "0.2.0";
3
+ export declare const TARGET_ARCHITECTURE_LEGACY_SCHEMA_VERSION: "0.1.0";
4
+ export declare const SUPPORTED_TARGET_ARCHITECTURE_SCHEMA_VERSIONS: readonly ["0.1.0", "0.2.0"];
5
+ export type TargetArchitectureSchemaVersion = (typeof SUPPORTED_TARGET_ARCHITECTURE_SCHEMA_VERSIONS)[number];
3
6
  export interface ArchLayerSpec {
4
7
  id: string;
5
8
  globs: string[];
@@ -12,7 +15,11 @@ export interface ArchRuleSpec {
12
15
  forbid_resolved_path_substring?: string;
13
16
  }
14
17
  export interface TargetArchitectureSpec {
15
- schema_version: string;
18
+ schema_version: TargetArchitectureSchemaVersion;
19
+ /** Explicit scan roots (schema 0.2.0+). When absent, derived from layer globs. */
20
+ scan_roots?: string[];
21
+ /** Supported languages for boundary checks (default: typescript). */
22
+ languages?: string[];
16
23
  layers: ArchLayerSpec[];
17
24
  rules: ArchRuleSpec[];
18
25
  }
@@ -29,9 +36,17 @@ export interface ArchCheckResult {
29
36
  violations: ArchBoundaryViolation[];
30
37
  }
31
38
  export declare function layerForFile(spec: TargetArchitectureSpec, repoRel: string): string;
39
+ export declare function isLegacyTargetArchitectureSchema(version: string): boolean;
40
+ export declare function targetArchitectureMigrationHint(version: string): string | null;
41
+ /** Derive scan roots from spec layers or optional manifest TMVC fallback. */
42
+ export declare function resolveArchScanRoots(spec: TargetArchitectureSpec, manifestTmvcRoots?: readonly string[]): string[];
32
43
  export declare function validateTargetArchitecture(raw: unknown): TargetArchitectureSpec;
33
44
  export declare function loadTargetArchitecture(repoRoot: string): TargetArchitectureSpec;
34
- export declare function checkArchBoundariesForFiles(spec: TargetArchitectureSpec, repoRoot: string, files: readonly string[]): ArchCheckResult;
35
- export declare function runArchCheck(repoRoot: string, files: readonly string[]): ArchCheckResult;
45
+ export declare function checkArchBoundariesForFiles(spec: TargetArchitectureSpec, repoRoot: string, files: readonly string[], options?: {
46
+ manifestTmvcRoots?: readonly string[];
47
+ }): ArchCheckResult;
48
+ export declare function runArchCheck(repoRoot: string, files: readonly string[], options?: {
49
+ manifestTmvcRoots?: readonly string[];
50
+ }): ArchCheckResult;
36
51
  export declare function formatArchCheckHuman(result: ArchCheckResult): string;
37
52
  //# sourceMappingURL=target-architecture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"target-architecture.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,4BAA4B,EAAG,0BAAmC,CAAC;AAChF,eAAO,MAAM,kCAAkC,EAAG,OAAgB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAYD,wBAAgB,YAAY,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlF;AAiBD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAqD/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAO/E;AAcD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,eAAe,CAqCjB;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe,CAMxF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAQpE"}
1
+ {"version":3,"file":"target-architecture.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/target-architecture.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,4BAA4B,EAAG,0BAAmC,CAAC;AAChF,eAAO,MAAM,kCAAkC,EAAG,OAAgB,CAAC;AACnE,eAAO,MAAM,yCAAyC,EAAG,OAAgB,CAAC;AAC1E,eAAO,MAAM,6CAA6C,6BAGhD,CAAC;AAEX,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,6CAA6C,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,+BAA+B,CAAC;IAChD,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAgBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQlF;AAgDD,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9E;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,sBAAsB,EAC5B,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,GACpC,MAAM,EAAE,CAaV;AAkBD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAyD/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAO/E;AAcD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GACtD,eAAe,CAwCjB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAO,GACtD,eAAe,CAMjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAQpE"}
@@ -6,7 +6,12 @@ import { toPosixRel } from "./cli-io.js";
6
6
  import { normalizeRepoRelativePath } from "./tmvc-path.js";
7
7
  import { extractBindingsFromSnippet, extractImportsWithMeta, } from "./import-scanner.js";
8
8
  export const TARGET_ARCHITECTURE_FILENAME = "TARGET_ARCHITECTURE.yaml";
9
- export const TARGET_ARCHITECTURE_SCHEMA_VERSION = "0.1.0";
9
+ export const TARGET_ARCHITECTURE_SCHEMA_VERSION = "0.2.0";
10
+ export const TARGET_ARCHITECTURE_LEGACY_SCHEMA_VERSION = "0.1.0";
11
+ export const SUPPORTED_TARGET_ARCHITECTURE_SCHEMA_VERSIONS = [
12
+ TARGET_ARCHITECTURE_LEGACY_SCHEMA_VERSION,
13
+ TARGET_ARCHITECTURE_SCHEMA_VERSION,
14
+ ];
10
15
  function globMatches(repoRel, glob) {
11
16
  const norm = normalizeRepoRelativePath(repoRel);
12
17
  const g = normalizeRepoRelativePath(glob);
@@ -14,6 +19,10 @@ function globMatches(repoRel, glob) {
14
19
  const prefix = g.slice(0, -3);
15
20
  return norm === prefix || norm.startsWith(`${prefix}/`);
16
21
  }
22
+ if (g.endsWith("**")) {
23
+ const prefix = g.slice(0, -2).replace(/\/$/, "");
24
+ return norm === prefix || norm.startsWith(`${prefix}/`);
25
+ }
17
26
  return norm === g;
18
27
  }
19
28
  export function layerForFile(spec, repoRel) {
@@ -43,20 +52,79 @@ function resolveImportPath(file, spec) {
43
52
  }
44
53
  return target.replace(/\\/g, "/");
45
54
  }
55
+ function parseSchemaVersion(raw) {
56
+ if (typeof raw !== "string") {
57
+ throw new Error("TARGET_ARCHITECTURE.yaml: schema_version must be a string");
58
+ }
59
+ if (!SUPPORTED_TARGET_ARCHITECTURE_SCHEMA_VERSIONS.includes(raw)) {
60
+ throw new Error(`TARGET_ARCHITECTURE.yaml: unsupported schema_version (supported: ${SUPPORTED_TARGET_ARCHITECTURE_SCHEMA_VERSIONS.join(", ")})`);
61
+ }
62
+ return raw;
63
+ }
64
+ function parseStringArrayField(raw, field, opts = {}) {
65
+ if (raw === undefined) {
66
+ if (opts.required)
67
+ throw new Error(`TARGET_ARCHITECTURE.yaml: ${field} required`);
68
+ return undefined;
69
+ }
70
+ if (!Array.isArray(raw) || raw.some((v) => typeof v !== "string")) {
71
+ throw new Error(`TARGET_ARCHITECTURE.yaml: ${field} must be a string array`);
72
+ }
73
+ return raw.map(String);
74
+ }
75
+ export function isLegacyTargetArchitectureSchema(version) {
76
+ return version === TARGET_ARCHITECTURE_LEGACY_SCHEMA_VERSION;
77
+ }
78
+ export function targetArchitectureMigrationHint(version) {
79
+ if (!isLegacyTargetArchitectureSchema(version))
80
+ return null;
81
+ return `TARGET_ARCHITECTURE.yaml schema ${version} is legacy — add scan_roots (schema ${TARGET_ARCHITECTURE_SCHEMA_VERSION}) for explicit adopter roots`;
82
+ }
83
+ /** Derive scan roots from spec layers or optional manifest TMVC fallback. */
84
+ export function resolveArchScanRoots(spec, manifestTmvcRoots) {
85
+ if (spec.scan_roots && spec.scan_roots.length > 0) {
86
+ return spec.scan_roots.map(normalizeRepoRelativePath);
87
+ }
88
+ const fromLayers = spec.layers.flatMap((layer) => layer.globs.map(normalizeRepoRelativePath));
89
+ if (fromLayers.length > 0)
90
+ return fromLayers;
91
+ if (manifestTmvcRoots && manifestTmvcRoots.length > 0) {
92
+ return manifestTmvcRoots.map((root) => {
93
+ const norm = normalizeRepoRelativePath(root);
94
+ return norm.endsWith("/**") ? norm : `${norm.replace(/\/$/, "")}/**`;
95
+ });
96
+ }
97
+ return [];
98
+ }
99
+ function resolveArchLanguages(spec) {
100
+ if (spec.languages && spec.languages.length > 0)
101
+ return spec.languages;
102
+ return ["typescript"];
103
+ }
104
+ function fileMatchesScanRoots(repoRel, scanRoots) {
105
+ const norm = normalizeRepoRelativePath(repoRel);
106
+ return scanRoots.some((root) => globMatches(norm, root));
107
+ }
108
+ function fileMatchesLanguage(repoRel, languages) {
109
+ const norm = normalizeRepoRelativePath(repoRel).toLowerCase();
110
+ if (languages.includes("typescript") && norm.endsWith(".ts"))
111
+ return true;
112
+ return false;
113
+ }
46
114
  export function validateTargetArchitecture(raw) {
47
115
  if (raw == null || typeof raw !== "object") {
48
116
  throw new Error("TARGET_ARCHITECTURE.yaml must be a mapping");
49
117
  }
50
118
  const o = raw;
51
- if (o.schema_version !== TARGET_ARCHITECTURE_SCHEMA_VERSION) {
52
- throw new Error(`TARGET_ARCHITECTURE.yaml: unsupported schema_version (expected ${TARGET_ARCHITECTURE_SCHEMA_VERSION})`);
53
- }
119
+ const schema_version = parseSchemaVersion(o.schema_version);
54
120
  if (!Array.isArray(o.layers) || o.layers.length === 0) {
55
121
  throw new Error("TARGET_ARCHITECTURE.yaml: layers must be a non-empty array");
56
122
  }
57
123
  if (!Array.isArray(o.rules)) {
58
124
  throw new Error("TARGET_ARCHITECTURE.yaml: rules must be an array");
59
125
  }
126
+ const scan_roots = parseStringArrayField(o.scan_roots, "scan_roots");
127
+ const languages = parseStringArrayField(o.languages, "languages");
60
128
  const layers = o.layers.map((layer, i) => {
61
129
  if (layer == null || typeof layer !== "object") {
62
130
  throw new Error(`TARGET_ARCHITECTURE.yaml: layers[${String(i)}] invalid`);
@@ -93,7 +161,13 @@ export function validateTargetArchitecture(raw) {
93
161
  : {}),
94
162
  };
95
163
  });
96
- return { schema_version: TARGET_ARCHITECTURE_SCHEMA_VERSION, layers, rules };
164
+ return {
165
+ schema_version,
166
+ ...(scan_roots ? { scan_roots } : {}),
167
+ ...(languages ? { languages } : {}),
168
+ layers,
169
+ rules,
170
+ };
97
171
  }
98
172
  export function loadTargetArchitecture(repoRoot) {
99
173
  const abs = path.join(repoRoot, TARGET_ARCHITECTURE_FILENAME);
@@ -106,13 +180,17 @@ export function loadTargetArchitecture(repoRoot) {
106
180
  function recordViolation(violations, file, ruleId, moduleSpecifier, bindings, line, column) {
107
181
  violations.push({ file, rule_id: ruleId, module_specifier: moduleSpecifier, bindings, line, column });
108
182
  }
109
- export function checkArchBoundariesForFiles(spec, repoRoot, files) {
183
+ export function checkArchBoundariesForFiles(spec, repoRoot, files, options = {}) {
110
184
  const violations = [];
111
185
  const root = path.resolve(repoRoot);
186
+ const scanRoots = resolveArchScanRoots(spec, options.manifestTmvcRoots);
187
+ const languages = resolveArchLanguages(spec);
112
188
  for (const file of files) {
113
189
  const abs = path.isAbsolute(file) ? path.resolve(file) : path.join(root, file);
114
190
  const repoRel = toPosixRel(root, abs);
115
- if (!repoRel.includes("src/cli/") || !repoRel.endsWith(".ts"))
191
+ if (!fileMatchesScanRoots(repoRel, scanRoots))
192
+ continue;
193
+ if (!fileMatchesLanguage(repoRel, languages))
116
194
  continue;
117
195
  if (!fs.existsSync(abs))
118
196
  continue;
@@ -141,10 +219,10 @@ export function checkArchBoundariesForFiles(spec, repoRoot, files) {
141
219
  }
142
220
  return { ok: violations.length === 0, violations };
143
221
  }
144
- export function runArchCheck(repoRoot, files) {
222
+ export function runArchCheck(repoRoot, files, options = {}) {
145
223
  const spec = loadTargetArchitecture(repoRoot);
146
224
  const absFiles = files.map((f) => path.isAbsolute(f) ? f : path.join(repoRoot, f.replace(/\\/g, path.sep)));
147
- return checkArchBoundariesForFiles(spec, repoRoot, absFiles);
225
+ return checkArchBoundariesForFiles(spec, repoRoot, absFiles, options);
148
226
  }
149
227
  export function formatArchCheckHuman(result) {
150
228
  if (result.ok)