@jeger-ai/opengantry 2.2.3 → 2.2.4

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 (128) hide show
  1. package/README.md +96 -78
  2. package/dist/cli/commands/arch.js +4 -4
  3. package/dist/cli/commands/check-imports.js +1 -1
  4. package/dist/cli/commands/onboarding.js +5 -5
  5. package/dist/cli/commands/perimeter.js +2 -2
  6. package/dist/cli/commands/runtime.js +1 -1
  7. package/dist/cli/commands/scan.js +2 -2
  8. package/dist/cli/commands/teacher.js +1 -1
  9. package/dist/cli/commands/verify.js +3 -3
  10. package/dist/cli/lib/architecture-credential.js +1 -1
  11. package/dist/cli/lib/architecture-pointer.js +1 -1
  12. package/dist/cli/lib/ast-discovery.js +1 -1
  13. package/dist/cli/lib/audience-output.js +7 -7
  14. package/dist/cli/lib/cli-io.js +1 -1
  15. package/dist/cli/lib/config-namespace.d.ts +18 -0
  16. package/dist/cli/lib/config-namespace.d.ts.map +1 -0
  17. package/dist/cli/lib/config-namespace.js +39 -0
  18. package/dist/cli/lib/config-namespace.js.map +1 -0
  19. package/dist/cli/lib/constants.d.ts +6 -5
  20. package/dist/cli/lib/constants.d.ts.map +1 -1
  21. package/dist/cli/lib/constants.js +6 -5
  22. package/dist/cli/lib/constants.js.map +1 -1
  23. package/dist/cli/lib/context-feed-store.d.ts +1 -1
  24. package/dist/cli/lib/context-feed-store.js +1 -1
  25. package/dist/cli/lib/dirty-missions.js +1 -1
  26. package/dist/cli/lib/doctor-core.d.ts.map +1 -1
  27. package/dist/cli/lib/doctor-core.js +8 -7
  28. package/dist/cli/lib/doctor-core.js.map +1 -1
  29. package/dist/cli/lib/doctor-integration.js +1 -1
  30. package/dist/cli/lib/doctor-substrate.js +4 -4
  31. package/dist/cli/lib/errors.d.ts.map +1 -1
  32. package/dist/cli/lib/errors.js +2 -1
  33. package/dist/cli/lib/errors.js.map +1 -1
  34. package/dist/cli/lib/file-merge-gxt.js +2 -2
  35. package/dist/cli/lib/fix-hints.js +9 -9
  36. package/dist/cli/lib/git-metrics.js +1 -1
  37. package/dist/cli/lib/git-proof.d.ts +1 -1
  38. package/dist/cli/lib/git-proof.d.ts.map +1 -1
  39. package/dist/cli/lib/git-proof.js +3 -2
  40. package/dist/cli/lib/git-proof.js.map +1 -1
  41. package/dist/cli/lib/init-interactive.js +2 -2
  42. package/dist/cli/lib/init-plan.js +6 -6
  43. package/dist/cli/lib/init-tutorial.js +10 -10
  44. package/dist/cli/lib/kpi-engine.js +3 -3
  45. package/dist/cli/lib/kpi-scan.js +3 -3
  46. package/dist/cli/lib/legislate.d.ts.map +1 -1
  47. package/dist/cli/lib/legislate.js +11 -5
  48. package/dist/cli/lib/legislate.js.map +1 -1
  49. package/dist/cli/lib/manifest.js +2 -2
  50. package/dist/cli/lib/manifest.js.map +1 -1
  51. package/dist/cli/lib/mcp-governance.d.ts.map +1 -1
  52. package/dist/cli/lib/mcp-governance.js +4 -3
  53. package/dist/cli/lib/mcp-governance.js.map +1 -1
  54. package/dist/cli/lib/mcp-tools-register.js +4 -4
  55. package/dist/cli/lib/missions/formatter.js +1 -1
  56. package/dist/cli/lib/missions/parser.d.ts.map +1 -1
  57. package/dist/cli/lib/missions/parser.js +7 -5
  58. package/dist/cli/lib/missions/parser.js.map +1 -1
  59. package/dist/cli/lib/missions/validator.js +1 -1
  60. package/dist/cli/lib/msn-allocate.js +2 -2
  61. package/dist/cli/lib/onboarding-flow.js +5 -5
  62. package/dist/cli/lib/perimeter.js +1 -1
  63. package/dist/cli/lib/register-proposals.js +1 -1
  64. package/dist/cli/lib/runtime-env.d.ts.map +1 -1
  65. package/dist/cli/lib/runtime-env.js +7 -4
  66. package/dist/cli/lib/runtime-env.js.map +1 -1
  67. package/dist/cli/lib/skill-key.d.ts +12 -0
  68. package/dist/cli/lib/skill-key.d.ts.map +1 -0
  69. package/dist/cli/lib/skill-key.js +28 -0
  70. package/dist/cli/lib/skill-key.js.map +1 -0
  71. package/dist/cli/lib/staged-tmvc-guard.js +1 -1
  72. package/dist/cli/lib/start-orchestration.js +5 -5
  73. package/dist/cli/lib/status-report.js +3 -3
  74. package/dist/cli/lib/substrate-version.js +2 -2
  75. package/dist/cli/lib/surgeons/typescript-workspace.d.ts +1 -1
  76. package/dist/cli/lib/surgeons/typescript-workspace.js +3 -3
  77. package/dist/cli/lib/teacher-identity.d.ts +1 -2
  78. package/dist/cli/lib/teacher-identity.d.ts.map +1 -1
  79. package/dist/cli/lib/teacher-identity.js +11 -15
  80. package/dist/cli/lib/teacher-identity.js.map +1 -1
  81. package/dist/cli/lib/tmvc-path.d.ts.map +1 -1
  82. package/dist/cli/lib/tmvc-path.js +5 -2
  83. package/dist/cli/lib/tmvc-path.js.map +1 -1
  84. package/dist/cli/lib/types.d.ts +1 -1
  85. package/dist/cli/lib/upgrade-apply.js +5 -5
  86. package/dist/cli/lib/upgrade-plan.d.ts +1 -1
  87. package/dist/cli/lib/upgrade-plan.js +4 -4
  88. package/dist/cli/lib/verify-failure-normalize.js +1 -1
  89. package/dist/cli/lib/verify-hints.js +9 -9
  90. package/dist/cli/lib/verify-run.d.ts.map +1 -1
  91. package/dist/cli/lib/verify-run.js +3 -2
  92. package/dist/cli/lib/verify-run.js.map +1 -1
  93. package/dist/cli/lib/version.gen.d.ts +1 -1
  94. package/dist/cli/lib/version.gen.js +1 -1
  95. package/dist/cli/program-core.js +2 -2
  96. package/package.json +9 -4
  97. package/templates/.cursor/hooks/gxt-before-shell.sh +2 -2
  98. package/templates/.cursor/hooks/gxt-session-start.sh +5 -5
  99. package/templates/.cursor/mcp.json +1 -1
  100. package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +4 -4
  101. package/templates/.gitagent/foreman/MANIFEST.json +2 -2
  102. package/templates/.gitagent/foreman/SUBSTRATE.version.json +1 -1
  103. package/templates/.gitagent/foreman/TEACHER.allowlist.example +1 -1
  104. package/templates/.gitagent/missions/README.md +3 -3
  105. package/templates/.gitagent/teacher/ARCHITECTURE-ACCESS.md +8 -8
  106. package/templates/.gitagent/teacher/KPI-REPORT.schema.yaml +1 -1
  107. package/templates/.gitagent/teacher/MISSION-ARCHITECT.md +5 -5
  108. package/templates/.gitagent/teacher/MISSION.schema.yaml +2 -2
  109. package/templates/.gitagent/teacher/RULES.md +2 -2
  110. package/templates/.githooks/pre-commit +4 -4
  111. package/templates/.githooks/pre-push +6 -6
  112. package/templates/.github/workflows/gxt-validate.yml +7 -7
  113. package/templates/AGENTS.md +1 -1
  114. package/templates/integrations/asset-catalog.json +1 -1
  115. package/templates/integrations/compatibility.json +1 -1
  116. package/templates/integrations/recipes/_footer.md +6 -6
  117. package/templates/integrations/recipes/_preamble.md +9 -9
  118. package/templates/integrations/recipes/aider.md +1 -1
  119. package/templates/integrations/recipes/antigravity.md +1 -1
  120. package/templates/integrations/recipes/claude-code.md +1 -1
  121. package/templates/integrations/recipes/codex-cli.md +2 -2
  122. package/templates/integrations/recipes/cursor.md +3 -3
  123. package/templates/scripts/dev-validate.sh +1 -1
  124. package/templates/scripts/gxt-resolve-mission.sh +2 -2
  125. package/templates/scripts/gxt-runtime-env.sh +4 -4
  126. package/templates/scripts/validate-gxt.sh +1 -1
  127. package/templates/scripts/verify-pr-missions.sh +6 -6
  128. package/templates/skills/{gapman.md → gantry.md} +2 -2
