arkgate 4.8.11 → 4.8.13

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +43 -2
  2. package/README.md +22 -32
  3. package/bin/ark-check-runtime.mjs +2 -0
  4. package/bin/lib/analysis-engine.mjs +4 -4
  5. package/bin/lib/ark-order-doctor.mjs +154 -0
  6. package/bin/lib/ark-order-report.mjs +64 -0
  7. package/bin/lib/ark-order-sensors.mjs +1 -1
  8. package/bin/lib/diagnostic-catalog.mjs +2 -2
  9. package/bin/lib/doctor-advisories.mjs +91 -18
  10. package/bin/lib/doctor-human.mjs +2 -10
  11. package/bin/lib/doctor-plan.mjs +4 -3
  12. package/bin/lib/extra-merge-teeth.mjs +32 -4
  13. package/bin/lib/html-report-advisories.mjs +2 -0
  14. package/bin/lib/html-report-depth.mjs +8 -18
  15. package/bin/lib/html-report.mjs +16 -0
  16. package/bin/lib/remediation.mjs +5 -5
  17. package/bin/lib/rules-under-contract.mjs +14 -0
  18. package/bin/lib/start-preview.mjs +1 -0
  19. package/bin/lib/status-command.mjs +28 -0
  20. package/bin/lib/status-manifest.mjs +23 -0
  21. package/bin/lib/violations.mjs +10 -1
  22. package/dist/{diagnosticCatalog-DiflIock.d.ts → diagnosticCatalog-DA565Lja.d.ts} +1 -1
  23. package/dist/eslint/index.cjs +4 -4
  24. package/dist/eslint/index.js +4 -4
  25. package/dist/index.cjs +31 -31
  26. package/dist/index.d.ts +71 -3
  27. package/dist/index.js +31 -31
  28. package/dist/nestjs/index.cjs +1 -1
  29. package/dist/nestjs/index.js +1 -1
  30. package/dist/runtime/index.cjs +15 -15
  31. package/dist/runtime/index.d.ts +1 -1
  32. package/dist/runtime/index.js +15 -15
  33. package/docs/README.md +4 -3
  34. package/docs/agent-guide.md +2 -1
  35. package/docs/arkorder.md +28 -10
  36. package/docs/package-surface.md +2 -1
  37. package/docs/product-voice.md +9 -8
  38. package/docs/use.md +1 -1
  39. package/package.json +1 -1
  40. package/schemas/ark.status-manifest.schema.json +47 -0
  41. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,48 @@
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
+ ## Unreleased
7
+
8
+ ## 4.8.13 — 2026-09-06
9
+
10
+ **Patch** over **4.8.12**. Publish gate: remaining ArkOrder doctor/deny branches so
11
+ `test:confidence` / `release:npm` clears the 81% floor. Tag `v4.8.12` stands;
12
+ this is the ship. **Write. Check. Ship.** **No required config migration.** No
13
+ `schemaVersion` bump. Does not close `K01` / `Z09`. No new skill names. This
14
+ mother `ark.config.json` still does **not** turn `arkOrder` on.
15
+
16
+ **Status: prepared** (tree candidate; npm `latest` remains **4.8.11** until the
17
+ signed-tag provenance workflow succeeds).
18
+
19
+ ### Fixed
20
+ - Confidence coverage: remaining ArkOrder doctor/deny `Next:` and HTML/doctor
21
+ residual paths so the publish job is not blocked by a 0.03-point branch miss.
22
+
23
+ ## 4.8.12 — 2026-09-05
24
+
25
+ **Patch** over **4.8.11**. First-contact honesty for the optional ArkOrder extra.
26
+ Sensors, valve, and `arkgate/order` already shipped on 4.8.11; this projects
27
+ them through doctor / start / status / the check label, in plain words.
28
+ **Write. Check. Ship.** **No required config migration.** No `schemaVersion` bump.
29
+ Does not close `K01` / `Z09`. No new skill names. This mother `ark.config.json`
30
+ still does **not** turn `arkOrder` on.
31
+
32
+ **Status: prepared** (tree candidate; npm `latest` remains **4.8.11** until the
33
+ signed-tag provenance workflow succeeds).
34
+
35
+ ### Added
36
+ - Doctor / HTML / status `arkOrder` section (`notAScore`), same envelope as
37
+ ArkRun. Absence is a silent row. When on: one-breath + named choices + leftover count.
38
+ - Check prints `[ArkOrder]` on `ARKORDER_*` denies (and `[ArkRun]` on
39
+ `ARKRUN_*`) so rewriting `plan` like a seat count reads as clearly as a bad import.
40
+ - `ark start` preview says extras stay off — layers only, they stop bad imports.
41
+
42
+ ### Changed
43
+ - Merge-planes honesty now names enforced ArkOrder skip findings. The stamp
44
+ already claimed this plane; `failMergeWhen` now matches.
45
+ - First-contact copy (README, use, doctor, deny `Next:`, start, gallery) uses
46
+ the one-minute breath. No ξ / Haken / slaving on the first screen.
47
+
6
48
  ## 4.8.11 — 2026-09-02
