A policy-as-code capable authorization registry/control-plane service.
Find a file
tegwick e8d6d08f79
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Container Image / build-and-push (push) Successful in 1m4s
Make the B1 survey a command, which immediately falsified B1.
B1 was found with a shell pipeline and published as a finding. The review it
appeared in had already argued that a mechanical check nobody can re-run is an
assertion, and §11's entire claim is mechanical checkability — so asserting B1
unmechanically was that defect committed by the repository reporting it.

tools/survey_layer_declarations.go reads both §11 forms per repository, reports
intra-repository disagreement, and writes a receipt. Run once, it showed the
published B1 was wrong: the estate does not spell layer: three ways across
repositories. The original pipeline took the first ^layer: match per repository
without recording which file it came from, reporting one value where there were
two.

The corrected finding is stronger. Nine of nine repositories carrying both §11
forms declare a different value in each: INTENT.md says Engine/Staff, layer.yaml
says engine/staff. The disagreement is within each repository, between the two
forms §11 permits, and it is universal rather than careless — two generators, two
conventions. Nobody is inconsistent with anybody else.

That relocates the question from casing to precedence: §11 accepts either form
and does not say which governs when both exist and disagree, so a conformance run
reading INTENT.md and one reading layer.yaml reach different answers for nine
repositories while both follow §11. flex-auth is the only declared repository
that cannot exhibit this, and only because it never wrote the second file.

The correction is recorded in the review rather than edited away: a published
review corrected silently is FLEX-DEC-2026-008's defect, and that rule has no
exception for the reviewer.

Four tests cover the disagreement case, the refusal to fold case, a missing
declaration, and the single-form shape that must not read as self-disagreement.
The survey checks only the §3 vocabulary and never applies flex-auth's house
rules to peers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 28468@bnt-lap001
Assistant-Session: c76569b2-6056-4dad-aea4-49cd7a018f5d
2026-09-21 01:24:15 +02:00
.claude/rules docs: workplan-first agent guidance prose (CUST-WP-0055 T04 batch 2) 2026-07-08 16:41:17 +02:00
.forgejo/workflows Publish images via CI; file staged-promotion overlay debt 2026-08-11 10:35:34 +02:00
.github/workflows Land foundations: assessment, ADR-001/002/003, FLEX-WP-0005, Go skeleton 2026-05-16 01:54:44 +02:00
.repo-manager Publish approval_binding_digest: a claim cannot name the request carrying it 2026-09-06 14:52:33 +02:00
charts/flex-auth Enforce caller-auth on flex-auth-user-engine and record the live A2 probe 2026-08-19 14:00:53 +02:00
cmd/flex-auth Record authenticated caller in the decision envelope. 2026-09-14 04:44:07 +02:00
decisions Prepare the access-engine repository coordinate without applying the rename. 2026-09-15 23:38:48 +02:00
deploy Enforce verified secrets-engine operator caller identity 2026-09-06 23:38:36 +02:00
docs Make the B1 survey a command, which immediately falsified B1. 2026-09-21 01:24:15 +02:00
examples Admit T03 version-two reviews while preserving current sitting records 2026-09-16 01:08:56 +02:00
history Align INTENT and SCOPE to security layer model v0.7; plan conformance work 2026-08-29 14:43:49 +02:00
intakes chore(registrar): assign State Hub identifiers 2026-08-29 02:45:11 +02:00
internal Make the B1 survey a command, which immediately falsified B1. 2026-09-21 01:24:15 +02:00
pkg/api Sign decision envelopes and close FLEX-WP-0024. 2026-09-14 09:57:50 +02:00
railiance Pin deployed secrets-engine tenant policy v2 2026-09-06 21:39:10 +02:00
registry Add capability registry with seed entry from reuse-surface 2026-06-16 01:46:54 +02:00
schemas Sign decision envelopes and close FLEX-WP-0024. 2026-09-14 09:57:50 +02:00
tests Enforce caller-auth on flex-auth-ops-warden (FLEX-WP-0016-T03) 2026-08-19 20:10:31 +02:00
tools Make the B1 survey a command, which immediately falsified B1. 2026-09-21 01:24:15 +02:00
values Admit T03 version-two reviews while preserving current sitting records 2026-09-16 01:08:56 +02:00
workplans Make the B1 survey a command, which immediately falsified B1. 2026-09-21 01:24:15 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-09-21 00:16:08 +02:00
.gitignore Land foundations: assessment, ADR-001/002/003, FLEX-WP-0005, Go skeleton 2026-05-16 01:54:44 +02:00
.golangci.yml Land foundations: assessment, ADR-001/002/003, FLEX-WP-0005, Go skeleton 2026-05-16 01:54:44 +02:00
.repo-classification.yaml Human-review .repo-classification.yaml (CUST-WP-0050 follow-up) 2026-06-22 17:56:17 +02:00
AGENTS.md docs(agents): repoint remote State Hub URL to the in-cluster address 2026-08-25 00:21:00 +02:00
CLAUDE.md Add credential routing instructions for all agent runtimes 2026-06-18 22:48:37 +02:00
Containerfile Package flex-auth policy service 2026-08-09 01:35:30 +02:00
Containerfile.t03-review Admit T03 version-two reviews while preserving current sitting records 2026-09-16 01:08:56 +02:00
go.mod Implement policy package loader 2026-05-17 05:30:40 +02:00
go.sum Implement policy package loader 2026-05-17 05:30:40 +02:00
INTENT.md Make the layer declaration a boundary, and review the boundaries it implies. 2026-09-21 00:11:56 +02:00
LICENSE Adopt Target Revenue Source License V1C1 (org-wide preliminary rollout) 2026-07-30 00:16:31 +02:00
Makefile Finish FLEX-WP-0019 layer-model v0.7 conformance 2026-09-03 23:48:45 +02:00
README.md Prepare the access-engine repository coordinate without applying the rename. 2026-09-15 23:38:48 +02:00
SCOPE.md Make the layer declaration a boundary, and review the boundaries it implies. 2026-09-21 00:11:56 +02:00
tenancy.yaml fix(posture): remove redundant implemented level 2026-08-22 15:22:33 +02:00
WORK-RECORDS.md chore: write back FLEX-WP-0030 hub IDs and refresh WORK-RECORDS.md 2026-09-21 00:16:22 +02:00

flex-auth

Policy-as-code authorization registry and control plane for NetKingdom-aligned systems.

The live Forge and State Hub coordinate is still flex-auth (repository UUID fda8ad85-a7d7-4055-8f21-902a533e59df, Forge ID 42). FLEX-WP-0020 will rename that coordinate to access-engine and keep the Go module, binary, FLEX_AUTH_* variables, Helm releases, container package coulomb/flex-auth, and policy/API vocabulary unchanged. Work-record frontmatter stays repo: flex-auth until State Hub rebind. Planned clone: https://forgejo.coulomb.social/coulomb/access-engine.git.

Start with INTENT.md for the project boundary and direction. Research notes and ADRs live in docs/ and docs/adr/.

The product boundary is captured in SCOPE.md, and the current Product Requirements Document is docs/ProductRequirementsDocument.md.

The 2026-05-15 pre-implementation assessment that shapes the current sequencing is in docs/pre-implementation-assessment.md.

The CARING reference-implementation approach is captured in docs/caring-architecture-blueprint.md.

Workplans live in workplans/, with sequencing captured in docs/workplan-planning-map.md.