Repository navigation
Re-lay out this repository's store under ns/<namespace>/ (issue 10) - #156
Open
Hafeok wants to merge 2 commits into
Conversation
This was referenced Oct 9, 2026
Open
Hafeok
force-pushed
the
claude/great-feynman-zcdsdd-step-02-legacy-history
branch
from
October 11, 2026 06:12
a07559d to
11063a9
Compare
Hafeok
force-pushed
the
claude/great-feynman-zcdsdd-step-10-repository-store
branch
from
October 11, 2026 06:13
92b8e57 to
efc4bc5
Compare
Hafeok
added a commit
that referenced
this pull request
Oct 11, 2026
…s included Issue #146 (PRD issue 3, §3.7; ruling 45; AC-45). A file's namespace is its directory (LP-3.34), so every entity under `ns/<ns>/` belongs to `<ns>`. `verify::belonging` makes each one that does not a `SCHEMA` fault naming the entity: a decision id of another namespace, a version or an acceptance of such a decision, a binding or a policy whose `namespace` is another, a revocation of an acceptance or a grant filed under another directory, a grant acceptance or an interval naming a grant filed elsewhere, an availability ending an interval filed elsewhere, and a sidecar under a namespace other than its entity's. A record whose target is not filed is already a fault and is left to that finding; a candidate the writer could home nowhere is judged by the finding that says why, not here. No class is added. Tests (each failing before the change): `belonging_tests` over in-memory stores (a decision, its version and its acceptance of another namespace each named; a binding, a policy and a revocation target of another namespace named; an unhomed candidate left alone), and `ledger-cli/tests/belonging.rs` over stores the verbs built and a hand misfiled: a decision of B under A, an acceptance of B under A, a revocation under A of B's acceptance (and the same revocation under B in its place), and B's opening change-set under A, its policy and binding named. One unit-test store had homed a `fixture.ledger` policy under a `hafeok.ledger` file; its policy now names the file's namespace. Protocol: LP-3.33 loses its not-implemented mark and its note; LP-8.8 gains the clause; Appendix B row; Appendix C note "An entity outside its namespace's directory is refused". No digest moves; no committed file in this repository is mixed (0 of 187). Stacked on #156 (issue 10). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgRcHXmnAu43hChNxhnqxU
Issue #153 (PRD issue 10, §3.11; rulings 63 and 97; AC-82 on this repository). One commit moves the files, byte for byte, as §3.11 lists: `.decisions/sets/ddd-governance.yml` and `hafeok.ddd`'s 164 log files to `.decisions/ns/hafeok.ddd/`; `.decisions/sets/ledger-design.yml` and the other 23 log files to `.decisions/ns/hafeok.ledger/`. No file holds two namespaces, so each goes where its decisions live. No record is written and no move act is filed (ruling 95). Both exports regenerate to the same bytes: set IRIs stay as they are until issue 18, and nothing an export carries read a path. With the legacy capability (issue 2) `ledger verify --export` is conformant, and its output is `main`'s line for line: 284 entries, 93 decisions, the same three awaiting acceptance, the same two notices, the export line; blame on, so every acceptance's `L009` author is the same as before the move. Without the capability the verifier refuses with exit 2, naming the first flat commit, cfff91d (Ledger L0 phase 4, 2026-08-10). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgRcHXmnAu43hChNxhnqxU
The companion of the re-layout commit (issue #153). Three tests over this repository's own store: the layout is one directory per namespace, with 164 and 23 change-sets where §3.11 puts them; with the legacy capability `ledger verify --export` is conformant with blame on, so every entity's `L009` author and immutability verdict is as before the move; without it the verifier refuses with exit 2, naming the first flat commit that `git log` reports, and never says conformant (skipped in a clone that does not carry the flat history). The protocol's v1.9 note records the re-layout, and the ledger README's path map names the new log path. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgRcHXmnAu43hChNxhnqxU
Hafeok
force-pushed
the
claude/great-feynman-zcdsdd-step-02-legacy-history
branch
from
October 11, 2026 06:22
11063a9 to
25ab27a
Compare
Hafeok
force-pushed
the
claude/great-feynman-zcdsdd-step-10-repository-store
branch
from
October 11, 2026 06:22
efc4bc5 to
ef2ce1a
Compare
Hafeok
added a commit
that referenced
this pull request
Oct 11, 2026
…s included Issue #146 (PRD issue 3, §3.7; ruling 45; AC-45). A file's namespace is its directory (LP-3.34), so every entity under `ns/<ns>/` belongs to `<ns>`. `verify::belonging` makes each one that does not a `SCHEMA` fault naming the entity: a decision id of another namespace, a version or an acceptance of such a decision, a binding or a policy whose `namespace` is another, a revocation of an acceptance or a grant filed under another directory, a grant acceptance or an interval naming a grant filed elsewhere, an availability ending an interval filed elsewhere, and a sidecar under a namespace other than its entity's. A record whose target is not filed is already a fault and is left to that finding; a candidate the writer could home nowhere is judged by the finding that says why, not here. No class is added. Tests (each failing before the change): `belonging_tests` over in-memory stores (a decision, its version and its acceptance of another namespace each named; a binding, a policy and a revocation target of another namespace named; an unhomed candidate left alone), and `ledger-cli/tests/belonging.rs` over stores the verbs built and a hand misfiled: a decision of B under A, an acceptance of B under A, a revocation under A of B's acceptance (and the same revocation under B in its place), and B's opening change-set under A, its policy and binding named. One unit-test store had homed a `fixture.ledger` policy under a `hafeok.ledger` file; its policy now names the file's namespace. Protocol: LP-3.33 loses its not-implemented mark and its note; LP-8.8 gains the clause; Appendix B row; Appendix C note "An entity outside its namespace's directory is refused". No digest moves; no committed file in this repository is mixed (0 of 187). Stacked on #156 (issue 10). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GgRcHXmnAu43hChNxhnqxU
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #153 (PRD §6 issue 10, §3.11; rulings 63 and 97; AC-82 on this repository). Stacked on #155 (issue 2), which it depends on. It is taken before issues 3 to 9 so that every later pull request is green on the
ledger verify --exportstep: this is the commit that makes #154 and #155 green, and the three are meant to merge together.The move. One commit (
10eaf151) moves the files, byte for byte, as §3.11 lists:.decisions/sets/ddd-governance.ymlandhafeok.ddd's 164 log files to.decisions/ns/hafeok.ddd/;.decisions/sets/ledger-design.ymland the other 23 to.decisions/ns/hafeok.ledger/. No file holds two namespaces (scanned). No record is written, no move act is filed (ruling 95). Git shows 189 renames and no content change.The exports. Regenerated with
ledger export --format ntriples: both files are byte-identical tomain's, as expected since set IRIs stay as they are until issue 18 and nothing an export carries read a path. No IRI was changed.The run with the capability.
ledger verify --export, blame on, is conformant and printsmain's output line for line: 284 entries, 93 decisions, the same three awaiting acceptance, the same two notices, the export line. Conformant with blame on means every acceptance'sL009author is as before the move, since the pickaxe follows each file's lineage (issue 2). 43 s on this clone.The run without the capability.
ledger verify --export --no-legacy-layoutrefuses with exit 2, naming the first flat commit,cfff91d61c69e2d32b89f61b9109c2b1a57b4a1b(Ledger L0 phase 4, 2026-08-10), and never says conformant.Tests (
ledger-cli/tests/repository_store.rs, second commit): the layout (164 and 23 change-sets where §3.11 puts them, no flat path); conformant with the capability, blame on; refused without it, naming the commitgit logreports (skipped in a clone without the flat history). The protocol's v1.9 note records the re-layout; the ledger README's path map names the new log path.cargo build,cargo t, clippy,ledger verify --exportandddd validatepass on this branch.🤖 Generated with Claude Code
https://claude.ai/code/session_01GgRcHXmnAu43hChNxhnqxU
Generated by Claude Code