Uh oh!
There was an error while loading. Please reload this page.
Make the W3DS agent skill authoritative and eVault-first - #1125
Merged
Conversation
Contributor
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of change
The W3DS agent skill (
skills/w3ds/**) is what actually runs when someone builds a platform with Codex, Claude Code, Cursor or Copilot — so its blind spots become their architecture. It had three:1. It cited an authority the reader does not have. Every reference was a repo-relative path (
docs/docs/Post Platform Guide/mapping-rules.md) and the fallback instruction wasgrep -r docs/docs/. Neither exists for the target user: someone who rannpx skills add …@w3dsin their own project. When the skill was thin, the agent had nowhere to go, so it invented.Every citation is now a live
docs.w3ds.metastate.foundationURL, andSKILL.mdopens with an Authority section: the docs site is authoritative, the skill is a condensed index of it, and where they disagree the docs win. A new Docusaurus plugin publishes/llms.txt,/llms-full.txtand the skill itself at/skill/**, so a fetch-capable agent can self-serve with nothing installed — and the manual Copilot / Windsurf / Codex installs become a singlecurlinstead of hand-rolled concatenation.2. It taught mechanics but never the philosophy. Mapping files,
handleChange, webhook controllers — but nothing saying the eVault holds the truth and the platform DB is a projection. An agent following it faithfully builds a conventional app with sync bolted on: W3DS-flavoured, not W3DS-native.New page Data Ownership Rules coins the rule and reconciles it with the existing canonical line that platforms are "caches and aggregators": that is permission to keep a fast copy of something authoritative elsewhere, never permission to own it. The decision procedure is the reconstructability test — if this database were dropped and rebuilt by replaying the relevant eVaults, what would be lost? A local DB is not a violation; a local DB that is the only home for some user data is. The page lists legitimate local-only state explicitly (sessions, queues, ID mappings, cached resolutions, derived indexes) so the rule stays applicable rather than absolutist, and does not start refusing the normal adapter work that pictique, blabsy and ecurrency already do.
3. It presented stale identifiers as canon.
reference/registry.mdsaid "Memorize this table" over 9 ontology UUIDs.services/ontology/schemas/holds 37; production serves 32;GET /schemasis live. Real UUIDs also sat inside copy-pasteablemapping.jsonexamples.The table is gone.
skills/now contains zero ontology UUIDs — examples use"<the User schemaId, resolved from GET …/schemas>", which cannot be pasted as-is. In its place is a resolution procedure:/schemas→/domains/:id/schemas→/schemas/:id.w3ds-file-v1stays verbatim and is labelled as what it is: a protocol string literal, not a registry lookup.4. It never mentioned GitW3. The skill described eVaults, adapters and protocols, and said nothing about where the platform itself lives — so an agent would happily wire an application to any Git host and only discover the missing identity later, when retrofitting it is worst.
New
reference/gitw3.mdcovers the forge as the second half of the same principle: the user's data belongs in their eVault, and the platform's identity belongs in its repository —.w3ds/platform.jsonbeside the code, published from there. Ordinary Git hosting carries the code but not the platform eName, published profile, per-version identities, PPA certificates or deployment records. The skill now raises this early rather than after the fact, and knows the specifics that go wrong:platformName, an assignedename, the release-controlledversionand any PPA proof field are written by GitW3. Never hand-edit, fabricate, or copy them between platforms.1.2.3says nothing about1.2.4, and only a published stable semantic release counts — not a draft, prerelease, orlatest.w3ds-deployment-key.jsonis downloaded once and unrecoverable; server-side only, from a secret manager or read-only mount, validated at startup, never committed, never shipped in a client bundle, never pasted into a prompt.What the skill now does differently
schemaIdor giving up.Infrastructure/Ontology.mdgains a Proposing a new ontology section documenting the real procedure, and the previously undocumentedGET /domainsandGET /domains/:id/schemasendpoints that make "does something already exist for this?" answerable.schemaIdfails silently, which is worse than an obvious placeholder.X-ENAMEon every call,handleChangeon every write path, idempotent webhook controller, no invented identifiers.reference/w3ds-native.md(new) carries the reasoning behind those rules: the reconstructability test worked through real cases, and eight anti-patterns as wrong → right → why.The install page was also orphaned — nothing in the docs,
README.mdorQUICKSTART.mdlinked to it. Now linked from Getting Started and the root README.Issue Number
N/A
Type of change
llms-txtDocusaurus pluginHow the change has been tested
pnpm --filter docs buildsucceeds.onBrokenLinks: 'throw'covers thesidebar_positionrenumber in W3DS Basics and every new cross-reference. (Pre-existing broken anchors inglossary.md/W3ID.mdstill warn; untouched, out of scope.)/llms.txt,/llms-full.txt,/skill/SKILL.md,/skill/reference/platform.md,/skill/reference/w3ds-native.md,/skill/reference/gitw3.md,/skill/w3ds-full.txt, plus the two new/edited doc pages.llms.txtindexes 44 pages, matchingfind docs/docs -name '*.md' | wc -l.skills/. The only two remainingdocs/docsmentions are deliberate prose.docs.w3ds.metastate.foundationURLs referenced fromskills/anddocs/resolve to a real page, anchors included.GET /schemascarriesdomain,GET /domainsreturns{schemaId, domains}.Not tested: the behavioural check (fresh agent, scratch project, three prompts — add an entity with no ontology, cache a display name, ask for the User ontology ID). Worth someone running before merge.
Noted for follow-up, not fixed here: production Ontology serves 32 schemas while the repo has 37, so the deployed service is behind. It is also the argument for resolving rather than recalling.
Change checklist