arkgate 3.0.1 → 3.0.2
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 +9 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/docs/agent-guide.md +17 -2
- package/docs/ai-gates.md +7 -0
- package/docs/demos/03-copilot-autopilot.md +14 -7
- package/docs/package-surface.md +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,15 @@ All notable changes to ArkGate (`arkgate`; formerly `ark-runtime-kernel`) are do
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
-
No changes are scheduled after 3.0.
|
|
7
|
+
No changes are scheduled after 3.0.2.
|
|
8
|
+
|
|
9
|
+
## 3.0.2 — 2026-07-13
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
- Sync consumer-facing agent docs with 3.0.1 design-depth skills: `designFitness` /
|
|
14
|
+
`patternBets`, extraction cards, dual-plan B honesty in agent-guide, AI gates, and the
|
|
15
|
+
autopilot demo. Release note status for 3.0.1 marked published.
|
|
8
16
|
|
|
9
17
|
## 3.0.1 — 2026-07-13
|
|
10
18
|
|
package/dist/index.cjs
CHANGED
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import { a as ArkConfigRule, b as ArkConfigLayer, A as ArkConfig, c as ArkConfig
|
|
|
2
2
|
export { d as ARK_CONFIG_SCHEMA, e as ARK_CONFIG_SCHEMA_VERSION, l as loadArkConfigContract, p as parseArkConfigJson } from './configContract-BxSIwVRo.cjs';
|
|
3
3
|
|
|
4
4
|
/** ArkGate library version — single source of truth. */
|
|
5
|
-
declare const version = "3.0.
|
|
5
|
+
declare const version = "3.0.2";
|
|
6
6
|
|
|
7
7
|
/** Versioned public result contract shared by every ArkGate enforcement adapter. */
|
|
8
8
|
declare const ARK_ANALYSIS_RESULT_SCHEMA_VERSION: "1.0";
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { a as ArkConfigRule, b as ArkConfigLayer, A as ArkConfig, c as ArkConfig
|
|
|
2
2
|
export { d as ARK_CONFIG_SCHEMA, e as ARK_CONFIG_SCHEMA_VERSION, l as loadArkConfigContract, p as parseArkConfigJson } from './configContract-BxSIwVRo.js';
|
|
3
3
|
|
|
4
4
|
/** ArkGate library version — single source of truth. */
|
|
5
|
-
declare const version = "3.0.
|
|
5
|
+
declare const version = "3.0.2";
|
|
6
6
|
|
|
7
7
|
/** Versioned public result contract shared by every ArkGate enforcement adapter. */
|
|
8
8
|
declare const ARK_ANALYSIS_RESULT_SCHEMA_VERSION: "1.0";
|
package/dist/index.js
CHANGED
package/docs/agent-guide.md
CHANGED
|
@@ -79,12 +79,27 @@ as unresolved decisions, and restores the integration with `ark start --tools <h
|
|
|
79
79
|
(no apply). `/ark-coverage` = Ark **fitness** only (governed/gates). `/ark-think` = one decision
|
|
80
80
|
(2–3 options). `/ark-adopt` = brownfield Align/Stabilize + seed Shape B. `/ark-autopilot` =
|
|
81
81
|
explore then apply A + propose/apply-with-ok B. `/ark-loop` = plan A only. Empty plan A is not
|
|
82
|
-
“architecture healthy” if design-weak residual remains.
|
|
82
|
+
“architecture healthy” if design-weak residual remains. Full routing table: full-install
|
|
83
|
+
`AGENTS.md` / [README skill table](../README.md#other-skills-only-when-you-need-them).
|
|
84
|
+
|
|
85
|
+
**Design fitness (3.0.1+):** after edges are clean, doctor can still report **ENFORCE · design-weak**.
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npx ark-check --doctor --json # doctor.designFitness + doctor.designSmells[]
|
|
89
|
+
npx ark-check --plan --json # plan.goal.designWeak + plan.patternBets[] (never mechanical-safe)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Smell ids (stable): `io-under-application`, `handler-in-persistence`, `god-module`,
|
|
93
|
+
`domain-logic-in-ui`, `facade-sql-in-routes`, `mixed-pattern-cluster`, `soft-contract`.
|
|
94
|
+
Each has `evidence[]` paths. Plan **B** bets include `pilot`, `successSignal`, `killSwitch`,
|
|
95
|
+
and **`neverMechanicalSafe: true`** — loop/autoPatch must ignore them. For judgment I/O moves
|
|
96
|
+
use **extraction cards** ([brownfield-adoption.md](brownfield-adoption.md) §6). Multi-PR residual
|
|
97
|
+
may optionally be persisted as a short Shape plan under the repo; not a gate requirement.
|
|
83
98
|
|
|
84
99
|
**Full-skill agent co-pilot:** after explicitly installing the `/ark-*` pack, use
|
|
85
100
|
`/ark-autopilot` (explore-first, dual plan A remediation + B pattern bets). Recon without
|
|
86
101
|
applying: `/ark-explore`. The default compact router uses MCP/CLI directly. Never treat empty
|
|
87
|
-
`--plan` as “architecture healthy”
|
|
102
|
+
`--plan` steps as “architecture healthy” when `designWeak` / non-empty `patternBets` remain.
|
|
88
103
|
|
|
89
104
|
`ark init --archetype <id>` maps playbook ids to named presets (`hexagonal`, `layered`,
|
|
90
105
|
`feature-sliced`, `monorepo`). With `--yes` and no archetype, Ark auto-selects from
|
package/docs/ai-gates.md
CHANGED
|
@@ -50,6 +50,13 @@ you pass `--force`, so review and commit only the templates that match your proj
|
|
|
50
50
|
`autoPatch` flags), the supported profile for the active host, and the evidence actually found.
|
|
51
51
|
Supported capability and installed guarantee are deliberately separate.
|
|
52
52
|
|
|
53
|
+
**Design fitness (3.0.1+):** the same doctor JSON may include `doctor.designFitness` and
|
|
54
|
+
`doctor.designSmells[]` (path evidence). Edge-clean `operatingMode: enforce` can still set
|
|
55
|
+
`designFitness.designWeak: true` (**ENFORCE · design-weak**). That is Shape residual, not a
|
|
56
|
+
write-path failure. Companion plan JSON: `plan.patternBets[]` with `neverMechanicalSafe: true`
|
|
57
|
+
— never treat as write-boundary `autoPatch` / mechanical-safe. See
|
|
58
|
+
[package-surface.md](package-surface.md) and [brownfield-adoption.md](brownfield-adoption.md) §6.
|
|
59
|
+
|
|
53
60
|
If your project uses Codex or Grok, treat MCP registration as part of the default
|
|
54
61
|
setup, not an optional extra. Ark works best when the agent can read `ark://manifest`
|
|
55
62
|
before it writes code; that is the fast path to avoiding architecture drift during
|
|
@@ -35,17 +35,22 @@ the layer globs so day-one **governed%** is real (not a false-green empty contra
|
|
|
35
35
|
### 2. See the plan yourself (optional)
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
npx ark-check --plan # human view (includes Governed: N
|
|
39
|
-
npx ark-check --plan --json # { ok, plan: { goal, counts, steps } }
|
|
38
|
+
npx ark-check --plan # human view (includes Governed: N%; pattern bets when design-weak)
|
|
39
|
+
npx ark-check --plan --json # { ok, plan: { goal, counts, steps, patternBets?, designSmells? } }
|
|
40
|
+
npx ark-check --doctor --json # designFitness / designSmells when residual is design-weak
|
|
40
41
|
```
|
|
41
42
|
|
|
42
|
-
Each step is tagged `mechanical-safe` / `judgment` / `deferred` with a `confidence`,
|
|
43
|
+
Each **A** step is tagged `mechanical-safe` / `judgment` / `deferred` with a `confidence`,
|
|
43
44
|
`rationale`, and often `remediationKind`. Auto-safe kinds: type-only type move, pure-type **file**
|
|
44
45
|
relocate, `import type` of pure-type modules, and named type-export imports from mixed modules
|
|
45
46
|
(`import-type-of-type-exports`). `goal.met` is true only when
|
|
46
47
|
there are no active violations **and** governed coverage is meaningful — so a clean plan that
|
|
47
48
|
checks almost nothing is not "done."
|
|
48
49
|
|
|
50
|
+
When edges are clean but design residual remains, JSON also sets `goal.designWeak` and
|
|
51
|
+
`patternBets[]` (each with `neverMechanicalSafe: true`). Those are **B** (Shape) bets — not
|
|
52
|
+
auto-applied. Extraction cards: [brownfield-adoption.md](../brownfield-adoption.md) §6.
|
|
53
|
+
|
|
49
54
|
### 3. Carry the plan out — the autopilot
|
|
50
55
|
|
|
51
56
|
In your agent, run:
|
|
@@ -54,10 +59,12 @@ In your agent, run:
|
|
|
54
59
|
/ark-autopilot
|
|
55
60
|
```
|
|
56
61
|
|
|
57
|
-
It runs the whole flow (newbie tier):
|
|
58
|
-
`mechanical-safe` steps one at a time — **validating each with
|
|
59
|
-
regression** — proposes each `judgment`
|
|
60
|
-
what was auto-applied vs proposed vs deferred.
|
|
62
|
+
It runs the whole flow (newbie tier): **explore first** (map + dual plan), hands off to
|
|
63
|
+
`/ark-loop` for plan **A** `mechanical-safe` steps one at a time — **validating each with
|
|
64
|
+
`ark-check` and rolling back any regression** — proposes each A `judgment` and each B
|
|
65
|
+
pattern/Shape bet for a yes/no, and reports what was auto-applied vs proposed vs deferred.
|
|
66
|
+
Nothing lands until you review the diff. Empty A with open B is **not** “architecture healthy
|
|
67
|
+
finished.”
|
|
61
68
|
|
|
62
69
|
Expert entry: skip the autopilot and use the pieces — `ark init` / `/ark-contract` to shape the
|
|
63
70
|
contract, `ark-check --plan` for the work, `/ark-fix` for targeted fixes, `ark-check
|
package/docs/package-surface.md
CHANGED
|
@@ -21,7 +21,7 @@ This document is the consumer contract for **what is stable** vs **what is exper
|
|
|
21
21
|
| **`ark.config.json`** | Layer globs, rules, include/exclude, forbiddenGlobals, intent prefixes, `peerIsolation`, `dynamicImportAllowlist`, `safety` thresholds | Versioned by `schemaVersion`; unknown fields fail closed and migrations preserve the previous supported major. |
|
|
22
22
|
| **`arkgate/schema/analysis-result`** | Public CLI/MCP/hook diagnostic envelope (`schemaVersion`, `valid`, `diagnostics`) | Versioned JSON Schema; committed v1 compatibility fixture protects rule, severity, location, and evidence fields. |
|
|
23
23
|
| **Config JSON Schema** | `arkgate/schema` or `arkgate/schema/ark.config.schema.json` | Stable package resource subpaths for editor completion and contract tooling. |
|
|
24
|
-
| **Agent skills** | `/ark-*` templates installed by `--install-agent-gates` | Skill *names* and “default flow” are stable; internal skill prose may evolve (e.g. explore dual-plan seed, day-zero origin order). |
|
|
24
|
+
| **Agent skills** | `/ark-*` templates installed by `--install-agent-gates` | Skill *names* and “default flow” are stable; internal skill prose may evolve (e.g. When/not when, explore Shape dual-plan seed, extraction cards, day-zero origin order). |
|
|
25
25
|
| **ESLint subpath** | `arkgate/eslint` | Config-driven layer/import rules; loads consumer `ark.config.json`. |
|
|
26
26
|
| **GitHub Action** | `pedroknigge/arkgate` (see `action.yml`) | The `uses:` tag/SHA selects the checker source; `version` remains an optional exact npm compatibility override. |
|
|
27
27
|
|
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": "3.0.
|
|
9
|
+
"version": "3.0.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "arkgate",
|
|
14
|
-
"version": "3.0.
|
|
14
|
+
"version": "3.0.2",
|
|
15
15
|
"runtimeHint": "npx",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|