@jeger-ai/opengantry 2.3.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -59
- package/dist/cli/commands/context-request.d.ts +2 -2
- package/dist/cli/commands/context-request.d.ts.map +1 -1
- package/dist/cli/commands/context-request.js +13 -13
- package/dist/cli/commands/context-request.js.map +1 -1
- package/dist/cli/commands/init.js +2 -2
- package/dist/cli/commands/onboarding.js +4 -4
- package/dist/cli/commands/onboarding.js.map +1 -1
- package/dist/cli/commands/planner.d.ts +11 -0
- package/dist/cli/commands/{teacher.d.ts.map → planner.d.ts.map} +1 -1
- package/dist/cli/commands/{teacher.js → planner.js} +11 -11
- package/dist/cli/commands/{teacher.js.map → planner.js.map} +1 -1
- package/dist/cli/commands/runtime.d.ts +1 -1
- package/dist/cli/commands/runtime.d.ts.map +1 -1
- package/dist/cli/commands/runtime.js +4 -4
- package/dist/cli/commands/runtime.js.map +1 -1
- package/dist/cli/lib/audience-output.d.ts +1 -1
- package/dist/cli/lib/audience-output.d.ts.map +1 -1
- package/dist/cli/lib/audience-output.js +16 -16
- package/dist/cli/lib/audience-output.js.map +1 -1
- package/dist/cli/lib/break-glass.js +1 -1
- package/dist/cli/lib/command-reporter.d.ts.map +1 -1
- package/dist/cli/lib/command-reporter.js +9 -4
- package/dist/cli/lib/command-reporter.js.map +1 -1
- package/dist/cli/lib/config-namespace.d.ts +2 -2
- package/dist/cli/lib/config-namespace.js +2 -2
- package/dist/cli/lib/constants.d.ts +8 -8
- package/dist/cli/lib/constants.d.ts.map +1 -1
- package/dist/cli/lib/constants.js +8 -8
- package/dist/cli/lib/constants.js.map +1 -1
- package/dist/cli/lib/context-request.d.ts +4 -4
- package/dist/cli/lib/context-request.d.ts.map +1 -1
- package/dist/cli/lib/context-request.js +11 -11
- package/dist/cli/lib/context-request.js.map +1 -1
- package/dist/cli/lib/doctor-core.d.ts.map +1 -1
- package/dist/cli/lib/doctor-core.js +49 -22
- package/dist/cli/lib/doctor-core.js.map +1 -1
- package/dist/cli/lib/doctor-types.d.ts +2 -2
- package/dist/cli/lib/errors.js +6 -6
- package/dist/cli/lib/errors.js.map +1 -1
- package/dist/cli/lib/executor-log-integrity.d.ts +4 -0
- package/dist/cli/lib/executor-log-integrity.d.ts.map +1 -0
- package/dist/cli/lib/{worker-log-integrity.js → executor-log-integrity.js} +8 -8
- package/dist/cli/lib/executor-log-integrity.js.map +1 -0
- package/dist/cli/lib/{worker-log-line-map.d.ts → executor-log-line-map.d.ts} +4 -4
- package/dist/cli/lib/executor-log-line-map.d.ts.map +1 -0
- package/dist/cli/lib/{worker-log-line-map.js → executor-log-line-map.js} +4 -4
- package/dist/cli/lib/executor-log-line-map.js.map +1 -0
- package/dist/cli/lib/file-merge-gxt.js +1 -1
- package/dist/cli/lib/file-merge-gxt.js.map +1 -1
- package/dist/cli/lib/fix-hints.d.ts +6 -6
- package/dist/cli/lib/fix-hints.d.ts.map +1 -1
- package/dist/cli/lib/fix-hints.js +36 -30
- package/dist/cli/lib/fix-hints.js.map +1 -1
- package/dist/cli/lib/git-metrics.js +10 -10
- package/dist/cli/lib/git-metrics.js.map +1 -1
- package/dist/cli/lib/git-proof.d.ts +7 -5
- package/dist/cli/lib/git-proof.d.ts.map +1 -1
- package/dist/cli/lib/git-proof.js +42 -19
- package/dist/cli/lib/git-proof.js.map +1 -1
- package/dist/cli/lib/gxt-config.d.ts +9 -0
- package/dist/cli/lib/gxt-config.d.ts.map +1 -0
- package/dist/cli/lib/gxt-config.js +20 -0
- package/dist/cli/lib/gxt-config.js.map +1 -0
- package/dist/cli/lib/gxt-error-codes.d.ts +2 -0
- package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
- package/dist/cli/lib/gxt-error-codes.js +7 -3
- package/dist/cli/lib/gxt-error-codes.js.map +1 -1
- package/dist/cli/lib/init-compose.js +1 -1
- package/dist/cli/lib/init-interactive.js +1 -1
- package/dist/cli/lib/init-interactive.js.map +1 -1
- package/dist/cli/lib/init-tutorial.js +14 -14
- package/dist/cli/lib/init-tutorial.js.map +1 -1
- package/dist/cli/lib/kpi-engine.d.ts +1 -1
- package/dist/cli/lib/kpi-engine.d.ts.map +1 -1
- package/dist/cli/lib/kpi-engine.js +11 -11
- package/dist/cli/lib/kpi-engine.js.map +1 -1
- package/dist/cli/lib/legislate-forbidden-zone.d.ts +1 -1
- package/dist/cli/lib/legislate-forbidden-zone.js +1 -1
- package/dist/cli/lib/legislate.js +4 -4
- package/dist/cli/lib/mcp-governance.d.ts +2 -2
- package/dist/cli/lib/mcp-governance.d.ts.map +1 -1
- package/dist/cli/lib/mcp-governance.js +40 -10
- package/dist/cli/lib/mcp-governance.js.map +1 -1
- package/dist/cli/lib/mcp-tools-register.js +3 -3
- package/dist/cli/lib/mcp-tools-register.js.map +1 -1
- package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -1
- package/dist/cli/lib/mcp-upgrade.js +8 -0
- package/dist/cli/lib/mcp-upgrade.js.map +1 -1
- package/dist/cli/lib/mcp-write-guard.d.ts +20 -0
- package/dist/cli/lib/mcp-write-guard.d.ts.map +1 -0
- package/dist/cli/lib/mcp-write-guard.js +82 -0
- package/dist/cli/lib/mcp-write-guard.js.map +1 -0
- package/dist/cli/lib/missions/formatter.d.ts +1 -1
- package/dist/cli/lib/missions/formatter.js +1 -1
- package/dist/cli/lib/onboarding-flow.js +1 -1
- package/dist/cli/lib/out-of-scope-hint.js +1 -1
- package/dist/cli/lib/perimeter.d.ts +1 -1
- package/dist/cli/lib/perimeter.js +10 -10
- package/dist/cli/lib/planner-identity.d.ts +23 -0
- package/dist/cli/lib/{teacher-identity.d.ts.map → planner-identity.d.ts.map} +1 -1
- package/dist/cli/lib/{teacher-identity.js → planner-identity.js} +34 -34
- package/dist/cli/lib/{teacher-identity.js.map → planner-identity.js.map} +1 -1
- package/dist/cli/lib/planner-signature.d.ts +11 -0
- package/dist/cli/lib/planner-signature.d.ts.map +1 -0
- package/dist/cli/lib/planner-signature.js +17 -0
- package/dist/cli/lib/planner-signature.js.map +1 -0
- package/dist/cli/lib/program-audience-hook.js +1 -1
- package/dist/cli/lib/program-audience-hook.js.map +1 -1
- package/dist/cli/lib/register-proposals.js +1 -1
- package/dist/cli/lib/runtime-env.d.ts +3 -3
- package/dist/cli/lib/runtime-env.d.ts.map +1 -1
- package/dist/cli/lib/runtime-env.js +4 -4
- package/dist/cli/lib/runtime-env.js.map +1 -1
- package/dist/cli/lib/runtime-exec.d.ts +4 -4
- package/dist/cli/lib/runtime-exec.d.ts.map +1 -1
- package/dist/cli/lib/runtime-exec.js +14 -14
- package/dist/cli/lib/runtime-exec.js.map +1 -1
- package/dist/cli/lib/staged-tmvc-guard.js +1 -1
- package/dist/cli/lib/staged-tmvc-guard.js.map +1 -1
- package/dist/cli/lib/start-orchestration.js +7 -7
- package/dist/cli/lib/start-orchestration.js.map +1 -1
- package/dist/cli/lib/status-report.d.ts +1 -1
- package/dist/cli/lib/status-report.js +7 -7
- package/dist/cli/lib/status-report.js.map +1 -1
- package/dist/cli/lib/surgeon.d.ts +3 -3
- package/dist/cli/lib/surgeon.d.ts.map +1 -1
- package/dist/cli/lib/surgeon.js +7 -7
- package/dist/cli/lib/surgeon.js.map +1 -1
- package/dist/cli/lib/surgeons/registry.d.ts +1 -1
- package/dist/cli/lib/surgeons/registry.d.ts.map +1 -1
- package/dist/cli/lib/telemetry-log.d.ts +1 -1
- package/dist/cli/lib/telemetry-log.d.ts.map +1 -1
- package/dist/cli/lib/telemetry-log.js +4 -4
- package/dist/cli/lib/telemetry-log.js.map +1 -1
- package/dist/cli/lib/tmvc-path.d.ts +1 -1
- package/dist/cli/lib/tmvc-path.d.ts.map +1 -1
- package/dist/cli/lib/tmvc-path.js +1 -1
- package/dist/cli/lib/tmvc-path.js.map +1 -1
- package/dist/cli/lib/trace.d.ts +8 -8
- package/dist/cli/lib/trace.d.ts.map +1 -1
- package/dist/cli/lib/trace.js +21 -21
- package/dist/cli/lib/trace.js.map +1 -1
- package/dist/cli/lib/triage-logic.js +1 -1
- package/dist/cli/lib/types.d.ts +1 -1
- package/dist/cli/lib/upgrade-apply.d.ts.map +1 -1
- package/dist/cli/lib/upgrade-apply.js +14 -2
- package/dist/cli/lib/upgrade-apply.js.map +1 -1
- package/dist/cli/lib/upgrade-plan.js +3 -3
- package/dist/cli/lib/verify-engine.d.ts +6 -5
- package/dist/cli/lib/verify-engine.d.ts.map +1 -1
- package/dist/cli/lib/verify-engine.js +40 -30
- package/dist/cli/lib/verify-engine.js.map +1 -1
- package/dist/cli/lib/verify-failure-normalize-phases.js +1 -1
- package/dist/cli/lib/verify-failure-normalize-phases.js.map +1 -1
- package/dist/cli/lib/verify-hints.d.ts +1 -1
- package/dist/cli/lib/verify-hints.d.ts.map +1 -1
- package/dist/cli/lib/verify-hints.js +16 -16
- package/dist/cli/lib/verify-hints.js.map +1 -1
- package/dist/cli/lib/verify-payload-types.d.ts +1 -0
- package/dist/cli/lib/verify-payload-types.d.ts.map +1 -1
- package/dist/cli/lib/verify-payload.d.ts.map +1 -1
- package/dist/cli/lib/verify-payload.js +3 -0
- package/dist/cli/lib/verify-payload.js.map +1 -1
- package/dist/cli/lib/verify-presenters.js +3 -3
- package/dist/cli/lib/verify-presenters.js.map +1 -1
- package/dist/cli/lib/version.gen.d.ts +1 -1
- package/dist/cli/lib/version.gen.js +1 -1
- package/dist/cli/program-core.js +4 -4
- package/dist/cli/program-core.js.map +1 -1
- package/dist/cli/program-mission.js +15 -15
- package/dist/cli/program-mission.js.map +1 -1
- package/dist/cli/program-planner.d.ts +3 -0
- package/dist/cli/program-planner.d.ts.map +1 -0
- package/dist/cli/program-planner.js +19 -0
- package/dist/cli/{program-teacher.js.map → program-planner.js.map} +1 -1
- package/dist/cli/program-workflow.js +7 -7
- package/dist/cli/program-workflow.js.map +1 -1
- package/dist/cli/program.js +3 -3
- package/dist/cli/program.js.map +1 -1
- package/package.json +1 -1
- package/templates/.cursor/hooks/gxt-before-shell.sh +4 -4
- package/templates/.cursor/hooks/gxt-session-start.sh +2 -2
- package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +4 -4
- package/templates/.gitagent/ARCHITECTURE.pointer.json +2 -2
- package/templates/.gitagent/foreman/MANIFEST.json +3 -3
- package/templates/.gitagent/foreman/PLANNER.allowlist.example +4 -0
- package/templates/.gitagent/missions/README.md +1 -1
- package/templates/.gitagent/{teacher → planner}/ARCHITECTURE-ACCESS.md +3 -3
- package/templates/.gitagent/{teacher → planner}/ARCHITECTURE-DISCOVERY.md +2 -2
- package/templates/.gitagent/{teacher/WORKER_LOG.template.md → planner/EXECUTOR_LOG.template.md} +2 -2
- package/templates/.gitagent/{teacher → planner}/MISSION-ARCHITECT.md +11 -11
- package/templates/.gitagent/{teacher → planner}/RULES.md +4 -4
- package/templates/.githooks/post-checkout +4 -4
- package/templates/.githooks/pre-push +1 -1
- package/templates/.github/workflows/gxt-validate.yml +1 -1
- package/templates/.gitignore.gxt +1 -1
- package/templates/.prettierignore.gxt +1 -1
- package/templates/AGENTS.md +6 -6
- package/templates/docs/ARCHITECTURE.md +2 -2
- package/templates/integrations/aider/.aider.conf.yml +1 -1
- package/templates/integrations/antigravity/.agent/rules/gxt.md +1 -1
- package/templates/integrations/asset-catalog.json +7 -7
- package/templates/integrations/claude-code/CLAUDE.md +1 -1
- package/templates/integrations/cline/.clinerules/gxt.md +1 -1
- package/templates/integrations/compatibility.json +1 -1
- package/templates/integrations/junie/.junie/guidelines.md +1 -1
- package/templates/integrations/opencode/opencode.json +1 -1
- package/templates/integrations/openhands/.openhands/microagents/gxt.md +1 -1
- package/templates/integrations/recipes/_footer.md +7 -7
- package/templates/integrations/recipes/_preamble.md +7 -7
- package/templates/integrations/recipes/claude-code.md +1 -1
- package/templates/integrations/recipes/cursor.md +2 -2
- package/templates/scripts/gxt-manifest-lib.mjs +1 -1
- package/templates/scripts/gxt-runtime-env.sh +1 -1
- package/templates/skills/gantry.md +1 -1
- package/templates/skills/substrate.md +1 -1
- package/dist/cli/commands/teacher.d.ts +0 -11
- package/dist/cli/lib/teacher-identity.d.ts +0 -23
- package/dist/cli/lib/worker-log-integrity.d.ts +0 -4
- package/dist/cli/lib/worker-log-integrity.d.ts.map +0 -1
- package/dist/cli/lib/worker-log-integrity.js.map +0 -1
- package/dist/cli/lib/worker-log-line-map.d.ts.map +0 -1
- package/dist/cli/lib/worker-log-line-map.js.map +0 -1
- package/dist/cli/program-teacher.d.ts +0 -3
- package/dist/cli/program-teacher.d.ts.map +0 -1
- package/dist/cli/program-teacher.js +0 -19
- package/templates/.gitagent/foreman/TEACHER.allowlist.example +0 -4
- /package/templates/.gitagent/{teacher → planner}/KPI-REPORT.schema.yaml +0 -0
- /package/templates/.gitagent/{teacher → planner}/MISSION.schema.yaml +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAMD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAiCjE;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DzF"}
|
|
@@ -41,7 +41,7 @@ export function runRuntimeEnv(options) {
|
|
|
41
41
|
}
|
|
42
42
|
export async function runRuntimeExecCommand(options) {
|
|
43
43
|
if (options.workerCommand.length === 0) {
|
|
44
|
-
logError("runtime exec: missing
|
|
44
|
+
logError("runtime exec: missing executor command. Use -- <worker-command...>");
|
|
45
45
|
setExitCode(2);
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
@@ -52,7 +52,7 @@ export async function runRuntimeExecCommand(options) {
|
|
|
52
52
|
mission: options.mission,
|
|
53
53
|
workerCommand: options.workerCommand,
|
|
54
54
|
cwd: options.cwd,
|
|
55
|
-
|
|
55
|
+
executorLog: options.executorLog,
|
|
56
56
|
append: options.append,
|
|
57
57
|
timeoutMs: options.timeoutMs,
|
|
58
58
|
streamOutput: options.streamOutput,
|
|
@@ -72,7 +72,7 @@ export async function runRuntimeExecCommand(options) {
|
|
|
72
72
|
worker_signal: result.workerSignal,
|
|
73
73
|
violation_count: result.violations.length,
|
|
74
74
|
violations: result.violations,
|
|
75
|
-
|
|
75
|
+
executor_log: result.executorLogPath,
|
|
76
76
|
flight_id: result.flightId,
|
|
77
77
|
agent_error_path: agentError?.error_file ?? "",
|
|
78
78
|
agent_error: agentError,
|
|
@@ -80,7 +80,7 @@ export async function runRuntimeExecCommand(options) {
|
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
82
|
logInfo(`runtime exec: ${result.status}`);
|
|
83
|
-
logInfo(`
|
|
83
|
+
logInfo(` executor_log: ${result.executorLogPath}`);
|
|
84
84
|
logInfo(` violations: ${String(result.violations.length)}`);
|
|
85
85
|
if (agentError) {
|
|
86
86
|
logInfo(hintRuntimeHumanSummary(agentError.summary, agentError.error_file));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACtC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAE,CAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,QAAQ,CACN,wCAAwC,OAAO,CAAC,OAAO,kJAAkJ,CAC1M,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA8B;IACxE,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/cli/commands/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACtC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,UAAU,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAE,CAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,QAAQ,CACN,wCAAwC,OAAO,CAAC,OAAO,kJAAkJ,CAC1M,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAA8B;IACxE,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,oEAAoE,CAAC,CAAC;QAC/E,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE;YAC7C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAC;QAEH,IAAI,UAAU,GAA6B,IAAI,CAAC;QAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAsB,CAAC;YACjF,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CACL,IAAI,CAAC,SAAS,CACZ;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,MAAM,CAAC,cAAc;gBACvC,aAAa,EAAE,MAAM,CAAC,YAAY;gBAClC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;gBACzC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY,EAAE,MAAM,CAAC,eAAe;gBACpC,SAAS,EAAE,MAAM,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE;gBAC9C,WAAW,EAAE,UAAU;aACxB,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,iBAAiB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,mBAAmB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5E,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Tailor command output verbosity by role. */
|
|
2
|
-
export type OutputAudience = "
|
|
2
|
+
export type OutputAudience = "executor" | "planner" | "verifier" | "platform";
|
|
3
3
|
export declare function parseAudience(raw: string | undefined): OutputAudience | undefined;
|
|
4
4
|
export interface ResolvedAudience {
|
|
5
5
|
audience?: OutputAudience;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audience-output.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"audience-output.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAS9E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAOjF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,gBAAgB,CAQlB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CASjG;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,eAAO,MAAM,sBAAsB,EAAE,gBAAgB,EAepD,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,MAAM,EAAE,gBAAgB,EAAE,GACzB,MAAM,EAAE,CAMV;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CASxF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const VALID_AUDIENCES = [
|
|
2
|
-
"
|
|
3
|
-
"
|
|
2
|
+
"executor",
|
|
3
|
+
"planner",
|
|
4
4
|
"verifier",
|
|
5
5
|
"platform",
|
|
6
6
|
];
|
|
@@ -27,19 +27,19 @@ export function resolveAudience(cliRaw, envRaw) {
|
|
|
27
27
|
export function formatAudienceNextStep(step, audience) {
|
|
28
28
|
if (!audience || audience === "platform")
|
|
29
29
|
return step;
|
|
30
|
-
if (audience === "
|
|
30
|
+
if (audience === "executor") {
|
|
31
31
|
return step.startsWith("Constraint:") ? step : `Constraint: ${step}`;
|
|
32
32
|
}
|
|
33
|
-
if (audience === "
|
|
34
|
-
return /^(Teacher:|git )/i.test(step) ? step : `
|
|
33
|
+
if (audience === "planner") {
|
|
34
|
+
return /^(Teacher:|git )/i.test(step) ? step : `Planner: ${step}`;
|
|
35
35
|
}
|
|
36
36
|
return step;
|
|
37
37
|
}
|
|
38
38
|
const DEFAULT_NEXT_STEPS = [
|
|
39
|
-
{ audience: "
|
|
40
|
-
{ audience: "
|
|
41
|
-
{ audience: "
|
|
42
|
-
{ audience: "
|
|
39
|
+
{ audience: "planner", step: 'gantry legislate "<intent>" --msn MSN-0001 --skill-key <key>' },
|
|
40
|
+
{ audience: "planner", step: "Planner: git commit -m \"[MSN-0001] legislate …\" including mission file" },
|
|
41
|
+
{ audience: "executor", step: "eval \"$(gantry runtime env --mission .gitagent/missions/<file>.yaml)\"" },
|
|
42
|
+
{ audience: "executor", step: "Append gate evidence to EXECUTOR_LOG.md" },
|
|
43
43
|
{ audience: "verifier", step: "gantry verify --mission .gitagent/missions/<file>.yaml" },
|
|
44
44
|
{ audience: "platform", step: "git config core.hooksPath .githooks && gantry doctor" },
|
|
45
45
|
];
|
|
@@ -49,11 +49,11 @@ export const INIT_TAGGED_NEXT_STEPS = [
|
|
|
49
49
|
step: "edit .gitagent/foreman/MANIFEST.json (tmvc_roots, forbidden_zones, skills) and run gantry check",
|
|
50
50
|
},
|
|
51
51
|
{ audience: "platform", step: "git config core.hooksPath .githooks" },
|
|
52
|
-
{ audience: "
|
|
53
|
-
{ audience: "
|
|
54
|
-
{ audience: "
|
|
55
|
-
{ audience: "
|
|
56
|
-
{ audience: "
|
|
52
|
+
{ audience: "planner", step: 'gantry planner set "$(git config user.email)"' },
|
|
53
|
+
{ audience: "planner", step: 'gantry start "<intent>" --msn MSN-0001 --skill-key <manifest-key>' },
|
|
54
|
+
{ audience: "planner", step: 'Planner: git commit -m "[MSN-0001] legislate mission" including mission file' },
|
|
55
|
+
{ audience: "executor", step: "eval \"$(gantry runtime env --mission .gitagent/missions/<file>.yaml)\"" },
|
|
56
|
+
{ audience: "executor", step: "Append gate evidence to EXECUTOR_LOG.md" },
|
|
57
57
|
{ audience: "verifier", step: "gantry verify --mission .gitagent/missions/<file>.yaml" },
|
|
58
58
|
{ audience: "platform", step: "source scripts/gxt-runtime-env.sh .gitagent/missions/<file>.yaml" },
|
|
59
59
|
{ audience: "platform", step: "scripts/gxt-pin-mission.sh .gitagent/missions/<file>.yaml" },
|
|
@@ -72,8 +72,8 @@ export function audienceSectionTitle(audience) {
|
|
|
72
72
|
if (!audience)
|
|
73
73
|
return null;
|
|
74
74
|
const labels = {
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
executor: "Executor next steps",
|
|
76
|
+
planner: "Planner next steps",
|
|
77
77
|
verifier: "Verifier next steps",
|
|
78
78
|
platform: "Platform next steps",
|
|
79
79
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audience-output.js","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAA8B;IACjD,
|
|
1
|
+
{"version":3,"file":"audience-output.js","sourceRoot":"","sources":["../../../src/cli/lib/audience-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ export function assertBypassSecretAuthorized(repoRoot) {
|
|
|
46
46
|
return;
|
|
47
47
|
const anchorPath = path.join(repoRoot, REL_BYPASS_SHA256);
|
|
48
48
|
if (!fs.existsSync(anchorPath)) {
|
|
49
|
-
throw new Error(`${CLI_NAME}: break-glass: BYPASS_NOT_CONFIGURED — ${REL_BYPASS_SHA256} is missing.
|
|
49
|
+
throw new Error(`${CLI_NAME}: break-glass: BYPASS_NOT_CONFIGURED — ${REL_BYPASS_SHA256} is missing. Planner must install a SHA-256 anchor of the team secret.`);
|
|
50
50
|
}
|
|
51
51
|
if (!process.env[ENV_BYPASS_SECRET]?.length) {
|
|
52
52
|
throw new Error(`${CLI_NAME}: break-glass: BYPASS_SECRET_MISSING — Set ${ENV_BYPASS_SECRET} in the execution environment.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-reporter.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/command-reporter.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;gBAElC,OAAO,GAAE,sBAA2B;IAKhD,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,eAAe;IAUzF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKhC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKnD,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"command-reporter.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/command-reporter.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;gBAElC,OAAO,GAAE,sBAA2B;IAKhD,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,eAAe;IAUzF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKhC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAKnD,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAkCxE,uBAAuB,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI;IAatE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,kBAAkB,EAAE,GAAG,IAAI;CAiBpE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { logError, logInfo } from "./cli-io.js";
|
|
1
|
+
import { logError, logInfo, logWarn } from "./cli-io.js";
|
|
2
2
|
import { audienceSectionTitle, filterTaggedStepsForAudience, formatAudienceNextStep, } from "./audience-output.js";
|
|
3
3
|
import { getOutputAudience } from "./output-context.js";
|
|
4
4
|
import { CLI_NAME } from "./constants.js";
|
|
@@ -46,7 +46,12 @@ export class CommandReporter {
|
|
|
46
46
|
emitVerifySuccess(result, _missionArg) {
|
|
47
47
|
if (this.channel === "silent" || this.channel === "json")
|
|
48
48
|
return;
|
|
49
|
-
this.emitInfo(`${CLI_NAME} verify: git-proof OK (
|
|
49
|
+
this.emitInfo(`${CLI_NAME} verify: git-proof OK (Planner legislation for ${result.proofMsnId})`);
|
|
50
|
+
if (result.gitProofWarnings) {
|
|
51
|
+
for (const w of result.gitProofWarnings) {
|
|
52
|
+
logWarn(w);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
50
55
|
if (result.outcome === "pre_push_stub") {
|
|
51
56
|
this.emitInfo(`${CLI_NAME} verify: legislative stub OK (remote handoff; git-proof passed — run full verify after execution)`);
|
|
52
57
|
return;
|
|
@@ -62,9 +67,9 @@ export class CommandReporter {
|
|
|
62
67
|
this.emitInfo(` trace: line ${tag} DoD ${warning.row.dodId} — declared ${String(warning.declaredLine)}, found ${String(warning.foundLine)}`);
|
|
63
68
|
}
|
|
64
69
|
if (result.traceEvidenceSkippedUncommitted !== undefined) {
|
|
65
|
-
this.emitInfo(` trace evidence: ${String(result.traceEvidenceSkippedUncommitted)} uncommitted
|
|
70
|
+
this.emitInfo(` trace evidence: ${String(result.traceEvidenceSkippedUncommitted)} uncommitted EXECUTOR_LOG line(s) skipped stale check`);
|
|
66
71
|
}
|
|
67
|
-
this.emitInfo(`${CLI_NAME} verify: trace mapping OK (${result.
|
|
72
|
+
this.emitInfo(`${CLI_NAME} verify: trace mapping OK (${result.executorLogPath})`);
|
|
68
73
|
}
|
|
69
74
|
emitFailurePresentation(presentation) {
|
|
70
75
|
if (this.channel === "silent" || this.channel === "json")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-reporter.js","sourceRoot":"","sources":["../../../src/cli/lib/command-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"command-reporter.js","sourceRoot":"","sources":["../../../src/cli/lib/command-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa5C;;;GAGG;AACH,MAAM,OAAO,eAAe;IACjB,OAAO,CAAyB;IAChC,QAAQ,CAA6B;IAE9C,YAAY,UAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAAsD;QACrE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAI,eAAe,CAAC;YACzB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,iBAAiB,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAA4B;QAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO;QACtC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB,CAAC,MAA0B,EAAE,WAAmB;QAC/D,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,kDAAkD,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACjG,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CACX,GAAG,QAAQ,mGAAmG,CAC/G,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,sBAAsB,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,IAAI,CAAC,QAAQ,CACX,iBAAiB,GAAG,QAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,eAAe,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAC/H,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;YACzD,IAAI,CAAC,QAAQ,CACX,qBAAqB,MAAM,CAAC,MAAM,CAAC,+BAA+B,CAAC,uDAAuD,CAC3H,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,8BAA8B,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC;IACpF,CAAC;IAED,uBAAuB,CAAC,YAAuC;QAC7D,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,IAAI,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,UAAU,KAAK,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;;gBAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa,CAAC,KAAe,EAAE,MAA6B;QAC1D,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,QAAQ,GACZ,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC;QACZ,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,OAAO,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,SAAS;gBAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,eAAe,CAAC,CAAC;YACzB,KAAK,MAAM,MAAM,IAAI,SAAS;gBAAE,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -3,10 +3,10 @@ export declare const ENV_PREFIX: "GANTRY_";
|
|
|
3
3
|
export declare const LEGACY_ENV_PREFIX: "GAPMAN_";
|
|
4
4
|
export declare const GIT_CONFIG_PREFIX: "gantry.";
|
|
5
5
|
export declare const LEGACY_GIT_CONFIG_PREFIX: "gapman.";
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const ENV_PLANNER_EMAILS: "GANTRY_PLANNER_EMAILS";
|
|
7
7
|
export declare const ENV_MISSION: "GANTRY_MISSION";
|
|
8
8
|
export declare const ENV_DEBUG: "GANTRY_DEBUG";
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const GIT_CONFIG_PLANNER_EMAILS: "gantry.plannerEmails";
|
|
10
10
|
/**
|
|
11
11
|
* Read env var preferring GANTRY_<suffix>, then silent GAPMAN_<suffix> fallback.
|
|
12
12
|
*/
|
|
@@ -4,10 +4,10 @@ export const ENV_PREFIX = "GANTRY_";
|
|
|
4
4
|
export const LEGACY_ENV_PREFIX = "GAPMAN_";
|
|
5
5
|
export const GIT_CONFIG_PREFIX = "gantry.";
|
|
6
6
|
export const LEGACY_GIT_CONFIG_PREFIX = "gapman.";
|
|
7
|
-
export const
|
|
7
|
+
export const ENV_PLANNER_EMAILS = "GANTRY_PLANNER_EMAILS";
|
|
8
8
|
export const ENV_MISSION = "GANTRY_MISSION";
|
|
9
9
|
export const ENV_DEBUG = "GANTRY_DEBUG";
|
|
10
|
-
export const
|
|
10
|
+
export const GIT_CONFIG_PLANNER_EMAILS = "gantry.plannerEmails";
|
|
11
11
|
/**
|
|
12
12
|
* Read env var preferring GANTRY_<suffix>, then silent GAPMAN_<suffix> fallback.
|
|
13
13
|
*/
|
|
@@ -3,15 +3,15 @@ export declare const REL_MANIFEST: ".gitagent/foreman/MANIFEST.json";
|
|
|
3
3
|
/** Agent discovery for code layout (file, directory, or external). */
|
|
4
4
|
export declare const REL_ARCHITECTURE_POINTER: ".gitagent/ARCHITECTURE.pointer.json";
|
|
5
5
|
/** Agent instructions when architecture access requires authentication. */
|
|
6
|
-
export declare const REL_ARCHITECTURE_ACCESS_SKILL: ".gitagent/
|
|
6
|
+
export declare const REL_ARCHITECTURE_ACCESS_SKILL: ".gitagent/planner/ARCHITECTURE-ACCESS.md";
|
|
7
7
|
/** Agent instructions when architecture is unset, stub, or uncertain — ask before implementing. */
|
|
8
|
-
export declare const REL_ARCHITECTURE_DISCOVERY_SKILL: ".gitagent/
|
|
8
|
+
export declare const REL_ARCHITECTURE_DISCOVERY_SKILL: ".gitagent/planner/ARCHITECTURE-DISCOVERY.md";
|
|
9
9
|
/** Git-ignored credential slots for architecture sources (see gantry arch cred). */
|
|
10
10
|
export declare const REL_ARCHITECTURE_CREDENTIALS_DIR: ".gitagent/history/credentials";
|
|
11
|
-
export declare const REL_MISSION_SCHEMA: ".gitagent/
|
|
12
|
-
export declare const REL_KPI_REPORT_SCHEMA: ".gitagent/
|
|
11
|
+
export declare const REL_MISSION_SCHEMA: ".gitagent/planner/MISSION.schema.yaml";
|
|
12
|
+
export declare const REL_KPI_REPORT_SCHEMA: ".gitagent/planner/KPI-REPORT.schema.yaml";
|
|
13
13
|
export declare const DEFAULT_KPI_REPORT_DIR: ".gitagent/kpi";
|
|
14
|
-
export declare const REL_MISSION_TEMPLATE: ".gitagent/
|
|
14
|
+
export declare const REL_MISSION_TEMPLATE: ".gitagent/planner/MISSION.template.md";
|
|
15
15
|
export declare const REL_HISTORY_DIR: ".gitagent/history";
|
|
16
16
|
/** Git-ignored machine-readable runtime error (see templates/.gitignore.gxt). */
|
|
17
17
|
export declare const REL_AGENT_ERROR_FILE: ".gitagent/history/.ignored-last-error.json";
|
|
@@ -22,9 +22,9 @@ export declare const REL_VIRTUAL_SCRATCH: ".gitagent/virtual/";
|
|
|
22
22
|
/** ADR markdown (optional `match_terms` in frontmatter) — Foreman may emit non-binding hints only. */
|
|
23
23
|
export declare const REL_OUT_OF_SCOPE_DIR: ".gitagent/out-of-scope";
|
|
24
24
|
export declare const SKILLS_DIR_NAME: "skills";
|
|
25
|
-
export declare const
|
|
26
|
-
/** Default trace quote emitted by `gantry legislate` before
|
|
27
|
-
export declare const LEGISLATE_TRACE_PLACEHOLDER: "
|
|
25
|
+
export declare const EXECUTOR_LOG_FILENAME: "EXECUTOR_LOG.md";
|
|
26
|
+
/** Default trace quote emitted by `gantry legislate` before executor execution. */
|
|
27
|
+
export declare const LEGISLATE_TRACE_PLACEHOLDER: "REPLACE_WITH_VERBATIM_QUOTE_FROM_EXECUTOR_LOG_AFTER_EXECUTION";
|
|
28
28
|
/** Default path for `--emit-mission` (must stay under `.gitagent/missions/` for `gantry verify` git-proof). */
|
|
29
29
|
export declare const DEFAULT_ACTIVE_MISSION: ".gitagent/missions/ACTIVE_MISSION.md";
|
|
30
30
|
/** Mission id in commits / missions (four digits) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,eAAO,MAAM,YAAY,EAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,EAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,EAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,eAAO,MAAM,gCAAgC,EAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,eAAO,MAAM,gCAAgC,EAAG,+BAAwC,CAAC;AACzF,eAAO,MAAM,kBAAkB,EAAG,uCAAgD,CAAC;AACnF,eAAO,MAAM,qBAAqB,EAAG,0CAAmD,CAAC;AACzF,eAAO,MAAM,sBAAsB,EAAG,eAAwB,CAAC;AAC/D,eAAO,MAAM,oBAAoB,EAAG,uCAAgD,CAAC;AACrF,eAAO,MAAM,eAAe,EAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAC1F,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,EAAG,qCAA8C,CAAC;AACnF,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,EAAG,oBAA6B,CAAC;AACjE,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,EAAG,wBAAiC,CAAC;AACtE,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AACjD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,eAAO,MAAM,YAAY,EAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,EAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,eAAO,MAAM,6BAA6B,EAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,eAAO,MAAM,gCAAgC,EAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,eAAO,MAAM,gCAAgC,EAAG,+BAAwC,CAAC;AACzF,eAAO,MAAM,kBAAkB,EAAG,uCAAgD,CAAC;AACnF,eAAO,MAAM,qBAAqB,EAAG,0CAAmD,CAAC;AACzF,eAAO,MAAM,sBAAsB,EAAG,eAAwB,CAAC;AAC/D,eAAO,MAAM,oBAAoB,EAAG,uCAAgD,CAAC;AACrF,eAAO,MAAM,eAAe,EAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,EAAG,4CAAqD,CAAC;AAC1F,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,EAAG,qCAA8C,CAAC;AACnF,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,EAAG,oBAA6B,CAAC;AACjE,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,EAAG,wBAAiC,CAAC;AACtE,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AACjD,eAAO,MAAM,qBAAqB,EAAG,iBAA0B,CAAC;AAChE,mFAAmF;AACnF,eAAO,MAAM,2BAA2B,EACtC,+DAAwE,CAAC;AAC3E,+GAA+G;AAC/G,eAAO,MAAM,sBAAsB,EAAG,sCAA+C,CAAC;AAEtF,qDAAqD;AACrD,eAAO,MAAM,cAAc,QAAgB,CAAC;AAE5C,eAAO,MAAM,QAAQ,WAAW,CAAC;AACjC,eAAO,MAAM,eAAe,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -3,15 +3,15 @@ export const REL_MANIFEST = ".gitagent/foreman/MANIFEST.json";
|
|
|
3
3
|
/** Agent discovery for code layout (file, directory, or external). */
|
|
4
4
|
export const REL_ARCHITECTURE_POINTER = ".gitagent/ARCHITECTURE.pointer.json";
|
|
5
5
|
/** Agent instructions when architecture access requires authentication. */
|
|
6
|
-
export const REL_ARCHITECTURE_ACCESS_SKILL = ".gitagent/
|
|
6
|
+
export const REL_ARCHITECTURE_ACCESS_SKILL = ".gitagent/planner/ARCHITECTURE-ACCESS.md";
|
|
7
7
|
/** Agent instructions when architecture is unset, stub, or uncertain — ask before implementing. */
|
|
8
|
-
export const REL_ARCHITECTURE_DISCOVERY_SKILL = ".gitagent/
|
|
8
|
+
export const REL_ARCHITECTURE_DISCOVERY_SKILL = ".gitagent/planner/ARCHITECTURE-DISCOVERY.md";
|
|
9
9
|
/** Git-ignored credential slots for architecture sources (see gantry arch cred). */
|
|
10
10
|
export const REL_ARCHITECTURE_CREDENTIALS_DIR = ".gitagent/history/credentials";
|
|
11
|
-
export const REL_MISSION_SCHEMA = ".gitagent/
|
|
12
|
-
export const REL_KPI_REPORT_SCHEMA = ".gitagent/
|
|
11
|
+
export const REL_MISSION_SCHEMA = ".gitagent/planner/MISSION.schema.yaml";
|
|
12
|
+
export const REL_KPI_REPORT_SCHEMA = ".gitagent/planner/KPI-REPORT.schema.yaml";
|
|
13
13
|
export const DEFAULT_KPI_REPORT_DIR = ".gitagent/kpi";
|
|
14
|
-
export const REL_MISSION_TEMPLATE = ".gitagent/
|
|
14
|
+
export const REL_MISSION_TEMPLATE = ".gitagent/planner/MISSION.template.md";
|
|
15
15
|
export const REL_HISTORY_DIR = ".gitagent/history";
|
|
16
16
|
/** Git-ignored machine-readable runtime error (see templates/.gitignore.gxt). */
|
|
17
17
|
export const REL_AGENT_ERROR_FILE = ".gitagent/history/.ignored-last-error.json";
|
|
@@ -22,9 +22,9 @@ export const REL_VIRTUAL_SCRATCH = ".gitagent/virtual/";
|
|
|
22
22
|
/** ADR markdown (optional `match_terms` in frontmatter) — Foreman may emit non-binding hints only. */
|
|
23
23
|
export const REL_OUT_OF_SCOPE_DIR = ".gitagent/out-of-scope";
|
|
24
24
|
export const SKILLS_DIR_NAME = "skills";
|
|
25
|
-
export const
|
|
26
|
-
/** Default trace quote emitted by `gantry legislate` before
|
|
27
|
-
export const LEGISLATE_TRACE_PLACEHOLDER = "
|
|
25
|
+
export const EXECUTOR_LOG_FILENAME = "EXECUTOR_LOG.md";
|
|
26
|
+
/** Default trace quote emitted by `gantry legislate` before executor execution. */
|
|
27
|
+
export const LEGISLATE_TRACE_PLACEHOLDER = "REPLACE_WITH_VERBATIM_QUOTE_FROM_EXECUTOR_LOG_AFTER_EXECUTION";
|
|
28
28
|
/** Default path for `--emit-mission` (must stay under `.gitagent/missions/` for `gantry verify` git-proof). */
|
|
29
29
|
export const DEFAULT_ACTIVE_MISSION = ".gitagent/missions/ACTIVE_MISSION.md";
|
|
30
30
|
/** Mission id in commits / missions (four digits) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,MAAM,CAAC,MAAM,gCAAgC,GAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,MAAM,CAAC,MAAM,gCAAgC,GAAG,+BAAwC,CAAC;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,uCAAgD,CAAC;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,0CAAmD,CAAC;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAwB,CAAC;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAgD,CAAC;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAAqD,CAAC;AAC1F,4FAA4F;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,qCAA8C,CAAC;AACnF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAA6B,CAAC;AACjE,sGAAsG;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAiC,CAAC;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,QAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/lib/constants.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,CAAC,MAAM,YAAY,GAAG,iCAA0C,CAAC;AACvE,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,qCAA8C,CAAC;AACvF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,0CAAmD,CAAC;AACjG,mGAAmG;AACnG,MAAM,CAAC,MAAM,gCAAgC,GAAG,6CAAsD,CAAC;AACvG,oFAAoF;AACpF,MAAM,CAAC,MAAM,gCAAgC,GAAG,+BAAwC,CAAC;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,uCAAgD,CAAC;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,0CAAmD,CAAC;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAwB,CAAC;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,uCAAgD,CAAC;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,mBAA4B,CAAC;AAC5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAAqD,CAAC;AAC1F,4FAA4F;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,qCAA8C,CAAC;AACnF,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAA6B,CAAC;AACjE,sGAAsG;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAiC,CAAC;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,QAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAA0B,CAAC;AAChE,mFAAmF;AACnF,MAAM,CAAC,MAAM,2BAA2B,GACtC,+DAAwE,CAAC;AAC3E,+GAA+G;AAC/G,MAAM,CAAC,MAAM,sBAAsB,GAAG,sCAA+C,CAAC;AAEtF,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -7,14 +7,14 @@ export interface ContextRequestEntry {
|
|
|
7
7
|
msnId?: string;
|
|
8
8
|
}
|
|
9
9
|
export interface AppendContextRequestOptions {
|
|
10
|
-
|
|
10
|
+
executorLogPath: string;
|
|
11
11
|
entry: ContextRequestEntry;
|
|
12
12
|
}
|
|
13
|
-
/** Grep-friendly single-line
|
|
13
|
+
/** Grep-friendly single-line EXECUTOR_LOG scaffold per RULES §4. */
|
|
14
14
|
export declare function formatContextRequestLine(entry: ContextRequestEntry): string;
|
|
15
15
|
export declare function appendContextRequest(options: AppendContextRequestOptions): string;
|
|
16
|
-
export declare function
|
|
17
|
-
export declare function
|
|
16
|
+
export declare function executorLogRepoRelative(repoRoot: string, executorLogPath: string): string;
|
|
17
|
+
export declare function stageExecutorLogIfRequested(repoRoot: string, executorLogPath: string, stage: boolean): {
|
|
18
18
|
staged: boolean;
|
|
19
19
|
repoRel: string;
|
|
20
20
|
stderr: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-request.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/context-request.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,
|
|
1
|
+
{"version":3,"file":"context-request.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/context-request.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAMD,oEAAoE;AACpE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAU3E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAOjF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAKzF;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACb;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOtD"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { toPosixRel } from "./cli-io.js";
|
|
4
|
-
import {
|
|
4
|
+
import { EXECUTOR_LOG_FILENAME } from "./constants.js";
|
|
5
5
|
import { gitStagePath } from "./git-staged.js";
|
|
6
|
-
import {
|
|
6
|
+
import { ensureExecutorLogExists } from "./surgeon.js";
|
|
7
7
|
function formatPathList(paths) {
|
|
8
8
|
return paths.map((p) => `\`${p}\``).join(", ");
|
|
9
9
|
}
|
|
10
|
-
/** Grep-friendly single-line
|
|
10
|
+
/** Grep-friendly single-line EXECUTOR_LOG scaffold per RULES §4. */
|
|
11
11
|
export function formatContextRequestLine(entry) {
|
|
12
12
|
const pathsPart = formatPathList(entry.paths);
|
|
13
13
|
let line = `- Context Request ${entry.status}: ${pathsPart} — ${entry.reason.trim()}`;
|
|
@@ -20,22 +20,22 @@ export function formatContextRequestLine(entry) {
|
|
|
20
20
|
return line;
|
|
21
21
|
}
|
|
22
22
|
export function appendContextRequest(options) {
|
|
23
|
-
const {
|
|
24
|
-
|
|
23
|
+
const { executorLogPath, entry } = options;
|
|
24
|
+
ensureExecutorLogExists(executorLogPath);
|
|
25
25
|
const line = formatContextRequestLine(entry);
|
|
26
26
|
const suffix = line.endsWith("\n") ? line : `${line}\n`;
|
|
27
|
-
fs.appendFileSync(
|
|
27
|
+
fs.appendFileSync(executorLogPath, suffix, { encoding: "utf8" });
|
|
28
28
|
return line;
|
|
29
29
|
}
|
|
30
|
-
export function
|
|
31
|
-
const abs = path.resolve(
|
|
30
|
+
export function executorLogRepoRelative(repoRoot, executorLogPath) {
|
|
31
|
+
const abs = path.resolve(executorLogPath);
|
|
32
32
|
const rel = toPosixRel(repoRoot, abs);
|
|
33
33
|
if (rel.length > 0 && !rel.startsWith(".."))
|
|
34
34
|
return rel;
|
|
35
|
-
return
|
|
35
|
+
return EXECUTOR_LOG_FILENAME;
|
|
36
36
|
}
|
|
37
|
-
export function
|
|
38
|
-
const repoRel =
|
|
37
|
+
export function stageExecutorLogIfRequested(repoRoot, executorLogPath, stage) {
|
|
38
|
+
const repoRel = executorLogRepoRelative(repoRoot, executorLogPath);
|
|
39
39
|
if (!stage) {
|
|
40
40
|
return { staged: false, repoRel, stderr: "" };
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-request.js","sourceRoot":"","sources":["../../../src/cli/lib/context-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context-request.js","sourceRoot":"","sources":["../../../src/cli/lib/context-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAiBvD,SAAS,cAAc,CAAC,KAAwB;IAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,wBAAwB,CAAC,KAA0B;IACjE,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,IAAI,GAAG,qBAAqB,KAAK,CAAC,MAAM,KAAK,SAAS,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACtF,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,IAAI,gBAAgB,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACxB,IAAI,IAAI,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAoC;IACvE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC3C,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;IACxD,EAAE,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgB,EAAE,eAAuB;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACxD,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAgB,EAChB,eAAuB,EACvB,KAAc;IAEd,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-core.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/doctor-core.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,KAAK,iBAAiB,EAEtB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor-core.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/doctor-core.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,KAAK,iBAAiB,EAEtB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAoI3B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,CA8BnF;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,YAAY,CAyBd"}
|
|
@@ -3,16 +3,19 @@ import path from "node:path";
|
|
|
3
3
|
import { runArchitecturePointerDoctorChecks } from "./architecture-pointer.js";
|
|
4
4
|
import { ENV_BYPASS_SECRET, isBypassSecretAuthorized, REL_BYPASS_SHA256 } from "./break-glass.js";
|
|
5
5
|
import { REL_AGENT_ERROR_FILE, REL_MANIFEST, CLI_NAME } from "./constants.js";
|
|
6
|
-
import {
|
|
6
|
+
import { ENV_PLANNER_EMAILS } from "./config-namespace.js";
|
|
7
7
|
import { agentErrorAbsolutePath } from "./errors.js";
|
|
8
8
|
import { gitConfigGet } from "./git.js";
|
|
9
9
|
import { resolveTemplateRootFromModule } from "./integration-compat.js";
|
|
10
|
-
import {
|
|
10
|
+
import { resolvePlannerEmails } from "./planner-identity.js";
|
|
11
11
|
import { checkSkillManifestSync } from "./skill-sync.js";
|
|
12
12
|
import { doctorLinesHasFail, pickNextStep, } from "./doctor-types.js";
|
|
13
13
|
import { runIntegrationDoctorChecks } from "./doctor-integration.js";
|
|
14
14
|
import { runSubstrateDriftDoctorChecks } from "./doctor-substrate.js";
|
|
15
|
-
import {
|
|
15
|
+
import { runExecutorLogIntegrityDoctorChecks } from "./executor-log-integrity.js";
|
|
16
|
+
import { loadGxtConfig, resolvePlannerSignatureTier } from "./gxt-config.js";
|
|
17
|
+
import { gitCommitSignatureStatus, isGoodGitSignatureStatus } from "./planner-signature.js";
|
|
18
|
+
import { gitRunOk } from "./git.js";
|
|
16
19
|
function readBypassAnchorState(repoRoot) {
|
|
17
20
|
const p = path.join(repoRoot, REL_BYPASS_SHA256);
|
|
18
21
|
if (!fs.existsSync(p))
|
|
@@ -25,24 +28,47 @@ function readBypassAnchorState(repoRoot) {
|
|
|
25
28
|
function readHooksPath(repoRoot) {
|
|
26
29
|
return gitConfigGet(repoRoot, "core.hooksPath");
|
|
27
30
|
}
|
|
28
|
-
function
|
|
29
|
-
const
|
|
30
|
-
if (
|
|
31
|
+
function appendPlannerAllowlistChecks(root, lines, nextStep) {
|
|
32
|
+
const plannerIdentity = resolvePlannerEmails(root);
|
|
33
|
+
if (plannerIdentity.emails.length > 0) {
|
|
31
34
|
lines.push({
|
|
32
35
|
level: "ok",
|
|
33
|
-
message: `
|
|
36
|
+
message: `Planner allowlist (${plannerIdentity.source}): ${plannerIdentity.emails.join(", ")}`,
|
|
34
37
|
});
|
|
35
|
-
if (
|
|
38
|
+
if (plannerIdentity.source === "env") {
|
|
36
39
|
lines.push({
|
|
37
40
|
level: "warn",
|
|
38
|
-
message: `
|
|
41
|
+
message: `Planner identity from ${ENV_PLANNER_EMAILS} env — prefer repo-local .gitagent/foreman/PLANNER.allowlist.local when working across projects`,
|
|
39
42
|
});
|
|
40
43
|
}
|
|
41
|
-
return { nextStep,
|
|
44
|
+
return { nextStep, plannerAllowlistUnset: false };
|
|
42
45
|
}
|
|
43
|
-
lines.push({ level: "warn", message: "
|
|
44
|
-
nextStep = pickNextStep(nextStep, `${CLI_NAME}
|
|
45
|
-
return { nextStep,
|
|
46
|
+
lines.push({ level: "warn", message: "Planner allowlist unset — verify git-proof will fail" });
|
|
47
|
+
nextStep = pickNextStep(nextStep, `${CLI_NAME} planner set "$(git config user.email)"`);
|
|
48
|
+
return { nextStep, plannerAllowlistUnset: true };
|
|
49
|
+
}
|
|
50
|
+
function appendPlannerSignatureChecks(root, lines) {
|
|
51
|
+
const tier = resolvePlannerSignatureTier(loadGxtConfig(root));
|
|
52
|
+
lines.push({ level: "ok", message: `planner_signature tier: ${tier}` });
|
|
53
|
+
if (tier === "off")
|
|
54
|
+
return;
|
|
55
|
+
const plannerIdentity = resolvePlannerEmails(root);
|
|
56
|
+
if (plannerIdentity.emails.length === 0)
|
|
57
|
+
return;
|
|
58
|
+
const headAuthor = gitRunOk(root, ["log", "-1", "--format=%ae"]);
|
|
59
|
+
if (!headAuthor.ok)
|
|
60
|
+
return;
|
|
61
|
+
const authorEmail = headAuthor.stdout.trim().toLowerCase();
|
|
62
|
+
if (!plannerIdentity.emails.includes(authorEmail))
|
|
63
|
+
return;
|
|
64
|
+
const status = gitCommitSignatureStatus(root, "HEAD");
|
|
65
|
+
const signed = isGoodGitSignatureStatus(status);
|
|
66
|
+
lines.push({
|
|
67
|
+
level: signed ? "ok" : "warn",
|
|
68
|
+
message: signed
|
|
69
|
+
? "HEAD Planner stamp: signed"
|
|
70
|
+
: `HEAD Planner stamp: unsigned (git %G?=${status})`,
|
|
71
|
+
});
|
|
46
72
|
}
|
|
47
73
|
function appendBypassChecks(root, lines) {
|
|
48
74
|
const bypassState = readBypassAnchorState(root);
|
|
@@ -81,10 +107,10 @@ function appendHooksAndExampleMissionChecks(root, lines, nextStep) {
|
|
|
81
107
|
lines.push({ level: "warn", message: "core.hooksPath unset — run: git config core.hooksPath .githooks" });
|
|
82
108
|
}
|
|
83
109
|
const exampleMission = ".gitagent/missions/example.verify.yaml";
|
|
84
|
-
const
|
|
110
|
+
const plannerIdentity = resolvePlannerEmails(root);
|
|
85
111
|
if (fs.existsSync(path.join(root, exampleMission))) {
|
|
86
112
|
lines.push({ level: "ok", message: `example mission: ${exampleMission}` });
|
|
87
|
-
if (
|
|
113
|
+
if (plannerIdentity.emails.length > 0) {
|
|
88
114
|
nextStep = pickNextStep(nextStep, `gantry verify --mission ${exampleMission}`);
|
|
89
115
|
}
|
|
90
116
|
}
|
|
@@ -112,7 +138,7 @@ export function runDoctorChecks(root, manifest) {
|
|
|
112
138
|
const lines = [{ level: "ok", message: `repo: ${root}` }];
|
|
113
139
|
let hasFail = false;
|
|
114
140
|
let nextStep = null;
|
|
115
|
-
let
|
|
141
|
+
let plannerAllowlistUnset = false;
|
|
116
142
|
const skillSync = checkSkillManifestSync(root, manifest);
|
|
117
143
|
if (skillSync.ok) {
|
|
118
144
|
lines.push({ level: "ok", message: "manifest + skills/ Rule 4.4 sync" });
|
|
@@ -123,9 +149,10 @@ export function runDoctorChecks(root, manifest) {
|
|
|
123
149
|
hasFail = true;
|
|
124
150
|
nextStep = pickNextStep(nextStep, "gantry check");
|
|
125
151
|
}
|
|
126
|
-
const
|
|
127
|
-
nextStep =
|
|
128
|
-
|
|
152
|
+
const plannerResult = appendPlannerAllowlistChecks(root, lines, nextStep);
|
|
153
|
+
nextStep = plannerResult.nextStep;
|
|
154
|
+
plannerAllowlistUnset = plannerResult.plannerAllowlistUnset;
|
|
155
|
+
appendPlannerSignatureChecks(root, lines);
|
|
129
156
|
appendBypassChecks(root, lines);
|
|
130
157
|
nextStep = appendHooksAndExampleMissionChecks(root, lines, nextStep);
|
|
131
158
|
appendAgentErrorCheck(root, lines);
|
|
@@ -134,12 +161,12 @@ export function runDoctorChecks(root, manifest) {
|
|
|
134
161
|
hasFail = true;
|
|
135
162
|
nextStep = pickNextStep(nextStep, "gantry init");
|
|
136
163
|
}
|
|
137
|
-
return { lines, hasFail, nextStep,
|
|
164
|
+
return { lines, hasFail, nextStep, plannerAllowlistUnset };
|
|
138
165
|
}
|
|
139
166
|
export function collectDoctorReport(root, manifest, templatesRoot) {
|
|
140
167
|
const result = runDoctorChecks(root, manifest);
|
|
141
168
|
let lines = [...result.lines, ...runArchitecturePointerDoctorChecks(root)];
|
|
142
|
-
lines = [...lines, ...
|
|
169
|
+
lines = [...lines, ...runExecutorLogIntegrityDoctorChecks(root)];
|
|
143
170
|
let nextStep = result.nextStep;
|
|
144
171
|
try {
|
|
145
172
|
const tpl = templatesRoot ?? resolveTemplateRootFromModule();
|
|
@@ -160,7 +187,7 @@ export function collectDoctorReport(root, manifest, templatesRoot) {
|
|
|
160
187
|
lines,
|
|
161
188
|
hasFail: doctorLinesHasFail(lines) || result.hasFail,
|
|
162
189
|
nextStep,
|
|
163
|
-
|
|
190
|
+
plannerAllowlistUnset: result.plannerAllowlistUnset,
|
|
164
191
|
};
|
|
165
192
|
}
|
|
166
193
|
//# sourceMappingURL=doctor-core.js.map
|