@jeger-ai/opengantry 2.1.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 +24 -7
- 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/mission.js +1 -1
- 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 +9 -4
- package/dist/cli/commands/onboarding.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +2 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/lib/architecture-pointer.d.ts +1 -1
- package/dist/cli/lib/architecture-pointer.d.ts.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/constants.d.ts +4 -0
- package/dist/cli/lib/constants.d.ts.map +1 -1
- package/dist/cli/lib/constants.js +4 -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/doctor-core.d.ts +5 -0
- package/dist/cli/lib/doctor-core.d.ts.map +1 -0
- package/dist/cli/lib/doctor-core.js +163 -0
- 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.js +120 -0
- 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.js +35 -0
- package/dist/cli/lib/doctor-substrate.js.map +1 -0
- package/dist/cli/lib/doctor-types.d.ts +24 -0
- 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 +4 -30
- package/dist/cli/lib/doctor.d.ts.map +1 -1
- package/dist/cli/lib/doctor.js +4 -281
- package/dist/cli/lib/doctor.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 +0 -2
- package/dist/cli/lib/kpi-engine.d.ts.map +1 -1
- package/dist/cli/lib/kpi-engine.js +11 -13
- package/dist/cli/lib/kpi-engine.js.map +1 -1
- package/dist/cli/lib/mcp-tools-register.js +1 -1
- package/dist/cli/lib/mcp-tools-register.js.map +1 -1
- package/dist/cli/lib/mcp-upgrade.d.ts +2 -2
- package/dist/cli/lib/mcp-upgrade.d.ts.map +1 -1
- package/dist/cli/lib/mcp-upgrade.js +5 -1
- package/dist/cli/lib/mcp-upgrade.js.map +1 -1
- package/dist/cli/lib/missions/formatter.d.ts.map +1 -1
- package/dist/cli/lib/missions/formatter.js +1 -0
- package/dist/cli/lib/missions/formatter.js.map +1 -1
- package/dist/cli/lib/missions/parser.d.ts.map +1 -1
- package/dist/cli/lib/missions/parser.js +1 -0
- package/dist/cli/lib/missions/parser.js.map +1 -1
- package/dist/cli/lib/start-orchestration.d.ts +1 -11
- package/dist/cli/lib/start-orchestration.d.ts.map +1 -1
- package/dist/cli/lib/start-orchestration.js +1 -85
- package/dist/cli/lib/start-orchestration.js.map +1 -1
- package/dist/cli/lib/start-snapshot.d.ts +12 -0
- package/dist/cli/lib/start-snapshot.d.ts.map +1 -0
- package/dist/cli/lib/start-snapshot.js +81 -0
- package/dist/cli/lib/start-snapshot.js.map +1 -0
- package/dist/cli/lib/trace.d.ts.map +1 -1
- package/dist/cli/lib/trace.js +1 -6
- package/dist/cli/lib/trace.js.map +1 -1
- package/dist/cli/lib/types.d.ts +3 -0
- package/dist/cli/lib/types.d.ts.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/verify-engine.d.ts.map +1 -1
- package/dist/cli/lib/verify-engine.js +39 -13
- package/dist/cli/lib/verify-engine.js.map +1 -1
- package/dist/cli/lib/verify-failure-format.d.ts +29 -0
- package/dist/cli/lib/verify-failure-format.d.ts.map +1 -0
- package/dist/cli/lib/verify-failure-format.js +68 -0
- 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-payload.d.ts +0 -1
- package/dist/cli/lib/verify-payload.d.ts.map +1 -1
- package/dist/cli/lib/verify-payload.js +6 -19
- package/dist/cli/lib/verify-payload.js.map +1 -1
- package/dist/cli/lib/verify-present.d.ts +6 -23
- package/dist/cli/lib/verify-present.d.ts.map +1 -1
- package/dist/cli/lib/verify-present.js +3 -215
- package/dist/cli/lib/verify-present.js.map +1 -1
- package/dist/cli/lib/verify-presentation.d.ts +2 -1
- package/dist/cli/lib/verify-presentation.d.ts.map +1 -1
- package/dist/cli/lib/verify-presentation.js +2 -1
- package/dist/cli/lib/verify-presentation.js.map +1 -1
- 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 -56
- package/dist/cli/lib/verify-remediation.d.ts.map +1 -1
- package/dist/cli/lib/verify-remediation.js +2 -226
- package/dist/cli/lib/verify-remediation.js.map +1 -1
- package/dist/cli/lib/verify-run.d.ts +12 -0
- package/dist/cli/lib/verify-run.d.ts.map +1 -0
- package/dist/cli/lib/verify-run.js +70 -0
- package/dist/cli/lib/verify-run.js.map +1 -0
- 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 +43 -3
- package/dist/cli/program-core.js.map +1 -1
- package/package.json +1 -1
- package/templates/.gitagent/teacher/MISSION.schema.yaml +6 -0
- package/templates/.gitignore.gxt +2 -0
- package/templates/integrations/asset-catalog.json +1 -0
- package/templates/integrations/compatibility.json +10 -1
- 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/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/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/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# OpenGantry
|
|
2
2
|
|
|
3
|
-
**OpenGantry
|
|
3
|
+
**OpenGantry is a platform for Autonomous Repository Engineering** — AI-assisted product delivery where every material agent change is scoped before execution, verified by deterministic gates, and traceable in Git before merge.
|
|
4
|
+
|
|
5
|
+
It is **not** a real-time conversational agent wrapper. Use OpenGantry when you need auditable, mission-scoped repository work with explicit Teacher approval and forensic trace.
|
|
4
6
|
|
|
5
7
|
Use OpenGantry when you need:
|
|
6
8
|
|
|
@@ -33,6 +35,18 @@ npx @jeger-ai/opengantry init --tutorial
|
|
|
33
35
|
|
|
34
36
|
Developing this repository from source: `npm ci && npm run build` — see [gapman CLI](#gapman-cli) and [`docs/DEVELOPMENT.md`](docs/DEVELOPMENT.md).
|
|
35
37
|
|
|
38
|
+
## Documentation map (start here)
|
|
39
|
+
|
|
40
|
+
| Goal | Read first |
|
|
41
|
+
|------|------------|
|
|
42
|
+
| **Adopt in your repo (5 min)** | This README → [`docs/ADOPTION.md`](docs/ADOPTION.md) |
|
|
43
|
+
| **Wire IDE agents** | [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md) |
|
|
44
|
+
| **Contribute / dogfood** | [`docs/DEVELOPMENT.md`](docs/DEVELOPMENT.md) |
|
|
45
|
+
| **Governance law + workflow** | [`.gitagent/README.md`](.gitagent/README.md) · [`.gitagent/teacher/RULES.md`](.gitagent/teacher/RULES.md) |
|
|
46
|
+
| **Roadmap / open work** | [`docs/BACKLOG.md`](docs/BACKLOG.md) |
|
|
47
|
+
| **Compliance framing** | [`docs/COMPLIANCE-ISO.md`](docs/COMPLIANCE-ISO.md) |
|
|
48
|
+
| **Ephemeral virtualization (stretch)** | [`docs/ADR-EPHEMERAL-VIRTUALIZATION.md`](docs/ADR-EPHEMERAL-VIRTUALIZATION.md) |
|
|
49
|
+
|
|
36
50
|
## Why teams adopt this
|
|
37
51
|
|
|
38
52
|
| Outcome | How OpenGantry delivers it |
|
|
@@ -43,14 +57,15 @@ Developing this repository from source: `npm ci && npm run build` — see [gapma
|
|
|
43
57
|
| **Regulated / ISO-aligned workflows** | SOD, mission authorization, and Git-native trace — see [`docs/COMPLIANCE-ISO.md`](docs/COMPLIANCE-ISO.md) (27001 change control, 42001 AI governance) |
|
|
44
58
|
| **Faster recovery from failure** | Stable `GXT_*` error codes, `gapman verify --fix`, role output via `--audience worker\|teacher\|verifier` |
|
|
45
59
|
|
|
46
|
-
**Protocol maturity:** substrate law **v0.5.0**; **`gapman` v2.
|
|
60
|
+
**Protocol maturity:** substrate law **v0.5.0**; **`gapman` v2.2.0** — diagnostic context feed, meta-governance audit, ephemeral virtualization (`virtual_capture`), adoption UX. Current npm publish: **v2.2.0**. See [.gitagent/teacher/RUNTIME.md](.gitagent/teacher/RUNTIME.md).
|
|
47
61
|
|
|
48
62
|
## Release timeline (latest first)
|
|
49
63
|
|
|
50
|
-
Current npm release in this repository: **`gapman` v2.
|
|
64
|
+
Current npm release in this repository: **`gapman` v2.2.0**. Use [`docs/ADOPTION.md`](docs/ADOPTION.md) for the ordered runbook.
|
|
51
65
|
|
|
52
66
|
| Release | Highlights |
|
|
53
67
|
|---------|------------|
|
|
68
|
+
| **v2.2.0** | `gapman context-feed`, `gapman audit-rigor`, `virtual_capture` ephemeral virtualization ([#68](https://github.com/jeger-ai/opengantry/issues/68)), product positioning, docs quality ([#66](https://github.com/jeger-ai/opengantry/issues/66)–[#69](https://github.com/jeger-ai/opengantry/issues/69), [#76](https://github.com/jeger-ai/opengantry/issues/76)) |
|
|
54
69
|
| **v2.1.0** | Import-layer Code Surgeon (`check-import-layers.mjs --json`, AST quarantine, `GXT_IMPORT_LAYER_VIOLATION`); workspace-resolved optional TypeScript for surgeons |
|
|
55
70
|
| **v2.0.0** | `gapman scan` + KPI gate, `register`, `check-imports`, `perimeter`; BYO `llm_verifiers`; KPI stale binding on `--pre-push`/`--ci` |
|
|
56
71
|
| **v1.1.2** | Verify pipeline close-out (MSN-0034–0035); typed verify phases, trace status at parse boundary |
|
|
@@ -175,11 +190,11 @@ Requires **Node.js 24+** (Active LTS line). Published as **`@jeger-ai/opengantry
|
|
|
175
190
|
| Command | Purpose |
|
|
176
191
|
|--------|---------|
|
|
177
192
|
| `gapman init` | Bootstrap substrate + IDE packs + hooks + CI. `--tutorial` runs guided first loop after scaffold. |
|
|
178
|
-
| `gapman upgrade` | Plan substrate updates
|
|
193
|
+
| `gapman upgrade` | Plan substrate updates (`gapman upgrade plan` / `--dry-run` for preview JSON). Stage with `gapman upgrade`; `gapman upgrade apply --mission …` after Teacher commit. |
|
|
179
194
|
| `gapman check` | Validate `MANIFEST.json` shape + **Rule 4.4** sync: every `manifest.skills` key must have `skills/<key>.md`, with no orphan skill files. |
|
|
180
195
|
| `gapman status` | GXT readiness dashboard (`--json`, `--verbose`, `--audience worker\|teacher\|verifier\|platform`). |
|
|
181
196
|
| `gapman start "<intent>"` | Goal-first orchestration: triage → legislate stub → runtime next steps (`--msn`, `--skill-key`, `--json`). |
|
|
182
|
-
| `gapman onboarding` | Interactive walkthrough of the strict mission loop
|
|
197
|
+
| `gapman onboarding` | Interactive walkthrough of the strict mission loop. Blocks on corrupt configured integration state; allows pristine uninitialized repos. |
|
|
183
198
|
| `gapman doctor` | Active readiness check (manifest, Teacher email, bypass secret match, hooks, architecture pointer, integration staleness). Warnings exit 0. `--audience` tailors next steps. |
|
|
184
199
|
| `gapman triage "<intent>"` | Foreman-style routing ([`SOUL.md`](.gitagent/foreman/SOUL.md)). `--json` for machine output (may include non-binding `adr_hints` from [`.gitagent/out-of-scope/`](.gitagent/out-of-scope/README.md)). `--emit-mission --msn MSN-0007` writes `.gitagent/missions/ACTIVE_MISSION.md` by default on **DIRECT_EXECUTION** only. |
|
|
185
200
|
| `gapman teacher show\|set` | Repo-local Teacher git-proof allowlist (`.gitagent/foreman/TEACHER.allowlist.local`; avoids global `GAPMAN_TEACHER_EMAILS` leaking across projects). |
|
|
@@ -199,6 +214,8 @@ Requires **Node.js 24+** (Active LTS line). Published as **`@jeger-ai/opengantry
|
|
|
199
214
|
| `gapman arch pointer` | Print architecture pointer summary for agents (`.gitagent/ARCHITECTURE.pointer.json`). |
|
|
200
215
|
| `gapman arch cred status\|set\|unset` | Git-ignored credential slots for authenticated external architecture sources (secrets via stdin only). |
|
|
201
216
|
| `gapman metrics [--json] [--ref main]` | Git-native governance rollup (`--json` includes `gxt_extension_metadata`). See [`docs/ADOPTION.md`](docs/ADOPTION.md). |
|
|
217
|
+
| `gapman context-feed [--json] [--clear]` | Read or atomically clear the latest verify remediation snapshot (`.gitagent/tmp/NEXT_REMEDIATION.json`) for IDE repair loops. |
|
|
218
|
+
| `gapman audit-rigor [--json] [--strict]` | Meta-governance audit: TypeScript strictness, coverage artifacts, MANIFEST wildcard hygiene. |
|
|
202
219
|
|
|
203
220
|
**Who can approve missions (Teacher allowlist):** only allowlisted identities can legislate missions that verify accepts. Precedence:
|
|
204
221
|
|
|
@@ -338,7 +355,7 @@ Always **review the diff** before commit; never bulk-overwrite a customized `MAN
|
|
|
338
355
|
|
|
339
356
|
| Pattern | Typical shape | Audit / production readiness |
|
|
340
357
|
|---------|----------------|------------------------------|
|
|
341
|
-
| **GXT / OpenGantry** | Git-native missions, manifest routing, deterministic gates, auditable log mapped to **`WORKER_LOG.md`**, human `[MSN-XXXX]` approval + SOD ([`RULES.md`](.gitagent/teacher/RULES.md)) | **
|
|
358
|
+
| **GXT / OpenGantry** | Git-native missions, manifest routing, deterministic gates, auditable log mapped to **`WORKER_LOG.md`**, human `[MSN-XXXX]` approval + SOD ([`RULES.md`](.gitagent/teacher/RULES.md)) | **Autonomous Repository Engineering** — scoped missions, not always-on chat. Greppable missions + gate output + log quotes. |
|
|
342
359
|
| Agent "swarm" / choreography layers | Orchestrates model calls across services; emphasizes throughput and parallelism | Strong on **coverage** of tasks; lineage and per-change evidence depends on tooling above the swarm |
|
|
343
360
|
| Unstructured desktop assistants | Reactive help in-editor or OS-wide; informal plans | Lightweight for exploration; weakest default for **reproducible** production sign-off without additional discipline |
|
|
344
361
|
|
|
@@ -346,7 +363,7 @@ GXT deliberately trades "always-on improvisation" for a **narrow, inspectable en
|
|
|
346
363
|
|
|
347
364
|
## Relationship to this repository
|
|
348
365
|
|
|
349
|
-
**jeger-ai/opengantry** is the **canonical reference tree** for **GXT** (manifest `schema_version` **v0.5.0** law + **`gapman` v2.
|
|
366
|
+
**jeger-ai/opengantry** is the **canonical reference tree** for **GXT** (manifest `schema_version` **v0.5.0** law + **`gapman` v2.2.0** CLI). Install the CLI with `npm install -g @jeger-ai/opengantry`, or fork this repo and run `gapman init` in your project.
|
|
350
367
|
|
|
351
368
|
## Security
|
|
352
369
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface AuditRigorCliOptions {
|
|
2
|
+
json?: boolean;
|
|
3
|
+
strict?: boolean;
|
|
4
|
+
/** Override workspace root (tests); CLI defaults to discovered git root. */
|
|
5
|
+
workspace?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function runAuditRigorCommand(options?: AuditRigorCliOptions): void;
|
|
8
|
+
//# sourceMappingURL=audit-rigor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-rigor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit-rigor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,oBAAyB,GAAG,IAAI,CAkB7E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { logInfo, setExitCode } from "../lib/cli-io.js";
|
|
3
|
+
import { runAuditRigorChecks } from "../lib/audit-rigor.js";
|
|
4
|
+
import { loadWorkspace } from "../lib/workspace.js";
|
|
5
|
+
export function runAuditRigorCommand(options = {}) {
|
|
6
|
+
const { root } = loadWorkspace();
|
|
7
|
+
const workspaceRoot = options.workspace?.trim()
|
|
8
|
+
? path.resolve(options.workspace)
|
|
9
|
+
: root;
|
|
10
|
+
const report = runAuditRigorChecks(workspaceRoot, { strict: options.strict });
|
|
11
|
+
if (options.json) {
|
|
12
|
+
logInfo(JSON.stringify(report, null, 2));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
logInfo(`audit-rigor: workspace=${report.workspace_root}`);
|
|
16
|
+
for (const line of report.lines) {
|
|
17
|
+
logInfo(`${line.level} [${line.check_id}]: ${line.message}`);
|
|
18
|
+
}
|
|
19
|
+
logInfo(report.exit_code === 0 ? "audit-rigor: OK" : "audit-rigor: FAILED");
|
|
20
|
+
}
|
|
21
|
+
if (report.exit_code !== 0)
|
|
22
|
+
setExitCode(report.exit_code);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=audit-rigor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-rigor.js","sourceRoot":"","sources":["../../../src/cli/commands/audit-rigor.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASpD,MAAM,UAAU,oBAAoB,CAAC,UAAgC,EAAE;IACrE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE;QAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QACjC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE9E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,0BAA0B,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;QAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-feed.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/context-feed.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,IAAI,CAyCrE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { logError, logInfo, setExitCode } from "../lib/cli-io.js";
|
|
2
|
+
import { clearRemediationSnapshot, readRemediationSnapshot, } from "../lib/context-feed-store.js";
|
|
3
|
+
import { loadWorkspace } from "../lib/workspace.js";
|
|
4
|
+
export function runContextFeed(options = {}) {
|
|
5
|
+
try {
|
|
6
|
+
const { root } = loadWorkspace();
|
|
7
|
+
if (options.clear) {
|
|
8
|
+
clearRemediationSnapshot(root);
|
|
9
|
+
if (options.json) {
|
|
10
|
+
logInfo(JSON.stringify({ status: "cleared", path: ".gitagent/tmp/NEXT_REMEDIATION.json" }, null, 2));
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
logInfo("context-feed: cleared");
|
|
14
|
+
}
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const snapshot = readRemediationSnapshot(root);
|
|
18
|
+
if (!snapshot) {
|
|
19
|
+
if (options.json) {
|
|
20
|
+
logInfo(JSON.stringify({ status: "empty", snapshot: null }, null, 2));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
logInfo("context-feed: (no active remediation)");
|
|
24
|
+
}
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (options.json) {
|
|
28
|
+
logInfo(JSON.stringify({ status: "ok", snapshot }, null, 2));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
logInfo(`context-feed: phase=${snapshot.phase} error=${snapshot.error_code}`);
|
|
32
|
+
logInfo(` message: ${snapshot.message}`);
|
|
33
|
+
if (snapshot.mission_file_path)
|
|
34
|
+
logInfo(` mission: ${snapshot.mission_file_path}`);
|
|
35
|
+
if (snapshot.msn_id)
|
|
36
|
+
logInfo(` msn_id: ${snapshot.msn_id}`);
|
|
37
|
+
if (snapshot.fix_hints.length > 0) {
|
|
38
|
+
logInfo(" fix_hints:");
|
|
39
|
+
for (const hint of snapshot.fix_hints)
|
|
40
|
+
logInfo(` - ${hint}`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
logError(e instanceof Error ? e.message : String(e));
|
|
45
|
+
setExitCode(2);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=context-feed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-feed.js","sourceRoot":"","sources":["../../../src/cli/commands/context-feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,UAAU,cAAc,CAAC,UAA8B,EAAE;IAC7D,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,qCAAqC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACnC,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,uCAAuC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,uBAAuB,QAAQ,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,cAAc,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,iBAAiB;YAAE,OAAO,CAAC,cAAc,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,aAAa,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS;gBAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,WAAW,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { CLI_NAME } from "../lib/constants.js";
|
|
|
2
2
|
import { formatRepoRelative, logError, logInfo, setExitCode } from "../lib/cli-io.js";
|
|
3
3
|
import { isValidMsnId } from "../lib/missions/parser.js";
|
|
4
4
|
import { assertMissionGatePresent, parseMissionFile } from "../lib/missions/parser.js";
|
|
5
|
-
import { captureStartState, writeSnapshot } from "../lib/start-
|
|
5
|
+
import { captureStartState, writeSnapshot } from "../lib/start-snapshot.js";
|
|
6
6
|
import { loadWorkspace } from "../lib/workspace.js";
|
|
7
7
|
export function runMissionValidate(file) {
|
|
8
8
|
const { root } = loadWorkspace();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mission.js","sourceRoot":"","sources":["../../../src/cli/commands/mission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"mission.js","sourceRoot":"","sources":["../../../src/cli/commands/mission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,QAAQ,0BAA0B,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,WAAoB;IACnE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IACzC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,0DAA0D,CAAC,CAAC;QACrE,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,QAAQ,4BAA4B,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAsDD,wBAAsB,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAsDD,wBAAsB,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuElF"}
|
|
@@ -3,7 +3,7 @@ import path from "node:path";
|
|
|
3
3
|
import { CLI_NAME } from "../lib/constants.js";
|
|
4
4
|
import { ONBOARDING_ADOPTION_DOC, onboardingRuntimeEnvHint, onboardingStatusHint, onboardingVerifyHint, } from "../lib/onboarding-flow.js";
|
|
5
5
|
import { logError, logInfo, logWarn, setExitCode } from "../lib/cli-io.js";
|
|
6
|
-
import {
|
|
6
|
+
import { integrationOnboardingBlockers } from "../lib/doctor-integration.js";
|
|
7
7
|
import { resolveTemplateRootFromModule } from "../lib/integration-compat.js";
|
|
8
8
|
import { loadWorkspace } from "../lib/workspace.js";
|
|
9
9
|
import { runStartOrchestration } from "../lib/start-orchestration.js";
|
|
@@ -11,8 +11,8 @@ import { runVerifyCore } from "../lib/verify-presentation.js";
|
|
|
11
11
|
const EXAMPLE_MISSION = ".gitagent/missions/example.verify.yaml";
|
|
12
12
|
function integrationBlockers(repoRoot) {
|
|
13
13
|
const templatesRoot = resolveTemplateRootFromModule();
|
|
14
|
-
const
|
|
15
|
-
return
|
|
14
|
+
const gate = integrationOnboardingBlockers(repoRoot, templatesRoot);
|
|
15
|
+
return { blockers: gate.blockers, notices: gate.notices };
|
|
16
16
|
}
|
|
17
17
|
async function resolveOnboardingMissionPath(p, root, intent) {
|
|
18
18
|
let missionPath = EXAMPLE_MISSION;
|
|
@@ -64,7 +64,12 @@ export async function runOnboarding(options = {}) {
|
|
|
64
64
|
p.outro("Onboarding aborted");
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
const blockers = integrationBlockers(root);
|
|
67
|
+
const { blockers, notices } = integrationBlockers(root);
|
|
68
|
+
if (notices.length > 0) {
|
|
69
|
+
p.log.step("Integration health");
|
|
70
|
+
for (const msg of notices)
|
|
71
|
+
logInfo(` ${msg}`);
|
|
72
|
+
}
|
|
68
73
|
if (blockers.length > 0 && !options.force) {
|
|
69
74
|
p.log.step("Integration health");
|
|
70
75
|
for (const msg of blockers)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/cli/commands/onboarding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI,CAuE7D"}
|
|
@@ -4,6 +4,7 @@ import { getRepoRoot } from "../lib/git.js";
|
|
|
4
4
|
import { resolveTemplateRootFromModule } from "../lib/integration-compat.js";
|
|
5
5
|
import { runUpgradeApply } from "../lib/upgrade-apply.js";
|
|
6
6
|
import { runUpgradePlan } from "../lib/upgrade-plan.js";
|
|
7
|
+
import { toStableUpgradePlanPayloadV1 } from "../lib/upgrade-plan-payload.js";
|
|
7
8
|
import { GapmanUserError } from "../lib/errors.js";
|
|
8
9
|
export function runUpgrade(options = {}) {
|
|
9
10
|
let repoRoot;
|
|
@@ -53,7 +54,7 @@ export function runUpgrade(options = {}) {
|
|
|
53
54
|
json: options.json,
|
|
54
55
|
});
|
|
55
56
|
if (options.json) {
|
|
56
|
-
console.log(JSON.stringify(result, null, 2));
|
|
57
|
+
console.log(JSON.stringify(toStableUpgradePlanPayloadV1(result), null, 2));
|
|
57
58
|
}
|
|
58
59
|
if (result.status === "downgrade_blocked") {
|
|
59
60
|
logError(result.message ?? "downgrade blocked");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAWnD,MAAM,UAAU,UAAU,CAAC,UAA0B,EAAE;IACrD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,6BAA6B,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,eAAe,CAAC;YACnB,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,aAAa;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;aACC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,WAAW,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACL,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,cAAc,CAAC;YAC5B,QAAQ;YACR,aAAa;YACb,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture-pointer.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"architecture-pointer.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/architecture-pointer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,eAAO,MAAM,mCAAmC,EAAG,OAAgB,CAAC;AAEpE,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,0FAG5B,CAAC;AAOX,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AA4ED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAwC7E;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAY7E;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAEnF;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAEtF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAqBrG;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAgBjF;AAuED,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA6CjF;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAExF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type AuditRigorLevel = "ok" | "warn" | "fail";
|
|
2
|
+
export interface AuditRigorLine {
|
|
3
|
+
level: AuditRigorLevel;
|
|
4
|
+
check_id: string;
|
|
5
|
+
message: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AuditRigorReport {
|
|
8
|
+
workspace_root: string;
|
|
9
|
+
lines: AuditRigorLine[];
|
|
10
|
+
exit_code: number;
|
|
11
|
+
}
|
|
12
|
+
export interface AuditRigorOptions {
|
|
13
|
+
/** When true, warnings elevate to failures. */
|
|
14
|
+
strict?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Path-isolated meta-governance scanner — always pass explicit workspaceRoot in tests. */
|
|
17
|
+
export declare function runAuditRigorChecks(workspaceRoot: string, options?: AuditRigorOptions): AuditRigorReport;
|
|
18
|
+
//# sourceMappingURL=audit-rigor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-rigor.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/audit-rigor.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAiLD,2FAA2F;AAC3F,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CAYlB"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
function readJsonFile(absPath) {
|
|
4
|
+
if (!fs.existsSync(absPath))
|
|
5
|
+
return null;
|
|
6
|
+
try {
|
|
7
|
+
return JSON.parse(fs.readFileSync(absPath, "utf8"));
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function findTsconfigPaths(workspaceRoot) {
|
|
14
|
+
const candidates = [
|
|
15
|
+
path.join(workspaceRoot, "tsconfig.json"),
|
|
16
|
+
path.join(workspaceRoot, "tsconfig.base.json"),
|
|
17
|
+
];
|
|
18
|
+
return candidates.filter((p) => fs.existsSync(p));
|
|
19
|
+
}
|
|
20
|
+
function checkTypeScriptStrict(workspaceRoot) {
|
|
21
|
+
const configs = findTsconfigPaths(workspaceRoot);
|
|
22
|
+
if (configs.length === 0) {
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
25
|
+
level: "warn",
|
|
26
|
+
check_id: "typescript_strict",
|
|
27
|
+
message: "no tsconfig.json at workspace root — cannot verify strict compiler posture",
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
const lines = [];
|
|
32
|
+
for (const configPath of configs) {
|
|
33
|
+
const rel = path.relative(workspaceRoot, configPath).replace(/\\/g, "/");
|
|
34
|
+
const doc = readJsonFile(configPath);
|
|
35
|
+
if (!doc?.compilerOptions) {
|
|
36
|
+
lines.push({
|
|
37
|
+
level: "fail",
|
|
38
|
+
check_id: "typescript_strict",
|
|
39
|
+
message: `${rel}: missing compilerOptions — enable strict mode for agent-safe refactors`,
|
|
40
|
+
});
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (doc.compilerOptions.strict === true) {
|
|
44
|
+
lines.push({
|
|
45
|
+
level: "ok",
|
|
46
|
+
check_id: "typescript_strict",
|
|
47
|
+
message: `${rel}: compilerOptions.strict=true`,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
lines.push({
|
|
52
|
+
level: "fail",
|
|
53
|
+
check_id: "typescript_strict",
|
|
54
|
+
message: `${rel}: compilerOptions.strict is not true — loosened types weaken verification gates`,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return lines;
|
|
59
|
+
}
|
|
60
|
+
const COVERAGE_CANDIDATES = [
|
|
61
|
+
"coverage/coverage-summary.json",
|
|
62
|
+
"coverage/coverage-final.json",
|
|
63
|
+
".nyc_output/coverage-summary.json",
|
|
64
|
+
];
|
|
65
|
+
function coveragePctFromSummary(doc) {
|
|
66
|
+
const total = doc.total;
|
|
67
|
+
const lines = total?.lines?.pct;
|
|
68
|
+
if (typeof lines === "number" && Number.isFinite(lines))
|
|
69
|
+
return lines;
|
|
70
|
+
const statements = total?.statements?.pct;
|
|
71
|
+
if (typeof statements === "number" && Number.isFinite(statements))
|
|
72
|
+
return statements;
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
function checkCoverageArtifacts(workspaceRoot, strict) {
|
|
76
|
+
for (const rel of COVERAGE_CANDIDATES) {
|
|
77
|
+
const abs = path.join(workspaceRoot, rel);
|
|
78
|
+
const doc = readJsonFile(abs);
|
|
79
|
+
if (!doc)
|
|
80
|
+
continue;
|
|
81
|
+
const pct = coveragePctFromSummary(doc);
|
|
82
|
+
if (pct === null) {
|
|
83
|
+
return [
|
|
84
|
+
{
|
|
85
|
+
level: strict ? "fail" : "warn",
|
|
86
|
+
check_id: "coverage_threshold",
|
|
87
|
+
message: `${rel}: present but missing total.*.pct — configure Istanbul/nyc summary output`,
|
|
88
|
+
},
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
if (pct < 50) {
|
|
92
|
+
return [
|
|
93
|
+
{
|
|
94
|
+
level: strict ? "fail" : "warn",
|
|
95
|
+
check_id: "coverage_threshold",
|
|
96
|
+
message: `${rel}: line/statement coverage ${String(pct)}% is below 50% advisory floor`,
|
|
97
|
+
},
|
|
98
|
+
];
|
|
99
|
+
}
|
|
100
|
+
return [
|
|
101
|
+
{
|
|
102
|
+
level: "ok",
|
|
103
|
+
check_id: "coverage_threshold",
|
|
104
|
+
message: `${rel}: coverage ${String(pct)}% meets advisory floor`,
|
|
105
|
+
},
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
return [
|
|
109
|
+
{
|
|
110
|
+
level: strict ? "fail" : "warn",
|
|
111
|
+
check_id: "coverage_threshold",
|
|
112
|
+
message: "no coverage summary artifact (coverage/coverage-summary.json) — run tests with coverage before agent-heavy refactors",
|
|
113
|
+
},
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
function isOverlyBroadWildcard(pattern) {
|
|
117
|
+
const trimmed = pattern.trim();
|
|
118
|
+
if (trimmed === "*" || trimmed === "**" || trimmed === "*/**" || trimmed === "**/*")
|
|
119
|
+
return true;
|
|
120
|
+
if (/^\*\*$/.test(trimmed))
|
|
121
|
+
return true;
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
function collectManifestWildcards(workspaceRoot) {
|
|
125
|
+
const manifestPath = path.join(workspaceRoot, ".gitagent/foreman/MANIFEST.json");
|
|
126
|
+
const doc = readJsonFile(manifestPath);
|
|
127
|
+
if (!doc?.skills)
|
|
128
|
+
return [];
|
|
129
|
+
const patterns = [];
|
|
130
|
+
for (const skill of Object.values(doc.skills)) {
|
|
131
|
+
for (const zone of skill.forbidden_zones ?? [])
|
|
132
|
+
patterns.push(zone);
|
|
133
|
+
for (const root of skill.tmvc_roots ?? [])
|
|
134
|
+
patterns.push(root);
|
|
135
|
+
}
|
|
136
|
+
return patterns;
|
|
137
|
+
}
|
|
138
|
+
function checkWildcardDependencyRules(workspaceRoot) {
|
|
139
|
+
const lines = [];
|
|
140
|
+
const patterns = collectManifestWildcards(workspaceRoot);
|
|
141
|
+
const broad = patterns.filter(isOverlyBroadWildcard);
|
|
142
|
+
if (broad.length === 0) {
|
|
143
|
+
if (patterns.length === 0) {
|
|
144
|
+
lines.push({
|
|
145
|
+
level: "warn",
|
|
146
|
+
check_id: "wildcard_paths",
|
|
147
|
+
message: "MANIFEST has no tmvc_roots/forbidden_zones to evaluate for overly broad wildcards",
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
lines.push({
|
|
152
|
+
level: "ok",
|
|
153
|
+
check_id: "wildcard_paths",
|
|
154
|
+
message: `MANIFEST path rules (${String(patterns.length)}) avoid catch-all wildcards`,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
return lines;
|
|
158
|
+
}
|
|
159
|
+
for (const pattern of broad) {
|
|
160
|
+
lines.push({
|
|
161
|
+
level: "fail",
|
|
162
|
+
check_id: "wildcard_paths",
|
|
163
|
+
message: `MANIFEST contains overly broad path rule "${pattern}" — narrow TMVC/forbidden zones`,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return lines;
|
|
167
|
+
}
|
|
168
|
+
function resolveExitCode(lines, strict) {
|
|
169
|
+
if (lines.some((l) => l.level === "fail"))
|
|
170
|
+
return 1;
|
|
171
|
+
if (strict && lines.some((l) => l.level === "warn"))
|
|
172
|
+
return 1;
|
|
173
|
+
return 0;
|
|
174
|
+
}
|
|
175
|
+
/** Path-isolated meta-governance scanner — always pass explicit workspaceRoot in tests. */
|
|
176
|
+
export function runAuditRigorChecks(workspaceRoot, options = {}) {
|
|
177
|
+
const strict = options.strict === true;
|
|
178
|
+
const lines = [
|
|
179
|
+
...checkTypeScriptStrict(workspaceRoot),
|
|
180
|
+
...checkCoverageArtifacts(workspaceRoot, strict),
|
|
181
|
+
...checkWildcardDependencyRules(workspaceRoot),
|
|
182
|
+
];
|
|
183
|
+
return {
|
|
184
|
+
workspace_root: workspaceRoot,
|
|
185
|
+
lines,
|
|
186
|
+
exit_code: resolveExitCode(lines, strict),
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=audit-rigor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-rigor.js","sourceRoot":"","sources":["../../../src/cli/lib/audit-rigor.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ export declare const REL_MISSION_TEMPLATE: ".gitagent/teacher/MISSION.template.m
|
|
|
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";
|
|
18
|
+
/** Git-ignored verify failure remediation feed for IDE/agent loops (atomic swap writes). */
|
|
19
|
+
export declare const REL_NEXT_REMEDIATION: ".gitagent/tmp/NEXT_REMEDIATION.json";
|
|
20
|
+
/** Ephemeral runtime snapshot scratch (gitignored; see docs/ADR-EPHEMERAL-VIRTUALIZATION.md). */
|
|
21
|
+
export declare const REL_VIRTUAL_SCRATCH: ".gitagent/virtual/";
|
|
18
22
|
/** ADR markdown (optional `match_terms` in frontmatter) — Foreman may emit non-binding hints only. */
|
|
19
23
|
export declare const REL_OUT_OF_SCOPE_DIR: ".gitagent/out-of-scope";
|
|
20
24
|
export declare const SKILLS_DIR_NAME: "skills";
|
|
@@ -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,sGAAsG;AACtG,eAAO,MAAM,oBAAoB,EAAG,wBAAiC,CAAC;AACtE,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,EAAG,eAAwB,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,EACtC,6DAAsE,CAAC;AACzE,+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,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
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,mBAAmB,EAAG,eAAwB,CAAC;AAC5D,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,EACtC,6DAAsE,CAAC;AACzE,+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,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -15,6 +15,10 @@ export const REL_MISSION_TEMPLATE = ".gitagent/teacher/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";
|
|
18
|
+
/** Git-ignored verify failure remediation feed for IDE/agent loops (atomic swap writes). */
|
|
19
|
+
export const REL_NEXT_REMEDIATION = ".gitagent/tmp/NEXT_REMEDIATION.json";
|
|
20
|
+
/** Ephemeral runtime snapshot scratch (gitignored; see docs/ADR-EPHEMERAL-VIRTUALIZATION.md). */
|
|
21
|
+
export const REL_VIRTUAL_SCRATCH = ".gitagent/virtual/";
|
|
18
22
|
/** ADR markdown (optional `match_terms` in frontmatter) — Foreman may emit non-binding hints only. */
|
|
19
23
|
export const REL_OUT_OF_SCOPE_DIR = ".gitagent/out-of-scope";
|
|
20
24
|
export const SKILLS_DIR_NAME = "skills";
|
|
@@ -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,sGAAsG;AACtG,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAiC,CAAC;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,QAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAwB,CAAC;AAC5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,2BAA2B,GACtC,6DAAsE,CAAC;AACzE,+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,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
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,mBAAmB,GAAG,eAAwB,CAAC;AAC5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,2BAA2B,GACtC,6DAAsE,CAAC;AACzE,+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,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|