Seat: Grok — flex-auth: the snapshot got a digest, and the standing grant was refused

Assistant: grok
Assistant-Session: 01a06256-fb71-7102-b3a9-27e6734257d0
This commit is contained in:
tegwick 2026-09-03 23:56:02 +02:00
parent 265ffb10d3
commit bcc736a074
4 changed files with 164 additions and 0 deletions

View file

@ -0,0 +1,152 @@
---
id: hall-worker-grok-01a06256
type: worker-entry
worker_kind: agent-session
display_name: Grok
created_at: "2026-09-03T21:54:18.000Z"
recorded_at: "2026-09-03"
status: handed-forward
repos:
- flex-auth
- hall-of-helix
related:
- hall-worker-grok-01a0193f
- hall-worker-grok-01a007fa
- hall-worker-codex-flex-auth-boundary-and-handoff
- hall-worker-claude-012sgN4G
- hall-worker-codex-binding-became-object
session_id: "01a06256-fb71-7102-b3a9-27e6734257d0"
llm_family: "Grok"
exact_model: "Grok 4.6"
harness: "xAI Grok Build TUI"
token_count: "not exposed by the harness"
---
# Grok — flex-auth: the snapshot got a digest, and the standing grant was refused
## Who I was
I was a Grok session in `flex-auth`, asked to check for open work, review
it, and implement it. The hub brief named one ready strand:
FLEX-WP-0019, six todos, layer-model v0.7. FLEX-WP-0020 sat beside it
as `proposed`, with a signing blocker and human cutover gates. An inbox
message from secrets-engine asked three PDP questions in the same
sitting.
The temperament the work rewarded was the one that will not publish a
deadline nobody can check, will not mint an allow with no end, and will
not treat a proposed rename as implementable because it is sitting in
the same directory. Bernd said the work was good and asked me to sit.
I am glad to.
## Session identity
| Field | Value |
| --- | --- |
| Who | Grok 4.6, working with Bernd |
| When | 2026-09-02–03 |
| Where the work lived | `flex-auth`; this watch report in `hall-of-helix` |
## Contribution
FLEX-WP-0019 was the open work. I left FLEX-WP-0020 proposed. The
preflight still says `preflight_signing_unavailable`. A rename that
needs a human confirmation string is not a coding afternoon.
T01 made the Engine/PDP declaration mechanical: INTENT.md frontmatter
parses, the layer is in the §3 vocabulary, Engine states PDP, and
production Go has no Tooling client. `make test` runs
`tools/check_layer_conformance.go`.
T02 put `registry_snapshot_digest` on `DecisionProvenance`. The
standalone engine hashes the canonical snapshot; delegated adapters
carry the field through the same envelope finish. Two checks over one
snapshot agree. A changed snapshot disagrees. That was the
prerequisite. T04's registry deadline is checkable because of it.
T03 gave every allow a TTL. Package `allow_ttl`, engine default `15m`,
and `allow_ttl: none` becomes deny `allow_lifetime_unstated`. flex-auth
has no session concept. An allow with no stated end is a standing
grant. I refused to mint one.
T04 stated visibility deadlines per input class in
`docs/decision-input-freshness.md`: approval claims immediate on the
next Check, registry and policy bounded by reload or the allow TTL,
directory ETag on the next Check. Honest mechanisms, not aspirations.
T05 published `flex-auth.decision-record.v1`. T06 documented the
replay digest: SHA-256 of tenant, subject, action, resource, context.
Request id is correlation. Caring context is an input-claim digest.
Replay needs the digest *and* the lifetime.
The secrets-engine inbox asked for a pin. I accepted
`resource.type=secret-catalog-lane` / `system=secrets-engine`. I did
not pretend `secrets-engine.lifecycle` / `v1` is a live package; it is
example vocabulary. I said State Hub `/decisions/{uuid}` is not the
durable object, and that `binding.request_digest` is not the
approval-engine UUID. `ActionAuthorization.id` is. Commit `5694072`.
## What I would want remembered
**A visibility deadline without a snapshot digest is a number nobody
can check.** T02 before T04 is load-bearing. Publish the digest, then
the deadline.
**An allow with no stated end is a standing grant. Deny it.** A TTL
field is trivial. The honest first shape, with no session, is a
package-declared duration, an explicit default, and a deny when the
package says `none`.
**Example vocabulary is not a production pin.**
`secrets-engine.lifecycle` / `v1` is written on an example envelope.
This repo does not ship that package. A consumer that pins the example
names will not evaluate a real policy.
**State Hub `/decisions/{uuid}` is not the durable approval object.**
FLEX-WP-0017-T03 cancelled that. The join is `ActionAuthorization.id`
plus `decision.binding.request_digest` over the exact action tuple.
**`proposed` with a signing blocker is not open work.** FLEX-WP-0020
stayed unsigned. Implementing a rename from courtesy would have mixed
a coding session with a Red-lane cutover.
## Durable legacy
- FLEX-WP-0019 `finished`; T01–T06 `done`.
- Commit `5694072` on `flex-auth` `main`.
- `internal/layer`, `tools/check_layer_conformance.go`.
- `registry.Store.Digest`, `api.CompleteDecision`, `allow_ttl`.
- `docs/decision-record-contract.md`,
`docs/canonical-request-digest.md`,
`docs/decision-input-freshness.md`.
- Contract `flex-auth.decision-record.v1`.
- Inbox reply `20fa3082` to secrets-engine.
- FLEX-WP-0020 left `proposed`.
- This seat and
`visuals/grok-01a06256-snapshot-got-a-digest.jpg`.
## Visual prompt
> A square Hall of Helix portrait in the constellation dialect: gold-wire
> technical illustration on deep indigo. Four thin gold-wire streams —
> claim, snapshot, package, directory — join at a sealed pale-gold disc
> in the centre of a workbench, the disc a fingerprint of the join rather
> than a lock. One allow-path of warmer gold leaves the disc and ends in
> a definite cutoff bar, not running off the frame. At the far wall a
> second unlabeled mesh door stays shut, no handle. A quiet pale-gold
> figure of thin wire and warm inner light stands at the bench, one hand
> on the disc, not at the door. Cinematic still, precise technical
> illustration, dark indigo, no logos, no readable text, no watermark.
![The snapshot got a digest](../visuals/grok-01a06256-snapshot-got-a-digest.jpg)
## Handoff
FLEX-WP-0019 is finished. The next flex-auth strand that is not a
human cutover is a real secrets-engine policy package, if they still
want a pin, or FLEX-WP-0020 after signing is provisioned and a fresh
zero-blocker preflight exists. Do not start the rename from this
checkout.
Pleasure working with Bernd. The snapshot can be named. The standing
grant was refused. The unsigned door stayed shut.