arkgate 4.8.4 → 4.8.5

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 (44) hide show
  1. package/CHANGELOG.md +38 -2
  2. package/README.md +8 -5
  3. package/bin/lib/agent-homes.mjs +41 -6
  4. package/bin/lib/analysis-engine.mjs +8 -8
  5. package/bin/lib/ark-order-invariants.mjs +37 -0
  6. package/bin/lib/ark-order-sensors.mjs +4 -0
  7. package/bin/lib/check-args.mjs +2 -0
  8. package/bin/lib/diagnostic-catalog.mjs +3 -0
  9. package/bin/lib/first-run-help.mjs +4 -4
  10. package/bin/lib/remediation.mjs +10 -1
  11. package/bin/lib/skill-catalog-apply.mjs +18 -1
  12. package/bin/lib/skill-install.mjs +4 -3
  13. package/bin/lib/upgrade-whats-new.mjs +1 -1
  14. package/dist/{diagnosticCatalog-DgTs0abp.d.ts → diagnosticCatalog-DMO30svh.d.ts} +1 -1
  15. package/dist/eslint/index.cjs +5 -5
  16. package/dist/eslint/index.js +5 -5
  17. package/dist/index.cjs +22 -22
  18. package/dist/index.d.ts +5 -3
  19. package/dist/index.js +15 -15
  20. package/dist/nestjs/index.cjs +1 -1
  21. package/dist/nestjs/index.d.ts +1 -1
  22. package/dist/nestjs/index.js +1 -1
  23. package/dist/order/index.cjs +1 -1
  24. package/dist/order/index.d.ts +11 -2
  25. package/dist/order/index.js +1 -1
  26. package/dist/runtime/index.cjs +15 -15
  27. package/dist/runtime/index.d.ts +27 -4
  28. package/dist/runtime/index.js +15 -15
  29. package/dist/{types-D95drJ3_.d.ts → types-CzE6LMaW.d.ts} +1 -1
  30. package/docs/README.md +5 -4
  31. package/docs/agent-guide.md +4 -4
  32. package/docs/ai-gates.md +13 -2
  33. package/docs/arkorder.md +210 -0
  34. package/docs/configuration.md +11 -4
  35. package/docs/develop.md +3 -2
  36. package/docs/diagnostics.md +27 -0
  37. package/docs/enthusiast/how-to-agent-gates.md +1 -1
  38. package/docs/package-surface.md +5 -3
  39. package/docs/use.md +1 -1
  40. package/package.json +2 -1
  41. package/server.json +2 -2
  42. package/templates/agent-skills/README.md +1 -1
  43. package/templates/agent-skills/ark-upgrade/SKILL.md +1 -1
  44. package/templates/skills/ark-upgrade.md +1 -1
@@ -1234,4 +1234,4 @@ interface CreateArkKernelFromConfigOptions extends Omit<CreateArkKernelOptions,
1234
1234
  }
1235
1235
  type ArkKernelConfig = ArkCheckConfig;
1236
1236
 
