Add OntoDAG to Libraries - #40
Conversation
* chore: add .gitattributes normalising text files to LF README.md is the only file in the repository with CRLF endings; it was LF from the initial commit until a single edit in April 2026 introduced them. Contributors on normalising editors therefore rewrite all 150 lines, turning one-line additions into ~150-line diffs (#40, #41) and creating avoidable conflicts between PRs that append to different sections. merge=union on the lists keeps both sides when two branches each append a different entry, matching sindresorhus/awesome. Refs #42 * chore: normalise README.md line endings to LF No content change: the file is byte-identical once carriage returns are stripped. Isolated in its own commit so the one-off 150-line diff is reviewable here rather than buried in a contributor's feature PR. Refs #42
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
crtahlin
left a comment
There was a problem hiding this comment.
Approving — entry checks out.
- Format: 141 characters, sentence case, link resolves, not already listed.
- Repository: public, not archived, BSD-3-Clause, actively developed.
- Swarm relevance:
recordstoreis a base dependency rather than an optional extra, so Swarm persistence works on a bare install; signed-feed roots andodag swarmback that up. - Description accuracy: "coordination-free merge between writers" is shipped —
EagerOntoDAG.synclanded in 0.5.0. Worth notingdocs/SWARM_DESIGN.md§5 is still headed "not yet implemented", which understates the current state; you may want to refresh it. - Libraries is the right section, alongside
recordstoreandswarmfs.
I rebased the branch onto main and force-pushed, since #43 normalised the repository to LF line endings and landed between your submission and this review. That turned the diff from +152/−150 into the two lines actually being added; your authorship is unchanged. Apologies for touching your branch — it was our change that caused the conflict, and the fix was already verified locally.
The section heading, its "Not started." paragraph, and the claim that SwarmFeedPointer is "a documented stub" all predate the work and were contradicted by an update block lower in the same section — so a top-down reader concluded the opposite of the truth. What actually shipped: EagerOntoDAG.sync (0.5.0), delta-driven via RecordStore.diff since 2026-08-04 and available on SparseOntoDAG too; SwarmFeedPointer real since recordstore 0.4.0 (secp256k1 SOC signing), adopted by the swarm:NAME backend and validated on a live Gnosis-mainnet node. FilePointer is now described as the deliberate keyless fallback it is, not as a stand-in for missing signing. Kept explicit as open: the tombstone / observed-remove decision (the shipped stance is grow-only) and the GSOC operation feed, which is an optional transport on top of the fold rather than a prerequisite. Raised by crtahlin reviewing ethersphere/awesome-swarm#40, where the stale section undercut the entry's own "coordination-free merge between writers" claim. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Thanks for the thorough review — and no apology needed for the rebase, #43 was your side keeping the repo tidy and the diff is right. You were correct about |
Adds OntoDAG to the Libraries section.
What it is. A Python library and
odagCLI for a subsumption-only ontology: a multi-parent category DAG kept in transitively reduced form, queried by intersecting descendant cones. Categories can carry typed values (weight(3kg),time(2026-08-15)) whose order is computed exactly from the name, with no edges stored.Swarm relation. Persistence is a first-class Swarm backend:
odag set store swarm:NAMEstores records through Bee's/bytesendpoint via recordstore (already listed here) and publishes the mutable latest-root in a signed Swarm feed, so a store can be followed and rehydrated from the network alone. Because the transitive reduction of a DAG is unique, equal knowledge yields the byte-identical root regardless of insertion order — which is what makes stores diffable, mergeable between writers without coordination, and verifiable (is_belowanswers ship with proofs against the root). Validated repeatedly against a live Bee light node on Gnosis mainnet, including scorched-earth rehydration purely via the feed.Checklist
BSD-3-ClauseLICENSE, active (last push 2026-08-07).README.md/archived.md, and no open PR or issue for it.🤖 Generated with Claude Code