@jeger-ai/opengantry 3.1.0 → 3.2.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 (248) hide show
  1. package/dist/cli/commands/attest.d.ts +2 -1
  2. package/dist/cli/commands/attest.d.ts.map +1 -1
  3. package/dist/cli/commands/attest.js +18 -10
  4. package/dist/cli/commands/attest.js.map +1 -1
  5. package/dist/cli/commands/check-imports.d.ts.map +1 -1
  6. package/dist/cli/commands/check-imports.js +4 -7
  7. package/dist/cli/commands/check-imports.js.map +1 -1
  8. package/dist/cli/commands/context-feed.d.ts.map +1 -1
  9. package/dist/cli/commands/context-feed.js +7 -10
  10. package/dist/cli/commands/context-feed.js.map +1 -1
  11. package/dist/cli/commands/doctor.d.ts.map +1 -1
  12. package/dist/cli/commands/doctor.js +2 -1
  13. package/dist/cli/commands/doctor.js.map +1 -1
  14. package/dist/cli/commands/interrogate.d.ts +12 -0
  15. package/dist/cli/commands/interrogate.d.ts.map +1 -0
  16. package/dist/cli/commands/interrogate.js +62 -0
  17. package/dist/cli/commands/interrogate.js.map +1 -0
  18. package/dist/cli/commands/metrics.d.ts.map +1 -1
  19. package/dist/cli/commands/metrics.js +5 -8
  20. package/dist/cli/commands/metrics.js.map +1 -1
  21. package/dist/cli/commands/pin.d.ts +6 -0
  22. package/dist/cli/commands/pin.d.ts.map +1 -0
  23. package/dist/cli/commands/pin.js +31 -0
  24. package/dist/cli/commands/pin.js.map +1 -0
  25. package/dist/cli/commands/receipt.d.ts +13 -0
  26. package/dist/cli/commands/receipt.d.ts.map +1 -0
  27. package/dist/cli/commands/receipt.js +52 -0
  28. package/dist/cli/commands/receipt.js.map +1 -0
  29. package/dist/cli/commands/runtime.d.ts +1 -1
  30. package/dist/cli/commands/runtime.d.ts.map +1 -1
  31. package/dist/cli/commands/runtime.js +20 -26
  32. package/dist/cli/commands/runtime.js.map +1 -1
  33. package/dist/cli/commands/scan.d.ts.map +1 -1
  34. package/dist/cli/commands/scan.js +17 -15
  35. package/dist/cli/commands/scan.js.map +1 -1
  36. package/dist/cli/commands/tmvc-guard.d.ts.map +1 -1
  37. package/dist/cli/commands/tmvc-guard.js +8 -15
  38. package/dist/cli/commands/tmvc-guard.js.map +1 -1
  39. package/dist/cli/commands/verify.d.ts.map +1 -1
  40. package/dist/cli/commands/verify.js +4 -6
  41. package/dist/cli/commands/verify.js.map +1 -1
  42. package/dist/cli/lib/arch/cage/target-architecture.d.ts +1 -0
  43. package/dist/cli/lib/arch/cage/target-architecture.d.ts.map +1 -1
  44. package/dist/cli/lib/arch/cage/target-architecture.js +1 -1
  45. package/dist/cli/lib/arch/cage/target-architecture.js.map +1 -1
  46. package/dist/cli/lib/attest-mission.d.ts +9 -1
  47. package/dist/cli/lib/attest-mission.d.ts.map +1 -1
  48. package/dist/cli/lib/attest-mission.js +17 -9
  49. package/dist/cli/lib/attest-mission.js.map +1 -1
  50. package/dist/cli/lib/attestation-export.d.ts +11 -0
  51. package/dist/cli/lib/attestation-export.d.ts.map +1 -0
  52. package/dist/cli/lib/attestation-export.js +23 -0
  53. package/dist/cli/lib/attestation-export.js.map +1 -0
  54. package/dist/cli/lib/attestation-receipt.d.ts +14 -5
  55. package/dist/cli/lib/attestation-receipt.d.ts.map +1 -1
  56. package/dist/cli/lib/attestation-receipt.js +82 -40
  57. package/dist/cli/lib/attestation-receipt.js.map +1 -1
  58. package/dist/cli/lib/command-boundary.d.ts +18 -0
  59. package/dist/cli/lib/command-boundary.d.ts.map +1 -1
  60. package/dist/cli/lib/command-boundary.js +50 -4
  61. package/dist/cli/lib/command-boundary.js.map +1 -1
  62. package/dist/cli/lib/draft-token.d.ts +5 -1
  63. package/dist/cli/lib/draft-token.d.ts.map +1 -1
  64. package/dist/cli/lib/draft-token.js +19 -3
  65. package/dist/cli/lib/draft-token.js.map +1 -1
  66. package/dist/cli/lib/errors.d.ts +9 -1
  67. package/dist/cli/lib/errors.d.ts.map +1 -1
  68. package/dist/cli/lib/errors.js +31 -10
  69. package/dist/cli/lib/errors.js.map +1 -1
  70. package/dist/cli/lib/gxt-error-codes.d.ts +5 -0
  71. package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
  72. package/dist/cli/lib/gxt-error-codes.js +8 -0
  73. package/dist/cli/lib/gxt-error-codes.js.map +1 -1
  74. package/dist/cli/lib/interrogate/answers.d.ts +8 -0
  75. package/dist/cli/lib/interrogate/answers.d.ts.map +1 -0
  76. package/dist/cli/lib/interrogate/answers.js +50 -0
  77. package/dist/cli/lib/interrogate/answers.js.map +1 -0
  78. package/dist/cli/lib/interrogate/findings.d.ts +27 -0
  79. package/dist/cli/lib/interrogate/findings.d.ts.map +1 -0
  80. package/dist/cli/lib/interrogate/findings.js +36 -0
  81. package/dist/cli/lib/interrogate/findings.js.map +1 -0
  82. package/dist/cli/lib/interrogate/gaps.d.ts +13 -0
  83. package/dist/cli/lib/interrogate/gaps.d.ts.map +1 -0
  84. package/dist/cli/lib/interrogate/gaps.js +110 -0
  85. package/dist/cli/lib/interrogate/gaps.js.map +1 -0
  86. package/dist/cli/lib/interrogate/gate-integrity.d.ts +7 -0
  87. package/dist/cli/lib/interrogate/gate-integrity.d.ts.map +1 -0
  88. package/dist/cli/lib/interrogate/gate-integrity.js +30 -0
  89. package/dist/cli/lib/interrogate/gate-integrity.js.map +1 -0
  90. package/dist/cli/lib/interrogate/run.d.ts +26 -0
  91. package/dist/cli/lib/interrogate/run.d.ts.map +1 -0
  92. package/dist/cli/lib/interrogate/run.js +43 -0
  93. package/dist/cli/lib/interrogate/run.js.map +1 -0
  94. package/dist/cli/lib/kpi-scan.d.ts.map +1 -1
  95. package/dist/cli/lib/kpi-scan.js +4 -3
  96. package/dist/cli/lib/kpi-scan.js.map +1 -1
  97. package/dist/cli/lib/legislate-gate-options.d.ts +9 -0
  98. package/dist/cli/lib/legislate-gate-options.d.ts.map +1 -0
  99. package/dist/cli/lib/legislate-gate-options.js +11 -0
  100. package/dist/cli/lib/legislate-gate-options.js.map +1 -0
  101. package/dist/cli/lib/legislate.d.ts +23 -12
  102. package/dist/cli/lib/legislate.d.ts.map +1 -1
  103. package/dist/cli/lib/legislate.js +61 -13
  104. package/dist/cli/lib/legislate.js.map +1 -1
  105. package/dist/cli/lib/manifest.d.ts.map +1 -1
  106. package/dist/cli/lib/manifest.js +10 -0
  107. package/dist/cli/lib/manifest.js.map +1 -1
  108. package/dist/cli/lib/mcp-attest.d.ts.map +1 -1
  109. package/dist/cli/lib/mcp-attest.js +8 -1
  110. package/dist/cli/lib/mcp-attest.js.map +1 -1
  111. package/dist/cli/lib/mcp-draft-legislation.d.ts.map +1 -1
  112. package/dist/cli/lib/mcp-draft-legislation.js +49 -5
  113. package/dist/cli/lib/mcp-draft-legislation.js.map +1 -1
  114. package/dist/cli/lib/mcp-execute-legislation.d.ts.map +1 -1
  115. package/dist/cli/lib/mcp-execute-legislation.js +6 -0
  116. package/dist/cli/lib/mcp-execute-legislation.js.map +1 -1
  117. package/dist/cli/lib/mcp-governance-shared.d.ts +7 -0
  118. package/dist/cli/lib/mcp-governance-shared.d.ts.map +1 -1
  119. package/dist/cli/lib/mcp-governance-shared.js +10 -0
  120. package/dist/cli/lib/mcp-governance-shared.js.map +1 -1
  121. package/dist/cli/lib/mcp-interrogate.d.ts +18 -0
  122. package/dist/cli/lib/mcp-interrogate.d.ts.map +1 -0
  123. package/dist/cli/lib/mcp-interrogate.js +29 -0
  124. package/dist/cli/lib/mcp-interrogate.js.map +1 -0
  125. package/dist/cli/lib/mcp-pin-mission.d.ts.map +1 -1
  126. package/dist/cli/lib/mcp-pin-mission.js +10 -10
  127. package/dist/cli/lib/mcp-pin-mission.js.map +1 -1
  128. package/dist/cli/lib/mcp-start-orchestration.d.ts.map +1 -1
  129. package/dist/cli/lib/mcp-start-orchestration.js +9 -4
  130. package/dist/cli/lib/mcp-start-orchestration.js.map +1 -1
  131. package/dist/cli/lib/mcp-tools-register.d.ts.map +1 -1
  132. package/dist/cli/lib/mcp-tools-register.js +22 -1
  133. package/dist/cli/lib/mcp-tools-register.js.map +1 -1
  134. package/dist/cli/lib/mission-arg.d.ts +18 -0
  135. package/dist/cli/lib/mission-arg.d.ts.map +1 -0
  136. package/dist/cli/lib/mission-arg.js +45 -0
  137. package/dist/cli/lib/mission-arg.js.map +1 -0
  138. package/dist/cli/lib/missions/formatter.d.ts.map +1 -1
  139. package/dist/cli/lib/missions/formatter.js +3 -0
  140. package/dist/cli/lib/missions/formatter.js.map +1 -1
  141. package/dist/cli/lib/missions/parser.d.ts +4 -0
  142. package/dist/cli/lib/missions/parser.d.ts.map +1 -1
  143. package/dist/cli/lib/missions/parser.js +36 -0
  144. package/dist/cli/lib/missions/parser.js.map +1 -1
  145. package/dist/cli/lib/org-export-config.d.ts +9 -0
  146. package/dist/cli/lib/org-export-config.d.ts.map +1 -0
  147. package/dist/cli/lib/org-export-config.js +45 -0
  148. package/dist/cli/lib/org-export-config.js.map +1 -0
  149. package/dist/cli/lib/pepper-keyring.d.ts +18 -0
  150. package/dist/cli/lib/pepper-keyring.d.ts.map +1 -0
  151. package/dist/cli/lib/pepper-keyring.js +128 -0
  152. package/dist/cli/lib/pepper-keyring.js.map +1 -0
  153. package/dist/cli/lib/perimeter.d.ts +1 -0
  154. package/dist/cli/lib/perimeter.d.ts.map +1 -1
  155. package/dist/cli/lib/perimeter.js +1 -1
  156. package/dist/cli/lib/perimeter.js.map +1 -1
  157. package/dist/cli/lib/principal-hmac.d.ts +20 -0
  158. package/dist/cli/lib/principal-hmac.d.ts.map +1 -0
  159. package/dist/cli/lib/principal-hmac.js +74 -0
  160. package/dist/cli/lib/principal-hmac.js.map +1 -0
  161. package/dist/cli/lib/receipt-attribution.d.ts +23 -0
  162. package/dist/cli/lib/receipt-attribution.d.ts.map +1 -0
  163. package/dist/cli/lib/receipt-attribution.js +113 -0
  164. package/dist/cli/lib/receipt-attribution.js.map +1 -0
  165. package/dist/cli/lib/receipt-inspect.d.ts +28 -0
  166. package/dist/cli/lib/receipt-inspect.d.ts.map +1 -0
  167. package/dist/cli/lib/receipt-inspect.js +105 -0
  168. package/dist/cli/lib/receipt-inspect.js.map +1 -0
  169. package/dist/cli/lib/receipt-signing.d.ts +18 -1
  170. package/dist/cli/lib/receipt-signing.d.ts.map +1 -1
  171. package/dist/cli/lib/receipt-signing.js +34 -8
  172. package/dist/cli/lib/receipt-signing.js.map +1 -1
  173. package/dist/cli/lib/start-orchestration.d.ts +1 -0
  174. package/dist/cli/lib/start-orchestration.d.ts.map +1 -1
  175. package/dist/cli/lib/start-orchestration.js +55 -4
  176. package/dist/cli/lib/start-orchestration.js.map +1 -1
  177. package/dist/cli/lib/tmvc-path.d.ts +2 -0
  178. package/dist/cli/lib/tmvc-path.d.ts.map +1 -1
  179. package/dist/cli/lib/tmvc-path.js +16 -0
  180. package/dist/cli/lib/tmvc-path.js.map +1 -1
  181. package/dist/cli/lib/triage-logic.d.ts +1 -0
  182. package/dist/cli/lib/triage-logic.d.ts.map +1 -1
  183. package/dist/cli/lib/triage-logic.js +3 -0
  184. package/dist/cli/lib/triage-logic.js.map +1 -1
  185. package/dist/cli/lib/types.d.ts +16 -0
  186. package/dist/cli/lib/types.d.ts.map +1 -1
  187. package/dist/cli/lib/verify-context.d.ts +15 -0
  188. package/dist/cli/lib/verify-context.d.ts.map +1 -0
  189. package/dist/cli/lib/verify-context.js +2 -0
  190. package/dist/cli/lib/verify-context.js.map +1 -0
  191. package/dist/cli/lib/verify-engine.d.ts.map +1 -1
  192. package/dist/cli/lib/verify-engine.js +37 -7
  193. package/dist/cli/lib/verify-engine.js.map +1 -1
  194. package/dist/cli/lib/verify-failure-normalize.d.ts.map +1 -1
  195. package/dist/cli/lib/verify-failure-normalize.js +14 -0
  196. package/dist/cli/lib/verify-failure-normalize.js.map +1 -1
  197. package/dist/cli/lib/verify-failure.d.ts +8 -2
  198. package/dist/cli/lib/verify-failure.d.ts.map +1 -1
  199. package/dist/cli/lib/verify-finding.d.ts +1 -1
  200. package/dist/cli/lib/verify-finding.d.ts.map +1 -1
  201. package/dist/cli/lib/verify-finding.js.map +1 -1
  202. package/dist/cli/lib/verify-hints.d.ts.map +1 -1
  203. package/dist/cli/lib/verify-hints.js +17 -0
  204. package/dist/cli/lib/verify-hints.js.map +1 -1
  205. package/dist/cli/lib/verify-interrogation.d.ts +18 -0
  206. package/dist/cli/lib/verify-interrogation.d.ts.map +1 -0
  207. package/dist/cli/lib/verify-interrogation.js +205 -0
  208. package/dist/cli/lib/verify-interrogation.js.map +1 -0
  209. package/dist/cli/lib/verify-options.d.ts +4 -2
  210. package/dist/cli/lib/verify-options.d.ts.map +1 -1
  211. package/dist/cli/lib/verify-options.js +1 -12
  212. package/dist/cli/lib/verify-options.js.map +1 -1
  213. package/dist/cli/lib/verify-payload.d.ts +7 -2
  214. package/dist/cli/lib/verify-payload.d.ts.map +1 -1
  215. package/dist/cli/lib/verify-payload.js +3 -3
  216. package/dist/cli/lib/verify-payload.js.map +1 -1
  217. package/dist/cli/lib/verify-presenters.d.ts +23 -15
  218. package/dist/cli/lib/verify-presenters.d.ts.map +1 -1
  219. package/dist/cli/lib/verify-presenters.js +49 -42
  220. package/dist/cli/lib/verify-presenters.js.map +1 -1
  221. package/dist/cli/lib/verify-receipt.d.ts +5 -1
  222. package/dist/cli/lib/verify-receipt.d.ts.map +1 -1
  223. package/dist/cli/lib/verify-receipt.js +27 -7
  224. package/dist/cli/lib/verify-receipt.js.map +1 -1
  225. package/dist/cli/lib/verify-run.d.ts +1 -0
  226. package/dist/cli/lib/verify-run.d.ts.map +1 -1
  227. package/dist/cli/lib/verify-run.js +90 -38
  228. package/dist/cli/lib/verify-run.js.map +1 -1
  229. package/dist/cli/lib/version.gen.d.ts +1 -1
  230. package/dist/cli/lib/version.gen.js +1 -1
  231. package/dist/cli/program-core.d.ts.map +1 -1
  232. package/dist/cli/program-core.js +52 -0
  233. package/dist/cli/program-core.js.map +1 -1
  234. package/dist/cli/program-mission.js +2 -2
  235. package/dist/cli/program-mission.js.map +1 -1
  236. package/dist/cli/program-workflow.d.ts +44 -0
  237. package/dist/cli/program-workflow.d.ts.map +1 -1
  238. package/dist/cli/program-workflow.js +69 -7
  239. package/dist/cli/program-workflow.js.map +1 -1
  240. package/package.json +1 -1
  241. package/templates/.gitagent/foreman/SUBSTRATE.version.json +1 -1
  242. package/templates/.gitagent/planner/MISSION.schema.yaml +54 -0
  243. package/templates/.github/workflows/gxt-attest-ingest.yml +72 -0
  244. package/templates/.gitignore.gxt +1 -0
  245. package/templates/integrations/compatibility.json +52 -16
  246. package/templates/scripts/gxt-pin-mission.sh +15 -2
  247. package/templates/scripts/gxt-runtime-env.sh +12 -6
  248. package/templates/scripts/validate-mcp-dogfood.mjs +56 -0
