My desert island post reminds me of a story. When I was a freshman in high school we read Lord of the Flies. To kick it off, we had to show what we had in our pockets to see what we could build, etc. I had a pocket full of electronic parts that could conceivably build a radio, along with LEDs, a bunch of logic gates and a 5 volt regulator (lm309k). I'm sure there must have been a 555 timer too. I always had one of those. My pockets were banned from the scenario in disgust by our teacher.
My entire sojourn into origin and graph definitions this morning was because I realized all integrations of knowledge when fully distributed centered around the graph (heptad element 1). I'm grooving on HTML presentation, and don't want to modify the heptads, as they have signatures. They are cumulative, so if Alice posts an origin page (index.html) and Bob wants to collaborate, Bob could either build off of Alice's graph directly by using the same ID, or just use Alice's predicates. By decoupling, it allows Bob to do stuff like use a different signature algorithm or expand the model in a different way. There should also be a similar choice for all nodes in collaboration. Bob might want to correct Alice's value. This is going a bit wide, but if Alice likes everything that Bob corrects except for a handful, Alice could exclude the edge made by quad. To picture how I intend this to work in reality, imagine multiple people just publishing a collection of HTML pages on the WWW. References to the graph could be set as an attribute. If Bob and Alice are working the same model, the graph "node" would have a URI reference. It could also have an nprofile or npub (although that limits the flexibility in Nostr land). I had to iron this out a bit and brainstorm (with myself... publicly in my ship's log) to get my bearings. Well... back to the JavaScript mines for now.
Notice that by removing physical, signature, and even ID bindings to URIs, message form, or algo, it is completely portable. I can assert a new form of signature algo at any time. Of course, you'd have to trust that I controlled the private key and you had a public ID that matched.
The root graph is always weird. Consistency appears to go away. This is the heptad for setting the signature algo:
[
"1d6af935-4fce-4880-b02f-2d06d745f617",
"1d6af935-4fce-4880-b02f-2d06d745f617",
"sig_algo",
"20260703T164458062Z",
"Ed25519",
"lxVBtHHttRoSq_isZPq3VCNJvU6Ks6dPuZ4RhAvfbcc",
"wi4LFiWPLsLNLbTlMFcqlBA7oPbY34aYKOd6qcLwMDFprepeoZzWLh-6vuYauZcGY2qh8ytF_7G2FeGydRgJCA"
]
In the graph (domain) of 1d6af935-4fce-4880-b02f-2d06d745f617, the 1d6af935-4fce-4880-b02f-2d06d745f617 subject has an attribute of sig_algo of Ed25519. This also explains what form the ID (heptad 5) is in (an Ed25519 public key). This is related to naked WWW domains.
The graph node (heptad element 1) must have an attribute for signature algorithm, for example, Ed25519 or secp256r1. This ensured the knowledge model is not tethered to any unneeded constraints, physical or otherwise. The model is portable between all messaging platforms (MQTT, Nostr, ATProto, HTTP, SMTP, SMS). The models are cumulative. A delete is an attribute on a new assertion (much like on Nostr relays).
What the world hates is having to trace meaning from origin, rather than gleaning it from a knowledge assertion. Using an open-world assumption, it is completely valid to assert that `hasldkj - has_label - crunch` without declaring anything else about hasldkj. This comes up with WWW collaboration, as origin is likely /, or index.html. origin doesn't necessarily have a direct or inferred relationship to hasldkj.
When I say "heptads in the page", it is core information, not a supplementary markup like RDF. I realize that I'm getting at the core dream of the WWW and TBL's visions, but I just think it can be more direct. I have to dig in and see. So, for now, folks, :wq . I have to disappear for awhile.
Well... I think I just completely tilted my timeline. If the heptads *are in the HTML page*, they can be collaborated on just like the WWW, but with provenance and integrity. There is no need for messaging hacks/protocols/platforms, just the ability to fetch and publish documents on the WWW.
For domains where heptads are expressed directly by the browser, it is possible to have integrity and provenance directly from the HTML. Think of it as extremely scrappy and lightweight RDF (#BarrySmith of #suny would call it scruffy.) CSS could handle the layout directly. JS could layout/validate.
Heptad knowledge assertions reveal meaning within the app. With knowledge/material flow, this is most likely a layout and visualization program like #graphviz or #d3. But, for collaborative written language models like the original WWW, the assertions could be expressed directly in the browser.
MDN Web Docs can be run offline, but it is still a bit picky. Figure it out now and test before your network connection fails (or some other socio-political-economic event breaks your connection).

GitHub
GitHub - mdn/yari: The platform code behind MDN Web Docs
The platform code behind MDN Web Docs. Contribute to mdn/yari development by creating an account on GitHub.
If I was stranded on a desert island and could take one thing, assuming my physical needs were met, and it had to be solo, I'd take a copy of MDN web docs (assuming I could read, use, and work along with it, which would mean a laptop and a PV setup). 2? Add #Proust. 3? #Shakespeare. What about you?
@Laan Tungir and his industrial stream today reminds me of a story. At the time when I was feeding myself coffee, front-242 and Gen (psychic TV Gen) as math study grind music, I didn't go much darker. Coil? A couple decades later, all of Gen's previous band's work (Throbbing Gristle) was re-released. It had never interested me before, because it was too dark and odd, but over the years I had dug into some of Gen's weirder post-Throbbing-Gristle stuff, so I thought I was ready. I was curious. This was right about the time that I had to clean up an attic crawl space filled with old dusty insulation and rat shit. I couldn't do it in the summer, as it was too hot, so I had to do it in the spring and fall. I had a tyvec suite, full face mask and n95 filter. I bagged up all the old insulation, vacuumed up the remaining dust with a HEPA vacuum, and painted everything. I was probably up there for a couple hundred hours all-in-all, and I played the entire work of Throbbing Gristle over and over again on my headphones. It was a PITA to unsuit. I had a big container I used to gather the old insulation before I bagged it. I'd just sit down in it and piss when I needed too. I was always dripping wet with sweat. It didn't matter (I was hugging the summer, going up there until it was too hot). Most of the time I was laid out reaching under the eaves, pulling insulation in a claustrophobic way. My roof doesn't have much of a pitch. I can still hear the screech of IBM and Gen's droning about hamburger lady, but ... completely serious here... I took on some trauma with the combination, and I haven't listened to Throbbing Gristle since. Now, when I go back up in the crawl space I get a dark overhang of that past trauma and weight pressing down on me.
I will never take a picture of myself with a shoe on my head. Sorry.
I burned up way too much time adding a 16px icon that was legible to indicate the Heptapp blog.

You can simplify code quite a bit if your data schema fits well. Even better is a data schema with just the right combination of elements to not be cumbersome but still facilitate #emergent #analysis without external frames.
I use mostly VSCodium now, with a Vim plugin. I'll still use Vim from the console or GVim every day, but 90 percent is VSCodium. I :w out of habit, even though it isn't needed. That is slowly changing. I also trap the :w event on #Zettlr and send a WebSocket event to regenerate the render. #vim
I posted the updates for data and material flow. Tomorrow I'll move on to a journal application. I've sidestepped the collaboration part. I'll have to come up with a good demonstration of that, as well as how to prune by ID and do replay over time.