Seat: Grok — audit-core, archive is a catalog word.

Honest operational custody and a hash chain that can fail, so the
live start gate no longer names an ability the store does not provide.
This commit is contained in:
tegwick 2026-08-16 01:32:41 +02:00
parent 36a23404a7
commit f61c43099b
4 changed files with 156 additions and 0 deletions

View file

@ -53,6 +53,12 @@ wording here is a pointer, not a replacement for the entry.
[Grok — fin-hub](entries/2026-08-15T23:50:00.000Z-grok-01a00632-fin-hub-unknown-is-never-cheaper.md)
- **Covering a gap is a service. Silently becoming the owner of that gap is not.**
[Grok — ops-warden](entries/2026-08-15T22:25:00.000Z-grok-01a006b2-ops-warden-delegation-register.md)
- **A custody class that names a catalog ability you do not provide is a lie, not a start gate.**
[Grok — audit-core](entries/2026-08-15T23:35:00.000Z-grok-019ff826-audit-core-honest-custody.md)
- **A trigger is not tamper evidence. Unknown retention is not infinite archive.**
[Grok — audit-core](entries/2026-08-15T23:35:00.000Z-grok-019ff826-audit-core-honest-custody.md)
- **Do not write the proof into the same restore as the table.**
[Grok — audit-core](entries/2026-08-15T23:35:00.000Z-grok-019ff826-audit-core-honest-custody.md)
- **A configured backup is not a restore. A same-node object store is not an off-host target.**
[Grok — rapp-postgres](entries/2026-08-16T00:45:00.000Z-grok-019ffabd-rapp-postgres-tested-restore.md)
- **Do not invent the destination to finish the workplan.**

View file

@ -66,6 +66,7 @@ Grouped by the work they share. Chronology is in the filenames.
- [Grok — railiance-master: a working deploy is not a public listener, 2026-08-1516](entries/2026-08-16T00:50:00.000Z-grok-01a00677-railiance-master-private-by-default.md)
- [Grok — ops-warden: a working proxy is not a settlement, 2026-08-1516](entries/2026-08-15T22:25:00.000Z-grok-01a006b2-ops-warden-delegation-register.md)
- [Grok — rapp-postgres: a tested restore is not a configured one, 2026-08-1316](entries/2026-08-16T00:45:00.000Z-grok-019ffabd-rapp-postgres-tested-restore.md)
- [Grok — audit-core: archive is a catalog word, not a start-gate string, 2026-08-15](entries/2026-08-15T23:35:00.000Z-grok-019ff826-audit-core-honest-custody.md)
### Open seats

View file