7
49
 
8
50
  **Patch** over **4.8.10**. Nested `--config` with `--root` stays inside that
@@ -10,8 +52,7 @@ tree. Library Shape splits `adapterContract` and `agentProjection` so the AI
10
52
  edits one concern at a time. **Write. Check. Ship.** **No required config migration.**
11
53
  No `schemaVersion` bump. Does not close `K01` / `Z09`. No new skill names.
12
54
 
13
- **Status: prepared** (tree candidate; npm `latest` remains **4.8.10** until the
14
- signed-tag provenance workflow succeeds).
55
+ **Status: published** (on npm `latest`; see `docs/releases/4.8.11.md`).
15
56
 
16
57
  ### Fixed
17
58
  - Nested `--config` is a file path: `ark-check --root examples/app --config
package/README.md CHANGED
@@ -37,15 +37,15 @@ Works with Cursor, Claude, Codex, and Grok.
37
37
 
38
38
  </div>
39
39
 
40
- > **ArkGate 4.8.11** is prepared on this tree; npm `latest` remains **4.8.10**.
40
+ > **ArkGate 4.8.13** is prepared on this tree; npm `latest` remains **4.8.11**.
41
41
  > Write. Check. Ship. Adopted = required GitHub
42
42
  > status running `arkgate-check --strict-merge`, or an explicit `advisory-only` stance.
43
43
  > Status is compact (`arkgate-check --doctor`; `--all` for Details). Optional **ArkRun**
44
44
  > (`arkgate/runtime`) is an in-memory runtime — not Postgres. Optional **ArkOrder**
45
- > (`arkgate/order`) stops the agent rewriting the few slow product decisions as CRUD;
46
- > later pattern change is `proposeRelease` then `apply`.
45
+ > (`arkgate/order`) stops rewriting a big product choice like the billing plan —
46
+ > as if it were a seat count. Change those choices through a valve, not a generic update.
47
47
  > `@arkgate/runtime` is deprecated.
48
- > [4.8.11 prepared](docs/releases/4.8.11.md) · [4.8.10 published](docs/releases/4.8.10.md) · [4.8.9](docs/releases/4.8.9.md) · [4.8.8](docs/releases/4.8.8.md) · [4.8.7](docs/releases/4.8.7.md) · [4.8.6](docs/releases/4.8.6.md) · [4.8.5](docs/releases/4.8.5.md) · [4.8.4](docs/releases/4.8.4.md) · [4.8.3](docs/releases/4.8.3.md) · [4.8.2](docs/releases/4.8.2.md) · [4.8.1](docs/releases/4.8.1.md) · [4.8.0](docs/releases/4.8.0.md) · [Docs hub](docs/README.md) · [Voice](docs/product-voice.md)
48
+ > [4.8.13 prepared](CHANGELOG.md) · [4.8.11 published](docs/releases/4.8.11.md) · [4.8.10](docs/releases/4.8.10.md) · [4.8.9](docs/releases/4.8.9.md) · [4.8.8](docs/releases/4.8.8.md) · [4.8.7](docs/releases/4.8.7.md) · [4.8.6](docs/releases/4.8.6.md) · [4.8.5](docs/releases/4.8.5.md) · [4.8.4](docs/releases/4.8.4.md) · [4.8.3](docs/releases/4.8.3.md) · [4.8.2](docs/releases/4.8.2.md) · [4.8.1](docs/releases/4.8.1.md) · [4.8.0](docs/releases/4.8.0.md) · [Docs hub](docs/README.md) · [Voice](docs/product-voice.md)
49
49
 
50
50
  ---
51
51
 
@@ -114,7 +114,7 @@ once you adopt. The other three are optional.
114
114
  | **Before merge** | `arkgate-check` as a **required** CI status | Always (ArkGate) |
115
115
  | **ArkRules** | Optional policies *inside* a layer | When you ask |
116
116
  | **ArkRun** | Optional experimental runtime (`arkgate/runtime`) | Off unless you turn it on |
117
- | **ArkOrder** | Stops the agent rewriting the few slow product decisions as CRUD (`arkgate/order`). Valve: first `release()`, later ξ is `proposeRelease` then `apply` | Off unless you turn it on |
117
+ | **ArkOrder** | Stops rewriting a big product choice (like billing plan) as if it were a seat count. Change it through a valve, not a generic update (`arkgate/order`) | Off unless you turn it on |
118
118
 
119
119
  Layers (who may import whom) always run. ArkRules, ArkRun, and ArkOrder change no
120
120
  inter-layer verdict when absent. Label leftovers **`[Layer]`** vs **`[ArkRules]`** vs
@@ -231,7 +231,7 @@ expectation.
231
231
  | Placement + preflight for multi-file changes | ✅ | ❌ |
232
232
  | Honest governed % + dual plan (edges vs shape) | ✅ | ❌ |
233
233
  | Opt-in intra-layer ArkRules (structure + invariants) | ✅ | ❌ |
234
- | Stops agents rewriting slow product decisions as CRUD (ArkOrder) | ✅ | ❌ |
234
+ | Stops rewriting a big product choice like billing plan (ArkOrder) | ✅ | ❌ |
235
235
  | Incomplete analysis cannot look green | ✅ | varies |
236
236
 
237
237
  ---
@@ -302,31 +302,20 @@ interfaces for production. Details: [docs/production-hardening.md](docs/producti
302
302
 
303
303
  ## Optional ArkOrder
304
304
 
305
- Layers stop a bad import. They do not stop a *legal* import that overwrites the
306
- billing plan.
307
-
308
- If the product can name a few slow decisions in an afternoon — plan, cycle,
309
- tenancy; a clinical protocol; match rules an agent will still ship one PUT
310
- that changes them together with seats and invoices. The write gate stays green
311
- because “what may be the plan” was never a rule.
312
-
313
- **ArkOrder** (`arkgate/order`) is that rule. Off unless you add `arkOrder`.
314
- Name the slow keys (`xiKeys`: plan, protocol, cost-code bound — not `projectId`).
315
- A status you can recompute from data you already have is not a slow decision. Derive it. Do not freeze it.
316
- Posting an invoice is absorbed. Changing plan is `proposeRelease` then `apply`.
317
- `refreshSigma`; ingest residual `absorb | escalate_up | hold` + `reasonCode`;
318
- capacity pack as data; in-memory `ReleaseStore`; `ingestTravelAction`; ArkRun
319
- `decisionTape`. A generic `update` of the plan does not land. A use-case that
320
- PATCHes those keys through Prisma is named. Same npm package.
321
- In-memory. Not durable. Does not replace ArkRun.
322
- **ArkOrder freezes the pattern through a valve. ArkRun is how the residual travels.**
323
-
324
- The billing gallery (`plan` / `cycle` / `tenancy`) lives on GitHub, not in the
325
- npm tarball:
305
+ Layers stop a bad import. ArkOrder stops rewriting a big product choice like
306
+ the billing plan — as if it were a seat count. Change those choices through a
307
+ valve, not a generic update.
308
+
309
+ Off unless you add `arkOrder`. Same npm package (`arkgate/order`). In-memory.
310
+ Not a service. Does not replace ArkGate or ArkRun.
311
+
312
+ Name the few choices (`xiKeys`: plan, cycle, tenancy — not seat counts). First
313
+ freeze is `release()`. Later change is `proposeRelease` then `apply`. A generic
314
+ `update` does not land.
315
+
316
+ The billing gallery lives on GitHub, not in the npm tarball:
326
317
  [examples/arkorder-billing](https://github.com/pedroknigge/arkgate/tree/main/examples/arkorder-billing).
327
- Rename the three keys. Compact starters leave it off. Details:
328
- [ArkOrder](docs/arkorder.md) · [configuration](docs/configuration.md) ·
329
- [package surface](docs/package-surface.md).
318
+ Compact starters leave it off. Details: [ArkOrder](docs/arkorder.md).
330
319
 
331
320
  ---
332
321
 
@@ -342,8 +331,9 @@ Rename the three keys. Compact starters leave it off. Details:
342
331
  | Config · package surface · TS | [configuration](docs/configuration.md) · [package-surface](docs/package-surface.md) · [typescript-support](docs/typescript-support.md) |
343
332
  | Brownfield | [docs/brownfield-adoption.md](docs/brownfield-adoption.md) |
344
333
  | Security | [SECURITY.md](SECURITY.md) |
345
- | Prepared (4.8.11; not published) | [docs/releases/4.8.11.md](docs/releases/4.8.11.md) · [CHANGELOG](CHANGELOG.md) |
346
- | Current published (4.8.10 on npm `latest`) | [docs/releases/4.8.10.md](docs/releases/4.8.10.md) · [CHANGELOG](CHANGELOG.md) |
334
+ | Prepared (4.8.13; not published) | [CHANGELOG](CHANGELOG.md) |
335
+ | Current published (4.8.11 on npm `latest`) | [docs/releases/4.8.11.md](docs/releases/4.8.11.md) · [CHANGELOG](CHANGELOG.md) |
336
+ | Prior published (4.8.10) | [docs/releases/4.8.10.md](docs/releases/4.8.10.md) · [CHANGELOG](CHANGELOG.md) |
347
337
  | Prior published (4.8.9) | [docs/releases/4.8.9.md](docs/releases/4.8.9.md) · [CHANGELOG](CHANGELOG.md) |
348
338
  | Prior published (4.8.7) | [docs/releases/4.8.7.md](docs/releases/4.8.7.md) · [CHANGELOG](CHANGELOG.md) |
349
339
  | Prior published (4.8.6) | [docs/releases/4.8.6.md](docs/releases/4.8.6.md) |
@@ -1821,6 +1821,7 @@ async function main() {
1821
1821
  mode: fitness.mode,
1822
1822
  improvementCompass: reportCompass,
1823
1823
  arkRun: designDepth?.arkRun ?? null,
1824
+ arkOrder: designDepth?.arkOrder ?? null,
1824
1825
  }),
1825
1826
  leftoverDesignWork: designDepth?.designFitness?.designWeak === true,
1826
1827
  };
@@ -1863,6 +1864,7 @@ async function main() {
1863
1864
  ? { deepModuleCoach: designDepth.deepModuleCoach }
1864
1865
  : {}),
1865
1866
  ...(designDepth?.arkRun ? { arkRun: designDepth.arkRun } : {}),
1867
+ ...(designDepth?.arkOrder ? { arkOrder: designDepth.arkOrder } : {}),
1866
1868
  },
1867
1869
  };
1868
1870
  const html = args.beginner