@@ -1,13 +1,15 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { toPosixRel } from "./cli-io.js";
4
+ import { CLI_NAME } from "./constants.js";
4
5
  import { agentErrorAbsolutePath } from "./errors.js";
5
6
  import { parseMissionFile } from "./missions/parser.js";
7
+ import { resolveManifestSkillKey } from "./skill-key.js";
6
8
  import { defaultWorkerLogPath } from "./trace.js";
7
9
  function toRepoRelativePosix(repoRoot, absolutePath) {
8
10
  const rel = toPosixRel(repoRoot, path.resolve(absolutePath));
9
11
  if (rel.startsWith("..") || path.isAbsolute(rel)) {
10
- throw new Error(`gapman runtime: mission path outside repository`);
12
+ throw new Error(`${CLI_NAME} runtime: mission path outside repository`);
11
13
  }
12
14
  return rel;
13
15
  }
@@ -23,11 +25,12 @@ export function resolveRuntimeEnv(workspace, missionRepoOrAbsPath) {
23
25
  const mission = parseMissionFile(root, missionArg);
24
26
  const skillKey = mission.skillKey?.trim();
25
27
  if (!skillKey?.length) {
26
- throw new Error(`gapman runtime: mission missing skill_key / Skill key (${mission.rawPath})`);
28
+ throw new Error(`${CLI_NAME} runtime: mission missing skill_key / Skill key (${mission.rawPath})`);
27
29
  }
28
- const skill = manifest.skills[skillKey];
30
+ const resolvedKey = resolveManifestSkillKey(manifest, skillKey);
31
+ const skill = manifest.skills[resolvedKey];
29
32
  if (!skill) {
30
- throw new Error(`gapman runtime: manifest has no skill "${skillKey}". Rule 4.4: sync manifest with skills.`);
33
+ throw new Error(`${CLI_NAME} runtime: manifest has no skill "${skillKey}". Rule 4.4: sync manifest with skills.`);
31
34
  }
32
35
  const missionAbs = path.resolve(mission.rawPath);
33
36
  const missionRel = toRepoRelativePosix(root, missionAbs);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-env.js","sourceRoot":"","sources":["../../../src/cli/lib/runtime-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-env.js","sourceRoot":"","sources":["../../../src/cli/lib/runtime-env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Manifest } from "./types.js";
