One record per real thing, merged across an estate
The estate directory — one record per real thing, emitted as fragments by each repository and merged into a single world model every property renders a view over.
Each repository emits a fragment describing the things it actually knows about. This merges them into a single world model that every property renders a view over — so an organisation, a person or a product has one record, not nine pages that quietly disagree.
Every repository emits a fragment — the nodes and edges it is the authority for — and the fragments merge into one graph every property renders a view over. Nothing is copied between repositories, so nothing can drift. Ids are `prefix/slug`, permanent, and never reissued, across thirteen node kinds and fourteen edge types.
The merge is where estate-wide rules are enforced: it reports contradictions rather than picking a winner, so two doors that disagree are a finding, not something to average. `declareEmitters` records which machine an org operates to sign its edges, so provenance is a citation to something declared rather than to nothing.
Authority is federated because a repository knows what it owns and nothing else reliably does — a central seed script works on one laptop and fails on every runner.
Installing it puts this command on your path — read from the package’s own manifest, so this list cannot drift from what you actually get.
flashyos-directoryThe estate-wide merge catches contested authority and dangling references, but it runs elsewhere and cannot say which repository caused them — so the Directory workflow validates each repository’s fragment at the point it is made, failing a bad fragment where it is written. The estate graph is separately assembled over the network from published URLs, not from local checkouts, so it proves the estate publishes what it claims. Verify a fragment yourself with `npx @flashyos/directory` against your own file.
Apache-2.0, read from the package’s own manifest. Embed it in anything, including closed software — that is what makes a spec adoptable and a verifier worth running. FlashyOS’s server side is AGPL-3.0-only instead, and a test in the monorepo asserts the direction between them: AGPL code may consume this, this may never consume AGPL code.