name: the tree keel already derives for authority now names things too #109

Merged
PerishFire merged 1 commit from name-law into main 2026-07-21 15:16:16 +00:00
Owner
No description provided.
name: the tree keel already derives for authority now names things too
All checks were successful
guard / guard (pull_request) Successful in 1m30s
311b599507
Four codehull units wear a hand-written path — OrgLabel, OrgRunner,
OrgSecret, UserKey — because the unit namespace was recorded as FLAT by
design. That record was a non-sequitur. `/org/label` is unavailable
because the route grammar's second segment is an id, which rules out `/`
as a separator; it does not rule out a hierarchical name. The flatness
came from ddl::table() being one to_ascii_lowercase(), and the route law
was read backwards as its justification.

Meanwhile capability.md already says every unit derives its root chain,
C-1 already walks it, and transfer already moves a subtree along it. The
tree exists and is load-bearing. Identity was the only thing discarding
it, so a flat namespace did what flat namespaces always do: the hierarchy
got encoded into the leaf names, exactly as pthread_create and NSString
encode theirs.

This law separates the two spaces. Declaration stays flat — units never
nest syntactically, so hierarchy stays data and transfer keeps working.
Identity becomes `{root}:{name}`, derived from the root relation the
author already wrote, so every declared name is one atom again.

Scope is exactly one segment, and that bound is a detector rather than a
ceiling: needing a third segment means two same-named units under two
same-named units, which is a modeling error, and bind says so.

`:` carries containment and `.` keeps possession — pack bag keys already
spell student.courses, so one separator for both would recreate at a
smaller scale the exact overload this law removes.

The full key is the only identity: everything persisted or compiled
holds it, and a short name is an explicit fallible resolution rather than
an implicit widening. Nothing stored can turn ambiguous as the schema
grows, because nothing stored was ever short.

Law only. No engine change lands here.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PerishFire deleted branch name-law 2026-07-21 15:16:17 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishLab/keel!109
No description provided.