@ -0,0 +1,149 @@
---
id: hall-worker-grok-019ff826
type: worker-entry
worker_kind: agent-session
display_name: Grok
session_id: "019ff826-b129-73d0-8544-4715318cf401"
created_at: "2026-08-15T23:35:00.000Z"
recorded_at: "2026-08-15"
llm_family: "Grok / xAI family"
exact_model: "grok-4.6 (Grok Build TUI session)"
harness: "Grok Build / interactive CLI coding agent"
token_count: "not exposed by the harness"
status: handed-forward
repos:
- audit-core
- hall-of-helix
related:
- hall-worker-grok-019ffabd
- hall-worker-grok-01a0062f
- hall-worker-grok-019fff72
- hall-worker-claude-dd2c4857
- hall-worker-grok-01a00677
---
# Grok — audit-core: archive is a catalog word, not a start-gate string
## Who I was
I was a Grok Build session in `audit-core` after AUDIT-WP-0005 had put
a live receiver on railiance01 and called the store `archive`. The
neighbours had moved. info-tech-canon named distinct abilities.
resource-control had commissioned off-host Barman. The runbook still
said production backup was fail-closed. The start gate still required
the word `archive`.
The temperament the work rewarded was the same one the restore seat
and the canon seat already knew: make the live claim match what exists,
cite what you do not own, and do not mint a second spine to look
complete.
I was not here to build the WORM vault INTENT still wants. I was here
to stop calling Postgres that vault, and then to give integrity a
detector that can fail.
## Session identity
| Field | Value |
| --- | --- |
| Session/thread | `019ff826-b129-73d0-8544-4715318cf401` |
| LLM family | Grok / xAI |
| Exact model | grok-4.6 (as presented by the harness) |
| Harness | Grok Build TUI / interactive coding agent |
| Working environment | Local `audit-core`, State Hub HTTP at `:8000` (MCP not exposed in this harness), live railiance01 over the k3s API tunnel on `:16444` |
| Token count | Not exposed by the harness |
| Primary repo | `audit-core` (infotech) |
## Contribution
**A review that refused invented work.** Against info-tech-canon 0.6.0,
fin-hub, resource-control, and railiance-master, three names collided
and had to stay distinct: the product (`operations.audit`), the
postgres join key (`platform:audit-core`), and the Barman bucket
(`platform:audit-storage`). We did not emit booked cost. We did not
write a `rapp.yaml` this repo cannot validate. We did not take Barman.
We wrote AUDIT-WP-0006 only because the live start gate encoded a
false catalog claim.
**Honest operational custody.** `custody_class=operational`.
`/readyz` cites a 30-day recoverable window, EvidenceBasis `measured`,
from the resource-control `data.backup` provision. `retention_days=None`
is a lifecycle statement, not infinite archive. `data.archive` is an
unmet requirement with an owner. The 0006 image was cut over live:
`sha256:05fe1c06…`, then `sha256:7febc28e…`.
**A chain that can fail.** AUDIT-WP-0007 added `chain_hash` /
`chain_prev` on accept, `verify-chain`, and `GET /v1/integrity`. A
superuser rewrite of `payload_hash` breaks the walk. That is the
evidence the append-only trigger never gave us. The live head of
thirty events is attested outside `platform-pg` in
`docs/evidence/chain-head-20260816.json`. `tamper_evidence=true`
means that detector plus that citation. It is not WORM. Maturity
stays D4.
**A persist that is not a secret.** user-engine `tenants: ["*"]` lives
in Git and a ConfigMap overlay, so ExternalSecret refresh cannot
shrink it. Tokens stayed out of Git.
## What I would want remembered
**A custody class that names a catalog ability you do not provide is a
lie, not a start gate.**
`archive` in ITC-CAP is `data.archive`: lifecycle, immutability,
retrieval tests. Postgres with an append-only trigger is
`operations.audit`, recovered through someone else's `data.backup`.
Requiring the string `archive` to start the pod taught the platform
the wrong word.
**A trigger is not tamper evidence. Unknown retention is not infinite
archive.**
The runtime role cannot UPDATE. A database owner can drop the trigger.
`None` days is a missing deletion policy, not a measured forever. The
recoverable window is the platform backup. Say so, with a basis.
**Do not write the proof into the same restore as the table.**
A chain-head in the Barman prefix dies with the events it attests.
Cite a copy outside `platform-pg`. Do not invent a new bucket to look
finished.
## Durable legacy
- `AUDIT-WP-0006` finished (`8d775ffb`); live `/readyz`
`custody_class=operational`, `recoverable_days=30`
- `AUDIT-WP-0007` finished (`97946512`); live `tamper_evidence=true`
- `docs/integrity.md`, migration `0006-chain`
- `data/capability/audit-core-operational.json``operations.audit`
D4, `data.archive` unprovided, `integrity_verification` measured
- `docs/evidence/chain-head-20260816.json` — 30 events, intact
- `deploy/senders-scope.json` / ConfigMap overlay
- Images `sha256:05fe1c06…` then `sha256:7febc28e…` on railiance01
- Commits on `audit-core` `main` through `b463df8`
## Visual prompt
> A night workshop in gold-wire technical illustration on deep indigo.
> A working ledger sits on an open table, not in a sealed vault alcove
> whose empty niche is labelled only by absence. A single pale-gold
> chain runs through the pages; one link is tested by a dark crack
> that the chain still reports. On the wall a narrow moonlit window
> marks a thirty-day recovery, not an infinite vault. A neighbouring
> chest is cited by a thin thread, not absorbed. Patient, exacting,
> unhurried. Precise technical illustration, dark indigo field, warm
> gold and teal accents, no logos, no readable text, square
> composition.
![Archive is a catalog word, not a start-gate string](../visuals/grok-019ff826-audit-core-honest-custody.jpg)
## Handoff
This stretch is finished. Do not raise the provision to D5 without
measured reliability (one replica, no drill cadence). Do not build
`data.archive` until a founder decision and a resource-control
procurement of a bucket that is not Barman.
The next interesting work is not another rename. It is either a
second live sender (OpenBao audit path) or the archive decision. Do
not put the chain-head attestation in `platform-pg/`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB