Skip to content

Authority per namespace: genesis, roles, grants; scopes read inside it; graph stage per namespace #148

Closed as not planned

Description

@Hafeok

Issue 5 of ledger/prd/namespace-independence-prd.md §6, opened on the principal's instruction (session ledger/sessions/2026-10-namespace-layout-authority.md).

Cites. PRD §3.2 (Authority records).

Size. L. Depends on. Issue 1.

Appendix C note. Yes.

Rulings carried. 47 (authority is per namespace; nothing in one namespace's authority has effect in another), 67 (the genesis grant's scope * is read as the whole of its own namespace), 68 (a governed store with more than one namespace is re-founded; no migration path), 50 per namespace.

What it builds. A grant, grant acceptance, unavailability, availability, revocation or role belongs to the namespace whose directory holds it; bindings and policies carry a hashed namespace that must equal the directory. A scope is read inside its own namespace: * and ns:<own> are the whole namespace, ns:<other> is a schema fault, set:<id> a set of its own namespace. Each namespace has its own genesis grant, declared in its own roles/; A003 and A005 count per namespace because the graph stage runs over each namespace's graph alone; the genesis-role rules of ruling 50 hold per namespace; the unbound-genesis notice is per namespace. No grant payload gains a namespace field (§3.12). Protocol: LP-6.5, LP-6.16, LP-6.28, LP-6.31 lose their marks and notes; LP-5.19, LP-5.22 (new), LP-8.19, LP-8.23, LP-8.31; Appendix B row; Appendix C note. The step also carries the test that no agent identity and no non-interactive session can produce an acceptance.

Acceptance criteria (§4.1).

  • AC-47 (first two bullets). Two namespaces, each with its own genesis grant: A003 and A005 do not fire. A rotate in A leaves B's acceptances, review items and allowed_signers unchanged.
  • AC-48. No grant payload gains a namespace field, and authority records stay in change-sets that hold no decision.
  • AC-68. A store with two governed namespaces built under today's rules fails v1.9 verification as the draft Appendix C note says.

Activity

  1. Hafeok commented on Nov 3, 2026

    @Hafeok
    CollaboratorAuthor

    Closed as not carried under D1.24`` and the definition's chapter 8:``` the Rust tool is frozen at rust-final and its tree left `main` in #166 (`53bd547`). This concerns the Rust ledger (its keys, namespaces or authority), which is Writ's authority graph now. The rewrite holds no key and no grant, and `writ import` reads `.decisions/` once, at the tag. Disposition approved on #165.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Effort

    None yet

    Progress

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions