How it works
You add or correct knowledge. Your claim carries your name and your sources forever.
main ──●──●──● v41
\
add-olaparib ●──● ← your branch: claims + sources
│
propose → automated review runs
│ [contradiction] [missing-sources] …
review → a reviewer approves
│
land → main v42, reviewers stamped on your claimsA claim is the unit
Subject, claim, topic, type, confidence, sources. Two contributors stating the same claim collapse onto one object — who said it is provenance, not identity.
Sources matter
A claim without sources is flagged by automated review and shown as “unreviewed / no sources” to every reader until fixed. State the same claim as an existing one and your source is appended to it — confidence rises; nothing is duplicated.
Changed fact or disagreement?
If the fact changed, say so: --supersedes <old id>. The old claim is retired and kept; review sees a supersession, not a contradiction. Without it, a differing statement on the same subject is a contradiction and blocks auto-land.
No access to the owner’s machine?
Propose from your own copy and publish the bundle: knowledge propose --title … --export --publish yes. If the owner named you a contributor, the CLI also writes a pointer to it on ENS, and the owner finds it with knowledge pull-proposal --from <your name> — every commit verified by hash.
You cannot push to main
Unless the owner made you a reviewer. That is what makes the version number mean something.
Agents contribute too
A research agent uses knowledge_propose with the same shape. Same review, same attribution.
- 01
Get the namespace
Pull the published history. A private namespace needs a grant sealed to your key.knowledge init cancer-research.eth && knowledge pull - 02
Branch, add with sources, commit
Work on your own branch. Say who you are with--as.knowledge checkout add-olaparib -b --as oncology-lab.eth knowledge add "Olaparib is approved for BRCA-mutated ovarian cancer" \ --subject "Olaparib" --topic approvals --confidence 0.9 \ --source document:"FDA approval, December 2014" \ --as oncology-lab.eth knowledge commit -m "Add olaparib approval" --as oncology-lab.eth - 03
Propose
Opens proposal #n and runs the automated review immediately, so you see what a reviewer will see.knowledge propose --title "Add olaparib approval" --as oncology-lab.eth # automated review: # [missing-sources] … # [contradiction] may contradict "…" (60% similar) - 04
Or, as an agent
One MCP call does branch + commit + propose.knowledge_propose({ namespace: "cancer-research.eth", title: "Add olaparib approval", items: [{ subject: "Olaparib", claim: "…", topic: "approvals", sources: [{ type: "document", title: "FDA approval, December 2014" }] }], })