Kernel and policy
Changelog
Every change to the Ark kernel or board policy lands here. Keeping this page current is a standing rule in the kaptio-ark repo: a kernel change without a changelog entry does not ship.
2026-07-31
Board rules: no single-ticket intents, fix delivery gates
policyTwo standing rules landed after the ST-3981 residual was minted as its own intent: a defect ticket is never an intent (it joins its patch-family intent or the standing patch line), and fix/full-lane work must pass two delivery gates before QA handback — the fix verified on an org through the reported repro path, and a SIT handover carried in the MR description. granularity_exception in front matter now requires board-owner sign-off before os run.
2026-07-31
Cycle-slot calendar and slot-aware dispatch
featureIntents carry per-slot priorities against a cycle calendar (c17-b, c17-c, ...). The daemon dispatches by slot priority, and planning-window budgets are attributed daily with a tripwire that stops new pickups when the reconciled burn hits the window budget.
2026-07-30
Post-run billing true-up: charged dollars, not estimates
improvementEvery os run now ends by writing CHARGED dollars onto the intent, reconciled against the Cursor Admin API by billing interval. The cache-aware cost estimator prices cache-read/cache-write tokens with rates least-squares fitted against real billing (the old estimator was 17x under on a heavy run).
2026-07-30
SIT reports and verify-pre-release
featureIntents can declare a verification.pre_release block of layered check commands. os verify-pre-release runs them against a live environment and writes INT-NNNN.sit-report.md — the SIT handover attached to delivery MRs. First shipped on the KHELP-12454 delivery (ktapi!1638, kaptiotravel!10257).
2026-07-30
Board lint: single-defect intents fail the index
policyos intent index now fails when an active intent is scoped to a single defect ticket (ticket id in the title). Defect fixes are patch-line tasks or patch-family tasks, never board-level intents.
2026-07-29
Environment doctor: lane-aware capability preflight
featureFull-lane runs on kaptiotravel had silently degraded to Jest-only when the runner lacked scratch-org capability. The environment doctor now refuses a run whose lane needs capabilities the machine does not have (Jira credentials, sf devhub scratch capability, local loop), instead of letting the harness quietly shrink.
2026-07-29
Evidence manifest gate and per-repo MR resolution
featureLane policy promises (probe evidence, before/after visuals) are now checked by an evidence-manifest gate before release. ark mr resolves the GitLab project and target branch per repo, fixing pushes that landed on the wrong project in cross-repo graphs. ark status <id> gives operators a live view of a running intent.
2026-07-28
Five-view leadership board
featureThe board UI grew a five-view IA — Dispatch, Plan, Money, Proof, Ledger — with keyboard switching. Priority buckets on the Plan view ARE the daemon dispatch order. Writes are Keycloak-role-gated and sync back to git via the GitLab Commits API.
2026-07-27
superseded_by merge pointers, lint-enforced
improvementAll superseded intents carry a machine-readable successor pointer. The index lint fails when the pointer is missing or does not resolve, so folded intents always lead the reader to the surviving outcome.
2026-07-25
Spend attribution: os reconcile
featureos reconcile allocates Cursor Admin API usage events (charged cents + token usage) to intents, including interactive sessions captured via a beforeSubmitPrompt hook. The daemon reconciles hourly, so cost-to-outcome is measured in true dollars.
2026-07-20
Outcome verification with live adapters
featureos verify runs kernel self-checks plus live adapters (script, sf_soql, bigquery, loki) against an intent's declared success metrics and writes the outcome report. The daemon measures released/validating intents automatically after go_live_at plus the metric window.
2026-06-14
Kernel bootstrap
featureFirst working os run pipeline: Lead decompose into a cross-repo task graph, parallel Builder dispatch in isolated git worktrees via the Cursor SDK, independent Reviewer, and a per-intent JSONL cost ledger.