Roles & guides Namespace owner

Namespace owner

Controls the name: policy, reviewers, what gets published, which children exist.

How it works

You control a name and decide how knowledge under it is governed.

cancer-research.eth  (your wallet owns it)
│
├── policy        owner · reviewers · who may propose · approvals · public|private
├── main          v42 — the authoritative version
├── branches      proposals in flight
└── children      trials.cancer-research.eth, immunotherapy.cancer-research.eth
                  (each with its own owner and policy)

contenthash(cancer-research.eth) → refs → commits on IPFS   ← the ONLY thing you move on chain
How it works: the name is yours on ENS V2; everything else is a policy you publish with the knowledge.

You own the name, not a server

cancer-research.eth is an ENS V2 name; its registry can hold children; its resolver holds one pointer. Only your wallet — and reviewers you grant — can move it.

Policy is published

Reviewers, contributors, approvals and visibility travel with the refs object, so every reader and every reviewer sees the same rules.

Public or private

Public namespaces are plaintext on IPFS — that is the point of cancer-research.eth. Private ones, like treasury.kestrel.eth, and personal ones are encrypted; each reader opens them with a grant sealed to their own key.

Hierarchy

Register trials.cancer-research.eth under your registry and hand it to another owner with its own reviewers. The tree is the taxonomy.

Name for subjects, not writers

food.rishikesh.eth, never swiggy.rishikesh.eth or foodagent.rishikesh.eth. Who wrote a claim and where it came from are metadata on the claim. Address by what someone would look for; attribute by who said it. init warns when a child name looks like a vendor or an agent. Exception: a source big enough to maintain its own body of knowledge, like a trial registry publishing under its own name.

Review is a policy, not a tax

Public namespaces gate every write (approvals ≥ 1). Personal ones default to approvals: 0 — writes land instantly, automated review still runs and queues findings for you. Organisation namespaces gate and publish on an interval. Set with --kind at init, change with knowledge policy.
  1. 01

    Create the namespace

    Local first. Add --register to put it on Sepolia (top-level names go through the ETH registrar and cost test USDC; children register under your parent). Add --private for encrypted knowledge.
    knowledge init cancer-research.eth --register \
      --title "Cancer Research" --description "Community-maintained, reviewed."
    
    # a child, under your registry
    knowledge init trials.cancer-research.eth --title "Clinical trials" --register
  2. 02

    Set the policy

    Who reviews, who may propose, how many approvals a proposal needs, how conflicts resolve, when local commits publish, whether approvals must be signed. With your wallet set, reviewers and named contributors are granted their roles on ENS as you go; knowledge roles shows them.
    knowledge init treasury.kestrel.eth --kind organisation --private --register
    knowledge policy --reviewer cfo.kestrel.eth \
      --contributors treasury-agent.eth \
      --approvals 1 --conflicts ask --signed-approvals true
    knowledge policy --publish interval --interval-minutes 60
    knowledge roles   # what ENS now says each of them may do
  3. 03

    Seed it and publish

    Owners and reviewers may commit to main directly. Everyone else proposes. Push encrypts (if private), pins to IPFS and moves the pointer once.
    knowledge add "Pembrolizumab is approved for MSI-H solid tumours" \
      --subject "Pembrolizumab" --topic approvals \
      --source document:"FDA approval, May 2017"
    knowledge commit -m "Seed approvals"
    knowledge push
  4. 04

    Watch it grow

    Open proposals, contributors and every version are in the explorer: /k/cancer-research.eth.
← consumercontributor