@jeger-ai/opengantry 2.0.0 → 2.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.
- package/README.md +40 -14
- package/dist/cli/commands/audit-rigor.d.ts +8 -0
- package/dist/cli/commands/audit-rigor.d.ts.map +1 -0
- package/dist/cli/commands/audit-rigor.js +24 -0
- package/dist/cli/commands/audit-rigor.js.map +1 -0
- package/dist/cli/commands/context-feed.d.ts +6 -0
- package/dist/cli/commands/context-feed.d.ts.map +1 -0
- package/dist/cli/commands/context-feed.js +48 -0
- package/dist/cli/commands/context-feed.js.map +1 -0
- package/dist/cli/commands/context-request.d.ts +11 -0
- package/dist/cli/commands/context-request.d.ts.map +1 -0
- package/dist/cli/commands/context-request.js +74 -0
- package/dist/cli/commands/context-request.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +1 -2
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +6 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/legislate.d.ts +1 -1
- package/dist/cli/commands/legislate.d.ts.map +1 -1
- package/dist/cli/commands/legislate.js +1 -1
- package/dist/cli/commands/legislate.js.map +1 -1
- package/dist/cli/commands/mission.js +3 -3
- package/dist/cli/commands/mission.js.map +1 -1
- package/dist/cli/commands/onboarding.d.ts.map +1 -1
- package/dist/cli/commands/onboarding.js +12 -9
- package/dist/cli/commands/onboarding.js.map +1 -1
- package/dist/cli/commands/perimeter.js +1 -1
- package/dist/cli/commands/perimeter.js.map +1 -1
- package/dist/cli/commands/runtime.js +1 -1
- package/dist/cli/commands/runtime.js.map +1 -1
- package/dist/cli/commands/scan.js +1 -1
- package/dist/cli/commands/scan.js.map +1 -1
- package/dist/cli/commands/tmvc-guard.d.ts +7 -0
- package/dist/cli/commands/tmvc-guard.d.ts.map +1 -0
- package/dist/cli/commands/tmvc-guard.js +63 -0
- package/dist/cli/commands/tmvc-guard.js.map +1 -0
- package/dist/cli/commands/triage.js +2 -2
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +3 -2
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/verify.d.ts +2 -2
- package/dist/cli/commands/verify.d.ts.map +1 -1
- package/dist/cli/commands/verify.js +7 -7
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/architecture-pointer.d.ts +33 -5
- package/dist/cli/lib/architecture-pointer.d.ts.map +1 -1
- package/dist/cli/lib/architecture-pointer.js +304 -5
- package/dist/cli/lib/architecture-pointer.js.map +1 -1
- package/dist/cli/lib/ast-discovery.d.ts.map +1 -1
- package/dist/cli/lib/ast-discovery.js +7 -16
- package/dist/cli/lib/ast-discovery.js.map +1 -1
- package/dist/cli/lib/audit-rigor.d.ts +18 -0
- package/dist/cli/lib/audit-rigor.d.ts.map +1 -0
- package/dist/cli/lib/audit-rigor.js +189 -0
- package/dist/cli/lib/audit-rigor.js.map +1 -0
- package/dist/cli/lib/banned-import-violation.d.ts +8 -0
- package/dist/cli/lib/banned-import-violation.d.ts.map +1 -0
- package/dist/cli/lib/banned-import-violation.js +15 -0
- package/dist/cli/lib/banned-import-violation.js.map +1 -0
- package/dist/cli/lib/break-glass.d.ts +17 -0
- package/dist/cli/lib/break-glass.d.ts.map +1 -1
- package/dist/cli/lib/break-glass.js +28 -1
- package/dist/cli/lib/break-glass.js.map +1 -1
- package/dist/cli/lib/cli-io.d.ts +8 -0
- package/dist/cli/lib/cli-io.d.ts.map +1 -1
- package/dist/cli/lib/cli-io.js +16 -0
- package/dist/cli/lib/cli-io.js.map +1 -1
- package/dist/cli/lib/command-reporter.d.ts +3 -3
- package/dist/cli/lib/command-reporter.d.ts.map +1 -1
- package/dist/cli/lib/constants.d.ts +6 -0
- package/dist/cli/lib/constants.d.ts.map +1 -1
- package/dist/cli/lib/constants.js +6 -0
- package/dist/cli/lib/constants.js.map +1 -1
- package/dist/cli/lib/context-feed-remediation.d.ts +12 -0
- package/dist/cli/lib/context-feed-remediation.d.ts.map +1 -0
- package/dist/cli/lib/context-feed-remediation.js +88 -0
- package/dist/cli/lib/context-feed-remediation.js.map +1 -0
- package/dist/cli/lib/context-feed-store.d.ts +33 -0
- package/dist/cli/lib/context-feed-store.d.ts.map +1 -0
- package/dist/cli/lib/context-feed-store.js +110 -0
- package/dist/cli/lib/context-feed-store.js.map +1 -0
- package/dist/cli/lib/context-request.d.ts +22 -0
- package/dist/cli/lib/context-request.d.ts.map +1 -0
- package/dist/cli/lib/context-request.js +45 -0
- package/dist/cli/lib/context-request.js.map +1 -0
- package/dist/cli/lib/dirty-missions.js +1 -1
- package/dist/cli/lib/dirty-missions.js.map +1 -1
- package/dist/cli/lib/doctor-core.d.ts +5 -0
- package/dist/cli/lib/doctor-core.d.ts.map +1 -0
- package/dist/cli/lib/{doctor-checks.js → doctor-core.js} +34 -9
- package/dist/cli/lib/doctor-core.js.map +1 -0
- package/dist/cli/lib/doctor-integration.d.ts +13 -0
- package/dist/cli/lib/doctor-integration.d.ts.map +1 -0
- package/dist/cli/lib/{doctor-integration-checks.js → doctor-integration.js} +38 -7
- package/dist/cli/lib/doctor-integration.js.map +1 -0
- package/dist/cli/lib/doctor-substrate.d.ts +3 -0
- package/dist/cli/lib/doctor-substrate.d.ts.map +1 -0
- package/dist/cli/lib/{doctor-substrate-drift.js → doctor-substrate.js} +1 -1
- package/dist/cli/lib/doctor-substrate.js.map +1 -0
- package/dist/cli/lib/{doctor-checks.d.ts → doctor-types.d.ts} +11 -3
- package/dist/cli/lib/doctor-types.d.ts.map +1 -0
- package/dist/cli/lib/doctor-types.js +7 -0
- package/dist/cli/lib/doctor-types.js.map +1 -0
- package/dist/cli/lib/doctor.d.ts +5 -0
- package/dist/cli/lib/doctor.d.ts.map +1 -0
- package/dist/cli/lib/doctor.js +5 -0
- package/dist/cli/lib/doctor.js.map +1 -0
- package/dist/cli/lib/draft-token.js +1 -1
- package/dist/cli/lib/draft-token.js.map +1 -1
- package/dist/cli/lib/{user-error.d.ts → errors.d.ts} +20 -1
- package/dist/cli/lib/errors.d.ts.map +1 -0
- package/dist/cli/lib/{agent-error.js → errors.js} +64 -1
- package/dist/cli/lib/errors.js.map +1 -0
- package/dist/cli/lib/fix-hints.d.ts +1 -1
- package/dist/cli/lib/fix-hints.d.ts.map +1 -1
- package/dist/cli/lib/gate-work-dir.d.ts +6 -0
- package/dist/cli/lib/gate-work-dir.d.ts.map +1 -0
- package/dist/cli/lib/gate-work-dir.js +6 -0
- package/dist/cli/lib/gate-work-dir.js.map +1 -0
- package/dist/cli/lib/git-metrics.d.ts +34 -0
- package/dist/cli/lib/git-metrics.d.ts.map +1 -1
- package/dist/cli/lib/git-metrics.js +199 -3
- package/dist/cli/lib/git-metrics.js.map +1 -1
- package/dist/cli/lib/git-proof.d.ts +4 -0
- package/dist/cli/lib/git-proof.d.ts.map +1 -1
- package/dist/cli/lib/git-proof.js +22 -8
- package/dist/cli/lib/git-proof.js.map +1 -1
- package/dist/cli/lib/git-staged.d.ts +20 -0
- package/dist/cli/lib/git-staged.d.ts.map +1 -0
- package/dist/cli/lib/git-staged.js +37 -0
- package/dist/cli/lib/git-staged.js.map +1 -0
- package/dist/cli/lib/git.d.ts +25 -0
- package/dist/cli/lib/git.d.ts.map +1 -1
- package/dist/cli/lib/git.js +52 -0
- package/dist/cli/lib/git.js.map +1 -1
- package/dist/cli/lib/gxt-error-codes.d.ts +4 -0
- package/dist/cli/lib/gxt-error-codes.d.ts.map +1 -1
- package/dist/cli/lib/gxt-error-codes.js +4 -0
- package/dist/cli/lib/gxt-error-codes.js.map +1 -1
- package/dist/cli/lib/import-scanner.d.ts +14 -0
- package/dist/cli/lib/import-scanner.d.ts.map +1 -0
- package/dist/cli/lib/import-scanner.js +67 -0
- package/dist/cli/lib/import-scanner.js.map +1 -0
- package/dist/cli/lib/{init-compose-arch-pointer.d.ts → init-compose.d.ts} +4 -1
- package/dist/cli/lib/init-compose.d.ts.map +1 -0
- package/dist/cli/lib/{init-compose-arch-pointer.js → init-compose.js} +37 -1
- package/dist/cli/lib/init-compose.js.map +1 -0
- package/dist/cli/lib/init-interactive.js +2 -2
- package/dist/cli/lib/init-interactive.js.map +1 -1
- package/dist/cli/lib/init-tutorial.d.ts.map +1 -1
- package/dist/cli/lib/init-tutorial.js +10 -10
- package/dist/cli/lib/init-tutorial.js.map +1 -1
- package/dist/cli/lib/integration-compat.d.ts +7 -0
- package/dist/cli/lib/integration-compat.d.ts.map +1 -1
- package/dist/cli/lib/integration-compat.js +14 -0
- package/dist/cli/lib/integration-compat.js.map +1 -1
- package/dist/cli/lib/kpi-engine.d.ts +32 -0
- package/dist/cli/lib/kpi-engine.d.ts.map +1 -0
- package/dist/cli/lib/kpi-engine.js +279 -0
- package/dist/cli/lib/kpi-engine.js.map +1 -0
- package/dist/cli/lib/kpi-scan.d.ts +2 -0
- package/dist/cli/lib/kpi-scan.d.ts.map +1 -1
- package/dist/cli/lib/kpi-scan.js +8 -4
- package/dist/cli/lib/kpi-scan.js.map +1 -1
- package/dist/cli/lib/legislate.d.ts +39 -0
- package/dist/cli/lib/legislate.d.ts.map +1 -0
- package/dist/cli/lib/{legislate-core.js → legislate.js} +31 -6
- package/dist/cli/lib/legislate.js.map +1 -0
- package/dist/cli/lib/mcp-governance.d.ts +124 -0
- package/dist/cli/lib/mcp-governance.d.ts.map +1 -0
- package/dist/cli/lib/mcp-governance.js +231 -0
- package/dist/cli/lib/mcp-governance.js.map +1 -0
- package/dist/cli/lib/mcp-runtime.d.ts +4 -4
- package/dist/cli/lib/mcp-runtime.d.ts.map +1 -1
- package/dist/cli/lib/mcp-runtime.js +3 -3
- package/dist/cli/lib/mcp-runtime.js.map +1 -1
- package/dist/cli/lib/mcp-tools-register.js +2 -3
- package/dist/cli/lib/mcp-tools-register.js.map +1 -1
- package/dist/cli/lib/mcp-upgrade.d.ts +11 -2
- package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -1
- package/dist/cli/lib/mcp-upgrade.js +6 -2
- package/dist/cli/lib/mcp-upgrade.js.map +1 -1
- package/dist/cli/lib/missions/formatter.d.ts +17 -0
- package/dist/cli/lib/missions/formatter.d.ts.map +1 -0
- package/dist/cli/lib/{mission-markdown.js → missions/formatter.js} +58 -2
- package/dist/cli/lib/missions/formatter.js.map +1 -0
- package/dist/cli/lib/missions/parser.d.ts +45 -0
- package/dist/cli/lib/missions/parser.d.ts.map +1 -0
- package/dist/cli/lib/missions/parser.js +271 -0
- package/dist/cli/lib/missions/parser.js.map +1 -0
- package/dist/cli/lib/{mission-schema-validate.d.ts → missions/validator.d.ts} +1 -1
- package/dist/cli/lib/missions/validator.d.ts.map +1 -0
- package/dist/cli/lib/{mission-schema-validate.js → missions/validator.js} +4 -3
- package/dist/cli/lib/missions/validator.js.map +1 -0
- package/dist/cli/lib/msn-allocate.js +3 -3
- package/dist/cli/lib/msn-allocate.js.map +1 -1
- package/dist/cli/lib/perimeter.d.ts +19 -1
- package/dist/cli/lib/perimeter.d.ts.map +1 -1
- package/dist/cli/lib/perimeter.js +139 -51
- package/dist/cli/lib/perimeter.js.map +1 -1
- package/dist/cli/lib/register-proposals.d.ts +1 -1
- package/dist/cli/lib/register-proposals.d.ts.map +1 -1
- package/dist/cli/lib/register-proposals.js +5 -1
- package/dist/cli/lib/register-proposals.js.map +1 -1
- package/dist/cli/lib/runtime-env.js +2 -2
- package/dist/cli/lib/runtime-env.js.map +1 -1
- package/dist/cli/lib/runtime-exec.d.ts +48 -4
- package/dist/cli/lib/runtime-exec.d.ts.map +1 -1
- package/dist/cli/lib/runtime-exec.js +218 -4
- package/dist/cli/lib/runtime-exec.js.map +1 -1
- package/dist/cli/lib/staged-tmvc-guard.d.ts +26 -0
- package/dist/cli/lib/staged-tmvc-guard.d.ts.map +1 -0
- package/dist/cli/lib/staged-tmvc-guard.js +58 -0
- package/dist/cli/lib/staged-tmvc-guard.js.map +1 -0
- package/dist/cli/lib/start-orchestration.d.ts.map +1 -1
- package/dist/cli/lib/start-orchestration.js +20 -41
- package/dist/cli/lib/start-orchestration.js.map +1 -1
- package/dist/cli/lib/{start-state.d.ts → start-snapshot.d.ts} +1 -1
- package/dist/cli/lib/start-snapshot.d.ts.map +1 -0
- package/dist/cli/lib/{start-state.js → start-snapshot.js} +3 -8
- package/dist/cli/lib/start-snapshot.js.map +1 -0
- package/dist/cli/lib/status-report.d.ts +1 -1
- package/dist/cli/lib/status-report.d.ts.map +1 -1
- package/dist/cli/lib/status-report.js +2 -2
- package/dist/cli/lib/status-report.js.map +1 -1
- package/dist/cli/lib/surgeon.d.ts +23 -0
- package/dist/cli/lib/surgeon.d.ts.map +1 -0
- package/dist/cli/lib/surgeon.js +63 -0
- package/dist/cli/lib/surgeon.js.map +1 -0
- package/dist/cli/lib/surgeons/banned-import.d.ts +4 -0
- package/dist/cli/lib/surgeons/banned-import.d.ts.map +1 -0
- package/dist/cli/lib/surgeons/banned-import.js +37 -0
- package/dist/cli/lib/surgeons/banned-import.js.map +1 -0
- package/dist/cli/lib/surgeons/import-layer.d.ts +3 -0
- package/dist/cli/lib/surgeons/import-layer.d.ts.map +1 -0
- package/dist/cli/lib/surgeons/import-layer.js +74 -0
- package/dist/cli/lib/surgeons/import-layer.js.map +1 -0
- package/dist/cli/lib/surgeons/quarantine-import.d.ts +24 -0
- package/dist/cli/lib/surgeons/quarantine-import.d.ts.map +1 -0
- package/dist/cli/lib/surgeons/quarantine-import.js +128 -0
- package/dist/cli/lib/surgeons/quarantine-import.js.map +1 -0
- package/dist/cli/lib/surgeons/registry.d.ts +22 -0
- package/dist/cli/lib/surgeons/registry.d.ts.map +1 -0
- package/dist/cli/lib/surgeons/registry.js +27 -0
- package/dist/cli/lib/surgeons/registry.js.map +1 -0
- package/dist/cli/lib/surgeons/typescript-workspace.d.ts +7 -0
- package/dist/cli/lib/surgeons/typescript-workspace.d.ts.map +1 -0
- package/dist/cli/lib/surgeons/typescript-workspace.js +41 -0
- package/dist/cli/lib/surgeons/typescript-workspace.js.map +1 -0
- package/dist/cli/lib/teacher-identity.js +1 -1
- package/dist/cli/lib/teacher-identity.js.map +1 -1
- package/dist/cli/lib/tmvc-path.d.ts +12 -0
- package/dist/cli/lib/tmvc-path.d.ts.map +1 -0
- package/dist/cli/lib/tmvc-path.js +47 -0
- package/dist/cli/lib/tmvc-path.js.map +1 -0
- package/dist/cli/lib/trace.d.ts +28 -1
- package/dist/cli/lib/trace.d.ts.map +1 -1
- package/dist/cli/lib/trace.js +153 -3
- package/dist/cli/lib/trace.js.map +1 -1
- package/dist/cli/lib/types.d.ts +4 -1
- package/dist/cli/lib/types.d.ts.map +1 -1
- package/dist/cli/lib/upgrade-apply.d.ts.map +1 -1
- package/dist/cli/lib/upgrade-apply.js +6 -2
- package/dist/cli/lib/upgrade-apply.js.map +1 -1
- package/dist/cli/lib/upgrade-plan-payload.d.ts +31 -0
- package/dist/cli/lib/upgrade-plan-payload.d.ts.map +1 -0
- package/dist/cli/lib/upgrade-plan-payload.js +109 -0
- package/dist/cli/lib/upgrade-plan-payload.js.map +1 -0
- package/dist/cli/lib/upgrade-plan.d.ts +19 -1
- package/dist/cli/lib/upgrade-plan.d.ts.map +1 -1
- package/dist/cli/lib/upgrade-plan.js +78 -6
- package/dist/cli/lib/upgrade-plan.js.map +1 -1
- package/dist/cli/lib/verify-changed-missions.js +1 -1
- package/dist/cli/lib/verify-changed-missions.js.map +1 -1
- package/dist/cli/lib/verify-engine.d.ts +36 -6
- package/dist/cli/lib/verify-engine.d.ts.map +1 -1
- package/dist/cli/lib/verify-engine.js +74 -25
- package/dist/cli/lib/verify-engine.js.map +1 -1
- package/dist/cli/lib/{verify-failure-presentation.d.ts → verify-failure-format.d.ts} +3 -4
- package/dist/cli/lib/verify-failure-format.d.ts.map +1 -0
- package/dist/cli/lib/{verify-failure-presentation.js → verify-failure-format.js} +2 -2
- package/dist/cli/lib/verify-failure-format.js.map +1 -0
- package/dist/cli/lib/verify-hints.d.ts +32 -0
- package/dist/cli/lib/verify-hints.d.ts.map +1 -0
- package/dist/cli/lib/verify-hints.js +161 -0
- package/dist/cli/lib/verify-hints.js.map +1 -0
- package/dist/cli/lib/{verify-result-payload.d.ts → verify-payload.d.ts} +2 -8
- package/dist/cli/lib/verify-payload.d.ts.map +1 -0
- package/dist/cli/lib/{verify-result-payload.js → verify-payload.js} +9 -26
- package/dist/cli/lib/verify-payload.js.map +1 -0
- package/dist/cli/lib/verify-present.d.ts +6 -19
- package/dist/cli/lib/verify-present.d.ts.map +1 -1
- package/dist/cli/lib/verify-present.js +3 -122
- package/dist/cli/lib/verify-present.js.map +1 -1
- package/dist/cli/lib/verify-presentation.d.ts +8 -0
- package/dist/cli/lib/verify-presentation.d.ts.map +1 -0
- package/dist/cli/lib/verify-presentation.js +5 -0
- package/dist/cli/lib/verify-presentation.js.map +1 -0
- package/dist/cli/lib/verify-presenters.d.ts +19 -0
- package/dist/cli/lib/verify-presenters.d.ts.map +1 -0
- package/dist/cli/lib/verify-presenters.js +173 -0
- package/dist/cli/lib/verify-presenters.js.map +1 -0
- package/dist/cli/lib/verify-remediation.d.ts +4 -30
- package/dist/cli/lib/verify-remediation.d.ts.map +1 -1
- package/dist/cli/lib/verify-remediation.js +2 -149
- package/dist/cli/lib/verify-remediation.js.map +1 -1
- package/dist/cli/lib/verify-run.d.ts +6 -4
- package/dist/cli/lib/verify-run.d.ts.map +1 -1
- package/dist/cli/lib/verify-run.js +23 -8
- package/dist/cli/lib/verify-run.js.map +1 -1
- package/dist/cli/lib/verify-sinks.d.ts +4 -0
- package/dist/cli/lib/verify-sinks.d.ts.map +1 -0
- package/dist/cli/lib/verify-sinks.js +12 -0
- package/dist/cli/lib/verify-sinks.js.map +1 -0
- package/dist/cli/lib/version.gen.d.ts +1 -1
- package/dist/cli/lib/version.gen.js +1 -1
- package/dist/cli/lib/virtual-scratch-store.d.ts +37 -0
- package/dist/cli/lib/virtual-scratch-store.d.ts.map +1 -0
- package/dist/cli/lib/virtual-scratch-store.js +132 -0
- package/dist/cli/lib/virtual-scratch-store.js.map +1 -0
- package/dist/cli/program-core.d.ts.map +1 -1
- package/dist/cli/program-core.js +52 -29
- package/dist/cli/program-core.js.map +1 -1
- package/dist/cli/program-mission.d.ts.map +1 -1
- package/dist/cli/program-mission.js +38 -1
- package/dist/cli/program-mission.js.map +1 -1
- package/dist/cli/program-workflow.d.ts.map +1 -1
- package/dist/cli/program-workflow.js +30 -20
- package/dist/cli/program-workflow.js.map +1 -1
- package/package.json +3 -2
- package/templates/.cursor/rules/opengantry-gxt-substrate.mdc +1 -0
- package/templates/.gitagent/teacher/MISSION.schema.yaml +6 -0
- package/templates/.gitagent/teacher/WORKER_LOG.template.md +1 -0
- package/templates/.githooks/pre-commit +26 -0
- package/templates/.github/workflows/gxt-validate.yml +5 -0
- package/templates/.gitignore.gxt +2 -0
- package/templates/AGENTS.md +4 -0
- package/templates/integrations/asset-catalog.json +30 -28
- package/templates/integrations/compatibility.json +10 -1
- package/templates/integrations/recipes/_footer.md +4 -0
- package/templates/integrations/recipes/claude-code.md +6 -4
- package/templates/integrations/recipes/codex-cli.md +6 -4
- package/templates/integrations/recipes/opencode.md +8 -2
- package/templates/scripts/gxt-shell-agent.sh +62 -0
- package/dist/cli/lib/agent-error.d.ts +0 -20
- package/dist/cli/lib/agent-error.d.ts.map +0 -1
- package/dist/cli/lib/agent-error.js.map +0 -1
- package/dist/cli/lib/architecture-pointer-discovery.d.ts +0 -7
- package/dist/cli/lib/architecture-pointer-discovery.d.ts.map +0 -1
- package/dist/cli/lib/architecture-pointer-discovery.js +0 -60
- package/dist/cli/lib/architecture-pointer-discovery.js.map +0 -1
- package/dist/cli/lib/architecture-pointer-doctor.d.ts +0 -3
- package/dist/cli/lib/architecture-pointer-doctor.d.ts.map +0 -1
- package/dist/cli/lib/architecture-pointer-doctor.js +0 -115
- package/dist/cli/lib/architecture-pointer-doctor.js.map +0 -1
- package/dist/cli/lib/architecture-pointer-schema.d.ts +0 -5
- package/dist/cli/lib/architecture-pointer-schema.d.ts.map +0 -1
- package/dist/cli/lib/architecture-pointer-schema.js +0 -138
- package/dist/cli/lib/architecture-pointer-schema.js.map +0 -1
- package/dist/cli/lib/architecture-pointer-types.d.ts +0 -24
- package/dist/cli/lib/architecture-pointer-types.d.ts.map +0 -1
- package/dist/cli/lib/architecture-pointer-types.js +0 -7
- package/dist/cli/lib/architecture-pointer-types.js.map +0 -1
- package/dist/cli/lib/break-glass-flow.d.ts +0 -18
- package/dist/cli/lib/break-glass-flow.d.ts.map +0 -1
- package/dist/cli/lib/break-glass-flow.js +0 -29
- package/dist/cli/lib/break-glass-flow.js.map +0 -1
- package/dist/cli/lib/cli-timeout.d.ts +0 -9
- package/dist/cli/lib/cli-timeout.d.ts.map +0 -1
- package/dist/cli/lib/cli-timeout.js +0 -17
- package/dist/cli/lib/cli-timeout.js.map +0 -1
- package/dist/cli/lib/doctor-checks.d.ts.map +0 -1
- package/dist/cli/lib/doctor-checks.js.map +0 -1
- package/dist/cli/lib/doctor-integration-checks.d.ts +0 -5
- package/dist/cli/lib/doctor-integration-checks.d.ts.map +0 -1
- package/dist/cli/lib/doctor-integration-checks.js.map +0 -1
- package/dist/cli/lib/doctor-orchestration.d.ts +0 -10
- package/dist/cli/lib/doctor-orchestration.d.ts.map +0 -1
- package/dist/cli/lib/doctor-orchestration.js +0 -32
- package/dist/cli/lib/doctor-orchestration.js.map +0 -1
- package/dist/cli/lib/doctor-substrate-drift.d.ts +0 -7
- package/dist/cli/lib/doctor-substrate-drift.d.ts.map +0 -1
- package/dist/cli/lib/doctor-substrate-drift.js.map +0 -1
- package/dist/cli/lib/git-metrics-missions.d.ts +0 -3
- package/dist/cli/lib/git-metrics-missions.d.ts.map +0 -1
- package/dist/cli/lib/git-metrics-missions.js +0 -51
- package/dist/cli/lib/git-metrics-missions.js.map +0 -1
- package/dist/cli/lib/git-metrics-stream.d.ts +0 -24
- package/dist/cli/lib/git-metrics-stream.d.ts.map +0 -1
- package/dist/cli/lib/git-metrics-stream.js +0 -137
- package/dist/cli/lib/git-metrics-stream.js.map +0 -1
- package/dist/cli/lib/git-repo.d.ts +0 -26
- package/dist/cli/lib/git-repo.d.ts.map +0 -1
- package/dist/cli/lib/git-repo.js +0 -53
- package/dist/cli/lib/git-repo.js.map +0 -1
- package/dist/cli/lib/init-compose-arch-pointer.d.ts.map +0 -1
- package/dist/cli/lib/init-compose-arch-pointer.js.map +0 -1
- package/dist/cli/lib/init-compose-doc.d.ts +0 -5
- package/dist/cli/lib/init-compose-doc.d.ts.map +0 -1
- package/dist/cli/lib/init-compose-doc.js +0 -37
- package/dist/cli/lib/init-compose-doc.js.map +0 -1
- package/dist/cli/lib/kpi-phase.d.ts +0 -7
- package/dist/cli/lib/kpi-phase.d.ts.map +0 -1
- package/dist/cli/lib/kpi-phase.js +0 -80
- package/dist/cli/lib/kpi-phase.js.map +0 -1
- package/dist/cli/lib/kpi-report-stale.d.ts +0 -18
- package/dist/cli/lib/kpi-report-stale.d.ts.map +0 -1
- package/dist/cli/lib/kpi-report-stale.js +0 -91
- package/dist/cli/lib/kpi-report-stale.js.map +0 -1
- package/dist/cli/lib/kpi-report.d.ts +0 -13
- package/dist/cli/lib/kpi-report.d.ts.map +0 -1
- package/dist/cli/lib/kpi-report.js +0 -115
- package/dist/cli/lib/kpi-report.js.map +0 -1
- package/dist/cli/lib/legislate-core.d.ts +0 -21
- package/dist/cli/lib/legislate-core.d.ts.map +0 -1
- package/dist/cli/lib/legislate-core.js.map +0 -1
- package/dist/cli/lib/legislate-skill.d.ts +0 -20
- package/dist/cli/lib/legislate-skill.d.ts.map +0 -1
- package/dist/cli/lib/legislate-skill.js +0 -30
- package/dist/cli/lib/legislate-skill.js.map +0 -1
- package/dist/cli/lib/mcp-legislation-draft.d.ts +0 -6
- package/dist/cli/lib/mcp-legislation-draft.d.ts.map +0 -1
- package/dist/cli/lib/mcp-legislation-draft.js +0 -62
- package/dist/cli/lib/mcp-legislation-draft.js.map +0 -1
- package/dist/cli/lib/mcp-legislation-execute.d.ts +0 -6
- package/dist/cli/lib/mcp-legislation-execute.d.ts.map +0 -1
- package/dist/cli/lib/mcp-legislation-execute.js +0 -43
- package/dist/cli/lib/mcp-legislation-execute.js.map +0 -1
- package/dist/cli/lib/mcp-legislation-mission.d.ts +0 -12
- package/dist/cli/lib/mcp-legislation-mission.d.ts.map +0 -1
- package/dist/cli/lib/mcp-legislation-mission.js +0 -82
- package/dist/cli/lib/mcp-legislation-mission.js.map +0 -1
- package/dist/cli/lib/mcp-legislation-types.d.ts +0 -69
- package/dist/cli/lib/mcp-legislation-types.d.ts.map +0 -1
- package/dist/cli/lib/mcp-legislation-types.js +0 -4
- package/dist/cli/lib/mcp-legislation-types.js.map +0 -1
- package/dist/cli/lib/mcp-legislation.d.ts +0 -5
- package/dist/cli/lib/mcp-legislation.d.ts.map +0 -1
- package/dist/cli/lib/mcp-legislation.js +0 -4
- package/dist/cli/lib/mcp-legislation.js.map +0 -1
- package/dist/cli/lib/mcp-orchestration-types.d.ts +0 -28
- package/dist/cli/lib/mcp-orchestration-types.d.ts.map +0 -1
- package/dist/cli/lib/mcp-orchestration-types.js +0 -2
- package/dist/cli/lib/mcp-orchestration-types.js.map +0 -1
- package/dist/cli/lib/mcp-orchestration.d.ts +0 -14
- package/dist/cli/lib/mcp-orchestration.d.ts.map +0 -1
- package/dist/cli/lib/mcp-orchestration.js +0 -54
- package/dist/cli/lib/mcp-orchestration.js.map +0 -1
- package/dist/cli/lib/mcp-upgrade-types.d.ts +0 -12
- package/dist/cli/lib/mcp-upgrade-types.d.ts.map +0 -1
- package/dist/cli/lib/mcp-upgrade-types.js +0 -2
- package/dist/cli/lib/mcp-upgrade-types.js.map +0 -1
- package/dist/cli/lib/mission-emit.d.ts +0 -7
- package/dist/cli/lib/mission-emit.d.ts.map +0 -1
- package/dist/cli/lib/mission-emit.js +0 -23
- package/dist/cli/lib/mission-emit.js.map +0 -1
- package/dist/cli/lib/mission-legislative-stub.d.ts +0 -9
- package/dist/cli/lib/mission-legislative-stub.d.ts.map +0 -1
- package/dist/cli/lib/mission-legislative-stub.js +0 -37
- package/dist/cli/lib/mission-legislative-stub.js.map +0 -1
- package/dist/cli/lib/mission-markdown.d.ts +0 -6
- package/dist/cli/lib/mission-markdown.d.ts.map +0 -1
- package/dist/cli/lib/mission-markdown.js.map +0 -1
- package/dist/cli/lib/mission-msn.d.ts +0 -9
- package/dist/cli/lib/mission-msn.d.ts.map +0 -1
- package/dist/cli/lib/mission-msn.js +0 -86
- package/dist/cli/lib/mission-msn.js.map +0 -1
- package/dist/cli/lib/mission-parser.d.ts +0 -6
- package/dist/cli/lib/mission-parser.d.ts.map +0 -1
- package/dist/cli/lib/mission-parser.js +0 -29
- package/dist/cli/lib/mission-parser.js.map +0 -1
- package/dist/cli/lib/mission-path.d.ts +0 -4
- package/dist/cli/lib/mission-path.d.ts.map +0 -1
- package/dist/cli/lib/mission-path.js +0 -28
- package/dist/cli/lib/mission-path.js.map +0 -1
- package/dist/cli/lib/mission-resolution.d.ts +0 -14
- package/dist/cli/lib/mission-resolution.d.ts.map +0 -1
- package/dist/cli/lib/mission-resolution.js +0 -60
- package/dist/cli/lib/mission-resolution.js.map +0 -1
- package/dist/cli/lib/mission-schema-validate.d.ts.map +0 -1
- package/dist/cli/lib/mission-schema-validate.js.map +0 -1
- package/dist/cli/lib/mission-yaml.d.ts +0 -18
- package/dist/cli/lib/mission-yaml.d.ts.map +0 -1
- package/dist/cli/lib/mission-yaml.js +0 -228
- package/dist/cli/lib/mission-yaml.js.map +0 -1
- package/dist/cli/lib/register-proposals-format.d.ts +0 -2
- package/dist/cli/lib/register-proposals-format.d.ts.map +0 -1
- package/dist/cli/lib/register-proposals-format.js +0 -6
- package/dist/cli/lib/register-proposals-format.js.map +0 -1
- package/dist/cli/lib/runtime-exec-orchestrator.d.ts +0 -14
- package/dist/cli/lib/runtime-exec-orchestrator.d.ts.map +0 -1
- package/dist/cli/lib/runtime-exec-orchestrator.js +0 -132
- package/dist/cli/lib/runtime-exec-orchestrator.js.map +0 -1
- package/dist/cli/lib/runtime-exec-result.d.ts +0 -21
- package/dist/cli/lib/runtime-exec-result.d.ts.map +0 -1
- package/dist/cli/lib/runtime-exec-result.js +0 -42
- package/dist/cli/lib/runtime-exec-result.js.map +0 -1
- package/dist/cli/lib/runtime-exec-worker.d.ts +0 -18
- package/dist/cli/lib/runtime-exec-worker.d.ts.map +0 -1
- package/dist/cli/lib/runtime-exec-worker.js +0 -49
- package/dist/cli/lib/runtime-exec-worker.js.map +0 -1
- package/dist/cli/lib/start-state.d.ts.map +0 -1
- package/dist/cli/lib/start-state.js.map +0 -1
- package/dist/cli/lib/trace-evidence.d.ts +0 -23
- package/dist/cli/lib/trace-evidence.d.ts.map +0 -1
- package/dist/cli/lib/trace-evidence.js +0 -118
- package/dist/cli/lib/trace-evidence.js.map +0 -1
- package/dist/cli/lib/trace-failure-kind.d.ts +0 -4
- package/dist/cli/lib/trace-failure-kind.d.ts.map +0 -1
- package/dist/cli/lib/trace-failure-kind.js +0 -25
- package/dist/cli/lib/trace-failure-kind.js.map +0 -1
- package/dist/cli/lib/trace-status.d.ts +0 -7
- package/dist/cli/lib/trace-status.d.ts.map +0 -1
- package/dist/cli/lib/trace-status.js +0 -20
- package/dist/cli/lib/trace-status.js.map +0 -1
- package/dist/cli/lib/upgrade-eligible-assets.d.ts +0 -5
- package/dist/cli/lib/upgrade-eligible-assets.d.ts.map +0 -1
- package/dist/cli/lib/upgrade-eligible-assets.js +0 -9
- package/dist/cli/lib/upgrade-eligible-assets.js.map +0 -1
- package/dist/cli/lib/upgrade-plan-preview.d.ts +0 -13
- package/dist/cli/lib/upgrade-plan-preview.d.ts.map +0 -1
- package/dist/cli/lib/upgrade-plan-preview.js +0 -51
- package/dist/cli/lib/upgrade-plan-preview.js.map +0 -1
- package/dist/cli/lib/upgrade-profile.d.ts +0 -4
- package/dist/cli/lib/upgrade-profile.d.ts.map +0 -1
- package/dist/cli/lib/upgrade-profile.js +0 -27
- package/dist/cli/lib/upgrade-profile.js.map +0 -1
- package/dist/cli/lib/user-error.d.ts.map +0 -1
- package/dist/cli/lib/user-error.js +0 -64
- package/dist/cli/lib/user-error.js.map +0 -1
- package/dist/cli/lib/verify-failure-presentation.d.ts.map +0 -1
- package/dist/cli/lib/verify-failure-presentation.js.map +0 -1
- package/dist/cli/lib/verify-result-payload.d.ts.map +0 -1
- package/dist/cli/lib/verify-result-payload.js.map +0 -1
- package/dist/cli/lib/verify-types.d.ts +0 -31
- package/dist/cli/lib/verify-types.d.ts.map +0 -1
- package/dist/cli/lib/verify-types.js +0 -2
- package/dist/cli/lib/verify-types.js.map +0 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { promoteFileAtomic } from "./atomic-fs.js";
|
|
5
|
+
import { REL_VIRTUAL_SCRATCH } from "./constants.js";
|
|
6
|
+
export const VIRTUAL_GATE_CAPTURE_FILE = "gate-capture.json";
|
|
7
|
+
/** Default max flight directories retained after abnormal termination. */
|
|
8
|
+
export const DEFAULT_VIRTUAL_FLIGHT_RETENTION = 32;
|
|
9
|
+
/** Default age (ms) after which abandoned flight dirs are scavenged. */
|
|
10
|
+
export const DEFAULT_VIRTUAL_FLIGHT_MAX_AGE_MS = 24 * 60 * 60 * 1000;
|
|
11
|
+
export function createVirtualFlightId() {
|
|
12
|
+
return crypto.randomUUID();
|
|
13
|
+
}
|
|
14
|
+
/** True when repo-relative path lives under `.gitagent/virtual/`. */
|
|
15
|
+
export function isVirtualScratchPath(repoRelPath) {
|
|
16
|
+
const norm = repoRelPath.replace(/\\/g, "/").replace(/\/+$/, "");
|
|
17
|
+
const root = REL_VIRTUAL_SCRATCH.replace(/\\/g, "/").replace(/\/+$/, "");
|
|
18
|
+
return norm === root || norm.startsWith(`${root}/`);
|
|
19
|
+
}
|
|
20
|
+
function virtualRootAbs(repoRoot) {
|
|
21
|
+
return path.join(repoRoot, REL_VIRTUAL_SCRATCH.replace(/\/$/, ""));
|
|
22
|
+
}
|
|
23
|
+
export function virtualFlightDirAbs(repoRoot, flightId) {
|
|
24
|
+
return path.join(virtualRootAbs(repoRoot), flightId);
|
|
25
|
+
}
|
|
26
|
+
function ensureVirtualRoot(repoRoot) {
|
|
27
|
+
fs.mkdirSync(virtualRootAbs(repoRoot), { recursive: true });
|
|
28
|
+
}
|
|
29
|
+
function stagedPathInFlight(flightDir, fileName) {
|
|
30
|
+
return path.join(flightDir, `${fileName}.staging.${process.pid}.${Date.now()}`);
|
|
31
|
+
}
|
|
32
|
+
/** Atomic JSON write inside a per-flight directory (gitignored scratch). */
|
|
33
|
+
export async function writeVirtualJsonAtomic(repoRoot, flightId, fileName, payload) {
|
|
34
|
+
ensureVirtualRoot(repoRoot);
|
|
35
|
+
const flightDir = virtualFlightDirAbs(repoRoot, flightId);
|
|
36
|
+
fs.mkdirSync(flightDir, { recursive: true });
|
|
37
|
+
const target = path.join(flightDir, fileName);
|
|
38
|
+
const staged = stagedPathInFlight(flightDir, fileName);
|
|
39
|
+
const body = `${JSON.stringify(payload, null, 2)}\n`;
|
|
40
|
+
fs.writeFileSync(staged, body, { encoding: "utf8", flag: "wx" });
|
|
41
|
+
await promoteFileAtomic(staged, target);
|
|
42
|
+
return target;
|
|
43
|
+
}
|
|
44
|
+
/** Synchronous variant for verify hot path (post-gate capture + purge). */
|
|
45
|
+
export function writeVirtualJsonAtomicSync(repoRoot, flightId, fileName, payload) {
|
|
46
|
+
ensureVirtualRoot(repoRoot);
|
|
47
|
+
const flightDir = virtualFlightDirAbs(repoRoot, flightId);
|
|
48
|
+
fs.mkdirSync(flightDir, { recursive: true });
|
|
49
|
+
const target = path.join(flightDir, fileName);
|
|
50
|
+
const staged = stagedPathInFlight(flightDir, fileName);
|
|
51
|
+
const body = `${JSON.stringify(payload, null, 2)}\n`;
|
|
52
|
+
try {
|
|
53
|
+
fs.writeFileSync(staged, body, { encoding: "utf8", flag: "wx" });
|
|
54
|
+
fs.renameSync(staged, target);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
try {
|
|
58
|
+
if (fs.existsSync(staged))
|
|
59
|
+
fs.unlinkSync(staged);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// ignore cleanup failure
|
|
63
|
+
}
|
|
64
|
+
throw e;
|
|
65
|
+
}
|
|
66
|
+
return target;
|
|
67
|
+
}
|
|
68
|
+
export function writeGateCaptureSync(repoRoot, flightId, capture) {
|
|
69
|
+
const payload = {
|
|
70
|
+
captured_at: new Date().toISOString(),
|
|
71
|
+
flight_id: flightId,
|
|
72
|
+
...capture,
|
|
73
|
+
};
|
|
74
|
+
return writeVirtualJsonAtomicSync(repoRoot, flightId, VIRTUAL_GATE_CAPTURE_FILE, payload);
|
|
75
|
+
}
|
|
76
|
+
export function flightDirExists(repoRoot, flightId) {
|
|
77
|
+
return fs.existsSync(virtualFlightDirAbs(repoRoot, flightId));
|
|
78
|
+
}
|
|
79
|
+
/** Recursively remove a single flight directory (Invariant A post-success purge). */
|
|
80
|
+
export function purgeVirtualFlightDir(repoRoot, flightId) {
|
|
81
|
+
const dir = virtualFlightDirAbs(repoRoot, flightId);
|
|
82
|
+
if (!fs.existsSync(dir))
|
|
83
|
+
return;
|
|
84
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Bounded retention for abnormal termination leftovers.
|
|
88
|
+
* Sorts flight dirs by mtime descending; keeps newest `maxRetained` and drops older than maxAgeMs.
|
|
89
|
+
*/
|
|
90
|
+
export function scavengeStaleVirtualFlights(repoRoot, options = {}) {
|
|
91
|
+
const root = virtualRootAbs(repoRoot);
|
|
92
|
+
if (!fs.existsSync(root))
|
|
93
|
+
return [];
|
|
94
|
+
const maxRetained = options.maxRetained ?? DEFAULT_VIRTUAL_FLIGHT_RETENTION;
|
|
95
|
+
const maxAgeMs = options.maxAgeMs ?? DEFAULT_VIRTUAL_FLIGHT_MAX_AGE_MS;
|
|
96
|
+
const protect = options.protectFlightId;
|
|
97
|
+
const now = Date.now();
|
|
98
|
+
const entries = fs
|
|
99
|
+
.readdirSync(root, { withFileTypes: true })
|
|
100
|
+
.filter((e) => e.isDirectory())
|
|
101
|
+
.map((e) => {
|
|
102
|
+
const full = path.join(root, e.name);
|
|
103
|
+
let mtime = 0;
|
|
104
|
+
try {
|
|
105
|
+
mtime = fs.statSync(full).mtimeMs;
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
mtime = 0;
|
|
109
|
+
}
|
|
110
|
+
return { name: e.name, full, mtime };
|
|
111
|
+
})
|
|
112
|
+
.sort((a, b) => b.mtime - a.mtime);
|
|
113
|
+
const removed = [];
|
|
114
|
+
for (let i = 0; i < entries.length; i += 1) {
|
|
115
|
+
const entry = entries[i];
|
|
116
|
+
if (protect && entry.name === protect)
|
|
117
|
+
continue;
|
|
118
|
+
const tooOld = now - entry.mtime > maxAgeMs;
|
|
119
|
+
const overCapacity = i >= maxRetained;
|
|
120
|
+
if (!tooOld && !overCapacity)
|
|
121
|
+
continue;
|
|
122
|
+
try {
|
|
123
|
+
fs.rmSync(entry.full, { recursive: true, force: true });
|
|
124
|
+
removed.push(entry.name);
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
// best-effort scavenger — do not fail verify
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return removed;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=virtual-scratch-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-scratch-store.js","sourceRoot":"","sources":["../../../src/cli/lib/virtual-scratch-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-core.d.ts","sourceRoot":"","sources":["../../src/cli/program-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program-core.d.ts","sourceRoot":"","sources":["../../src/cli/program-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2K3D"}
|
package/dist/cli/program-core.js
CHANGED
|
@@ -4,6 +4,8 @@ import { runUpgrade } from "./commands/upgrade.js";
|
|
|
4
4
|
import { runStatus } from "./commands/status.js";
|
|
5
5
|
import { runDoctor } from "./commands/doctor.js";
|
|
6
6
|
import { runOnboarding } from "./commands/onboarding.js";
|
|
7
|
+
import { runContextFeed } from "./commands/context-feed.js";
|
|
8
|
+
import { runAuditRigorCommand } from "./commands/audit-rigor.js";
|
|
7
9
|
import { runStart } from "./commands/start.js";
|
|
8
10
|
import { runTriage } from "./commands/triage.js";
|
|
9
11
|
import { readStdinIfEmpty } from "./lib/program-stdin.js";
|
|
@@ -56,22 +58,33 @@ export function registerCoreCommands(program) {
|
|
|
56
58
|
.action(async (opts) => {
|
|
57
59
|
await runInit(opts);
|
|
58
60
|
});
|
|
59
|
-
program
|
|
61
|
+
const upgradeCmd = program
|
|
60
62
|
.command("upgrade")
|
|
61
|
-
.description("Plan or apply substrate upgrades from the installed gapman package (Tier-3)")
|
|
63
|
+
.description("Plan or apply substrate upgrades from the installed gapman package (Tier-3)");
|
|
64
|
+
upgradeCmd
|
|
65
|
+
.command("plan")
|
|
66
|
+
.description("Preview upgrade file changes without writing staging dir or mission YAML")
|
|
67
|
+
.option("--json", "Emit stable structured JSON (schema_version 1)")
|
|
68
|
+
.option("--msn <id>", "Mission id for preview labels (default: next MSN in 9000-9099 band)")
|
|
69
|
+
.action((options) => {
|
|
70
|
+
runUpgrade({ ...options, dryRun: true });
|
|
71
|
+
});
|
|
72
|
+
upgradeCmd
|
|
73
|
+
.command("apply")
|
|
74
|
+
.description("Apply a Teacher-signed upgrade mission after hash verification")
|
|
75
|
+
.option("--json", "Emit structured JSON")
|
|
76
|
+
.option("--mission <path>", "Signed upgrade mission YAML (required unless pinned)")
|
|
77
|
+
.action((options) => {
|
|
78
|
+
runUpgrade({ ...options, apply: true });
|
|
79
|
+
});
|
|
80
|
+
upgradeCmd
|
|
62
81
|
.option("--apply", "Apply a Teacher-signed upgrade mission after hash verification")
|
|
63
82
|
.option("--dry-run", "Print upgrade plan without writing staging dir or mission YAML")
|
|
64
83
|
.option("--json", "Emit structured JSON")
|
|
65
84
|
.option("--msn <id>", "Mission id for upgrade plan (default: next MSN in 9000-9099 band)")
|
|
66
85
|
.option("--mission <path>", "Signed upgrade mission YAML (required for --apply unless pinned)")
|
|
67
|
-
.action((
|
|
68
|
-
runUpgrade(
|
|
69
|
-
apply: opts.apply,
|
|
70
|
-
dryRun: opts.dryRun,
|
|
71
|
-
json: opts.json,
|
|
72
|
-
msn: opts.msn,
|
|
73
|
-
mission: opts.mission,
|
|
74
|
-
});
|
|
86
|
+
.action((options) => {
|
|
87
|
+
runUpgrade(options);
|
|
75
88
|
});
|
|
76
89
|
program
|
|
77
90
|
.command("triage")
|
|
@@ -81,8 +94,7 @@ export function registerCoreCommands(program) {
|
|
|
81
94
|
.option("--emit-mission", "Write .gitagent/missions/ACTIVE_MISSION.md from template (DIRECT_EXECUTION only)")
|
|
82
95
|
.option("--msn <id>", "Mission id for --emit-mission", "MSN-0000")
|
|
83
96
|
.option("--out <file>", "Mission output path for --emit-mission (default .gitagent/missions/ACTIVE_MISSION.md; use under .gitagent/missions/ for gapman verify)")
|
|
84
|
-
.action(async
|
|
85
|
-
const opts = this.opts();
|
|
97
|
+
.action(async (intentParts, options, _cmd) => {
|
|
86
98
|
let text = intentParts.join(" ").trim();
|
|
87
99
|
text = await readStdinIfEmpty(text);
|
|
88
100
|
if (!text) {
|
|
@@ -90,13 +102,7 @@ export function registerCoreCommands(program) {
|
|
|
90
102
|
setExitCode(2);
|
|
91
103
|
return;
|
|
92
104
|
}
|
|
93
|
-
runTriage({
|
|
94
|
-
text,
|
|
95
|
-
json: opts.json,
|
|
96
|
-
emitMission: opts.emitMission,
|
|
97
|
-
msn: opts.msn,
|
|
98
|
-
out: opts.out,
|
|
99
|
-
});
|
|
105
|
+
runTriage({ ...options, text });
|
|
100
106
|
});
|
|
101
107
|
program
|
|
102
108
|
.command("start")
|
|
@@ -110,8 +116,7 @@ export function registerCoreCommands(program) {
|
|
|
110
116
|
.option("--allow-duplicate", "Allow duplicate msn_id (branch migration only)")
|
|
111
117
|
.option("--json", "Emit structured JSON on success")
|
|
112
118
|
.option("--audience <role>", "Tailor next steps: worker|teacher|verifier|platform")
|
|
113
|
-
.action(async
|
|
114
|
-
const opts = this.opts();
|
|
119
|
+
.action(async (intentParts, options, _cmd) => {
|
|
115
120
|
let text = intentParts.join(" ").trim();
|
|
116
121
|
text = await readStdinIfEmpty(text);
|
|
117
122
|
if (!text) {
|
|
@@ -119,24 +124,42 @@ export function registerCoreCommands(program) {
|
|
|
119
124
|
setExitCode(2);
|
|
120
125
|
return;
|
|
121
126
|
}
|
|
127
|
+
const { write, ...startFlags } = options;
|
|
128
|
+
// Adapter: Commander --no-write → writeMission; audience from output context (not CLI flag).
|
|
122
129
|
runStart({
|
|
130
|
+
...startFlags,
|
|
123
131
|
intent: text,
|
|
124
|
-
|
|
125
|
-
skillKey: opts.skillKey,
|
|
126
|
-
gateCommand: opts.gateCommand,
|
|
127
|
-
gateSuccessSubstring: opts.gateSuccessSubstring,
|
|
128
|
-
writeMission: opts.write !== false,
|
|
129
|
-
allowDuplicate: opts.allowDuplicate,
|
|
130
|
-
json: opts.json,
|
|
132
|
+
writeMission: write !== false,
|
|
131
133
|
audience: getOutputAudience(),
|
|
132
134
|
});
|
|
133
135
|
});
|
|
134
136
|
program
|
|
135
137
|
.command("onboarding")
|
|
136
138
|
.description("Interactive walkthrough of the strict GXT mission loop")
|
|
137
|
-
.option("--force", "Continue despite integration
|
|
139
|
+
.option("--force", "Continue despite integration health blockers on configured (broken) state")
|
|
138
140
|
.action(async (opts) => {
|
|
139
141
|
await runOnboarding({ force: opts.force });
|
|
140
142
|
});
|
|
143
|
+
program
|
|
144
|
+
.command("context-feed")
|
|
145
|
+
.description("Read or clear the latest verify remediation snapshot for IDE/agent loops")
|
|
146
|
+
.option("--json", "Emit structured remediation payload")
|
|
147
|
+
.option("--clear", "Atomically clear remediation feed (tombstone swap)")
|
|
148
|
+
.action((opts) => {
|
|
149
|
+
runContextFeed({ json: opts.json, clear: opts.clear });
|
|
150
|
+
});
|
|
151
|
+
program
|
|
152
|
+
.command("audit-rigor")
|
|
153
|
+
.description("Meta-governance audit: compiler strictness, coverage artifacts, MANIFEST wildcards")
|
|
154
|
+
.option("--json", "Emit structured report")
|
|
155
|
+
.option("--strict", "Treat warnings as failures")
|
|
156
|
+
.option("--workspace <path>", "Workspace root override (tests; default: git repo root)")
|
|
157
|
+
.action((opts) => {
|
|
158
|
+
runAuditRigorCommand({
|
|
159
|
+
json: opts.json,
|
|
160
|
+
strict: opts.strict,
|
|
161
|
+
workspace: opts.workspace,
|
|
162
|
+
});
|
|
163
|
+
});
|
|
141
164
|
}
|
|
142
165
|
//# sourceMappingURL=program-core.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-core.js","sourceRoot":"","sources":["../../src/cli/program-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"program-core.js","sourceRoot":"","sources":["../../src/cli/program-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-mission.d.ts","sourceRoot":"","sources":["../../src/cli/program-mission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program-mission.d.ts","sourceRoot":"","sources":["../../src/cli/program-mission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6DzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF9D"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { runContextRequest } from "./commands/context-request.js";
|
|
1
2
|
import { runMissionSnapshot, runMissionValidate } from "./commands/mission.js";
|
|
2
3
|
import { runRuntimeEnv, runRuntimeExecCommand } from "./commands/runtime.js";
|
|
3
|
-
import {
|
|
4
|
+
import { runTmvcGuard } from "./commands/tmvc-guard.js";
|
|
5
|
+
import { parseOptionalTimeoutMs } from "./lib/cli-io.js";
|
|
4
6
|
import { logError, setExitCode } from "./lib/cli-io.js";
|
|
5
7
|
function attachRuntimeExec(cmd) {
|
|
6
8
|
cmd
|
|
@@ -73,5 +75,40 @@ export function registerMissionCommands(program) {
|
|
|
73
75
|
runRuntimeEnv({ mission: opts.mission, format });
|
|
74
76
|
});
|
|
75
77
|
attachRuntimeExec(runtime);
|
|
78
|
+
program
|
|
79
|
+
.command("context-request")
|
|
80
|
+
.description("Append a PENDING Context Request to WORKER_LOG.md (RULES §4 TMVC expansion)")
|
|
81
|
+
.requiredOption("--reason <text>", "Why access outside TMVC is needed")
|
|
82
|
+
.option("--mission <path>", "Mission path (.md or .yaml); defaults to pinned mission")
|
|
83
|
+
.option("--path <paths...>", "Repo-relative path(s) requiring expansion")
|
|
84
|
+
.option("--proposed <files...>", "Proposed file(s) to touch after approval")
|
|
85
|
+
.option("--stage-worker-log", "Stage WORKER_LOG.md after append (opt-in)")
|
|
86
|
+
.option("--worker-log <path>", "Override WORKER_LOG.md path")
|
|
87
|
+
.option("--json", "Emit result as JSON on stdout")
|
|
88
|
+
.action((opts) => {
|
|
89
|
+
runContextRequest({
|
|
90
|
+
mission: opts.mission,
|
|
91
|
+
paths: opts.path ?? [],
|
|
92
|
+
reason: opts.reason,
|
|
93
|
+
proposed: opts.proposed,
|
|
94
|
+
stageWorkerLog: opts.stageWorkerLog,
|
|
95
|
+
workerLog: opts.workerLog,
|
|
96
|
+
json: opts.json,
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
const tmvc = program.command("tmvc").description("TMVC boundary checks (staged index)");
|
|
100
|
+
tmvc
|
|
101
|
+
.command("guard")
|
|
102
|
+
.description("Pre-commit TMVC path guard — advisory by default; --strict to block")
|
|
103
|
+
.option("--mission <path>", "Mission path; defaults to pinned mission")
|
|
104
|
+
.option("--strict", "Block commit when staged paths drift outside TMVC")
|
|
105
|
+
.option("--json", "Emit result as JSON on stdout")
|
|
106
|
+
.action((opts) => {
|
|
107
|
+
runTmvcGuard({
|
|
108
|
+
mission: opts.mission,
|
|
109
|
+
strict: opts.strict,
|
|
110
|
+
json: opts.json,
|
|
111
|
+
});
|
|
112
|
+
});
|
|
76
113
|
}
|
|
77
114
|
//# sourceMappingURL=program-mission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-mission.js","sourceRoot":"","sources":["../../src/cli/program-mission.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"program-mission.js","sourceRoot":"","sources":["../../src/cli/program-mission.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-workflow.d.ts","sourceRoot":"","sources":["../../src/cli/program-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program-workflow.d.ts","sourceRoot":"","sources":["../../src/cli/program-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8G/D"}
|
|
@@ -8,6 +8,30 @@ import { runPerimeter } from "./commands/perimeter.js";
|
|
|
8
8
|
import { readStdinIfEmpty } from "./lib/program-stdin.js";
|
|
9
9
|
import { getOutputAudience } from "./lib/output-context.js";
|
|
10
10
|
import { logError, setExitCode } from "./lib/cli-io.js";
|
|
11
|
+
function verifyOptionsFromCli(opts) {
|
|
12
|
+
const scanDepth = opts.scanDepth !== undefined ? Number.parseInt(opts.scanDepth, 10) : undefined;
|
|
13
|
+
return {
|
|
14
|
+
mission: opts.mission,
|
|
15
|
+
changedMissions: opts.changedMissions,
|
|
16
|
+
baseRef: opts.baseRef,
|
|
17
|
+
workerLog: opts.workerLog,
|
|
18
|
+
cwd: opts.cwd,
|
|
19
|
+
fuzzyTrace: opts.fuzzyTrace,
|
|
20
|
+
strictTrace: opts.strictTrace,
|
|
21
|
+
skipStaleEvidence: opts.skipStaleEvidence,
|
|
22
|
+
ci: opts.ci,
|
|
23
|
+
prePush: opts.prePush,
|
|
24
|
+
breakGlass: opts.breakGlass,
|
|
25
|
+
auditCommit: opts.auditCommit,
|
|
26
|
+
fix: opts.fix,
|
|
27
|
+
json: opts.json,
|
|
28
|
+
scanDepth: Number.isFinite(scanDepth) && scanDepth > 0 ? scanDepth : undefined,
|
|
29
|
+
breakGlassReason: opts.reason,
|
|
30
|
+
breakGlassCommit: opts.commit,
|
|
31
|
+
fixNonInteractive: opts.nonInteractive,
|
|
32
|
+
audience: getOutputAudience(),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
11
35
|
export function registerWorkflowCommands(program) {
|
|
12
36
|
program
|
|
13
37
|
.command("legislate")
|
|
@@ -19,8 +43,7 @@ export function registerWorkflowCommands(program) {
|
|
|
19
43
|
.option("--out <file>", "Output path (.gitagent/missions/…); defaults to MSN.slug.yaml")
|
|
20
44
|
.option("--gate-command <cmd>", "Deterministic gate command (quote the full shell string if it contains spaces)")
|
|
21
45
|
.option("--gate-success-substring <text>", "Optional substring required in combined gate stdout/stderr")
|
|
22
|
-
.action(async
|
|
23
|
-
const opts = this.opts();
|
|
46
|
+
.action(async (intentParts, options, _cmd) => {
|
|
24
47
|
let text = intentParts.join(" ").trim();
|
|
25
48
|
text = await readStdinIfEmpty(text);
|
|
26
49
|
if (!text) {
|
|
@@ -28,15 +51,7 @@ export function registerWorkflowCommands(program) {
|
|
|
28
51
|
setExitCode(2);
|
|
29
52
|
return;
|
|
30
53
|
}
|
|
31
|
-
const result = runLegislate({
|
|
32
|
-
intent: text,
|
|
33
|
-
msn: opts.msn,
|
|
34
|
-
skillKey: opts.skillKey,
|
|
35
|
-
out: opts.out,
|
|
36
|
-
allowDuplicate: opts.allowDuplicate,
|
|
37
|
-
gateCommand: opts.gateCommand,
|
|
38
|
-
gateSuccessSubstring: opts.gateSuccessSubstring,
|
|
39
|
-
});
|
|
54
|
+
const result = runLegislate({ ...options, intent: text });
|
|
40
55
|
if (!result.ok)
|
|
41
56
|
setExitCode(result.exitCode);
|
|
42
57
|
});
|
|
@@ -60,15 +75,10 @@ export function registerWorkflowCommands(program) {
|
|
|
60
75
|
.option("--fix", "Interactive remediation on failure (human output only; cannot combine with --json)")
|
|
61
76
|
.option("--non-interactive", "With --fix: print structured hints without prompts")
|
|
62
77
|
.option("--json", "Emit structured JSON (failures include fix_hints and next_actions). Incompatible with --fix.")
|
|
78
|
+
.option("--scan-depth <number>", "Max commits to scan for Teacher [MSN-XXXX] stamp (default: 200, env: GXT_MSN_SCAN_DEPTH)")
|
|
63
79
|
.option("--audience <role>", "Tailor output: worker|teacher|verifier|platform")
|
|
64
80
|
.action(async (opts) => {
|
|
65
|
-
await runVerify(
|
|
66
|
-
...opts,
|
|
67
|
-
breakGlassReason: opts.reason,
|
|
68
|
-
breakGlassCommit: opts.commit,
|
|
69
|
-
fixNonInteractive: opts.nonInteractive,
|
|
70
|
-
audience: getOutputAudience(),
|
|
71
|
-
});
|
|
81
|
+
await runVerify(verifyOptionsFromCli(opts));
|
|
72
82
|
});
|
|
73
83
|
program
|
|
74
84
|
.command("scan")
|
|
@@ -108,8 +118,8 @@ export function registerWorkflowCommands(program) {
|
|
|
108
118
|
});
|
|
109
119
|
program
|
|
110
120
|
.command("metrics")
|
|
111
|
-
.description("Git-native governance metrics (no local event ledger)")
|
|
112
|
-
.option("--json", "Emit stable JSON summary")
|
|
121
|
+
.description("Git-native governance metrics (path-touch proxy classification; no local event ledger)")
|
|
122
|
+
.option("--json", "Emit stable JSON summary (includes gxt_extension_metadata)")
|
|
113
123
|
.option("--ref <name>", "Git ref to analyze (default HEAD)", "HEAD")
|
|
114
124
|
.action((opts) => {
|
|
115
125
|
runMetrics({ json: opts.json, ref: opts.ref });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-workflow.js","sourceRoot":"","sources":["../../src/cli/program-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"program-workflow.js","sourceRoot":"","sources":["../../src/cli/program-workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jeger-ai/opengantry",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "OpenGantry GXT substrate + gapman CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
18
|
"gen:version": "node scripts/gen-version.mjs",
|
|
19
|
-
"
|
|
19
|
+
"gen:catalog": "node scripts/gen-asset-catalog.mjs",
|
|
20
|
+
"build": "npm run gen:version && npm run gen:catalog && tsc",
|
|
20
21
|
"gapman": "node dist/cli/index.js",
|
|
21
22
|
"lint": "eslint src/cli/**/*.ts",
|
|
22
23
|
"check:changed": "./scripts/check-changed-code.sh",
|
|
@@ -39,5 +39,6 @@ Treat these as the **law + routing contract** for agent work. For orientation an
|
|
|
39
39
|
- **Terminal bootstrap:** `source scripts/gxt-runtime-env.sh` (uses pinned mission or explicit path).
|
|
40
40
|
- **Code architecture:** `.gitagent/ARCHITECTURE.pointer.json` — if `kind=unset` or stub, read `.gitagent/teacher/ARCHITECTURE-DISCOVERY.md` and ask user before coding.
|
|
41
41
|
- **Human IDE setup:** `docs/INTEGRATIONS.md` (adopter reference — not agent context).
|
|
42
|
+
- **External IDE skills:** local only — copy `.cursor/external-skills.local.example.mdc` → `.cursor/external-skills.local.mdc` (gitignored). Never commit third-party skill packs into GXT substrate.
|
|
42
43
|
|
|
43
44
|
If the user clearly scopes work to something that cannot affect OpenGantry (e.g. a typo in unrelated docs), still skim **RULES** and **MANIFEST** when the change could touch skills, missions, routing, or manifest sync.
|
|
@@ -27,6 +27,12 @@ properties:
|
|
|
27
27
|
minLength: 1
|
|
28
28
|
gate_success_substring:
|
|
29
29
|
type: ["string", "null"]
|
|
30
|
+
virtual_capture:
|
|
31
|
+
type: boolean
|
|
32
|
+
default: false
|
|
33
|
+
description: >-
|
|
34
|
+
When true, gapman verify captures gate stdout/stderr under
|
|
35
|
+
.gitagent/virtual/<flight-id>/ (gitignored) and purges on success.
|
|
30
36
|
upgrade_payload:
|
|
31
37
|
type: object
|
|
32
38
|
additionalProperties: false
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# OpenGantry pre-commit: advisory TMVC path guard (staged index vs mission roots).
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
cd "$(git rev-parse --show-toplevel)"
|
|
6
|
+
|
|
7
|
+
if [[ -f dist/cli/index.js ]]; then
|
|
8
|
+
GAPMAN=(node dist/cli/index.js)
|
|
9
|
+
elif command -v gapman >/dev/null 2>&1; then
|
|
10
|
+
GAPMAN=(gapman)
|
|
11
|
+
else
|
|
12
|
+
echo "pre-commit: gapman not found — run: npm run build" >&2
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
mission=""
|
|
17
|
+
if mission="$(scripts/gxt-resolve-mission.sh 2>/dev/null)"; then
|
|
18
|
+
:
|
|
19
|
+
else
|
|
20
|
+
echo "pre-commit: no pinned mission — skipping TMVC guard (advisory)" >&2
|
|
21
|
+
exit 0
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
echo "pre-commit: gapman tmvc guard --mission ${mission} (advisory default)" >&2
|
|
25
|
+
"${GAPMAN[@]}" tmvc guard --mission "$mission"
|
|
26
|
+
exit 0
|
|
@@ -37,6 +37,8 @@ jobs:
|
|
|
37
37
|
runs-on: ubuntu-latest
|
|
38
38
|
steps:
|
|
39
39
|
- uses: actions/checkout@v6
|
|
40
|
+
with:
|
|
41
|
+
fetch-depth: 0
|
|
40
42
|
|
|
41
43
|
- uses: actions/setup-node@v6
|
|
42
44
|
with:
|
|
@@ -85,6 +87,9 @@ jobs:
|
|
|
85
87
|
- name: Install Node deps
|
|
86
88
|
run: npm ci
|
|
87
89
|
|
|
90
|
+
- name: Build gapman
|
|
91
|
+
run: npm run build
|
|
92
|
+
|
|
88
93
|
- name: Changed-code quality gates (complexity + import layers)
|
|
89
94
|
env:
|
|
90
95
|
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
package/templates/.gitignore.gxt
CHANGED
package/templates/AGENTS.md
CHANGED
|
@@ -22,3 +22,7 @@ When the user **explicitly** asks to write, edit, refactor, or implement code an
|
|
|
22
22
|
- **Fast-path** trivial single-file work; **full interview** for heavy/risky scope.
|
|
23
23
|
- **Cursor MCP handoff (preferred):** `gxt_draft_legislation` → human chat approval → `gxt_execute_legislation` → Teacher commit → `gxt_check_signature` → `gxt_pin_mission`.
|
|
24
24
|
- **CLI fallback:** one copy-paste `gapman legislate …` command — never raw YAML blocks.
|
|
25
|
+
|
|
26
|
+
## External IDE skills (edge quarantine)
|
|
27
|
+
|
|
28
|
+
Third-party agent skills are **untrusted edge helpers** — not GXT law. Keep them in local IDE config (gitignored); do not add subjective style guides to this file or `.gitagent/`. Repository safety is deterministic gates only (compile, tests, import layers). Optional `[SKILL-EXEC]` lines in `WORKER_LOG.md` are reviewer context only — see `.gitagent/teacher/RUNTIME.md`.
|