2
+ /** Canonical manifest skill key for CLI delivery work (init / specimen). */
3
+ export declare const CANONICAL_CLI_SKILL_KEY: "gantry";
4
+ /** Legacy manifest skill key accepted for backward compatibility. */
5
+ export declare const LEGACY_CLI_SKILL_KEY: "gapman";
6
+ /**
7
+ * Resolve a mission skill_key to a manifest.skills entry when legacy aliases apply.
8
+ * Returns the original key when no manifest match or alias mapping exists.
9
+ */
10
+ export declare function resolveManifestSkillKey(manifest: Manifest, skillKey: string): string;
11
+ export declare function manifestHasSkill(manifest: Manifest, skillKey: string): boolean;
12
+ //# sourceMappingURL=skill-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-key.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/skill-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,EAAG,QAAiB,CAAC;AACzD,qEAAqE;AACrE,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAC;AAOtD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQpF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE9E"}
@@ -0,0 +1,28 @@
1
+ /** Canonical manifest skill key for CLI delivery work (init / specimen). */
2
+ export const CANONICAL_CLI_SKILL_KEY = "gantry";
3
+ /** Legacy manifest skill key accepted for backward compatibility. */
4
+ export const LEGACY_CLI_SKILL_KEY = "gapman";
5
+ const CLI_SKILL_ALIASES = {
6
+ [CANONICAL_CLI_SKILL_KEY]: [LEGACY_CLI_SKILL_KEY],
7
+ [LEGACY_CLI_SKILL_KEY]: [CANONICAL_CLI_SKILL_KEY],
8
+ };
9
+ /**
10
+ * Resolve a mission skill_key to a manifest.skills entry when legacy aliases apply.
11
+ * Returns the original key when no manifest match or alias mapping exists.
12
+ */
13
+ export function resolveManifestSkillKey(manifest, skillKey) {
14
+ if (skillKey in manifest.skills)
15
+ return skillKey;
16
+ const aliases = CLI_SKILL_ALIASES[skillKey];
17
+ if (!aliases)
18
+ return skillKey;
19
+ for (const alias of aliases) {
20
+ if (alias in manifest.skills)
21
+ return alias;
22
+ }
23
+ return skillKey;
24
+ }
25
+ export function manifestHasSkill(manifest, skillKey) {
26
+ return resolveManifestSkillKey(manifest, skillKey) in manifest.skills;
27
+ }
28
+ //# sourceMappingURL=skill-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-key.js","sourceRoot":"","sources":["../../../src/cli/lib/skill-key.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAiB,CAAC;AACzD,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAiB,CAAC;AAEtD,MAAM,iBAAiB,GAAgD;IACrE,CAAC,uBAAuB,CAAC,EAAE,CAAC,oBAAoB,CAAC;IACjD,CAAC,oBAAoB,CAAC,EAAE,CAAC,uBAAuB,CAAC;CAClD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAkB,EAAE,QAAgB;IAC1E,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAkB,EAAE,QAAgB;IACnE,OAAO,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;AACxE,CAAC"}
@@ -52,7 +52,7 @@ export function formatStagedTmvcAdvisory(result) {
52
52
  const label = v.classification === "forbidden_zone" ? "FORBIDDEN" : "OUTSIDE_TMVC";
53
53
  lines.push(` [${label}] ${v.path}`);
54
54
  }
55
- lines.push("Record a Context Request in WORKER_LOG.md before editing outside TMVC (gapman context-request).");
55
+ lines.push("Record a Context Request in WORKER_LOG.md before editing outside TMVC (gantry context-request).");
56
56
  return lines;
57
57
  }
58
58
  //# sourceMappingURL=staged-tmvc-guard.js.map
@@ -18,9 +18,9 @@ function buildNextSteps(missionRel, msnId) {
18
18
  const msn = msnId ?? "MSN-NNNN";
19
19
  return [
20
20
  `Teacher: git add ${mission} && git commit -m "[${msn}] legislate mission"`,
21
- `eval "$(gapman runtime env --mission ${mission})"`,
21
+ `eval "$(gantry runtime env --mission ${mission})"`,
22
22
  "Append gate evidence to WORKER_LOG.md",
23
- `gapman verify --mission ${mission}`,
23
+ `gantry verify --mission ${mission}`,
24
24
  `scripts/gxt-pin-mission.sh ${mission}`,
25
25
  ];
26
26
  }
@@ -48,7 +48,7 @@ function startEscalationFailure(options, triage, msnId, manifestKeys) {
48
48
  logError(`${CLI_NAME} start: triage escalation — ${triage.reason}. Pass --skill-key <key> (manifest: ${manifestKeys.join(", ")}).`);
49
49
  }
50
50
  return createStartFailure(triage, null, triage.skill_key, [
51
- `gapman start "${options.intent}" --msn ${msnId} --skill-key ${manifestKeys[0] ?? "<key>"}`,
51
+ `gantry start "${options.intent}" --msn ${msnId} --skill-key ${manifestKeys[0] ?? "<key>"}`,
52
52
  ]);
53
53
  }
54
54
  function scaffoldStartMission(root, options, msnId, resolvedSkillKey, triage) {
@@ -76,8 +76,8 @@ function scaffoldStartMission(root, options, msnId, resolvedSkillKey, triage) {
76
76
  }
77
77
  const freshMsn = suggestNextMsn(root);
78
78
  return createStartFailure(triage, msnId, resolvedSkillKey, [
79
- `try a fresh MSN: gapman start "${options.intent}" --msn ${freshMsn} --skill-key ${resolvedSkillKey}`,
80
- `or gapman legislate "${options.intent}" --msn ${msnId} --skill-key ${resolvedSkillKey} --allow-duplicate`,
79
+ `try a fresh MSN: gantry start "${options.intent}" --msn ${freshMsn} --skill-key ${resolvedSkillKey}`,
80
+ `or gantry legislate "${options.intent}" --msn ${msnId} --skill-key ${resolvedSkillKey} --allow-duplicate`,
81
81
  ]);
82
82
  }
