arkgate 4.8.16 → 4.8.18
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/CHANGELOG.md +81 -0
- package/README.md +10 -7
- package/bin/ark-check-runtime.mjs +5 -1
- package/bin/ark-mcp-runtime.mjs +14 -7
- package/bin/ark-shared.mjs +10 -4
- package/bin/ark.mjs +6 -0
- package/bin/lib/adr-path.mjs +116 -0
- package/bin/lib/adr-presence.mjs +3 -2
- package/bin/lib/agent-gates.mjs +2 -0
- package/bin/lib/analysis-engine.mjs +6 -6
- package/bin/lib/doctor-human.mjs +2 -2
- package/bin/lib/doctor-next-actions.mjs +117 -17
- package/bin/lib/first-run-help.mjs +6 -2
- package/bin/lib/html-report.mjs +1 -1
- package/bin/lib/policy-delta-io.mjs +19 -10
- package/bin/lib/presets.mjs +15 -21
- package/bin/lib/skill-install.mjs +42 -4
- package/bin/lib/start-preview.mjs +75 -3
- package/dist/{diagnosticCatalog-KWvGLI1U.d.ts → diagnosticCatalog-BNxKdcN4.d.ts} +7 -1
- package/dist/index.cjs +9 -9
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -11
- package/dist/nestjs/index.cjs +1 -1
- package/dist/nestjs/index.js +1 -1
- package/dist/runtime/index.cjs +6 -6
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +6 -6
- package/docs/README.md +2 -2
- package/docs/agent-guide.md +9 -2
- package/docs/ai-gates.md +4 -0
- package/docs/configuration.md +6 -3
- package/docs/enthusiast/how-to-agent-gates.md +3 -1
- package/docs/enthusiast/how-to-pick-shape.md +1 -1
- package/docs/package-surface.md +1 -1
- package/docs/use.md +9 -4
- package/package.json +1 -1
- package/server.json +2 -2
- package/templates/agent-skills/README.md +1 -1
- package/templates/agent-skills/ark-adopt/SKILL.md +8 -5
- package/templates/agent-skills/ark-explain/SKILL.md +3 -0
- package/templates/agent-skills/ark-explore/SKILL.md +3 -1
- package/templates/agent-skills/ark-upgrade/SKILL.md +1 -0
- package/templates/skills/ark-adopt.md +8 -5
- package/templates/skills/ark-explain.md +3 -0
- package/templates/skills/ark-explore.md +3 -1
- package/templates/skills/ark-upgrade.md +1 -0
package/docs/README.md
CHANGED
|
@@ -73,8 +73,8 @@ These are **not** the day-to-day product path. They stay in the repo for evidenc
|
|
|
73
73
|
| Field adoption kit (scaffolding, not closed) | [field/](field/) |
|
|
74
74
|
| Runtime hardening (experimental) | [production-hardening.md](production-hardening.md) |
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
Current published: [CHANGELOG](../CHANGELOG.md) (`arkgate@4.8.18` on npm `latest`; does not close `K01`).
|
|
77
|
+
Prior published: [releases/4.8.11.md](releases/4.8.11.md) (`arkgate@4.8.11`).
|
|
78
78
|
Prior published: [releases/4.8.10.md](releases/4.8.10.md) (`arkgate@4.8.10`).
|
|
79
79
|
Prior published: [releases/4.8.9.md](releases/4.8.9.md) (`arkgate@4.8.9`).
|
|
80
80
|
Prior: [releases/4.8.6.md](releases/4.8.6.md) · [releases/4.8.5.md](releases/4.8.5.md) · [releases/4.8.4.md](releases/4.8.4.md) · [releases/4.8.3.md](releases/4.8.3.md) · [releases/4.8.2.md](releases/4.8.2.md) · [releases/4.8.1.md](releases/4.8.1.md) · [4.8.0](releases/4.8.0.md) · [4.7.6](releases/4.7.6.md) · [4.7.5](releases/4.7.5.md) · [4.7.4](releases/4.7.4.md) · [4.7.3](releases/4.7.3.md) · [4.7.2](releases/4.7.2.md) · [4.7.1](releases/4.7.1.md) · [4.7.0](releases/4.7.0.md) · [4.6.7](releases/4.6.7.md) · [4.6.6](releases/4.6.6.md) · [4.6.5](releases/4.6.5.md) · [4.6.4](releases/4.6.4.md) · [4.6.3](releases/4.6.3.md) · [4.6.2](releases/4.6.2.md) · [4.6.1](releases/4.6.1.md) · [4.6.0](releases/4.6.0.md).
|
package/docs/agent-guide.md
CHANGED
|
@@ -55,6 +55,11 @@ feature work. Full `/ark-*` skills are **expert depth** and label residual **`[L
|
|
|
55
55
|
npx ark-check --install-agent-gates --skills-only --force
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
+
After the pin moves, a teammate who already has `arkgate` installed can keep a
|
|
59
|
+
**stale** `.agents/skills` catalog (version stamp or content hash behind the
|
|
60
|
+
package). Doctor and a plain `ark-check` warn. Primary next action is that
|
|
61
|
+
same skills-only refresh — not `/ark-adopt` and not a full gate rewrite.
|
|
62
|
+
|
|
58
63
|
### Write-path honesty
|
|
59
64
|
|
|
60
65
|
Claude/Grok/Antigravity/Cursor can hard-block listed PreToolUse / preToolUse ops when installed
|
|
@@ -282,7 +287,8 @@ npx ark-check --recommend --json
|
|
|
282
287
|
`--recommend` does not require `ark.config.json`. It exits `0` and prints a progressive
|
|
283
288
|
adoption plan: archetype id, preset, `confidence`, `runnerUp`, `why` (shape signals),
|
|
284
289
|
structured positive/negative `evidence`, discovered `signals.packageUnits`,
|
|
285
|
-
`adoptInOrder.phase1`, `firstCommand` (`ark start --apply --archetype …`
|
|
290
|
+
`adoptInOrder.phase1`, `firstCommand` (`ark start --apply --archetype …` on a
|
|
291
|
+
thin tree; `ark-check --init` on a mature tree), and `checkCommand`.
|
|
286
292
|
When the top two shapes are close or projected governed coverage is below 90%, JSON sets
|
|
287
293
|
`requiresConfirmation: true` and explains why in `confirmationReasons`.
|
|
288
294
|
|
|
@@ -891,6 +897,7 @@ Filter: **Contener · Guiar · Ordenar** — contain the write, guide the next s
|
|
|
891
897
|
|
|
892
898
|
```bash
|
|
893
899
|
# Ark — expert skill pack (preferred when you also want gates)
|
|
900
|
+
# Same command refreshes a stale catalog after the package moved (doctor warns).
|
|
894
901
|
npx ark-check --install-agent-gates --skills-only --force
|
|
895
902
|
|
|
896
903
|
# Ecosystem — from installed package or a git checkout
|
|
@@ -1347,7 +1354,7 @@ The server exposes these thirteen tools. Every tool accepts the additive
|
|
|
1347
1354
|
| `ark_manifest` | No non-project args: return the machine-readable architecture contract with an authoritative binding after the identity handshake. |
|
|
1348
1355
|
| `validate_code` | `{ source, layer?, filePath? }`: validate one snippet; infer the layer from `filePath` when possible; return an error result when invalid. |
|
|
1349
1356
|
| `ark_check` | `{ strict?, baseline? }`: run the full project architecture check. `verdict` separates `identity`, `completeness`, `graph`, `coverage`, `gates`, and `overallOk`; no individual green fact substitutes for the combined verdict. |
|
|
1350
|
-
| `ark_policy_delta` | `{ baseConfig, candidateConfig?, acknowledgement? }`: classify a complete contract transition; never edits the contract. |
|
|
1357
|
+
| `ark_policy_delta` | `{ baseConfig, candidateConfig?, acknowledgement? }`: classify a complete contract transition; never edits the contract. Weakening / new layer / new allow edge needs `adrPath` on the acknowledgement. |
|
|
1351
1358
|
| `ark_coverage` | No args: report per-layer counts, every unclassified file, unmatched layers, and missing rule edges. |
|
|
1352
1359
|
| `ark_place` | `{ filePath?, description? }`: resolve or propose a governed home and return its import/global constraints. |
|
|
1353
1360
|
| `ark_prepare_write` | `{ source, filePath?, description?, layer? }`: compose placement and snippet validation, with hashes and a mechanical-safe patch when available. |
|
package/docs/ai-gates.md
CHANGED
|
@@ -512,6 +512,10 @@ lag the installed package. Temp/upgrade `--root` never mutates default user home
|
|
|
512
512
|
sessions treat a stale Claude home as urgent because Cursor loads `~/.claude/skills`.
|
|
513
513
|
Antigravity sessions treat a stale `~/.gemini/config/skills` catalog as urgent.
|
|
514
514
|
|
|
515
|
+
Project `.agents/skills` can also lag after a teammate `npm install`s a new pin without
|
|
516
|
+
`ark upgrade`. Doctor and `ark-check` warn (content identity + `arkVersion`). Next action
|
|
517
|
+
is skills-only refresh — not a full re-adopt.
|
|
518
|
+
|
|
515
519
|
```bash
|
|
516
520
|
npx arkgate-check --install-agent-gates --skills-only --agent-homes --force
|
|
517
521
|
```
|
package/docs/configuration.md
CHANGED
|
@@ -457,12 +457,15 @@ JSON artifact passed with `--policy-ack`:
|
|
|
457
457
|
"basePolicyHash": "fnv1a-...",
|
|
458
458
|
"candidatePolicyHash": "fnv1a-...",
|
|
459
459
|
"findingIds": ["weakening:$.dynamicImportAllowlist:added"],
|
|
460
|
-
"reason": "Temporary loader while the static registry is migrated."
|
|
460
|
+
"reason": "Temporary loader while the static registry is migrated.",
|
|
461
|
+
"adrPath": "docs/adr/0001-temporary-loader.md"
|
|
461
462
|
}
|
|
462
463
|
```
|
|
463
464
|
|
|
464
|
-
The acknowledgement must list every blocking finding exactly
|
|
465
|
-
|
|
465
|
+
The acknowledgement must list every blocking finding exactly and name a short
|
|
466
|
+
decision note as `adrPath` (under `docs/adr/` or `docs/decisions/`). A reason
|
|
467
|
+
alone is not enough. It is not a permanent allowlist: changing either contract
|
|
468
|
+
changes its hash and invalidates the acknowledgement.
|
|
466
469
|
|
|
467
470
|
## Team parliament (law vs feature)
|
|
468
471
|
|
|
@@ -52,7 +52,9 @@ unclassified source files therefore remain red.
|
|
|
52
52
|
If gates are required and the tree has no short decision note yet (`docs/adr/` or
|
|
53
53
|
`docs/decisions/`), `--require-gates` and doctor point at that path. Soft hint —
|
|
54
54
|
not a fail, and silent when `--require-gates` is off. Not every change needs a
|
|
55
|
-
note; use one when you loosen a rule or add a real gate.
|
|
55
|
+
note; use one when you loosen a rule or add a real gate. When `--policy-ack`
|
|
56
|
+
is required (weaken, new layer, or new allow edge), put that note's path on
|
|
57
|
+
the acknowledgement as `adrPath`.
|
|
56
58
|
|
|
57
59
|
Doctor JSON includes `writePath.mode` plus `enforcementLadder`: support, installation, observed
|
|
58
60
|
evidence, covered operations, bypassability, and CI honesty. MCP registration stays advisory.
|
|
@@ -26,7 +26,7 @@ Run **`/ark-adopt`** on a greenfield or early-adoption repo (leftover `/ark-arch
|
|
|
26
26
|
| `adoptInOrder.phase1` | Folders to create first |
|
|
27
27
|
| `analogy` | Plain-language mental model |
|
|
28
28
|
| `antiPatterns` | What Ark will block later |
|
|
29
|
-
| `firstCommand` |
|
|
29
|
+
| `firstCommand` | Thin tree: `ark start --apply --archetype <id>`. Mature: `ark-check --init` |
|
|
30
30
|
|
|
31
31
|
Framework names appear only as secondary `toolHints` in JSON — never as the archetype label.
|
|
32
32
|
|
package/docs/package-surface.md
CHANGED
|
@@ -75,7 +75,7 @@ hardening guide remains repository-hosted rather than duplicated in the gate tar
|
|
|
75
75
|
| **Package pin dual-truth (4.0)** | doctor JSON `packageVersionTruth`; upgrade JSON/human note when pin behind CLI | Additive, advisory. Surfaces after `upgrade --no-install` when managed CLI is ahead of package.json. |
|
|
76
76
|
| **Managed upgrade self-service honesty (4.5 / DF05)** | `ark upgrade [--json]` → `selfService` (+ human “Self-service honesty” lines) | Additive, advisory. Answers without a maintainer: write-path activation labels per selected host (`hard`\|`advisory`\|`unavailable`) and customized content-identity preserve (`customizedPaths` / `customizedContentPreserved`). Soft hosts never hard; upgrade never invents `hardWriteActive` from disk alone. Always `notAScore: true`. Not a gate input; not part of `planDigest`. |
|
|
77
77
|
| **Product honesty readiness split (4.1.1)** | doctor JSON `productHonesty` | Additive. `unfinished` / `headline` / `primaryNextAction` / `reasonIds` remain; EH adds `contractReadiness` (`ready`\|`partial`\|`not-ready`), `localWriteBoundary` (`advisory`\|`hard`\|`unverified`\|`unknown`), `architectureReasonIds`, `environmentResidualIds` / `environmentResiduals`. Soft-write hosts stay in evidence without alone forcing global **Not finished**. `notAScore: true` always. |
|
|
78
|
-
| **Policy transition analysis (3.1.0)** | `analyzePolicyDelta(...)`; MCP `ark_policy_delta`; CLI `--policy-base` / `--policy-base-ref` / `--policy-ack`; check JSON `policyDelta` | Additive schema `1.0`. Classifications and finding ids are deterministic. Weakening/judgment requires an acknowledgement bound to both policy hashes and the exact blocking finding set. |
|
|
78
|
+
| **Policy transition analysis (3.1.0)** | `analyzePolicyDelta(...)`; MCP `ark_policy_delta`; CLI `--policy-base` / `--policy-base-ref` / `--policy-ack`; check JSON `policyDelta` | Additive schema `1.0`. Classifications and finding ids are deterministic. Weakening/judgment requires an acknowledgement bound to both policy hashes and the exact blocking finding set. A new layer or new allow edge is `judgment-required`. On the CLI/MCP policy-ack plane, `adrPath` must name a short note under `docs/adr/` or `docs/decisions/` (`policyDelta.adrNote`). Domain hash match stays I/O-free. |
|
|
79
79
|
| **Team parliament (law vs feature)** | Optional `stewards` on `ark.config.json` (GitHub handle or email); CLI `--local` / `--changed` / `--against` / `--base` / `--contract-diff` / `--contract-session` / `--persona` / `--author`; check JSON `teamParliament`; `ark status --vs`; write-gate mixed-batch deny | Additive. Law files must not mix with product source. Loosen / baseline-grow are steward-only when `stewards` is set. `--against` ratchets vs the base-ref baseline. `--changed` scans touched sources plus their import closure. `--local` (or `ARK_CHECK_LOCAL=1`) is the same cheap path and stays per `--root`; it cannot combine with `--strict-merge`. Check JSON may add `local`, `scope: "changed"`, `analysisRoot`. `stewards`, `layers[].description`, `layers[].trustBoundary`, and `layers[].owners` are excluded from policy hash. `requireLayerOwners` stays in the hash. Identity is handle or email, not git `user.name`. No org plane. |
|
|
80
80
|
| **Atomic change preflight (3.1.0)** | `preflightChange(...)`; CLI `ark preflight --changes <file> --json`; MCP `ark_prepare_change` | Additive schema `1.0`. One complete governed production-source `{path,content}` / `{path,delete:true}` batch; read-only; returns operation, content/tree/policy/compiler fingerprints and stable graph findings. MCP availability alone is advisory. |
|
|
81
81
|
| **Architecture change map (3.1.0)** | `arkgate/schema/change-map` or `arkgate/schema/ark.change-map.schema.json`; CLI `ark preflight --change-map <file>`; MCP `ark_prepare_change.changeMap` | Optional strict schema `1.0`. Canonical planned paths + operations + resolved Ark layers + dependencies between planned files. Preflight returns `changeMapHash`; absence is normal and adds no project file. Structural intent only, never behavioral completion. |
|
package/docs/use.md
CHANGED
|
@@ -34,9 +34,12 @@ npx --package=arkgate arkgate-check --doctor --all # full details
|
|
|
34
34
|
`arkgate-check` is a command in the `arkgate` package, not its own npm package. After a local install, `npx arkgate-check --doctor` also works.
|
|
35
35
|
|
|
36
36
|
`start --apply` refuses when projected governed coverage is below 50% or
|
|
37
|
-
shape confidence is weak (below 0.6 with coverage under 80%)
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
shape confidence is weak (below 0.6 with coverage under 80%), or when the
|
|
38
|
+
planned write is too big for compact start (more than 8 gate files or 32 KB).
|
|
39
|
+
That lock is deliberate. Coverage/shape: lock with `--archetype <id>`,
|
|
40
|
+
`--preset <name>`, or `--force`. Size: `--force` does not unlock. Next:
|
|
41
|
+
`npx arkgate-check --init`. Or inspect ranked shapes with
|
|
42
|
+
`npx arkgate-check --recommend`.
|
|
40
43
|
|
|
41
44
|
Then keep working with your agent. Stuck? Run `--doctor` and do action **#1**. Compact first; `--all` for details.
|
|
42
45
|
|
|
@@ -151,7 +154,9 @@ That is **Shape** work (plan B) — suggested, never auto-applied as silent magi
|
|
|
151
154
|
`--contract-session` (stewards own loosen / baseline-grow). Checkout honesty:
|
|
152
155
|
`npx arkgate status --vs origin/dev`.
|
|
153
156
|
|
|
154
|
-
Install skills only when you want that guided path
|
|
157
|
+
Install skills only when you want that guided path. After a package bump, a
|
|
158
|
+
teammate who already has Ark installed can keep **old skills**. Doctor warns;
|
|
159
|
+
refresh the catalog only — do not re-adopt or rewrite `ark.config.json`:
|
|
155
160
|
|
|
156
161
|
```bash
|
|
157
162
|
npx arkgate-check --install-agent-gates --skills-only --force
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/pedroknigge/arkgate",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "4.8.
|
|
9
|
+
"version": "4.8.18",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "arkgate",
|
|
14
|
-
"version": "4.8.
|
|
14
|
+
"version": "4.8.18",
|
|
15
15
|
"runtimeHint": "npx",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
@@ -9,7 +9,7 @@ closed `/ark-*` catalog shipped as flat templates for Ark install.
|
|
|
9
9
|
**Closed catalog** (`ARK_SKILL_NAMES`) — first-class doors plus one-release
|
|
10
10
|
redirect stubs. Add a name only with a live ROADMAP item.
|
|
11
11
|
|
|
12
|
-
Package version when last generated context: **arkgate@4.8.
|
|
12
|
+
Package version when last generated context: **arkgate@4.8.18**
|
|
13
13
|
Schema: agent-skills package contract `1.0`
|
|
14
14
|
|
|
15
15
|
## Skills (closed catalog)
|
|
@@ -168,8 +168,10 @@ When gates are required (`--require-gates` / `--strict-merge` / required merge
|
|
|
168
168
|
status) and there is no short decision-note home yet, doctor may ask for one
|
|
169
169
|
under `docs/adr/` or `docs/decisions/`. Write a note when you loosen a rule or
|
|
170
170
|
add a real gate — not on every file. Absence is silent unless that demand is
|
|
171
|
-
on. The hint does not fail the check. Do **not** invent `/ark-adr`.
|
|
172
|
-
|
|
171
|
+
on. The home hint does not fail the check. Do **not** invent `/ark-adr`.
|
|
172
|
+
When `--policy-ack` is required (weaken, new layer, or new allow edge), put
|
|
173
|
+
that note's path on the acknowledgement as `adrPath`. A free-floating reason
|
|
174
|
+
is not enough on the policy-ack plane.
|
|
173
175
|
|
|
174
176
|
## States and transitions (process)
|
|
175
177
|
|
|
@@ -300,9 +302,10 @@ feature dirs, plan clusters), you **may** dispatch **subagents**:
|
|
|
300
302
|
- **Brownfield:** this skill — match config to reality; do not force a starter preset.
|
|
301
303
|
- **Deep map only:** `/ark-explore`.
|
|
302
304
|
- **Default path:** `ark start` → **`/ark-adopt`** → `/ark-place` / `/ark-autopilot`.
|
|
303
|
-
`start --apply` may refuse (coverage below 50
|
|
304
|
-
|
|
305
|
-
|
|
305
|
+
`start --apply` may refuse (coverage below 50%, weak shape, or too big for
|
|
306
|
+
compact start) — that lock is deliberate. Coverage/shape: `--archetype`,
|
|
307
|
+
`--preset`, or `--force`. Size: `--force` does not unlock; next
|
|
308
|
+
`arkgate-check --init`. Or inspect ranked shapes with `ark-check --recommend`.
|
|
306
309
|
|
|
307
310
|
## Anti-wrapper rule (mandatory)
|
|
308
311
|
|
|
@@ -198,6 +198,9 @@ when residual signals remain.
|
|
|
198
198
|
unverified/non-authoritative.
|
|
199
199
|
2. **If asked generally** ("explain the architecture"), produce a guided tour:
|
|
200
200
|
- Operating mode + governed% (honest: low coverage means green checks almost nothing).
|
|
201
|
+
- Dual-match: exact Domain file listings under another layer glob are
|
|
202
|
+
intentional. Trust doctor #1. Glob-repair #1 names this tree's overlapping
|
|
203
|
+
roots, not a canned `api/**`.
|
|
201
204
|
- Each major layer: name, purpose, one real file from this repo, file count if known.
|
|
202
205
|
- Dependency direction in one short diagram (ASCII is fine).
|
|
203
206
|
- Enforcement points that are actually on: write gate, CI, ESLint, baseline.
|
|
@@ -24,7 +24,9 @@ one bounded decision needs 2–3 enforceable options.
|
|
|
24
24
|
- Doctor #1: if ENFORCE + empty plan A and gates are already installed → **Shape** (`/ark-explore` then `/ark-autopilot`). Do not say install-agent-gates.
|
|
25
25
|
- When `--require-gates` / adopted-strict is on and doctor JSON has `adrPresence`,
|
|
26
26
|
the next step is a short note under `docs/adr/` (or `docs/decisions/`). Soft.
|
|
27
|
-
Not every change. Off when require-gates is off. No `/ark-adr`.
|
|
27
|
+
Not every change. Off when require-gates is off. No `/ark-adr`. When
|
|
28
|
+
`policyDelta` needs `--policy-ack` (weaken, new layer, or new allow edge),
|
|
29
|
+
the ack must name that note as `adrPath` — a reason alone is not enough.
|
|
28
30
|
- When doctor JSON has `statesTransitions` or `statusTransitionCatalog`, the
|
|
29
31
|
next step is a short states → transitions table (or one link) on the domain
|
|
30
32
|
doc already in play. Use catalog names when present. Soft. Silent when that
|
|
@@ -98,6 +98,7 @@ Never invent gate verdicts from these suggestions. Missing residual is honest em
|
|
|
98
98
|
| Conflicted managed assets | Still need `--accept-conflicts`. Never silent overwrite of true edits. |
|
|
99
99
|
| Multiple checkouts / monorepo packages | One `expectedRoot` per project; upgrade **each** pin; restart MCP after bump; prefer project-local CLI until identity matched **and** process version aligns. |
|
|
100
100
|
| Stale `~/.claude/skills`, `~/.grok/skills`, or `~/.gemini/config/skills` | Shared homes should be the newest ArkGate on the machine (additive; never downgrade). Refresh: `--install-agent-gates --skills-only --agent-homes --force`. Project skills may lag with the pin. Antigravity’s global catalog still refreshes when the project `.agents/skills` already exists. |
|
|
101
|
+
| Package moved; teammate still has old `/ark-*` skills | Doctor and `ark-check` warn. Refresh **skills only** (no re-adopt, no layers rewrite): `--install-agent-gates --skills-only --force`. |
|
|
101
102
|
| Active host not in `--tools` / manifest | Preview `hostSelection` notes it and suggests `--tools` expansion. |
|
|
102
103
|
|
|
103
104
|
**Post-apply:** read `postUpgradeChecks` (advisory). Confirm pin↔CLI, run doctor (compass + deepModuleCoach),
|
|
@@ -168,8 +168,10 @@ When gates are required (`--require-gates` / `--strict-merge` / required merge
|
|
|
168
168
|
status) and there is no short decision-note home yet, doctor may ask for one
|
|
169
169
|
under `docs/adr/` or `docs/decisions/`. Write a note when you loosen a rule or
|
|
170
170
|
add a real gate — not on every file. Absence is silent unless that demand is
|
|
171
|
-
on. The hint does not fail the check. Do **not** invent `/ark-adr`.
|
|
172
|
-
|
|
171
|
+
on. The home hint does not fail the check. Do **not** invent `/ark-adr`.
|
|
172
|
+
When `--policy-ack` is required (weaken, new layer, or new allow edge), put
|
|
173
|
+
that note's path on the acknowledgement as `adrPath`. A free-floating reason
|
|
174
|
+
is not enough on the policy-ack plane.
|
|
173
175
|
|
|
174
176
|
## States and transitions (process)
|
|
175
177
|
|
|
@@ -300,9 +302,10 @@ feature dirs, plan clusters), you **may** dispatch **subagents**:
|
|
|
300
302
|
- **Brownfield:** this skill — match config to reality; do not force a starter preset.
|
|
301
303
|
- **Deep map only:** `/ark-explore`.
|
|
302
304
|
- **Default path:** `ark start` → **`/ark-adopt`** → `/ark-place` / `/ark-autopilot`.
|
|
303
|
-
`start --apply` may refuse (coverage below 50
|
|
304
|
-
|
|
305
|
-
|
|
305
|
+
`start --apply` may refuse (coverage below 50%, weak shape, or too big for
|
|
306
|
+
compact start) — that lock is deliberate. Coverage/shape: `--archetype`,
|
|
307
|
+
`--preset`, or `--force`. Size: `--force` does not unlock; next
|
|
308
|
+
`arkgate-check --init`. Or inspect ranked shapes with `ark-check --recommend`.
|
|
306
309
|
|
|
307
310
|
## Anti-wrapper rule (mandatory)
|
|
308
311
|
|
|
@@ -198,6 +198,9 @@ when residual signals remain.
|
|
|
198
198
|
unverified/non-authoritative.
|
|
199
199
|
2. **If asked generally** ("explain the architecture"), produce a guided tour:
|
|
200
200
|
- Operating mode + governed% (honest: low coverage means green checks almost nothing).
|
|
201
|
+
- Dual-match: exact Domain file listings under another layer glob are
|
|
202
|
+
intentional. Trust doctor #1. Glob-repair #1 names this tree's overlapping
|
|
203
|
+
roots, not a canned `api/**`.
|
|
201
204
|
- Each major layer: name, purpose, one real file from this repo, file count if known.
|
|
202
205
|
- Dependency direction in one short diagram (ASCII is fine).
|
|
203
206
|
- Enforcement points that are actually on: write gate, CI, ESLint, baseline.
|
|
@@ -24,7 +24,9 @@ one bounded decision needs 2–3 enforceable options.
|
|
|
24
24
|
- Doctor #1: if ENFORCE + empty plan A and gates are already installed → **Shape** (`/ark-explore` then `/ark-autopilot`). Do not say install-agent-gates.
|
|
25
25
|
- When `--require-gates` / adopted-strict is on and doctor JSON has `adrPresence`,
|
|
26
26
|
the next step is a short note under `docs/adr/` (or `docs/decisions/`). Soft.
|
|
27
|
-
Not every change. Off when require-gates is off. No `/ark-adr`.
|
|
27
|
+
Not every change. Off when require-gates is off. No `/ark-adr`. When
|
|
28
|
+
`policyDelta` needs `--policy-ack` (weaken, new layer, or new allow edge),
|
|
29
|
+
the ack must name that note as `adrPath` — a reason alone is not enough.
|
|
28
30
|
- When doctor JSON has `statesTransitions` or `statusTransitionCatalog`, the
|
|
29
31
|
next step is a short states → transitions table (or one link) on the domain
|
|
30
32
|
doc already in play. Use catalog names when present. Soft. Silent when that
|
|
@@ -98,6 +98,7 @@ Never invent gate verdicts from these suggestions. Missing residual is honest em
|
|
|
98
98
|
| Conflicted managed assets | Still need `--accept-conflicts`. Never silent overwrite of true edits. |
|
|
99
99
|
| Multiple checkouts / monorepo packages | One `expectedRoot` per project; upgrade **each** pin; restart MCP after bump; prefer project-local CLI until identity matched **and** process version aligns. |
|
|
100
100
|
| Stale `~/.claude/skills`, `~/.grok/skills`, or `~/.gemini/config/skills` | Shared homes should be the newest ArkGate on the machine (additive; never downgrade). Refresh: `--install-agent-gates --skills-only --agent-homes --force`. Project skills may lag with the pin. Antigravity’s global catalog still refreshes when the project `.agents/skills` already exists. |
|
|
101
|
+
| Package moved; teammate still has old `/ark-*` skills | Doctor and `ark-check` warn. Refresh **skills only** (no re-adopt, no layers rewrite): `--install-agent-gates --skills-only --force`. |
|
|
101
102
|
| Active host not in `--tools` / manifest | Preview `hostSelection` notes it and suggests `--tools` expansion. |
|
|
102
103
|
|
|
103
104
|
**Post-apply:** read `postUpgradeChecks` (advisory). Confirm pin↔CLI, run doctor (compass + deepModuleCoach),
|