@@ -16,16 +16,29 @@ usage: scripts/gxt-pin-mission.sh .gitagent/missions/<file>.yaml
16
16
  Writes .gitagent/missions/.active-mission (gitignored) for:
17
17
  - scripts/gxt-runtime-env.sh (no arg)
18
18
  - .cursor/hooks/gxt-session-start.sh (new Agent sessions)
19
+
20
+ Prefer: gantry pin <mission> (writes repo-relative path)
19
21
  EOF
20
22
  exit 1
21
23
  fi
22
24
 
23
25
  MISSION="$1"
26
+ if command -v gantry >/dev/null 2>&1; then
27
+ gantry pin "$MISSION"
28
+ exit $?
29
+ fi
30
+
24
31
  if [ ! -f "$MISSION" ]; then
25
32
  echo "gxt-pin-mission: mission file not found: $MISSION" >&2
26
33
  exit 1
27
34
  fi
28
35
 
29
36
  mkdir -p .gitagent/missions
30
- printf '%s\n' "$MISSION" > .gitagent/missions/.active-mission
31
- printf 'Pinned active mission: %s\n' "$MISSION"
37
+ # Repo-relative path (matches gantry pin / pinMissionFile; portable — no GNU realpath)
38
+ if [[ "$MISSION" = /* ]]; then
39
+ MISSION_REL="${MISSION#"$ROOT"/}"
40
+ else
41
+ MISSION_REL="$MISSION"
42
+ fi
43
+ printf '%s\n' "$MISSION_REL" > .gitagent/missions/.active-mission
44
+ printf 'Pinned active mission: %s\n' "$MISSION_REL"
@@ -2,22 +2,29 @@
2
2
  # Load GXT Executor Runtime Contract into the current shell (any IDE terminal / manual runs).
3
3
  set -euo pipefail
4
4
 
5
+ _gxt_runtime_die() {
6
+ echo "$1" >&2
7
+ if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then
8
+ return 1
9
+ fi
10
+ exit 1
11
+ }
12
+
5
13
  ROOT="$(git rev-parse --show-toplevel 2>/dev/null || true)"
6
14
  if [ -z "$ROOT" ]; then
7
- echo "gxt-runtime-env: not inside a git repository" >&2
8
- exit 1
15
+ _gxt_runtime_die "gxt-runtime-env: not inside a git repository"
9
16
  fi
10
17
  cd "$ROOT"
11
18
 
12
19
  MISSION=""
13
20
  if ! MISSION="$(scripts/gxt-resolve-mission.sh "${1:-}" 2>/dev/null)"; then
14
- cat >&2 <<'EOF'
21
+ _gxt_runtime_die "$(cat <<'EOF'
15
22
  gxt-runtime-env: no mission file resolved.
16
23
  scripts/gxt-pin-mission.sh .gitagent/missions/<file>.yaml
17
24
  source scripts/gxt-runtime-env.sh .gitagent/missions/<file>.yaml
18
25
  export GANTRY_MISSION=.gitagent/missions/<file>.yaml
19
26
  EOF
20
- exit 1
27
+ )"
21
28
  fi
22
29
 
23
30
  if command -v gantry >/dev/null 2>&1; then
@@ -25,8 +32,7 @@ if command -v gantry >/dev/null 2>&1; then
25
32
  elif [ -f "dist/cli/index.js" ]; then
26
33
  eval "$(node dist/cli/index.js runtime env --mission "$MISSION")"
27
34
  else
28
- echo "gxt-runtime-env: gantry not found (npm ci && npm run build)" >&2
29
- exit 1
35
+ _gxt_runtime_die "gxt-runtime-env: gantry not found (npm ci && npm run build)"
30
36
  fi
31
37
 
32
38
  printf 'GXT runtime loaded: mission=%s skill=%s\n' "$GXT_MISSION_FILE" "${GXT_SKILL_KEY:-unknown}"
@@ -0,0 +1,56 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { spawnSync } from "node:child_process";
4
+ import {
5
+ handleDraftLegislation,
6
+ handleExecuteLegislation,
7
+ handleCheckSignature,
8
+ handlePinMission,
9
+ } from "../dist/cli/lib/mcp-governance.js";
10
+ import { handleRuntimeEnv } from "../dist/cli/lib/mcp-runtime.js";
11
+
12
+ const dest = process.env.GXT_DOGFOOD_TMP;
13
+ if (!dest) throw new Error("GXT_DOGFOOD_TMP unset");
14
+ process.chdir(dest);
15
+
16
+ const draft = handleDraftLegislation({
17
+ title: "Dogfood gantry MCP flow",
18
+ msn_id: "MSN-0301",
19
+ skill_key: "gantry",
20
+ gate_command: "npm test",
21
+ gate_success_substring: "pass",
22
+ interrogation: [],
23
+ });
24
+ if (draft.status !== "awaiting_human_approval") throw new Error("draft failed");
25
+
26
+ const before = fs.readdirSync(path.join(dest, ".gitagent", "missions"));
27
+ if (before.length !== 0) throw new Error("draft wrote files");
28
+
29
+ const executed = handleExecuteLegislation(draft.draft_token);
30
+ if (executed.status !== "pending_signature") throw new Error("execute failed");
31
+
32
+ const missing = handleCheckSignature(executed.mission_file_path);
33
+ if (missing.status !== "signature_missing") throw new Error("expected missing signature");
34
+
35
+ const addResult = spawnSync("git", ["add", "--", executed.mission_file_path], {
36
+ cwd: dest,
37
+ stdio: "inherit",
38
+ });
39
+ if (addResult.status !== 0) throw new Error("git add failed");
40
+
41
+ const commitResult = spawnSync("git", ["commit", "-m", executed.commit_message], {
42
+ cwd: dest,
43
+ stdio: "inherit",
44
+ });
45
+ if (commitResult.status !== 0) throw new Error("git commit failed");
46
+
47
+ const valid = handleCheckSignature(executed.mission_file_path);
48
+ if (valid.status !== "signature_valid") throw new Error("expected valid signature");
49
+
50
+ const pinned = handlePinMission(executed.mission_file_path);
51
+ if (pinned.status !== "pinned") throw new Error("pin failed");
52
+
53
+ const env = handleRuntimeEnv(executed.mission_file_path);
54
+ if (env.status !== "ok") throw new Error(`runtime env failed: ${JSON.stringify(env)}`);
55
+
56
+ console.log("OK: MCP dogfood flow passed");