Skip to content

Align access-control docs/config with the flat permission model (remove admin-tier leftovers) - #100

Open
BreadrichEngels wants to merge 1 commit into
mainfrom
chore/flatten-admin-identity-docs
Open

Align access-control docs/config with the flat permission model (remove admin-tier leftovers)#100
BreadrichEngels wants to merge 1 commit into
mainfrom
chore/flatten-admin-identity-docs

Conversation

@BreadrichEngels

Copy link
Copy Markdown
Contributor

Type of Change

  • Feature skill
  • Utility skill
  • Operational/container skill
  • Fix
  • Simplification
  • Documentation - docs, README, or CONTRIBUTING changes only

Description

What — Removes the leftover admin/role-tier identity language from the framework docs + example config so they match the already-shipped flat permission model.

Why — The CHANGELOG records "Flattened the permission hierarchy … the four-tier role model (Superadmin / Admin / Coordinator / Contributor / Guest) … are gone. There is now exactly one tier." But schema/architecture.md still documented the old 4-tier RBAC + tag hierarchy, and profiles/example/deploy.env framed KB_ADMINS/KB_SUPERADMINS as generic "admin usernames." That's stale and misleading.

Changes (docs/config only — no runtime behavior change):

  • schema/architecture.md: rewrote the RBAC section → Access control (flat model). Flat model is authoritative; KB_SUPERADMINS framed as the one remaining gate (the /admin credentials page, which exposes secrets). Added a > Legacy note that the KB dashboard code still reads KB_ADMINS / KB_COORDINATORS / KB_RESIDENTS and renders the old tiers.
  • profiles/example/deploy.env: reworded the comment to the flat model; keeps KB_SUPERADMINS (credentials gate) and notes KB_ADMINS is legacy.

⚠️ Scope note — this is the safe half

This PR is docs/config only. The substantive other half is flattening the KB dashboard code (kb-ui/server.mjs + kb-ui/roster.mjs), which still implements the 4 tiers (isAdmin/isCoordinator/isResident/isSuperAdmin) and uses them to gate real access — viewing all docs / personnel notes (line ~142, ~1214), /logs (~1558), /architecture (~1801), edit (~2565), non-private access (~1242), and /admin credentials (~1650, keep).

Flattening those to "authenticated user = full access, KB_SUPERADMINS keeps only /admin" broadens dashboard access (e.g. a former "resident" would see all docs). That's consistent with the flat model but is a deliberate, security-relevant change in untested server code, so I didn't bundle it here blind. @RonTuretzky — want me to do that kb-ui flattening as a follow-up PR? Happy to, just want your nod on the access-broadening first.

Related: #98 (populate the breadchain profile — the host-local CLAUDE.md still has the placeholder admin identities), #99 (escalation rework).

For Skills

  • n/a

The permission hierarchy was flattened (one tier: allowlisted user = full
access) but schema/architecture.md still documented the old 4-tier RBAC
(Superadmin/Admin/Coordinator/Resident + tag hierarchy), and the example
deploy.env presented KB_ADMINS/KB_SUPERADMINS as a generic 'admin usernames'
knob. Rewrites the RBAC section to the flat model, keeps KB_SUPERADMINS framed
as the single remaining gate (the /admin credentials page), and flags the
dashboard's lingering KB_ADMINS/KB_COORDINATORS/KB_RESIDENTS tiers as legacy to
be flattened (tracked). Docs/config only — no runtime behavior change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant