arkgate 4.7.5 → 4.8.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/CHANGELOG.md +39 -3
- package/README.md +24 -12
- package/bin/lib/analysis-engine.mjs +6 -6
- package/bin/lib/ark-order-error.mjs +18 -0
- package/bin/lib/ark-order-facts.mjs +53 -0
- package/bin/lib/ark-order-invariants.mjs +160 -0
- package/bin/lib/ark-order-sensors.mjs +118 -0
- package/bin/lib/ark-order-types.mjs +11 -0
- package/bin/lib/ark-run-sensors.mjs +13 -5
- package/bin/lib/config-contract.mjs +16 -72
- package/bin/lib/config-extras.mjs +151 -0
- package/bin/lib/diagnostic-catalog.mjs +7 -2
- package/bin/lib/extra-merge-teeth.mjs +8 -2
- package/bin/lib/install-migrate.mjs +4 -2
- package/bin/lib/managed-upgrade.mjs +1 -1
- package/bin/lib/mcp-adoption.mjs +9 -3
- package/bin/lib/remediation.mjs +48 -9
- package/bin/lib/resolved-candidate-facts.mjs +43 -0
- package/bin/lib/skill-install.mjs +17 -2
- package/bin/lib/start-preview.mjs +1 -0
- package/bin/lib/status-manifest.mjs +1 -1
- package/bin/lib/write-path-capabilities.mjs +2 -2
- package/dist/{configTypes-CgJimx9o.d.ts → configTypes-BdCe_gvv.d.ts} +22 -6
- package/dist/diagnosticCatalog-RiKPUFRG.d.ts +2307 -0
- package/dist/eslint/index.cjs +7 -6
- package/dist/eslint/index.d.ts +33 -2
- package/dist/eslint/index.js +7 -6
- package/dist/index.cjs +35 -35
- package/dist/index.d.ts +271 -2554
- package/dist/index.js +35 -35
- package/dist/nestjs/index.cjs +18 -0
- package/dist/nestjs/index.d.ts +24 -0
- package/dist/nestjs/index.js +18 -0
- package/dist/order/index.cjs +1 -0
- package/dist/order/index.d.ts +79 -0
- package/dist/order/index.js +1 -0
- package/dist/runtime/index.cjs +25 -0
- package/dist/runtime/index.d.ts +497 -0
- package/dist/runtime/index.js +25 -0
- package/dist/types-C9KApBzX.d.ts +1237 -0
- package/dist/types-DCSlrRnV.d.ts +181 -0
- package/docs/README.md +4 -5
- package/docs/agent-guide.md +1 -1
- package/docs/ai-gates.md +9 -2
- package/docs/configuration.md +13 -6
- package/docs/develop.md +12 -3
- package/docs/diagnostics.md +57 -3
- package/docs/package-surface.md +21 -17
- package/docs/product-voice.md +2 -1
- package/docs/use.md +8 -0
- package/package.json +21 -2
- package/schemas/ark.config.schema.json +54 -2
- package/schemas/ark.resolved-candidate-facts.schema.json +1 -1
- package/server.json +2 -2
- package/templates/agent-skills/README.md +1 -1
- package/templates/agent-skills/ark-adopt/SKILL.md +2 -2
- package/templates/agent-skills/ark-contract/SKILL.md +1 -1
- package/templates/agent-skills/ark-place/SKILL.md +15 -6
- package/templates/agent-skills/ark-runtime/SKILL.md +10 -15
- package/templates/skills/ark-adopt.md +2 -2
- package/templates/skills/ark-contract.md +1 -1
- package/templates/skills/ark-place.md +15 -6
- package/templates/skills/ark-runtime.md +10 -15
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,43 @@
|
|
|
3
3
|
All notable changes to ArkGate (`arkgate`; formerly `ark-runtime-kernel`) are documented here or
|
|
4
4
|
in the immutable pre-2.0 archive linked below.
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## 4.8.0 — 2026-08-29
|
|
7
|
+
|
|
8
|
+
**Minor** over **4.7.6**. One npm package **`arkgate`**: extras opt-in by config + subpath.
|
|
9
|
+
**ArkOrder** (`arkgate/order`) on schema `1.3`. **ArkRun** kernel is `arkgate/runtime` in
|
|
10
|
+
the same tarball. `@arkgate/runtime` is **deprecated**. Does not close `K01` / `Z09`.
|
|
11
|
+
ArkRules unchanged.
|
|
12
|
+
|
|
13
|
+
**Status: published** (on npm `latest`; see `docs/releases/4.8.0.md`).
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- **ArkOrder extra (`arkOrder`):** optional, silent when absent. Enforced skip: missing plane, Domain import of `arkgate/order`, generic `update` of ξ.
|
|
17
|
+
- **`arkgate/order`:** `createOrderPlane` with `release` / `project` / `ingest` / `proposeRelease`. Root `arkgate` export stays the gate.
|
|
18
|
+
- **Billing gallery:** `examples/arkorder-billing/` consumer projector (`plan` / `cycle` / `tenancy`).
|
|
19
|
+
- **`arkgate/runtime` and `arkgate/nestjs`:** real subpaths of package `arkgate` (ADR 0031). Root export stays the gate.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- **`@arkgate/runtime` deprecated.** Prefer `import { createStrictArkKernel } from 'arkgate/runtime'`. Companion remains a leftover 0.x `experimental` pin.
|
|
23
|
+
- **Gate waist (WH01 / ADR 0026):** the parity-capable check is config + resolved-candidate-facts → one analysis-result. New doctor advisory surfaces must project existing facts and must not become a second verdict. Does not move shipped compass/coach. Does not close `K01` / `Z09`.
|
|
24
|
+
- **Config schema `1.3`:** additive `arkOrder`. `1.2` configs migrate. Absence is silent.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- **`K01` honesty:** 4.7.6 shipped workflow OCC / lease / `tx` / `resume` primitives. It does not close in-process bus commit gaps or durable outbox. `K01` stays parked.
|
|
28
|
+
- **Release-surface pin:** ROADMAP / CONTRIBUTING / `q06ReleaseSurfaces` name npm `latest` as **4.7.6** (the #173 merge left the 4.7.5 pin).
|
|
29
|
+
- **CodeQL alert 16:** `scripts/release-npm.mjs` invokes npm with `execFileSync` and an argv array (no shell). Closes `js/shell-command-injection-from-environment`.
|
|
30
|
+
- **Antigravity MCP path:** `--install-agent-gates --tools antigravity` (and compact start) writes official workspace `.agents/mcp_config.json`. Doctor evidence for host `antigravity` no longer treats shared `.mcp.json` as loaded by the host.
|
|
31
|
+
|
|
32
|
+
## 4.7.6 — 2026-08-26
|
|
33
|
+
|
|
34
|
+
**Patch** over **4.7.5**. Production durability *primitives* for ArkRun (`tx`, OCC, leases, `resume`). Adds those hooks to the workflow engine. **No required config migration.** Companion `@arkgate/runtime` is republished as `0.1.0-experimental.1`.
|
|
35
|
+
Does **not** close `K01` (in-process bus commit gaps and durable outbox remain).
|
|
36
|
+
|
|
37
|
+
**Status: published** (on npm `latest`; see `docs/releases/4.7.6.md`).
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
- **ArkRun (Workflow Engine):** added `tx` argument to `EventBus` and Sagas for database transactions.
|
|
41
|
+
- **ArkRun (Workflow Engine):** added optimistic concurrency control (`version` increments) and worker lease (`claim()`, `ownerId`, `expiresAt`) primitives.
|
|
42
|
+
- **ArkRun (Workflow Engine):** added `engine.resume()` to rehydrate interrupted sagas without repeating completed steps.
|
|
7
43
|
|
|
8
44
|
## 4.7.5 — 2026-08-26
|
|
9
45
|
|
|
@@ -12,7 +48,7 @@ pipeline, product-voice lock, and npm/MCP description use the deny: when the age
|
|
|
12
48
|
writes a bad import, the write doesn’t land. **No required config migration.** Does
|
|
13
49
|
not close Z09 / K01. Companion `@arkgate/runtime` is not republished.
|
|
14
50
|
|
|
15
|
-
**Status:
|
|
51
|
+
**Status: published** (on npm `latest`; see `docs/releases/4.7.5.md`).
|
|
16
52
|
|
|
17
53
|
### Changed
|
|
18
54
|
|
|
@@ -31,7 +67,7 @@ not close Z09 / K01. Companion `@arkgate/runtime` is not republished.
|
|
|
31
67
|
install the companion from the registry. **No required config migration.** Does not
|
|
32
68
|
close Z09 / K01.
|
|
33
69
|
|
|
34
|
-
**Status: published** (
|
|
70
|
+
**Status: published** (see `docs/releases/4.7.4.md`). Companion:
|
|
35
71
|
`npm view @arkgate/runtime dist-tags --json`.
|
|
36
72
|
|
|
37
73
|
### Added
|
package/README.md
CHANGED
|
@@ -29,12 +29,11 @@ Works with Cursor, Claude, Codex, and Grok.
|
|
|
29
29
|
|
|
30
30
|
</div>
|
|
31
31
|
|
|
32
|
-
> **ArkGate 4.
|
|
33
|
-
>
|
|
34
|
-
> `arkgate-check --strict-merge`, or an explicit `advisory-only` stance.
|
|
32
|
+
> **ArkGate 4.8.0** is on npm `latest`. Write. Check. Ship. Adopted = required GitHub
|
|
33
|
+
> status running `arkgate-check --strict-merge`, or an explicit `advisory-only` stance.
|
|
35
34
|
> Status is compact (`arkgate-check --doctor`; `--all` for Details). Optional **ArkRun**
|
|
36
|
-
> (
|
|
37
|
-
> [4.
|
|
35
|
+
> (`arkgate/runtime`) is an in-memory runtime — not Postgres. `@arkgate/runtime` is deprecated.
|
|
36
|
+
> [4.8.0](docs/releases/4.8.0.md) · [4.7.6](docs/releases/4.7.6.md) · [Docs hub](docs/README.md) · [Voice](docs/product-voice.md)
|
|
38
37
|
|
|
39
38
|
---
|
|
40
39
|
|
|
@@ -98,7 +97,7 @@ once you adopt. The other two are optional.
|
|
|
98
97
|
| **While the agent writes** | The write doesn’t land on supported hosts; warning only elsewhere | Always (ArkGate) |
|
|
99
98
|
| **Before merge** | `arkgate-check` as a **required** CI status | Always (ArkGate) |
|
|
100
99
|
| **ArkRules** | Optional policies *inside* a layer | When you ask |
|
|
101
|
-
| **ArkRun** | Optional experimental runtime (
|
|
100
|
+
| **ArkRun** | Optional experimental runtime (`arkgate/runtime`) | Off unless you turn it on |
|
|
102
101
|
|
|
103
102
|
Layers (who may import whom) always run. ArkRules and ArkRun change no inter-layer
|
|
104
103
|
verdict when absent. Label leftovers **`[Layer]`** vs **`[ArkRules]`**.
|
|
@@ -121,6 +120,20 @@ check: [4.3.0 — What ArkGate is / isn't](docs/releases/4.3.0.md#what-arkgate-i
|
|
|
121
120
|
|
|
122
121
|
---
|
|
123
122
|
|
|
123
|
+
## Why it exists
|
|
124
|
+
|
|
125
|
+
AI coding agents generate code at unprecedented speeds. However, they tend to take the shortest path to solve a problem. If an agent needs data in a Domain layer, it might directly import a database adapter. Left unchecked, this creates spaghetti code and technical debt at light speed.
|
|
126
|
+
|
|
127
|
+
Traditional linters catch these architectural violations in CI *after* the agent has finished its work, breaking the flow.
|
|
128
|
+
|
|
129
|
+
ArkGate solves this by shifting the check to the exact moment of writing:
|
|
130
|
+
|
|
131
|
+
1. **Fail fast at the write boundary.** Through IDE hooks and MCP, ArkGate intercepts the file write. If the agent writes a bad import, the write doesn't land. The agent gets immediate feedback and can self-correct before saving to disk.
|
|
132
|
+
2. **The check is the single source of truth.** A simple `ark.config.json` defines your layers and allowed edges.
|
|
133
|
+
3. **Honest reporting.** Green imports do not equal elegant design. ArkGate separates structural correctness from design smells, providing an improvement compass to guide leftover design work without blocking the PR.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
124
137
|
## Status lights (not settings)
|
|
125
138
|
|
|
126
139
|
```text
|
|
@@ -227,12 +240,10 @@ More: [docs/develop.md](docs/develop.md) · skills install: [docs/agent-guide.md
|
|
|
227
240
|
Gates need **no** app runtime. Skip this unless you want an optional runtime
|
|
228
241
|
for decoupling.
|
|
229
242
|
|
|
230
|
-
**ArkRun** (
|
|
243
|
+
**ArkRun** (`arkgate/runtime`, same npm package) is that runtime. Each
|
|
231
244
|
`createStrictArkKernel()` call is a new instance — no process singleton. Data
|
|
232
245
|
lives in memory and **dies on restart**. Fine for local. Not Postgres, not an
|
|
233
|
-
outbox, not Temporal.
|
|
234
|
-
|
|
235
|
-
The `arkgate` tarball does not bundle it.
|
|
246
|
+
outbox, not Temporal. `@arkgate/runtime` is deprecated.
|
|
236
247
|
|
|
237
248
|
### Durability stance
|
|
238
249
|
|
|
@@ -255,8 +266,9 @@ interfaces for production. Details: [docs/production-hardening.md](docs/producti
|
|
|
255
266
|
| Config · package surface · TS | [configuration](docs/configuration.md) · [package-surface](docs/package-surface.md) · [typescript-support](docs/typescript-support.md) |
|
|
256
267
|
| Brownfield | [docs/brownfield-adoption.md](docs/brownfield-adoption.md) |
|
|
257
268
|
| Security | [SECURITY.md](SECURITY.md) |
|
|
258
|
-
| Current
|
|
259
|
-
|
|
|
269
|
+
| Current published (4.8.0 on npm `latest`) | [docs/releases/4.8.0.md](docs/releases/4.8.0.md) · [CHANGELOG](CHANGELOG.md) |
|
|
270
|
+
| Prior published (4.7.6) | [docs/releases/4.7.6.md](docs/releases/4.7.6.md) |
|
|
271
|
+
| Prior published (4.7.5) | [docs/releases/4.7.5.md](docs/releases/4.7.5.md) |
|
|
260
272
|
| Prior published (4.7.3) | [docs/releases/4.7.3.md](docs/releases/4.7.3.md) |
|
|
261
273
|
| Prior published (4.7.2) | [docs/releases/4.7.2.md](docs/releases/4.7.2.md) |
|
|
262
274
|
| Prior published (4.7.1) | [docs/releases/4.7.1.md](docs/releases/4.7.1.md) |
|