83
83
  export function runStartOrchestration(options) {
@@ -13,7 +13,7 @@ function collectBlockers(skillSync, doctorLines, verifyReadiness) {
13
13
  blockers.push(line.message);
14
14
  }
15
15
  if (verifyReadiness === "needs_teacher") {
16
- blockers.push("Teacher allowlist unset — gapman verify git-proof will fail");
16
+ blockers.push("Teacher allowlist unset — gantry verify git-proof will fail");
17
17
  }
18
18
  if (verifyReadiness === "needs_mission") {
19
19
  blockers.push("No pinned mission — legislate or pin before worker execution");
@@ -50,10 +50,10 @@ export function buildStatusReport(root, manifest) {
50
50
  const verifyReadiness = assessVerifyReadiness(root, doctorReport.lines, pinnedMission, doctorReport.teacherAllowlistUnset);
51
51
  let nextStep = doctorReport.nextStep;
52
52
  if (pinnedMission) {
53
- nextStep = `gapman verify --mission ${pinnedMission}`;
53
+ nextStep = `gantry verify --mission ${pinnedMission}`;
54
54
  }
55
55
  else if (verifyReadiness === "needs_mission") {
56
- nextStep = nextStep ?? 'gapman start "<intent>" --msn MSN-0001 --skill-key <key>';
56
+ nextStep = nextStep ?? 'gantry start "<intent>" --msn MSN-0001 --skill-key <key>';
57
57
  }
58
58
  const hasFail = !skillSync.ok || doctorReport.hasFail;
59
59
  const blockers = collectBlockers(skillSync, doctorReport.lines, verifyReadiness);
@@ -76,7 +76,7 @@ export function alreadyCurrentMessage(installed, bundled) {
76
76
  return [
77
77
  `Substrate is up to date (installed ${installed}, bundled ${bundled}).`,
78
78
  "To upgrade to a newer OpenGantry release, first update the package manager dependency",
79
- `(e.g. npm install ${NPM_PACKAGE_NAME}@latest) and re-run: gapman upgrade`,
79
+ `(e.g. npm install ${NPM_PACKAGE_NAME}@latest) and re-run: gantry upgrade`,
80
80
  ].join("\n");
81
81
  }
82
82
  export function ensureSubstrateVersionOnInit(repoRoot, templatesRoot) {
@@ -84,7 +84,7 @@ export function ensureSubstrateVersionOnInit(repoRoot, templatesRoot) {
84
84
  if (fs.existsSync(substrateAbs))
85
85
  return;
86
86
  const version = loadIntegrationCompat(templatesRoot).opengantry_version;
87
- writeSubstrateVersionFile(repoRoot, version, "gapman init");
87
+ writeSubstrateVersionFile(repoRoot, version, "gantry init");
88
88
  }
89
89
  export function legacyVersionWarning(source) {
90
90
  if (source === "legacy_default") {
@@ -1,5 +1,5 @@
1
1
  type TsModule = typeof import("typescript");
2
- /** Resolve TypeScript compiler API from adopter workspace or gapman package (lazy, fail-soft). */
2
+ /** Resolve TypeScript compiler API from adopter workspace or gantry package (lazy, fail-soft). */
3
3
  export declare function getWorkspaceTypeScript(root: string): TsModule | null;
4
4
  /** @internal Reset cache between tests. */
5
5
  export declare function clearTypeScriptWorkspaceCache(): void;
@@ -2,17 +2,17 @@ import { createRequire } from "node:module";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  let cachedTs;
5
- function gapmanPackageRoot() {
5
+ function gantryPackageRoot() {
6
6
  const here = path.dirname(fileURLToPath(import.meta.url));
7
7
  return path.resolve(here, "..", "..", "..", "..");
8
8
  }
9
- /** Resolve TypeScript compiler API from adopter workspace or gapman package (lazy, fail-soft). */
9
+ /** Resolve TypeScript compiler API from adopter workspace or gantry package (lazy, fail-soft). */
10
10
  export function getWorkspaceTypeScript(root) {
11
11
  if (cachedTs !== undefined)
12
12
  return cachedTs;
13
13
  try {
14
14
  const require = createRequire(import.meta.url);
15
- const searchPaths = [root, gapmanPackageRoot()];
15
+ const searchPaths = [root, gantryPackageRoot()];
16
16
  let tsPath;
17
17
  for (const base of searchPaths) {
18
18
  try {
@@ -1,5 +1,4 @@
1
- export declare const ENV_TEACHER_EMAILS: "GAPMAN_TEACHER_EMAILS";
2
- export declare const GIT_CONFIG_TEACHER_EMAILS: "gapman.teacherEmails";
1
+ export { ENV_TEACHER_EMAILS } from "./config-namespace.js";
3
2
  export declare const REL_TEACHER_ALLOWLIST: ".gitagent/foreman/TEACHER.allowlist";
4
3
  export declare const REL_TEACHER_ALLOWLIST_LOCAL: ".gitagent/foreman/TEACHER.allowlist.local";
5
4
  export type TeacherIdentitySource = "allowlist_file" | "allowlist_local" | "git_config" | "env" | "git_user_email" | "unset";
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-identity.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/teacher-identity.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,EAAG,uBAAgC,CAAC;AACnE,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AAEzE,eAAO,MAAM,qBAAqB,EAAG,qCAA8C,CAAC;AACpF,eAAO,MAAM,2BAA2B,EAAG,2CAAoD,CAAC;AAEhG,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,iBAAiB,GACjB,YAAY,GACZ,KAAK,GACL,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AAoCD,6DAA6D;AAC7D,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAIpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,uBAAuB,CA2C9E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAGlE;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAInF;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAStE;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOlE"}
1
+ {"version":3,"file":"teacher-identity.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/teacher-identity.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,eAAO,MAAM,qBAAqB,EAAG,qCAA8C,CAAC;AACpF,eAAO,MAAM,2BAA2B,EAAG,2CAAoD,CAAC;AAEhG,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,iBAAiB,GACjB,YAAY,GACZ,KAAK,GACL,gBAAgB,GAChB,OAAO,CAAC;AAEZ,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AA8BD,6DAA6D;AAC7D,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAIpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,uBAAuB,CA2C9E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAGlE;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAInF;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAStE;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOlE"}
@@ -1,9 +1,10 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fromPosix } from "./cli-io.js";
4
+ import { CLI_NAME } from "./constants.js";
5
+ import { ENV_TEACHER_EMAILS, GIT_CONFIG_TEACHER_EMAILS, readEnvWithLegacy, readGitConfigWithLegacy, } from "./config-namespace.js";
4
6
  import { gitRunOk } from "./git.js";
5
- export const ENV_TEACHER_EMAILS = "GAPMAN_TEACHER_EMAILS";
6
- export const GIT_CONFIG_TEACHER_EMAILS = "gapman.teacherEmails";
7
+ export { ENV_TEACHER_EMAILS } from "./config-namespace.js";
7
8
  export const REL_TEACHER_ALLOWLIST = ".gitagent/foreman/TEACHER.allowlist";
8
9
  export const REL_TEACHER_ALLOWLIST_LOCAL = ".gitagent/foreman/TEACHER.allowlist.local";
9
10
  function normalizeEmailList(raw) {
@@ -20,15 +21,10 @@ function readAllowlistFile(repoRoot, relPath) {
20
21
  return normalizeEmailList(fs.readFileSync(abs, "utf8"));
21
22
  }
22
23
  function readGitConfigTeacherEmails(repoRoot) {
23
- const local = gitRunOk(repoRoot, ["config", "--local", "--get", GIT_CONFIG_TEACHER_EMAILS]);
24
- if (local.ok && local.stdout.trim()) {
25
- return normalizeEmailList(local.stdout);
26
- }
27
- const global = gitRunOk(repoRoot, ["config", "--global", "--get", GIT_CONFIG_TEACHER_EMAILS]);
28
- if (global.ok && global.stdout.trim()) {
29
- return normalizeEmailList(global.stdout);
30
- }
31
- return [];
24
+ const raw = readGitConfigWithLegacy(repoRoot, "teacherEmails");
25
+ if (!raw)
26
+ return [];
27
+ return normalizeEmailList(raw);
32
28
  }
33
29
  function readGitUserEmail(repoRoot) {
34
30
  const local = gitRunOk(repoRoot, ["config", "--local", "--get", "user.email"]);
@@ -39,8 +35,8 @@ function readGitUserEmail(repoRoot) {
39
35
  }
40
36
  /** Legacy env-only parser (tests / explicit CI override). */
41
37
  export function parseTeacherEmailsFromEnv() {
42
- const raw = process.env[ENV_TEACHER_EMAILS];
43
- if (!raw?.trim())
38
+ const raw = readEnvWithLegacy("TEACHER_EMAILS");
39
+ if (!raw)
44
40
  return [];
45
41
  return normalizeEmailList(raw);
46
42
  }
@@ -116,8 +112,8 @@ export function ensureTeacherAllowlistOnInit(repoRoot) {
116
112
  export function teacherIdentitySetupHint(_repoRoot) {
117
113
  return [
118
114
  `echo "$(git config user.email)" >> ${REL_TEACHER_ALLOWLIST_LOCAL}`,
119
- `or: git config gapman.teacherEmails "$(git config user.email)"`,
120
- `or: gapman teacher set "$(git config user.email)"`,
115
+ `or: git config ${GIT_CONFIG_TEACHER_EMAILS} "$(git config user.email)"`,
116
+ `or: ${CLI_NAME} teacher set "$(git config user.email)"`,
121
117
  `# env ${ENV_TEACHER_EMAILS} is CI-only fallback; prefer repo-local config`,
122
118
  ].join("\n ");
123
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-identity.js","sourceRoot":"","sources":["../../../src/cli/lib/teacher-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"teacher-identity.js","sourceRoot":"","sources":["../../../src/cli/lib/teacher-identity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tmvc-path.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/tmvc-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,kEAG7B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAC9B,sBAAsB,GACtB,aAAa,GACb,cAAc,GACd,gBAAgB,CAAC;AAErB,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAIvF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAI5F;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,sBAAsB,CAWxB"}
1
+ {"version":3,"file":"tmvc-path.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/tmvc-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,wFAAwF;AACxF,eAAO,MAAM,0BAA0B,kEAG7B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAC9B,sBAAsB,GACtB,aAAa,GACb,cAAc,GACd,gBAAgB,CAAC;AAErB,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGlE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAKvF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAK5F;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,sBAAsB,CAWxB"}
@@ -1,3 +1,4 @@
1
+ import { resolveManifestSkillKey } from "./skill-key.js";
1
2
  /** Governance transport files — never TMVC drift violations during pre-commit scans. */
2
3
  export const GOVERNANCE_TRANSPORT_PATHS = [
3
4
  "WORKER_LOG.md",
@@ -13,13 +14,15 @@ export function isGovernanceTransportPath(repoRel) {
13
14
  export function tmvcRootsForSkill(manifest, skillKey) {
14
15
  if (!skillKey?.trim())
15
16
  return [];
16
- const skill = manifest.skills[skillKey];
17
+ const resolved = resolveManifestSkillKey(manifest, skillKey.trim());
18
+ const skill = manifest.skills[resolved];
17
19
  return skill ? [...skill.tmvc_roots] : [];
18
20
  }
19
21
  export function forbiddenZonesForSkill(manifest, skillKey) {
20
22
  if (!skillKey?.trim())
21
23
  return [];
22
- const skill = manifest.skills[skillKey];
24
+ const resolved = resolveManifestSkillKey(manifest, skillKey.trim());
25
+ const skill = manifest.skills[resolved];
23
26
  return skill ? [...skill.forbidden_zones] : [];
24
27
  }
25
28
  /** True when `repoRel` is exactly `root` or nested under `root/` (POSIX semantics). */
@@ -1 +1 @@
1
- {"version":3,"file":"tmvc-path.js","sourceRoot":"","sources":["../../../src/cli/lib/tmvc-path.ts"],"names":[],"mappings":"AAEA,wFAAwF;AACxF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,eAAe;IACf,oCAAoC;CAC5B,CAAC;AAQX,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAQ,0BAAgD,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAkB,EAAE,QAAuB;IAC3E,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAkB,EAAE,QAAuB;IAChF,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,SAA4B,EAC5B,cAAiC;IAEjC,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAEnE,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAAE,OAAO,gBAAgB,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC;IACxD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"tmvc-path.js","sourceRoot":"","sources":["../../../src/cli/lib/tmvc-path.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,wFAAwF;AACxF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,eAAe;IACf,oCAAoC;CAC5B,CAAC;AAQX,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAQ,0BAAgD,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAkB,EAAE,QAAuB;IAC3E,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAkB,EAAE,QAAuB;IAChF,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,SAA4B,EAC5B,cAAiC;IAEjC,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAEnE,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAAE,OAAO,gBAAgB,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,aAAa,CAAC;IACxD,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -92,7 +92,7 @@ export interface ParsedMission {
92
92
  traceRows: TraceRow[];
93
93
  rawPath: string;
94
94
  }
95
- /** Structured mission on disk (YAML), validated by gapman */
95
+ /** Structured mission on disk (YAML), validated by gantry */
96
96
  export interface YamlMission {
97
97
  msn_id?: string;
98
98
  msnId?: string;
@@ -20,7 +20,7 @@ function sha256File(absPath) {
20
20
  function verifyStagedHashes(repoRoot, payload) {
21
21
  const tmpRoot = path.join(repoRoot, fromPosix(REL_UPGRADE_TMP));
22
22
  if (!fs.existsSync(tmpRoot)) {
23
- throw new GapmanUserError("UPGRADE_STAGING_MISSING", `${CLI_NAME} upgrade --apply: staging directory missing at ${REL_UPGRADE_TMP}/ — re-run gapman upgrade`, `Run \`gapman upgrade\` to regenerate staged files before apply.`);
23
+ throw new GapmanUserError("UPGRADE_STAGING_MISSING", `${CLI_NAME} upgrade --apply: staging directory missing at ${REL_UPGRADE_TMP}/ — re-run gantry upgrade`, `Run \`gantry upgrade\` to regenerate staged files before apply.`);
24
24
  }
25
25
  const entries = Object.entries(payload.staged_hashes);
26
26
  if (entries.length === 0) {
@@ -29,11 +29,11 @@ function verifyStagedHashes(repoRoot, payload) {
29
29
  for (const [relPath, expectedHash] of entries) {
30
30
  const stageAbs = path.join(tmpRoot, fromPosix(relPath));
31
31
  if (!fs.existsSync(stageAbs)) {
32
- throw new GapmanUserError("UPGRADE_STAGING_DRIFT", `${CLI_NAME} upgrade --apply: missing staged file ${relPath} under ${REL_UPGRADE_TMP}/`, "Re-run gapman upgrade to regenerate staging after mission was signed.");
32
+ throw new GapmanUserError("UPGRADE_STAGING_DRIFT", `${CLI_NAME} upgrade --apply: missing staged file ${relPath} under ${REL_UPGRADE_TMP}/`, "Re-run gantry upgrade to regenerate staging after mission was signed.");
33
33
  }
34
34
  const actual = sha256File(stageAbs);
35
35
  if (actual !== expectedHash) {
36
- throw new GapmanUserError("UPGRADE_HASH_MISMATCH", `${CLI_NAME} upgrade --apply: staged file hash mismatch for ${relPath}`, "Staging directory was modified after plan. Re-run gapman upgrade and re-sign the mission.");
36
+ throw new GapmanUserError("UPGRADE_HASH_MISMATCH", `${CLI_NAME} upgrade --apply: staged file hash mismatch for ${relPath}`, "Staging directory was modified after plan. Re-run gantry upgrade and re-sign the mission.");
37
37
  }
38
38
  }
39
39
  }
@@ -96,7 +96,7 @@ export async function runUpgradeApply(options) {
96
96
  await promoteStagedWrites(staged.promotions);
97
97
  mergeGitignoreFromTemplate(repoRoot, templatesRoot);
98
98
  mergePrettierignoreFromTemplate(repoRoot, templatesRoot);
99
- writeSubstrateVersionFile(repoRoot, payload.to_version, "gapman upgrade --apply");
99
+ writeSubstrateVersionFile(repoRoot, payload.to_version, "gantry upgrade --apply");
100
100
  }
101
101
  catch (e) {
102
102
  cleanupApplyTmp(applyTmpRoot);
@@ -112,7 +112,7 @@ export async function runUpgradeApply(options) {
112
112
  const message = [
113
113
  `${CLI_NAME} upgrade: applied substrate ${payload.from_version} → ${payload.to_version}`,
114
114
  `Updated ${appliedPaths.length} managed asset(s).`,
115
- "Next: restart Cursor, confirm MCP enabled, run gapman doctor.",
115
+ "Next: restart Cursor, confirm MCP enabled, run gantry doctor.",
116
116
  ].join("\n");
117
117
  if (!options.json) {
118
118
  logInfo(message);
@@ -11,7 +11,7 @@ export interface UpgradeFileChange {
11
11
  sha256_before: string | null;
12
12
  sha256_after: string;
13
13
  }
14
- /** managed_strict substrate assets eligible for gapman upgrade (excludes user law / missions). */
14
+ /** managed_strict substrate assets eligible for gantry upgrade (excludes user law / missions). */
15
15
  export declare function upgradeEligibleAssets(assets: InitAssetSpec[]): InitAssetSpec[];
16
16
  export declare function allUpgradeEligibleFromCatalog(templatesRoot: string): InitAssetSpec[];
17
17
  /** Infer init profile from on-disk substrate assets for upgrade planning. */
@@ -15,7 +15,7 @@ import { loadInitAssetCatalog } from "./init-asset-catalog.js";
15
15
  import { defaultInitProfile } from "./init-profile.js";
16
16
  export const REL_UPGRADE_TMP = ".gitagent/.upgrade-tmp";
17
17
  export { UPGRADE_MSN_BAND_MIN, UPGRADE_MSN_BAND_MAX } from "./msn-allocate.js";
18
- /** managed_strict substrate assets eligible for gapman upgrade (excludes user law / missions). */
18
+ /** managed_strict substrate assets eligible for gantry upgrade (excludes user law / missions). */
19
19
  export function upgradeEligibleAssets(assets) {
20
20
  return assets.filter((a) => a.mode === "managed_strict");
21
21
  }
@@ -42,7 +42,7 @@ export function inferInitProfileFromRepo(repoRoot, templatesRoot) {
42
42
  profile.gitHooks =
43
43
  pathExists(repoRoot, ".githooks/pre-push") || pathExists(repoRoot, ".githooks/pre-commit");
44
44
  profile.ciWorkflow = pathExists(repoRoot, ".github/workflows/gxt-validate.yml");
45
- profile.skillsPreset = pathExists(repoRoot, "skills/gapman.md") ? "specimen" : "minimal";
45
+ profile.skillsPreset = pathExists(repoRoot, "skills/gantry.md") ? "specimen" : "minimal";
46
46
  return profile;
47
47
  }
48
48
  function fileState(absPath) {
@@ -135,7 +135,7 @@ export function buildUpgradeMissionYaml(opts) {
135
135
  const doc = {
136
136
  msn_id: opts.msnId,
137
137
  skill_key: "substrate",
138
- gate_command: "gapman doctor",
138
+ gate_command: "gantry doctor",
139
139
  gate_success_substring: null,
140
140
  upgrade_payload: opts.payload,
141
141
  trace_rows: buildLegislativeTraceRows(),
@@ -228,7 +228,7 @@ function logUpgradePlanSummary(options, opts) {
228
228
  logInfo(`${options.dryRun ? "Would write" : "Wrote upgrade"} mission: ${opts.missionRel}`);
229
229
  logInfo(`${options.dryRun ? "Suggested Teacher action" : "Review staged diff, then"}:\n${opts.suggestedHumanAction}`);
230
230
  if (!options.dryRun) {
231
- logInfo(`After Teacher commit: gapman upgrade --apply --mission ${opts.missionRel}`);
231
+ logInfo(`After Teacher commit: gantry upgrade --apply --mission ${opts.missionRel}`);
232
232
  }
233
233
  }
234
234
  export function runUpgradePlan(options) {
@@ -105,7 +105,7 @@ export function toRemediationSnapshot(normalized) {
105
105
  return {
106
106
  schema_version: REMEDIATION_SCHEMA_VERSION,
107
107
  written_at: new Date().toISOString(),
108
- source: "gapman verify",
108
+ source: "gantry verify",
109
109
  phase: normalized.phase,
110
110
  error_code: normalized.error_code,
111
111
  message: normalized.message,
@@ -27,7 +27,7 @@ function tagStep(audience, step) {
27
27
  return { audience, step };
28
28
  }
29
29
  function verifyCmd(mission) {
30
- return `gapman verify --mission ${mission}`;
30
+ return `gantry verify --mission ${mission}`;
31
31
  }
32
32
  function hintsForGitProofPhase(ctx) {
33
33
  const mission = ctx.missionPath;
@@ -41,10 +41,10 @@ function hintsForGitProofPhase(ctx) {
41
41
  };
42
42
  const hint = code ? hintGitProof(code, gitCtx) : verifyCmdStr;
43
43
  const nextActions = code === "NO_MSN_COMMITS" || code === "MISSION_FILE_NOT_MODIFIED_BY_TEACHER"
44
- ? [hint.split("; ")[0], 'gapman teacher set "$(git config user.email)"', verifyCmdStr]
45
- : ['gapman teacher set "$(git config user.email)"', verifyCmdStr];
44
+ ? [hint.split("; ")[0], 'gantry teacher set "$(git config user.email)"', verifyCmdStr]
45
+ : ['gantry teacher set "$(git config user.email)"', verifyCmdStr];
46
46
  const tagged_steps = [
47
- tagStep("teacher", 'gapman teacher set "$(git config user.email)"'),
47
+ tagStep("teacher", 'gantry teacher set "$(git config user.email)"'),
48
48
  tagStep("verifier", verifyCmdStr),
49
49
  ];
50
50
  if (code === "NO_MSN_COMMITS" || code === "MISSION_FILE_NOT_MODIFIED_BY_TEACHER") {
@@ -92,13 +92,13 @@ function hintsForKpiPhase(ctx) {
92
92
  return {
93
93
  error_code: errorCode,
94
94
  fix_hints: [
95
- `gapman scan --mission ${mission}`,
95
+ `gantry scan --mission ${mission}`,
96
96
  `commit updated KPI report under .gitagent/kpi/`,
97
97
  verifyCmdStr,
98
98
  ],
99
- next_actions: [`gapman scan --mission ${mission}`, verifyCmdStr],
99
+ next_actions: [`gantry scan --mission ${mission}`, verifyCmdStr],
100
100
  tagged_steps: [
101
- tagStep("worker", `gapman scan --mission ${mission}`),
101
+ tagStep("worker", `gantry scan --mission ${mission}`),
102
102
  tagStep("verifier", verifyCmdStr),
103
103
  ],
104
104
  };
@@ -133,10 +133,10 @@ function hintsForTracePhase(ctx) {
133
133
  return {
134
134
  error_code: errorCode,
135
135
  fix_hints: hints,
136
- next_actions: [verifyCmdStr, `gapman verify --mission ${mission} --fix`],
136
+ next_actions: [verifyCmdStr, `gantry verify --mission ${mission} --fix`],
137
137
  tagged_steps: [
138
138
  tagStep("verifier", verifyCmdStr),
139
- tagStep("verifier", `gapman verify --mission ${mission} --fix`),
139
+ tagStep("verifier", `gantry verify --mission ${mission} --fix`),
140
140
  ],
141
141
  };
142
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify-run.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/verify-run.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAY7B,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,yFAAyF;AACzF,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CpF;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAY/F;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"verify-run.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/verify-run.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAY7B,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,yFAAyF;AACzF,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CA6CpF;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,aAAa,GAAG,mBAAmB,CAY/F;AAED,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { CLI_NAME } from "./constants.js";
1
2
  import { assertMissionGatePresent, parseMissionFile } from "./missions/parser.js";
2
3
  import { GapmanUserError } from "./errors.js";
3
4
  import { loadWorkspace } from "./workspace.js";
@@ -9,7 +10,7 @@ import { presentBreakGlassHuman, presentBreakGlassJson, presentFix, presentHuman
9
10
  export async function runVerifyCore(options) {
10
11
  const { root, manifest } = loadWorkspace();
11
12
  if (!options.mission) {
12
- throw new Error("gapman verify: --mission is required");
13
+ throw new Error("gantry verify: --mission is required");
13
14
  }
14
15
  const mission = parseMissionFile(root, options.mission);
15
16
  const missionArg = options.mission;
@@ -56,7 +57,7 @@ export async function runVerifyCore(options) {
56
57
  export function buildVerifyResultPayloadFromOptions(options) {
57
58
  try {
58
59
  if (!options.mission) {
59
- throw new GapmanUserError("INVALID_ARGUMENT", "gapman verify: --mission is required", undefined, 2);
60
+ throw new GapmanUserError("INVALID_ARGUMENT", `${CLI_NAME} verify: --mission is required`, undefined, 2);
60
61
  }
61
62
  const { root, manifest } = loadWorkspace();
62
63
  const mission = parseMissionFile(root, options.mission);
@@ -1 +1 @@
1
- {"version":3,"file":"verify-run.js","sourceRoot":"","sources":["../../../src/cli/lib/verify-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify-run.js","sourceRoot":"","sources":["../../../src/cli/lib/verify-run.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /** Generated by scripts/gen-version.mjs — do not edit */
2
- export declare const CLI_VERSION = "2.2.3";
2
+ export declare const CLI_VERSION = "2.2.4";
3
3
  export declare const NPM_PACKAGE_NAME = "@jeger-ai/opengantry";
4
4
  //# sourceMappingURL=version.gen.d.ts.map
@@ -1,4 +1,4 @@
1
1
  /** Generated by scripts/gen-version.mjs — do not edit */
2
- export const CLI_VERSION = "2.2.3";
2
+ export const CLI_VERSION = "2.2.4";
3
3
  export const NPM_PACKAGE_NAME = "@jeger-ai/opengantry";
4
4
  //# sourceMappingURL=version.gen.js.map
@@ -60,7 +60,7 @@ export function registerCoreCommands(program) {
60
60
  });
61
61
  const upgradeCmd = program
62
62
  .command("upgrade")
63
- .description("Plan or apply substrate upgrades from the installed gapman package (Tier-3)");
63
+ .description("Plan or apply substrate upgrades from the installed gantry package (Tier-3)");
64
64
  upgradeCmd
65
65
  .command("plan")
66
66
  .description("Preview upgrade file changes without writing staging dir or mission YAML")
@@ -93,7 +93,7 @@ export function registerCoreCommands(program) {
93
93
  .option("--json", "Print JSON only")
94
94
  .option("--emit-mission", "Write .gitagent/missions/ACTIVE_MISSION.md from template (DIRECT_EXECUTION only)")
95
95
  .option("--msn <id>", "Mission id for --emit-mission", "MSN-0000")
96
- .option("--out <file>", "Mission output path for --emit-mission (default .gitagent/missions/ACTIVE_MISSION.md; use under .gitagent/missions/ for gapman verify)")
96
+ .option("--out <file>", "Mission output path for --emit-mission (default .gitagent/missions/ACTIVE_MISSION.md; use under .gitagent/missions/ for gantry verify)")
97
97
  .action(async (intentParts, options, _cmd) => {
98
98
  let text = intentParts.join(" ").trim();
99
99
  text = await readStdinIfEmpty(text);