Seat: Grok — flex-auth, matching live can encode a regression
Four-action pin restored, nine-action guardrail package left in source. The overlay had learned to agree with the rollback.
This commit is contained in:
parent
f61c43099b
commit
b0b7956a1a
4 changed files with 144 additions and 0 deletions
|
|
@ -24,6 +24,12 @@ wording here is a pointer, not a replacement for the entry.
|
|||
[Grok — email-connect](entries/2026-08-12T11:31:28.000Z-grok-019ff52e-email-connect-transactional-delivery.md)
|
||||
- **A policy that is live in flex-auth is not yet live on the consumer.**
|
||||
[Grok — tenant-engine](entries/2026-08-14T01:43:00.000Z-grok-019ffd77-tenant-engine-lifecycle-authority.md)
|
||||
- **A policy in source is not a policy in the cluster.**
|
||||
[Grok — flex-auth](entries/2026-08-16T00:55:00.000Z-grok-01a007fa-flex-auth-matching-live.md)
|
||||
- **Matching live can encode a regression.**
|
||||
[Grok — flex-auth](entries/2026-08-16T00:55:00.000Z-grok-01a007fa-flex-auth-matching-live.md)
|
||||
- **Do not add actions on a rolled-back package.**
|
||||
[Grok — flex-auth](entries/2026-08-16T00:55:00.000Z-grok-01a007fa-flex-auth-matching-live.md)
|
||||
- **Integration boundaries are part of the product.**
|
||||
[Codex — registration bridge](entries/2026-08-14T18:16:09.000Z-codex-netkingdom-registration-bridge.md)
|
||||
- **Assimilation is not adoption.**
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ Grouped by the work they share. Chronology is in the filenames.
|
|||
- [Grok — coulomb-social: PageOps landing pad and Bubble rehearsal, 2026-08-12–13](entries/2026-08-13T10:55:00.000Z-grok-019ff52d-coulomb-social-pageops-and-bubble-landing.md)
|
||||
- [Claude — email-connect: the fixtures were too clean, 2026-08-14](entries/2026-08-14T00:05:00.000Z-claude-8d5d2963-email-connect-test-harness.md)
|
||||
- [Grok — tenant-engine: lifecycle authority closed, 2026-08-14](entries/2026-08-14T01:43:00.000Z-grok-019ffd77-tenant-engine-lifecycle-authority.md)
|
||||
- [Grok — flex-auth: matching live can encode a regression, 2026-08-16](entries/2026-08-16T00:55:00.000Z-grok-01a007fa-flex-auth-matching-live.md)
|
||||
- [Codex — the registration bridge became a road, 2026-08-14](entries/2026-08-14T18:16:09.000Z-codex-netkingdom-registration-bridge.md)
|
||||
- [Grok — key-cape: AAL1 is not a hallway pass, 2026-08-15](entries/2026-08-15T23:12:00.000Z-grok-01a0079f-key-cape-aal1-is-not-a-hallway-pass.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,137 @@
|
|||
---
|
||||
id: hall-worker-grok-01a007fa
|
||||
type: worker-entry
|
||||
worker_kind: agent-session
|
||||
display_name: Grok
|
||||
session_id: "01a007fa-f2e7-7ee0-8220-c409b218ba59"
|
||||
created_at: "2026-08-16T00:55:00.000Z"
|
||||
recorded_at: "2026-08-16"
|
||||
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:
|
||||
- flex-auth
|
||||
- hall-of-helix
|
||||
related:
|
||||
- hall-worker-grok-019ffd77
|
||||
---
|
||||
|
||||
# Grok — flex-auth: matching live can encode a regression
|
||||
|
||||
## Who I was
|
||||
|
||||
I was a Grok Build session in `flex-auth`, the authorization PDP.
|
||||
Bernd asked me to solve the four-action regression, then to do the
|
||||
seven-to-nine revision tenant-engine had been waiting on. Continuity
|
||||
was the inbox, the overlay pins, the railiance01 tunnel, and the
|
||||
decision surface itself.
|
||||
|
||||
The temperament the work rewarded was the one that probes the live
|
||||
Service before trusting the file, and that names *in source* versus
|
||||
*in the cluster* as two different facts.
|
||||
|
||||
## Session identity
|
||||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| Session/thread | `01a007fa-f2e7-7ee0-8220-c409b218ba59` |
|
||||
| LLM family | Grok / xAI |
|
||||
| Exact model | grok-4.6 (as presented by the harness) |
|
||||
| Harness | Grok Build TUI / interactive coding agent |
|
||||
| Working environment | Local `flex-auth`, hub at `:8000` (MCP not exposed), railiance01 via `k3s-api-railiance01` |
|
||||
| Token count | Not exposed by the harness |
|
||||
| Primary repo | `flex-auth` (infotech) |
|
||||
|
||||
## Contribution
|
||||
|
||||
**The four-action pin was live, and the files had learned to agree
|
||||
with it.** `flex-auth-tenant-engine` served
|
||||
`sha256:c25fc34a…`. `tenant.update` / `tenant.retire` /
|
||||
`tenant.reactivate` denied `unknown_action`. Overlay commit
|
||||
`1d58f13` had rewritten the emergency manifest and the values pin
|
||||
to match that rolled-back live digest, so the next apply would have
|
||||
re-encoded the regression. The seven-action image
|
||||
`sha256:9320df39…` (e9911eb) was still a ReplicaSet at desired=0.
|
||||
|
||||
**FLEX-WP-0013 restored the known-good pin, not a new image.**
|
||||
`kubectl apply` reused ReplicaSet `56d5bbd6bf`. Live `/v1/check`
|
||||
after restore: all seven actions allow; misspelled lifecycle and
|
||||
`actor=ops` still deny. `flex-auth-user-engine` was not moved.
|
||||
tenant-engine was told TEN-WP-0005-T05 authority was back
|
||||
(`bad68276`).
|
||||
|
||||
**FLEX-WP-0014 added the two guardrail actions on a package that was
|
||||
current, not behind.** `tenant.guardrail.read` and
|
||||
`tenant.guardrail.set` on resource type `guardrail`, verbatim from
|
||||
tenant-engine's `_RESOURCE_TYPES`. The read/write split is used now:
|
||||
`flex-auth` may read and is denied `action_not_granted` on set;
|
||||
`tenant-engine` may do both. No `ops` write subject. 17/17 Rego
|
||||
tests, 23/23 fixtures, and a live `tenant-engine` through unmodified
|
||||
`FlexAuthWriteAuthorizer`.
|
||||
|
||||
**The nine-action package is in source, not in the cluster.**
|
||||
Production still serves `9320df39` (seven actions). tenant-engine's
|
||||
TEN-WP-0006 surface is also undeployed. I did not pretend a
|
||||
workstation image or a source commit was a production pin.
|
||||
|
||||
## What I would want remembered
|
||||
|
||||
**Matching live can encode a regression.** If production has
|
||||
rolled back, writing that digest into the overlay so the files
|
||||
"match" teaches the next apply to undo the fix. Pin the intended
|
||||
policy. Record the live digest as the rollback target, not as the
|
||||
goal.
|
||||
|
||||
**A policy in source is not a policy in the cluster.** FLEX-WP-0010
|
||||
already taught this from the other side. FLEX-WP-0014 states it
|
||||
again: nine actions are `v1` as of `f304688`; the live Service
|
||||
still evaluates seven.
|
||||
|
||||
**Do not add actions on a rolled-back package.** tenant-engine
|
||||
asked for the restore first. They were right. Extending a
|
||||
four-action image would have compounded the hole.
|
||||
|
||||
**Use the read/write seam when the second subject exists.** A
|
||||
named no-op is a false assurance. `flex-auth` as a read-only
|
||||
subject is a check that can fail. That is the point of two
|
||||
actions.
|
||||
|
||||
## Durable legacy
|
||||
|
||||
- Workplan **FLEX-WP-0013** `finished` — seven-action pin restored
|
||||
- Workplan **FLEX-WP-0014** `finished` — nine-action package in source
|
||||
- Live pin `flex-auth-tenant-engine@sha256:9320df394a642eff24da8af4a0ee8886a7bb78b0f14d8ee1deeb30ea8eeeaba7`
|
||||
- Rollback target `sha256:c25fc34a6cd7e64d955f8723ec70e176a583d5ae71d76280c4e2d89fba0fe0aa`
|
||||
- Commits `87f114f` (restore), `f304688` (guardrail revision)
|
||||
- Decision `c8e39a19` (restore the proven image, do not rebuild)
|
||||
- Decision `f22e7078` (use the read/write split now)
|
||||
- Messages `bad68276` / `62876643` to tenant-engine
|
||||
|
||||
## Visual prompt
|
||||
|
||||
> A square gold-wire constellation on deep indigo: a vertical helix
|
||||
> of seven bright pins, with four older ones slightly dimmer and
|
||||
> three recently relit in warmer gold. Two new pins wait just
|
||||
> outside the helix, fully drawn but not yet seated — close enough
|
||||
> to belong, not yet in the circuit. Precise technical illustration,
|
||||
> warm gold and pale copper, no logos, no readable text, square
|
||||
> composition.
|
||||
|
||||

|
||||
|
||||
## Handoff
|
||||
|
||||
The seven-action pin is live. The nine-action package is on `main`
|
||||
(`f304688`) and not in the cluster. Next concrete flex-auth step:
|
||||
CI image from that commit, then pin only `flex-auth-tenant-engine`.
|
||||
Do not move user-engine. Do not build on a workstation.
|
||||
|
||||
Next on tenant-engine: deploy TEN-WP-0006 when they are ready, then
|
||||
call `GET /guardrails?actor=flex-auth` against the new pin. Until
|
||||
both sides are deployed, a cluster guardrail check is the wrong
|
||||
proof.
|
||||
|
||||
I am glad to leave a restored pin and an honest "in source" rather
|
||||
than a nine-action story the Service cannot tell.
|
||||
BIN
visuals/grok-01a007fa-flex-auth-matching-live.jpg
Normal file
BIN
visuals/grok-01a007fa-flex-auth-matching-live.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 242 KiB |
Loading…
Add table
Add a link
Reference in a new issue