1237
- export { ARK_RUN_INSPECTOR_GRAPH_PATH as $, type ArkKernel as A, type OutboxRecord as B, type CreateArkKernelOptions as C, type DefineIntentOptions as D, type EventContractRegistry as E, type ObservabilityDriftReport as F, type GraphEdge as G, ARK_RUN_COMPONENT_LIFETIMES as H, IntentRegistry as I, ARK_RUN_EPHEMERAL_DEFAULT as J, ARK_RUN_GRAPH_DEFAULT_SLICE as K, ARK_RUN_GRAPH_NODE_KINDS as L, type MetadataRegistry as M, ARK_RUN_GRAPH_PROCESS_EDGE_KINDS as N, type ObservabilityReporter as O, type ProjectionRegistry as P, ARK_RUN_GRAPH_SCHEMA_VERSION as Q, type ReadModelStore as R, type SagaContext as S, type TraceRecordType as T, ARK_RUN_GRAPH_SLICES as U, ARK_RUN_GRAPH_TECHNICAL_EDGE_KINDS as V, type WorkflowStore as W, ARK_RUN_INFORMATION_PACKAGE_SCHEMA_VERSION as X, ARK_RUN_INSPECTOR_DEFAULT_HOST as Y, ARK_RUN_INSPECTOR_DEFAULT_PORT as Z, ARK_RUN_INSPECTOR_EVENTS_PATH as _, type DependencyGraph as a, InvalidArkRunSendOptionError as a$, ARK_RUN_INSPECTOR_SCHEMA_VERSION as a0, ARK_RUN_INSPECTOR_SNAPSHOT_PATH as a1, ARK_RUN_INSPECTOR_SSE_EVENT as a2, ARK_RUN_INSPECTOR_TRANSPORT_FALLBACK as a3, ARK_RUN_TRANSPORT_KINDS as a4, type ArkManifestArchitecture as a5, type ArkManifestData as a6, type ArkManifestEntityLink as a7, type ArkManifestGraph as a8, type ArkManifestIntent as a9, type ArkRunInspectorSource as aA, type ArkRunInspectorTransportFacts as aB, type ArkRunPublisher as aC, type ArkRunRegisterOptions as aD, type ArkRunRegistrationHandle as aE, type ArkRunSendOptions as aF, type ArkRunSendPlan as aG, type ArkRunSendPlanInput as aH, type ArkRunSendResult as aI, type ArkRunTransportKind as aJ, type AuditRecordInput as aK, type AuditRecordType as aL, type DependencyInformationPackage as aM, type EntityMeta as aN, type EventContractIssue as aO, type EventHandler as aP, type EventInterceptionInfo as aQ, type EventInterceptor as aR, type EventInterceptorContext as aS, type EventPayloadPatch as aT, type EventPayloadSchema as aU, type EventPublisher as aV, type EventSchemaField as aW, type EventSchemaFieldType as aX, type FieldMeta as aY, type GraphNode as aZ, InvalidArkRunGraphQueryError as a_, type ArkManifestPolicy as aa, type ArkManifestProjection as ab, type ArkRunBrokerAdapter as ac, type ArkRunComponentLifetime as ad, type ArkRunDeliveredVia as ae, type ArkRunExtendedInfo as af, type ArkRunGraph as ag, type ArkRunGraphEdge as ah, type ArkRunGraphEdgeKind as ai, type ArkRunGraphMatch as aj, type ArkRunGraphMatchInput as ak, type ArkRunGraphNode as al, type ArkRunGraphNodeKind as am, type ArkRunGraphProcessEdgeKind as an, type ArkRunGraphQuery as ao, type ArkRunGraphResolvedQuery as ap, type ArkRunGraphSlice as aq, type ArkRunGraphTechnicalEdgeKind as ar, type ArkRunInformationPackageComponent as as, type ArkRunInspectorBind as at, ArkRunInspectorBindError as au, type ArkRunInspectorBindInput as av, type ArkRunInspectorHandle as aw, ArkRunInspectorProductionError as ax, type ArkRunInspectorSnapshot as ay, type ArkRunInspectorSnapshotInput as az, type AuditStore as b, type ObservabilityFlow as b0, type ObservedLayerFlowMode as b1, type OutboxStore as b2, type PolicyEvaluationResult as b3, type ProjectionCheckpoint as b4, type ProjectionDefinition as b5, type PublishedEventRecord as b6, type RetryPolicy as b7, type SagaStatus as b8, type SagaStep as b9, type StartArkRunInspectorOptions as ba, type TraceSink as bb, type Unsubscribe as bc, type WorkflowDefinition as bd, type WorkflowStatus as be, type WorkflowStep as bf, arkRunGraphQueryFromSearchParams as bg, arkRunInspectorUrl as bh, buildArkRunInspectorSnapshot as bi, buildDependencyInformationPackage as bj, closeArkRunGraphQuery as bk, closedArkRunEphemeral as bl, closedArkRunTransportKind as bm, formatArkRunGraphMermaid as bn, formatArkRunInspectorSseEvent as bo, isArkRunInspectorLoopbackHost as bp, isArkRunInspectorProductionEnv as bq, requestArkRunGraph as br, resolveArkRunInspectorBind as bs, resolveArkRunSendPlan as bt, startArkRunInspector as bu, type AuditRecord as c, type AuditQuery as d, type CreateAuditTrailOptions as e, type AuditTrail as f, type EventContract as g, type EventContractValidationResult as h, type CreateProjectionRegistryOptions as i, type EventBufferStore as j, type EventBufferRecord as k, type EventBufferStatus as l, type EventBusOptions as m, type EventBus as n, type CreateObservabilityReporterOptions as o, PolicyEngine as p, type ArkManifest as q, type WorkflowSnapshot as r, type SagaDefinition as s, type CreateWorkflowEngineOptions as t, type SagaInstance as u, type WorkflowEngine as v, type ArkKernelConfig as w, type CreateArkKernelFromConfigOptions as x, type TraceRecord as y, type OutboxStatus as z };
1237
+ export { ARK_RUN_INSPECTOR_EVENTS_PATH as $, type ArkKernel as A, type OutboxStatus as B, type CreateArkKernelOptions as C, type DefineIntentOptions as D, type EventContractRegistry as E, type OutboxRecord as F, type GraphEdge as G, type ObservabilityDriftReport as H, IntentRegistry as I, ARK_RUN_COMPONENT_LIFETIMES as J, ARK_RUN_EPHEMERAL_DEFAULT as K, ARK_RUN_GRAPH_DEFAULT_SLICE as L, type MetadataRegistry as M, ARK_RUN_GRAPH_NODE_KINDS as N, type ObservabilityReporter as O, type ProjectionRegistry as P, ARK_RUN_GRAPH_PROCESS_EDGE_KINDS as Q, type ReadModelStore as R, type SagaContext as S, type TraceRecordType as T, ARK_RUN_GRAPH_SCHEMA_VERSION as U, ARK_RUN_GRAPH_SLICES as V, type WorkflowStore as W, ARK_RUN_GRAPH_TECHNICAL_EDGE_KINDS as X, ARK_RUN_INFORMATION_PACKAGE_SCHEMA_VERSION as Y, ARK_RUN_INSPECTOR_DEFAULT_HOST as Z, ARK_RUN_INSPECTOR_DEFAULT_PORT as _, type DependencyGraph as a, InvalidArkRunSendOptionError as a$, ARK_RUN_INSPECTOR_GRAPH_PATH as a0, ARK_RUN_INSPECTOR_SCHEMA_VERSION as a1, ARK_RUN_INSPECTOR_SNAPSHOT_PATH as a2, ARK_RUN_INSPECTOR_SSE_EVENT as a3, ARK_RUN_INSPECTOR_TRANSPORT_FALLBACK as a4, ARK_RUN_TRANSPORT_KINDS as a5, type ArkManifestArchitecture as a6, type ArkManifestData as a7, type ArkManifestEntityLink as a8, type ArkManifestGraph as a9, type ArkRunInspectorSnapshotInput as aA, type ArkRunInspectorSource as aB, type ArkRunInspectorTransportFacts as aC, type ArkRunPublisher as aD, type ArkRunRegisterOptions as aE, type ArkRunRegistrationHandle as aF, type ArkRunSendOptions as aG, type ArkRunSendPlan as aH, type ArkRunSendPlanInput as aI, type ArkRunSendResult as aJ, type ArkRunTransportKind as aK, type AuditRecordInput as aL, type AuditRecordType as aM, type EntityMeta as aN, type EventContractIssue as aO, type EventHandler as aP, type EventInterceptionInfo as aQ, type EventInterceptor as aR, type EventInterceptorContext as aS, type EventPayloadPatch as aT, type EventPayloadSchema as aU, type EventPublisher as aV, type EventSchemaField as aW, type EventSchemaFieldType as aX, type FieldMeta as aY, type GraphNode as aZ, InvalidArkRunGraphQueryError as a_, type ArkManifestIntent as aa, type ArkManifestPolicy as ab, type ArkManifestProjection as ac, type ArkRunBrokerAdapter as ad, type ArkRunComponentLifetime as ae, type ArkRunDeliveredVia as af, type ArkRunExtendedInfo as ag, type ArkRunGraph as ah, type ArkRunGraphEdge as ai, type ArkRunGraphEdgeKind as aj, type ArkRunGraphMatch as ak, type ArkRunGraphMatchInput as al, type ArkRunGraphNode as am, type ArkRunGraphNodeKind as an, type ArkRunGraphProcessEdgeKind as ao, type ArkRunGraphQuery as ap, type ArkRunGraphResolvedQuery as aq, type ArkRunGraphSlice as ar, type ArkRunGraphTechnicalEdgeKind as as, type ArkRunInformationPackageComponent as at, type ArkRunInspectorBind as au, ArkRunInspectorBindError as av, type ArkRunInspectorBindInput as aw, type ArkRunInspectorHandle as ax, ArkRunInspectorProductionError as ay, type ArkRunInspectorSnapshot as az, type AuditStore as b, type ObservabilityFlow as b0, type ObservedLayerFlowMode as b1, type OutboxStore as b2, type PolicyEvaluationResult as b3, type ProjectionCheckpoint as b4, type ProjectionDefinition as b5, type PublishedEventRecord as b6, type RetryPolicy as b7, type SagaStatus as b8, type SagaStep as b9, type StartArkRunInspectorOptions as ba, type TraceSink as bb, type Unsubscribe as bc, type WorkflowDefinition as bd, type WorkflowStatus as be, type WorkflowStep as bf, arkRunGraphQueryFromSearchParams as bg, arkRunInspectorUrl as bh, buildArkRunInspectorSnapshot as bi, buildDependencyInformationPackage as bj, closeArkRunGraphQuery as bk, closedArkRunEphemeral as bl, closedArkRunTransportKind as bm, formatArkRunGraphMermaid as bn, formatArkRunInspectorSseEvent as bo, isArkRunInspectorLoopbackHost as bp, isArkRunInspectorProductionEnv as bq, requestArkRunGraph as br, resolveArkRunInspectorBind as bs, resolveArkRunSendPlan as bt, startArkRunInspector as bu, type AuditRecord as c, type AuditQuery as d, type CreateAuditTrailOptions as e, type AuditTrail as f, type EventContract as g, type EventContractValidationResult as h, type CreateProjectionRegistryOptions as i, type EventBufferStore as j, type EventBufferRecord as k, type EventBufferStatus as l, type EventBusOptions as m, type EventBus as n, type CreateObservabilityReporterOptions as o, PolicyEngine as p, type ArkManifest as q, type WorkflowSnapshot as r, type SagaDefinition as s, type CreateWorkflowEngineOptions as t, type SagaInstance as u, type WorkflowEngine as v, type DependencyInformationPackage as w, type ArkKernelConfig as x, type CreateArkKernelFromConfigOptions as y, type TraceRecord as z };
package/docs/README.md CHANGED
@@ -36,6 +36,7 @@ Product site: [arkgate.online](https://www.arkgate.online/) · npm: [`arkgate`](
36
36
  | [agent-guide.md](agent-guide.md) | Agent, CLI, and MCP reference (incl. `ark status --json` / MCP `ark_status`) |
37
37
  | [diagnostics.md](diagnostics.md) | Public diagnostic `ruleId` catalog (why / fix anchors) |
38
38
  | [configuration.md](configuration.md) | `ark.config.json` contract |
39
+ | [arkorder.md](arkorder.md) | Optional ArkOrder extra: library + sensors, not a service |
39
40
  | [brownfield-adoption.md](brownfield-adoption.md) | Existing messy repos |
40
41
  | [package-surface.md](package-surface.md) | Stable vs experimental package surface |
41
42
  | [typescript-support.md](typescript-support.md) | TS 5 / 6 / 7 analysis boundary |
@@ -45,7 +46,7 @@ Product site: [arkgate.online](https://www.arkgate.online/) · npm: [`arkgate`](
45
46
  |-----|------------|
46
47
  | [CONTRIBUTING.md](../CONTRIBUTING.md) | Setup, rules, PR/release |
47
48
  | [ROADMAP.md](../ROADMAP.md) | Live implementation queue (one `doing` at a time). History: [archive/roadmap-history.md](archive/roadmap-history.md) |
48
- | [adr/](adr/README.md) | Architecture decisions ([0032](adr/0032-writes-via-aggregate-sensor.md) writes-via-aggregate) |
49
+ | [adr/](adr/README.md) | Architecture decisions ([0032](adr/0032-writes-via-aggregate-sensor.md) writes-via-aggregate · [0033](adr/0033-arkorder-runtime-half-is-arkrun.md) ArkOrder runtime half) |
49
50
  | [SECURITY.md](../SECURITY.md) · [threat-model.md](threat-model.md) | Security |
50
51
 
51
52
  ---
@@ -57,13 +58,13 @@ These are **not** the day-to-day product path. They stay in the repo for evidenc
57
58
  | Area | Path |
58
59
  |------|------|
59
60
  | Release notes (by version) | [releases/](releases/) · npm [CHANGELOG.md](../CHANGELOG.md) (Unreleased + 4.6.x) · [pre-4.6 archive](archive/CHANGELOG-pre-4.6.md) |
60
- | Epic plans | [plans/](plans/) — maintainer seeds, not required to use the package. Live: [alive-in-six-months](plans/alive-in-six-months/README.md) (`AL01`–`AL04` done; `AL05` parked). [arkrun](plans/arkrun/README.md) (Phase RN; `RN01`–`RN17` done; shipped **4.7.0** + companion **4.7.4**; ADRs [0020](adr/0020-arkrun-gated-extra-plane.md)–[0024](adr/0024-arkrun-transport-ports.md) accepted). [one-catalog-one-root](plans/one-catalog-one-root/README.md) (Phase HS; `HS01`–`HS05` done; shipped **4.7.1**). [arkorder](plans/arkorder/README.md) (Phase OR; `OR01`–`OR07` done; shipped **4.8.0**; extra **inside** package `arkgate` as `arkgate/order`; ADRs [0027](adr/0027-arkorder-gated-extra-plane.md)–[0031](adr/0031-one-package-extras-deprecate-companion.md)). |
61
+ | Epic plans | [plans/](plans/) — maintainer seeds, not required to use the package. Live: [alive-in-six-months](plans/alive-in-six-months/README.md) (`AL01`–`AL04` done; `AL05` parked). [arkrun](plans/arkrun/README.md) (Phase RN; `RN01`–`RN17` done; shipped **4.7.0** + companion **4.7.4**; ADRs [0020](adr/0020-arkrun-gated-extra-plane.md)–[0024](adr/0024-arkrun-transport-ports.md) accepted). [one-catalog-one-root](plans/one-catalog-one-root/README.md) (Phase HS; `HS01`–`HS05` done; shipped **4.7.1**). [arkorder](plans/arkorder/README.md) (Phase OR; `OR01`–`OR07` done; shipped **4.8.0**; extra **inside** package `arkgate` as `arkgate/order`; ADRs [0027](adr/0027-arkorder-gated-extra-plane.md)–[0031](adr/0031-one-package-extras-deprecate-companion.md)). [arkorder-arkrun](plans/arkorder-arkrun/README.md) (Phase XP; `XP01`–`XP08` done on tree; **4.8.5** prepared; ADR [0033](adr/0033-arkorder-runtime-half-is-arkrun.md)). |
61
62
  | Claims audit | [audit/claims-matrix.md](audit/claims-matrix.md) |
62
63
  | Field adoption kit (scaffolding, not closed) | [field/](field/) |
63
64
  | Runtime hardening (experimental) | [production-hardening.md](production-hardening.md) |
64
65
 
65
- Current published: [releases/4.8.3.md](releases/4.8.3.md) (`arkgate@4.8.3` on npm `latest`; does not close `K01`). Current tree: [releases/4.8.4.md](releases/4.8.4.md) (pending publish).
66
- Prior: [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).
66
+ Current tree: [releases/4.8.5.md](releases/4.8.5.md) (`arkgate@4.8.5`, prepared). Current published: [releases/4.8.4.md](releases/4.8.4.md) (`arkgate@4.8.4` on npm `latest`; does not close `K01`).
67
+ Prior: [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).
67
68
  Older notes: [releases/](releases/). Config: [configuration.md](configuration.md).
68
69
 
69
70
  ---
@@ -809,7 +809,7 @@ npx arkgate-check --install-agent-gates --tools claude,cursor,codex,grok,antigra
809
809
  | Cursor | `.cursor/mcp.json` + `.cursor/rules/ark.mdc` | **Repo:** `.agents/skills/<name>/SKILL.md` (same catalog as Codex). Do not also copy into `.cursor/commands/` or `$CODEX_HOME/skills` — Cursor lists every path it scans. |
810
810
  | OpenAI Codex | `.codex/config.toml` (project primary, relative `--root .`; configured on disk is not runtime-active until restart + `ark_identity` match); optional legacy `$CODEX_HOME/config.toml` fallback uses absolute roots and scoped secondaries — see [ai-gates.md](ai-gates.md) | **Repo:** `.agents/skills/<name>/SKILL.md`; **home:** `$CODEX_HOME/skills/<name>/SKILL.md` (`--codex-home`) |
811
811
  | **Grok Build** | `.grok/hooks/ark-write-gate.json` + `.grok/config.toml` / `.mcp.json` | **Repo:** `.grok/skills/<name>/SKILL.md`; **home:** `$GROK_HOME/skills` (default `~/.grok/skills`, `--grok-home`) |
812
- | Google Antigravity | `.agents/hooks.json` + `.agents/mcp_config.json` (+ `GEMINI.md` for shared Gemini consumers) | `.agents/skills/<name>/SKILL.md` |
812
+ | Google Antigravity | `.agents/hooks.json` + `.agents/mcp_config.json` (+ `GEMINI.md` for shared Gemini consumers) | **Repo:** `.agents/skills/<name>/SKILL.md`; **home:** `$ANTIGRAVITY_HOME/skills` (default `~/.gemini/config/skills`, `--antigravity-home`) |
813
813
  | OpenCode | `opencode.json` MCP (`type: local`; advisory) | `.opencode/skills/<name>/SKILL.md` |
814
814
 
815
815
  This is a path reference, not a guarantee table. Full copy-paste setups:
@@ -817,12 +817,12 @@ This is a path reference, not a guarantee table. Full copy-paste setups:
817
817
  [README](../README.md#other-skills-only-when-you-need-them).
818
818
  When several repositories share one machine, repo catalogs stay pinned and isolated; unchanged
819
819
  skill bodies are not rewritten for a version stamp. Shared **home** catalogs (Codex since 4.2;
820
- Claude/Grok since 4.6) are the machine floor: always latest additive, never downgrade. Refresh
821
- with `--agent-homes` (or `--claude-home` / `--grok-home` / `--codex-home`). Absent home trees
820
+ Claude/Grok since 4.6; Antigravity since 4.8.5) are the machine floor: always latest additive, never downgrade. Refresh
821
+ with `--agent-homes` (or `--claude-home` / `--grok-home` / `--antigravity-home` / `--codex-home`). Absent home trees
822
822
  are normal — doctor stays quiet until `ark-*` skills exist there. Pre-4.2 binaries ignore Codex
823
823
  home metadata and lock, so upgrade legacy repos before they write the optional Codex home
824
824
  catalog. See [AI gates — Codex skill catalog](ai-gates.md#codex-skill-catalog-skillmd-not-flat-prompts)
825
- and [shared Claude/Grok homes](ai-gates.md#shared-claude--grok-home-skills).
825
+ and [shared Claude/Grok/Antigravity homes](ai-gates.md#shared-claude--grok-home-skills).
826
826
 
827
827
  ### Install skills — Ark and ecosystem {#install-skills-ark-and-ecosystem}
828
828
 
package/docs/ai-gates.md CHANGED
@@ -465,7 +465,7 @@ severity **info**, marked `deferred: true`, and omitted from doctor **Primary ne
465
465
  `/ark-upgrade` on Grok/Claude is not Incomplete because of them. **Temp/upgrade primary roots**
466
466
  stay fail-closed urgent (rewritten, not multi-project).
467
467
 
468
- ### Shared Claude / Grok home skills {#shared-claude--grok-home-skills}
468
+ ### Shared Claude / Grok / Antigravity home skills {#shared-claude--grok-home-skills}
469
469
 
470
470
  Project catalogs follow that checkout’s ArkGate pin (they may lag). Shared user-home catalogs
471
471
  are the **machine floor**:
@@ -474,11 +474,19 @@ are the **machine floor**:
474
474
  |-------|------|------|
475
475
  | Claude home | `$CLAUDE_HOME/skills` (default `~/.claude/skills`) | `--claude-home` |
476
476
  | Grok home | `$GROK_HOME/skills` (default `~/.grok/skills`) | `--grok-home` |
477
- | All three + Codex | same monotonic protocol | `--agent-homes` |
477
+ | Antigravity home | `$ANTIGRAVITY_HOME/skills` (default `~/.gemini/config/skills`) | `--antigravity-home` |
478
+ | All four + Codex | same monotonic protocol | `--agent-homes` |
479
+
480
+ Antigravity’s official global catalog is `~/.gemini/config/skills` (workspace catalog remains
481
+ `.agents/skills`). Claude/Grok home copies override or duplicate the project catalog in the same
482
+ session, so `--agent-homes` skips those homes when `.agents/skills` already exists. The Antigravity
483
+ global catalog is the machine floor for **every** workspace, so `--antigravity-home` still writes
484
+ it. `--prune-home-duplicates` does **not** delete `~/.gemini/config/skills/ark-*`.
478
485
 
479
486
  Doctor reports `agentHomeGaps` only when those catalogs already contain `ark-*` skills and
480
487
  lag the installed package. Temp/upgrade `--root` never mutates default user homes. Cursor
481
488
  sessions treat a stale Claude home as urgent because Cursor loads `~/.claude/skills`.
489
+ Antigravity sessions treat a stale `~/.gemini/config/skills` catalog as urgent.
482
490
 
483
491
  ```bash
484
492
  npx arkgate-check --install-agent-gates --skills-only --agent-homes --force
@@ -589,6 +597,8 @@ Install:
589
597
  npx ark-check --install-agent-gates --tools antigravity
590
598
  # alias:
591
599
  npx ark-check --install-agent-gates --tools agy
600
+ # refresh the official global catalog (all workspaces):
601
+ npx ark-check --install-agent-gates --skills-only --antigravity-home --force
592
602
  ```
593
603
 
594
604
  | File | Role |
@@ -597,6 +607,7 @@ npx ark-check --install-agent-gates --tools agy
597
607
  | `.agents/mcp_config.json` | Official workspace MCP (`mcpServers.ark` stdio) |
598
608
  | `GEMINI.md` | Instruction rule for Gemini CLI / legacy consumers sharing the tree |
599
609
  | `.agents/skills/*/SKILL.md` | Agent Skills catalog (shared path with Codex) |
610
+ | `~/.gemini/config/skills/*/SKILL.md` | Official Antigravity **global** catalog (`--antigravity-home` / `--agent-homes`) |
600
611
  | `AGENTS.md` + `.mcp.json` + CI | Shared with other hosts (`.mcp.json` is not the Antigravity MCP path) |
601
612
 
602
613
  **Write tools covered:** `write_to_file`, `replace_file_content`, `multi_replace_file_content`.
@@ -0,0 +1,210 @@
1
+ # ArkOrder
2
+
3
+ **Write. Check. Ship.** Layers can be green while an agent still PATCHes the
4
+ billing plan as if it were a seat count. ArkOrder is the extra that names the
5
+ few slow product decisions and stops that write.
6
+
7
+ Import: `arkgate/order` (same npm package `arkgate`). Off until you add
8
+ `arkOrder` on schema `1.3`. Absence is silent. In-memory. Not durable. It is
9
+ a library plus sensors, not a service. Does **not** replace ArkRun.
10
+
11
+ First-contact copy: freeze / four verbs / no `update`. Haken (ξ vs s) lives
12
+ below.
13
+
14
+ Canonical plan seed: [plans/arkorder/README.md](plans/arkorder/README.md).
15
+ ADRs: [0027](adr/0027-arkorder-gated-extra-plane.md)–[0030](adr/0030-opt-in-extras-same-npm-package.md),
16
+ [0033](adr/0033-arkorder-runtime-half-is-arkrun.md) (runtime half is ArkRun).
17
+ Config: [configuration.md](configuration.md). Surface:
18
+ [package-surface.md](package-surface.md#experimental-opt-in-surfaces).
19
+
20
+ ---
21
+
22
+ ## What it is (and is not)
23
+
24
+ | Is | Is not |
25
+ |----|--------|
26
+ | A **library** (`createOrderPlane`) plus **static sensors** | A running service, daemon, or hosted plane |
27
+ | Four verbs: `release` / `project` / `ingest` / `proposeRelease` | A generic `update` / `patch` / `set` |
28
+ | Opt-in extra on `ark.config.json` | Always-on; compact starters leave it off |
29
+ | Consumer-named slow keys (`xiKeys`) | A construction OS, BIM, or FirmPack |
30
+ | Same npm tarball | not `@arkgate/order` |
31
+
32
+ If the extra is off, every ArkOrder sensor is silent. If it is on, the same
33
+ write gate / CI / ESLint envelope as Layers applies. Domain stays plane-free:
34
+ `createOrderPlane` lives in `arkOrder.planeRoots`.
35
+
36
+ ArkRun is **how the app talks** (intents, transport, information package).
37
+ ArkOrder is **what the app may treat as pattern**. Two extras. One activation
38
+ shape (`mode` + `managedLayers`). Roots keep different names because they
39
+ point at different factories: `arkRun.kernelRoots` vs `arkOrder.planeRoots`.
40
+ `compositionRoots` remains an alias of `kernelRoots`. See
41
+ [activation](#activation-same-shape-as-arkrun).
42
+
43
+ ---
44
+
45
+ ## Already shipped (named APIs)
46
+
47
+ Adopters kept redesigning this extra because the names were not on one page.
48
+ They already exist:
49
+
50
+ | Ask | API | Since |
51
+ |-----|-----|-------|
52
+ | Escalation as a first-class concept | `IngestResult = IngestAbsorb \| IngestEscalate` (`kind`, `reason`) | 4.8.0 |
53
+ | Projection at the boundary | `Projector = (release, sigma) => Projection` | 4.8.0 |
54
+ | Cap on badly designed slow parameters | `DEFAULT_MAX_XI_KEYS = 7`, `maxXiKeys`, `ARKORDER_TOO_MANY_PARAMS`, `ARKORDER_EMPTY_XI`, `ARKORDER_NESTED_XI` | 4.8.0 |
55
+ | Valved proposals, never direct mutation | `ProposeResult { nextXi, blastRadius, invalidations }` | 4.8.0 |
56
+ | Typed cell schema | `XiSchema` / `XiPropertySchema` | 4.8.0 |
57
+ | Named slow keys on the write path | `arkOrder.xiKeys`; `ARKORDER_XI_FIELD_WRITE` | 4.8.3 |
58
+ | Factory isolation | `createOrderPlane` from `arkgate/order` only | 4.8.0 |
59
+ | Information budget | `informationBudget.cannotObserve`; `ARKORDER_INFORMATION_BUDGET` | 4.8.5 |
60
+ | σ freshness, never ξ | `sigmaMaxAgeMs` / `σ.freshUntil`; `ARKORDER_XI_TTL`, `ARKORDER_STALE_SIGMA` | 4.8.5 |
61
+ | Escalate to a person | `IngestEscalate.target` including `human` | 4.8.5 |
62
+ | Shadow / replay / compare | ArkRun `shadowInformationPackage` / `compareInformationPackages` / `replayInformationPackages` | 4.8.5 |
63
+
64
+ Nothing here is a hosted runtime. Nothing here can be “down”. A degraded-mode
65
+ contract would defend against an outage that cannot happen.
66
+
67
+ ---
68
+
69
+ ## Four verbs
70
+
71
+ ```ts
72
+ import { createOrderPlane } from 'arkgate/order';
73
+
74
+ const plane = createOrderPlane({
75
+ projector, // consumer: (release, sigma) => { allowedKinds, invalidated }
76
+ xiSchema, // JSON Schema object; additionalProperties false
77
+ maxXiKeys, // default 7
78
+ clocks, // injected; Domain must not call Date.now
79
+ packs, // data, not user predicates
80
+ informationBudget, // optional { cannotObserve: ['ledger'] } — not a config key
81
+ sigmaMaxAgeMs, // optional σ freshness; never on ξ — not a config key
82
+ });
83
+
84
+ plane.release(xi, sigma); // freeze, version, hash. No in-place mutate
85
+ plane.project(); // derive allowed s + invalidations
86
+ plane.ingest(event); // absorb or escalate. Never returns a Release
87
+ plane.proposeRelease(delta); // blast radius. Empty blast = domain error
88
+ ```
89
+
90
+ There is no `update()`. Calling `update` / `patch` / `set` on the plane throws
91
+ `ARKORDER_FORBIDDEN_METHOD` and, on the write path, emits
92
+ `ARKORDER_GENERIC_UPDATE`.
93
+
94
+ | Field write | Verb |
95
+ |-------------|------|
96
+ | Invoice, seat within cap, timesheet, daily log | `ingest` → absorb |
97
+ | Over cap / invariant pressure | `ingest` → escalate |
98
+ | Change plan / protocol / cost-code bound | `proposeRelease` then `release` |
99
+ | PATCH the slow key through Prisma/Drizzle | `ARKORDER_XI_FIELD_WRITE` |
100
+
101
+ Copy [examples/arkorder-billing/](../examples/arkorder-billing/) and rename the
102
+ three keys. Membership ids (`projectId`) are not keys: a `proposeRelease` that
103
+ does not change `h(ξ)` fails closed (`ARKORDER_EMPTY_BLAST`).
104
+
105
+ ---
106
+
107
+ ## Config
108
+
109
+ ```json
110
+ {
111
+ "schemaVersion": "1.3",
112
+ "arkOrder": {
113
+ "mode": "advisory",
114
+ "planeRoots": ["src/composition/order-plane.ts"],
115
+ "managedLayers": ["Application"],
116
+ "maxXiKeys": 7,
117
+ "xiKeys": ["plan", "cycle", "tenancy"]
118
+ }
119
+ }
120
+ ```
121
+
122
+ | Field | Meaning |
123
+ |-------|---------|
124
+ | `mode` | `advisory` (default) or `enforced`. Same word as ArkRun / ArkRules |
125
+ | `managedLayers` | Layers whose persistence writes of `xiKeys` are the skip |
126
+ | `planeRoots` | Files allowed to call `createOrderPlane` |
127
+ | `maxXiKeys` | Cap on ξ (default 7). Haken: few slow modes |
128
+ | `xiKeys` | Optional 3–5 slow names. Empty → `ARKORDER_XI_FIELD_WRITE` silent |
129
+
130
+ Unknown keys fail closed. Empty `planeRoots` in `enforced` fails
131
+ `ARKORDER_MISSING_PLANE`. Demotion or deletion is a policy-delta **weakening**.
132
+ This library’s 4-layer authoring contract does **not** turn the extra on.
133
+
134
+ ---
135
+
136
+ ## Activation (same shape as ArkRun)
137
+
138
+ Both extras already share **`mode`** and **`managedLayers`**. They diverge on
139
+ one axis: the factory root.
140
+
141
+ | | ArkOrder | ArkRun |
142
+ |--|----------|--------|
143
+ | Extra key | `arkOrder` | `arkRun` |
144
+ | Schema | `1.3+` | `1.2+` |
145
+ | Factory | `createOrderPlane` from `arkgate/order` | `createStrictArkKernel` from `arkgate/runtime` |
146
+ | Roots | `planeRoots` | `kernelRoots` (`compositionRoots` alias) |
147
+ | Silence | absence of the extra | absence of the extra |
148
+
149
+ Do not rename `planeRoots` to `kernelRoots`. They name different factories.
150
+ List both on `ark-check --sensors` (same table, same tier vocabulary).
151
+
152
+ Turn extras on with `/ark-adopt`. Place new files with `/ark-place`. There is
153
+ no `/ark-order` skill.
154
+
155
+ ---
156
+
157
+ ## Sensors (closed)
158
+
159
+ Direct evidence blocks. Inference never does. Default advisory; promotable
160
+ except withdrawn heuristics.
161
+
162
+ | Diagnostic | Skip |
163
+ |------------|------|
164
+ | `ARKORDER_MISSING_PLANE` | Extra on, no `createOrderPlane` in `planeRoots` |
165
+ | `ARKORDER_KERNEL_IN_DOMAIN` | Domain-role layer imports `arkgate/order` |
166
+ | `ARKORDER_GENERIC_UPDATE` | `update` / `patch` / `set` on the plane |
167
+ | `ARKORDER_TOO_MANY_PARAMS` | ξ keys > `maxXiKeys` |
168
+ | `ARKORDER_INGEST_WRITES_XI` | `ingest` result assigned into a Release / ξ store |
169
+ | `ARKORDER_XI_FIELD_WRITE` | Managed-layer driver import **and** write token **and** a declared `xiKeys` name |
170
+ | `ARKORDER_INFORMATION_BUDGET` | `h(ξ)` allows a kind in `informationBudget.cannotObserve` |
171
+ | `ARKORDER_XI_TTL` | ξ named ttl/freshUntil/maxAge — freshness is σ |
172
+ | `ARKORDER_STALE_SIGMA` | ingest after σ.freshUntil, or after `release.releasedAt` + `sigmaMaxAgeMs` |
173
+
174
+ Why / fix: [diagnostics.md](diagnostics.md#ARKORDER_MISSING_PLANE).
175
+ `ark-check --sensors` lists every extra sensor with plane, tier, and whether
176
+ it can ever be enforced.
177
+
178
+ ---
179
+
180
+ ## Runtime half
181
+
182
+ Shadow, replay, provenance, and compare belong to **ArkRun** (information
183
+ package, inspector, in-memory compare). ArkOrder does not grow a bus, outbox,
184
+ or hosted replay. [ADR 0033](adr/0033-arkorder-runtime-half-is-arkrun.md).
185
+
186
+ Durability (`K01`) stays parked. In-memory is the honesty line.
187
+
188
+ ---
189
+
190
+ ## What we will not build here
191
+
192
+ - another event bus
193
+ - a general workflow engine
194
+ - a permissions engine
195
+ - a central store holding operational state
196
+ - a DSL that duplicates domain / DB / ArkRules
197
+ - a coordinator required on every request
198
+ - a degraded-mode contract (nothing can be down)
199
+
200
+ If a “slow parameter” changes with every click, it is not an order parameter.
201
+
202
+ ---
203
+
204
+ ## Next step
205
+
206
+ ```bash
207
+ npx arkgate-check --doctor
208
+ # copy examples/arkorder-billing/ and rename the three keys
209
+ # /ark-adopt to turn arkOrder on advisory
210
+ ```
@@ -116,8 +116,8 @@ Top-level fields:
116
116
  - **`arkRules`** (optional, schema `1.1+`) — map of layer name → project-relative path to an
117
117
  ArkRules file (e.g. `"DomainModel": "arkrules/DomainModel.json"`). Keys must match a declared
118
118
  layer. Missing/invalid referenced files **fail closed**.
119
- - **`arkRun`** (optional, schema `1.2+`) — inline ArkRun extra (`mode`, `compositionRoots`,
120
- `managedLayers`, `requireDeclarations`). Absence is silent. Unknown keys fail closed.
119
+ - **`arkRun`** (optional, schema `1.2+`) — inline ArkRun extra (`mode`, `kernelRoots`
120
+ (`compositionRoots` alias), `managedLayers`, `requireDeclarations`). Absence is silent. Unknown keys fail closed.
121
121
  `managedLayers` must name existing `layers[].name` values. Empty `compositionRoots` in
122
122
  `enforced` mode fails closed (`ARKRUN_MISSING_ROOT`); empty `managedLayers` in `enforced`
123
123
  mode also fails closed (direct-new / undeclared / transport-bypass would otherwise no-op).
@@ -130,8 +130,15 @@ Top-level fields:
130
130
  Import `createOrderPlane` from `arkgate/order` (same package). Empty `planeRoots` in
131
131
  `enforced` mode fails closed (`ARKORDER_MISSING_PLANE`). `xiKeys` are the 3–5 slow
132
132
  names the product already knows (plan, protocol, cost-code bound). Empty `xiKeys`
133
- leaves `ARKORDER_XI_FIELD_WRITE` silent. Membership ids are not keys. Demotion or
134
- deletion is a policy-delta **weakening**. Field ingest never mints a pattern.
133
+ leaves `ARKORDER_XI_FIELD_WRITE` silent. Membership ids are not keys. Factory options
134
+ `informationBudget` and `sigmaMaxAgeMs` belong on `createOrderPlane`, not this extra
135
+ object. Demotion or deletion is a policy-delta **weakening**. Field ingest never mints
136
+ a pattern.
137
+
138
+ **Activation is one shape.** ArkRun and ArkOrder both use `mode` + `managedLayers`.
139
+ Absence of either extra is silent. They keep different *root* names because they
140
+ name different factories: `arkRun.kernelRoots` (`compositionRoots` alias) vs
141
+ `arkOrder.planeRoots`. Do not fold them. Canonical: [arkorder.md](arkorder.md#activation-same-shape-as-arkrun).
135
142
 
136
143
  Layer fields:
137
144
 
package/docs/develop.md CHANGED
@@ -10,7 +10,8 @@ request. Not an API Gateway. Not a folder linter. Without a required CI status,
10
10
  and ArkOrder are optional — policies, an experimental runtime, and the extra that
11
11
  stops slow product decisions being CRUD. Not a second install.
12
12
 
13
- If you only want the happy path, start at [use.md](use.md).
13
+ If you only want the happy path, start at [use.md](use.md). Optional ArkOrder
14
+ (library + sensors, not a service): [arkorder.md](arkorder.md).
14
15
 
15
16
  ### Why it exists
16
17
 
@@ -60,7 +61,7 @@ Full matrix and install commands: [ai-gates.md](ai-gates.md) · canonical table
60
61
 
61
62
  ```bash
62
63
  # All common hosts (examples)
63
- npx arkgate-check --install-agent-gates --tools claude,cursor,codex,grok
64
+ npx arkgate-check --install-agent-gates --tools claude,cursor,codex,grok,antigravity
64
65
  npx arkgate-check --install-agent-gates --tools antigravity # alias: agy
65
66
  npx arkgate-check --install-agent-gates --tools opencode
66
67
  # Full /ark-* skill pack (optional expert depth)
@@ -424,6 +424,33 @@ Haken slaving: few slow keys (ξ) determine derived fast state. Field ingest nev
424
424
  - **Why:** A managed-layer file imports a persistence driver and writes a declared arkOrder.xiKeys name. Field events absorb or escalate; they do not PATCH the slow pattern.
425
425
  - **Fix:** Keep invoices, seats, hours, and logs on ingest. Change the slow key with proposeRelease + release, then preflight again. Never mechanical-safe.
426
426
 
427
+ <a id="ARKORDER_INFORMATION_BUDGET"></a>
428
+
429
+ ### `ARKORDER_INFORMATION_BUDGET`
430
+
431
+ **Projection observes a forbidden kind**
432
+
433
+ - **Why:** h(ξ) allowedKinds includes a kind listed in informationBudget.cannotObserve. A scale may not look at what it was told not to see.
434
+ - **Fix:** Cut that kind from the projector or from cannotObserve, then preflight again. Never mechanical-safe.
435
+
436
+ <a id="ARKORDER_XI_TTL"></a>
437
+
438
+ ### `ARKORDER_XI_TTL`
439
+
440
+ **Slow key carries a freshness field**
441
+
442
+ - **Why:** ξ named ttl/freshUntil/maxAge. Freshness belongs on σ. A slow parameter that expires per transaction is not slow.
443
+ - **Fix:** Move freshness onto σ (freshUntil) and keep ξ stable, then preflight again. Never mechanical-safe.
444
+
445
+ <a id="ARKORDER_STALE_SIGMA"></a>
446
+
447
+ ### `ARKORDER_STALE_SIGMA`
448
+
449
+ **σ is stale**
450
+
451
+ - **Why:** ingest ran after σ.freshUntil (or sigmaMaxAgeMs). ξ does not TTL.
452
+ - **Fix:** Refresh σ and ingest again, or freeze a new release if the pattern changed. Never mechanical-safe.
453
+
427
454
  ## Atomic preflight and change sets
428
455
 
429
456
  <a id="INVALID_CHANGE_PATH"></a>
@@ -2,7 +2,7 @@
2
2
 
3
3
  ```bash
4
4
  npx arkgate-check --install-agent-gates
5
- npx arkgate-check --install-agent-gates --tools claude,cursor,codex,grok
5
+ npx arkgate-check --install-agent-gates --tools claude,cursor,codex,grok,antigravity
6
6
  # aliases: ark-check …
7
7
  ```
8
8
 
@@ -173,9 +173,9 @@ product claims**. Static architecture enforcement does not depend on them.
173
173
 
174
174
  | Surface | Import path | Notes |
175
175
  |---------|-------------|--------|
176
- | **ArkRun kernel** | **`arkgate/runtime`** | Public brand **ArkRun**. Same npm package `arkgate` (ADR 0031). Factory `createStrictArkKernel` (each call is an isolated instance; no process-wide `getKernel()` singleton). Root export does **not** include the factory. Optional extra `arkRun` on schema `1.2+`. Event bus, intents, policies, sagas, event buffer, projections, and strict helpers. Managed components declare `uses` / `reactsTo` / `raises` / `sends` on `register()`; `getDependencyInformationPackage()` is a JSON snapshot of ids, lifetime, and declarations and never includes factories, live instances, or input DTOs (ADR 0023). `requestGraph()` slices that snapshot into **process** or **technical** graphs with optional `nodeIds`, `degreesOfSeparation`, and include/exclude query; `formatArkRunGraphMermaid()` (also `graph.mermaid`) is a helper string, never a score. `send()` is the transport port (local / localBlocking / broker); missing broker falls back to in-process local delivery, `ephemeral` defaults true, and **no cloud SDKs ship** in the package (ADR 0024). Opt-in `startInspector()` / `startArkRunInspector()` binds **`127.0.0.1` only**, refuses `NODE_ENV=production`, lazy-loads HTTP, and serves JSON snapshots, SSE, and `/graph` slices of the information package (no public / authless bind). Built-in stores are **InMemory reference only**. Branding ArkRun is not a production-durability claim. **`@arkgate/runtime` is deprecated** leftover 0.x (`experimental` dist-tag). |
176
+ | **ArkRun kernel** | **`arkgate/runtime`** | Public brand **ArkRun**. Same npm package `arkgate` (ADR 0031). Factory `createStrictArkKernel` (each call is an isolated instance; no process-wide `getKernel()` singleton). Root export does **not** include the factory. Optional extra `arkRun` on schema `1.2+`. Event bus, intents, policies, sagas, event buffer, projections, and strict helpers. Managed components declare `uses` / `reactsTo` / `raises` / `sends` on `register()`; `getDependencyInformationPackage()` is a JSON snapshot of ids, lifetime, and declarations and never includes factories, live instances, or input DTOs (ADR 0023). `requestGraph()` slices that snapshot into **process** or **technical** graphs with optional `nodeIds`, `degreesOfSeparation`, and include/exclude query; `formatArkRunGraphMermaid()` (also `graph.mermaid`) is a helper string, never a score. `send()` is the transport port (local / localBlocking / broker); missing broker falls back to in-process local delivery, `ephemeral` defaults true, and **no cloud SDKs ship** in the package (ADR 0024). Opt-in `startInspector()` / `startArkRunInspector()` binds **`127.0.0.1` only**, refuses `NODE_ENV=production`, lazy-loads HTTP, and serves JSON snapshots, SSE, and `/graph` slices of the information package (no public / authless bind). **Shadow / replay / compare** (`shadowInformationPackage`, `compareInformationPackages`, `replayInformationPackages`) are in-memory helpers on that snapshot — not durable, not a second bus (ADR 0033). Built-in stores are **InMemory reference only**. Branding ArkRun is not a production-durability claim. **`@arkgate/runtime` is deprecated** leftover 0.x (`experimental` dist-tag). |
177
177
  | **NestJS adapter** | **`arkgate/nestjs`** | Experimental optional peer `@nestjs/common` for the ArkRun kernel. Same npm package. `@arkgate/runtime/nestjs` is deprecated. |
178
- | **ArkOrder plane** | **`arkgate/order`** | Public brand **ArkOrder**. Same npm package `arkgate` (ADR 0030) — not `@arkgate/order`. Factory `createOrderPlane`. Four verbs: `release` / `project` / `ingest` / `proposeRelease`. No `update`. Haken: few slow keys; ingest never mints a pattern; empty blast fails closed. Root `arkgate` export does **not** include the factory. Optional extra `arkOrder` on schema `1.3`. In-memory; not durable. Does not replace ArkRun. |
178
+ | **ArkOrder plane** | **`arkgate/order`** | Public brand **ArkOrder**. Same npm package `arkgate` (ADR 0030) — not `@arkgate/order`. Factory `createOrderPlane`. Four verbs: `release` / `project` / `ingest` / `proposeRelease`. No `update`. Haken: few slow keys; ingest never mints a pattern; empty blast fails closed. Factory options (not config keys): `informationBudget.cannotObserve`, `sigmaMaxAgeMs` (freshness on σ, never ξ). `IngestEscalate.target` includes `human`. Root `arkgate` export does **not** include the factory. Optional extra `arkOrder` on schema `1.3`. In-memory; not durable. Does not replace ArkRun. Runtime half (shadow/replay/compare) is ArkRun (ADR 0033). Canonical: [ArkOrder](arkorder.md). |
179
179
 
180
180
  ---
181
181
 
@@ -249,7 +249,9 @@ production deployment would need to satisfy; it is not a readiness certification
249
249
  ## Release notes (maintainers)
250
250
 
251
251
  Ship notes for a version live under [releases/](https://github.com/pedroknigge/arkgate/tree/main/docs/releases)
252
- (current published: [4.8.3.md](https://github.com/pedroknigge/arkgate/blob/main/docs/releases/4.8.3.md);
252
+ (current tree prepared: [4.8.5.md](https://github.com/pedroknigge/arkgate/blob/main/docs/releases/4.8.5.md);
253
+ current published: [4.8.4.md](https://github.com/pedroknigge/arkgate/blob/main/docs/releases/4.8.4.md);
254
+ prior published: [4.8.3.md](https://github.com/pedroknigge/arkgate/blob/main/docs/releases/4.8.3.md);
253
255
  prior published: [4.8.2.md](https://github.com/pedroknigge/arkgate/blob/main/docs/releases/4.8.2.md);
254
256
  prior published: [4.8.1.md](https://github.com/pedroknigge/arkgate/blob/main/docs/releases/4.8.1.md);
255
257
  prior published: [4.8.0.md](https://github.com/pedroknigge/arkgate/blob/main/docs/releases/4.8.0.md);
package/docs/use.md CHANGED
@@ -81,7 +81,7 @@ The config only binds when the write doesn’t land and CI is required.
81
81
  | **ArkGate** (layers) | Import rules. The write doesn’t land. The PR fails. | Always — this is the product |
82
82
  | **ArkRules** | Optional policies *inside* a layer. | Off until you turn it on (start may ship advisory templates) |
83
83
  | **ArkRun** | Optional experimental runtime (`arkgate/runtime`) | Off. In-memory. Not Postgres. |
84
- | **ArkOrder** | Stops the agent rewriting the few slow product decisions as CRUD (`arkgate/order`) | Off. Name `xiKeys` (plan / protocol, not `projectId`). Invoices and seats still flow. In-memory. Not durable. |
84
+ | **ArkOrder** | Stops the agent rewriting the few slow product decisions as CRUD (`arkgate/order`). Library + sensors, [not a service](arkorder.md). | Off. Name `xiKeys` (plan / protocol, not `projectId`). Invoices and seats still flow. In-memory. Not durable. |
85
85
 
86
86
  Start always gives you **layers**. Compact starters do **not** turn on ArkRun or
87
87
  ArkOrder. No extras is fine — only ArkGate runs. Leftovers are labeled
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkgate",
3
- "version": "4.8.4",
3
+ "version": "4.8.5",
4
4
  "description": "When the agent writes a bad import, the write doesn’t land. The same check fails the pull request.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -88,6 +88,7 @@
88
88
  "docs/assets",
89
89
  "docs/brownfield-adoption.md",
90
90
  "docs/configuration.md",
91
+ "docs/arkorder.md",
91
92
  "docs/package-surface.md",
92
93
  "docs/diagnostics.md",
93
94
  "docs/threat-model.md",
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.4",
9
+ "version": "4.8.5",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "arkgate",
14
- "version": "4.8.4",
14
+ "version": "4.8.5",
15
15
  "runtimeHint": "npx",
16
16
  "transport": {
17
17
  "type": "stdio"
@@ -7,7 +7,7 @@
7
7
  This directory is the **Agent Skills–compatible** packaging of the same **13**
8
8
  `/ark-*` skills shipped as flat templates for Ark install. **No new skill names.**
9
9
 
10
- Package version when last generated context: **arkgate@4.8.3**
10
+ Package version when last generated context: **arkgate@4.8.5**
11
11
  Schema: agent-skills package contract `1.0`
12
12
 
13
13
  ## Skills (frozen catalog)
@@ -86,7 +86,7 @@ Never invent gate verdicts from these suggestions. Missing residual is honest em
86
86
  | Skills customized after install | Preserved by default. Preview `skillDrift` shows counts. **`--refresh-skills`** rewrites customized *skills* only with consent. |
87
87
  | Conflicted managed assets | Still need `--accept-conflicts`. Never silent overwrite of true edits. |
88
88
  | 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. |
89
- | Stale `~/.claude/skills` or `~/.grok/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. |
89
+ | 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. |
90
90
  | Active host not in `--tools` / manifest | Preview `hostSelection` notes it and suggests `--tools` expansion. |
91
91
 
92
92
  **Post-apply:** read `postUpgradeChecks` (advisory). Confirm pin↔CLI, run doctor (compass + deepModuleCoach),
@@ -86,7 +86,7 @@ Never invent gate verdicts from these suggestions. Missing residual is honest em
86
86
  | Skills customized after install | Preserved by default. Preview `skillDrift` shows counts. **`--refresh-skills`** rewrites customized *skills* only with consent. |
87
87
  | Conflicted managed assets | Still need `--accept-conflicts`. Never silent overwrite of true edits. |
88
88
  | 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. |
89
- | Stale `~/.claude/skills` or `~/.grok/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. |
89
+ | 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. |
90
90
  | Active host not in `--tools` / manifest | Preview `hostSelection` notes it and suggests `--tools` expansion. |
91
91
 
92
92
  **Post-apply:** read `postUpgradeChecks` (advisory). Confirm pin↔CLI, run doctor (compass + deepModuleCoach),