docs(sync): harmonize documentation and READMEs across the repo - #131
Open
Soushi888 wants to merge 2 commits into
Open
docs(sync): harmonize documentation and READMEs across the repo#131Soushi888 wants to merge 2 commits into
Soushi888 wants to merge 2 commits into
Conversation
This was referenced Aug 13, 2026
Resolved 12 cross-document conflicts. Deferred 2 items for human decision. First documentation sync anchor.
Issue #135 sequenced this pass behind PR #132: Layer 1 changed what these documents describe, so the harmonization pass had to land after it and then correct the sections it invalidated. Every claim below was checked against the merged source, not against another document. Contradictions corrected. IMPLEMENTATION_STATUS said governance-as-operator was "specified, not implemented" and named six types and functions as absent; three of the types and `evaluate_state_transition` now exist in `crates/shared/src/io/governance.rs` and `zome_gouvernance/src/transition.rs`. Only `request_resource_transition` and `evaluate_governance_transition` are still missing, which makes the evaluation path parallel and advisory rather than the mandatory funnel, and that is now what the document says. It also claimed GovernanceRule semantics are not evaluated, while `constraints.rs` enforces classification predicates Hard at integrity and Soft as advisory; the row is split into the part that is enforced and the part that is not. ndo_prima_materia had Layer 1 marked not-started in four places. `NdoToSpecification` is in `LinkTypes` and is created on every `create_resource_specification`, so REQ-NDO-L1-01 is closed, the status matrix and §8.4 link tables are corrected, and Pattern 2 no longer says activation is unconstrained by stage. REQ-NDO-L1-02 said Layer 1 may activate at or after `Ideation`; the integrity gate rejects `Ideation` and accepts `Specification` through `Active`, matching §5.2's own activation table, so the requirement now says that. Struct listings regenerated from source in resources.md, zomes/resource_zome.md, zomes/governance_zome.md, API_REFERENCE.md and specifications.md. `ResourceSpecification` gained `scope`, `ndo_identity_hash` and `ndo_state_hash`; `GovernanceRule` replaced the `rule_type`/`rule_data` string pair with the typed `RuleData` enum plus three denormalized classification fields; `EconomicEvent` and `Commitment` gained `ndo_identity_hash`, as did `LogEconomicEventInput` and `ProposeCommitmentInput`. `created_by` and `created_at` were documented on entries that never had them. The API reference's `ResourceSpecificationInput` and `GovernanceRuleInput` blocks described a schema with no counterpart in code at all. The three governance design documents keep their target architecture but now open with a status banner saying which half of it exists, so a reader cannot mistake `request_resource_transition` for a callable function. The same correction lands in `pai/cursor-rules/20-architecture.md`, which is always-loaded agent context and taught the wrong call chain. SUMMARY.md now lists every document in the tree. The Source-NDO set, the Phase B design record, ADR-010-013, the hREA release plan and two Applications pages were unreachable from the mdBook TOC. Two items the previous commit deferred are closed by #132 rather than here: `PropertyRegime` is seven variants in both Rust and TypeScript, and `complete-resource-specification.md` is no longer empty. Link integrity: 105 documents, 1 broken, the known em-dash anchor that resolves on GitHub.
Soushi888
force-pushed
the
docs/sync-harmonize
branch
from
August 29, 2026 23:47
b8f47e9 to
7acf939
Compare
Soushi888
marked this pull request as ready for review
August 30, 2026 00:28
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 free
to 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.
Intent
The docs had drifted apart from each other and from the code. A reader landing on
CLAUDE.mdwas told this is a "3-zome Holochain hApp" whileREADME.mdcorrectly described a five-role multi-DNA hApp.TEST_COMMANDS.mdsaid Tryorama was "still the primary test suite" while every other doc said it was deprecated. Five files pinned Vite 6.2.5 whenui/package.jsonhas been on Vite 7. Eleven files referenced anEncryptedProfileentry type that does not exist anywhere in the codebase.This is a full documentation sync pass: every doc-to-doc contradiction found, arbitrated against code evidence, and resolved with one canonical home per claim. Two commits: the original
/CodeDocs Syncpass, and a re-sync against NDO Layer 1 that issue #135 deliberately sequenced behind PR #132.Changes
Commit 1 — harmonization pass
Contradictions resolved against code (7). Each was checked against the source, not against whichever doc looked newest.
Vite 6.2.5in 5 filesui/package.json:45->^7.0.40.19.0in 5 files^0.20.0(UI),^0.19.1(root tooling)ui/package.json:51, rootpackage.jsonworkdir/happ.yaml:5-60-> lobby, nondominium, hrea, group, ndoTEST_COMMANDS.md: Tryorama "still the primary test suite".rules,tests/DEPRECATED.md, IMPLEMENTATION_STATUSEncryptedProfile(11 files)PrivatePersonDatazome_person/src/lib.rs:59-> noEncryptedProfiletype exists[[test]]binaries"tests/Cargo.tomlmanifestsdocumentation/archives/{agent,resources,governance}.mddocumentation/requirements/archives/Superseded content refreshed.
.rulesdevelopment status was three months behindREADME.mdand now points at it.tests/DEPRECATED.mdclaimed the resource and governance migrations were "Not started" when both Sweettest modules exist (137 and 307 lines); the table now reflects reality and lists the Sweettest coverage that has no Tryorama predecessor.tests/README.mdhad no deprecation banner at all despite sitting besideDEPRECATED.md; it has one now.Duplication collapsed to canonical homes. The tech-stack block was repeated verbatim in five files, each carrying the same two stale versions. It now lives once in
README.md§ Technology Stack; the others link. Same for the Sweettest command block (five copies) which now lives indocumentation/TEST_COMMANDS.md.Structure.
ui/README.mdwas still the untouched SvelteKit scaffold: titled# sv, instructingnpx sv createandnpm run dev. Replaced with a real README covering the multi-agent dev harness, per-agent origin isolation viaVITE_DEV_AGENT, checks, E2E, and thelib/layout.README.mdsetup was missinggit submodule update --init --recursive, which is genuinely required:build:happrunscd vendor/hrea && cargo buildand packsvendor/hrea/dnas/hrea/workdir, so the build fails without it.README.mdstill listed "NPM Workspaces" and Tryorama as current stack, contradicting the bun-only convention stated 200 lines above it.documentation/README.mdis the hub,DOCUMENTATION_INDEX.mdthe annotated guide,SUMMARY.mdthe flat TOC, and the root README a short pointer. Each links to the others; previously the hub linked to neither of the other two.ui/tests/README.mdbut linked from nowhere. Now reachable from README, the hub, TEST_COMMANDS, and.rules.pai/cursor-rules/20-architecture.mdgained a Multi-DNA Topology section; it is always-loaded agent context and described only the three zomes.Links: 34 broken -> 0. All were path moves after files were relocated (
archives/{agent,resources,governance}.md->requirements/,post-mvp/lobby-dna.md->requirements/lobby-dna.md,versioning.md->ndo-versioning.md, and the lobby-architecture and valueflows-dsl pairs). Two dead anchors fixed against their real headings. One link pointed atuser-story-resource-transaction.md, which exists nowhere; retargeted touser-story-ERP-bridge.md, the actual home of the Sarah/Sensorica and Marco/FabLab participants that sentence describes.Commit 2 — re-sync against NDO Layer 1 (#132)
Issue #135 sequenced this pass behind #132 because Layer 1 changes what these documents describe. Every claim below was checked against the merged source.
False status claims corrected.
IMPLEMENTATION_STATUS.mdGovernanceTransitionRequest/TransitionContext/GovernanceTransitionResultare incrates/shared/src/io/governance.rs;evaluate_state_transitionis live inzome_gouvernance/src/transition.rs. Onlyrequest_resource_transitionandevaluate_governance_transitionare still absent, which is why the path is parallel and advisory rather than the mandatory funnelIMPLEMENTATION_STATUS.mdcrates/shared/src/constraints.rsenforces classification predicates Hard at integrity and Soft as advisory. The row is split: classification constraints enforced, per-rule runtime conditions notndo_prima_materia.md(4 sites)NdoToSpecificationis inLinkTypesand is created on everycreate_resource_specificationndo_prima_materia.mdREQ-NDO-L1-02Ideation"Ideationand acceptsSpecificationthroughActive, matching §5.2's own activation tableStruct listings regenerated from source in
resources.md,zomes/resource_zome.md,zomes/governance_zome.md,API_REFERENCE.mdandspecifications/specifications.md.ResourceSpecificationgainedscope,ndo_identity_hash,ndo_state_hash.GovernanceRulereplaced therule_type/rule_datastring pair with the typedRuleDataenum plus three denormalized classification fields.EconomicEvent,Commitment,LogEconomicEventInputandProposeCommitmentInputall gainedndo_identity_hash.created_byandcreated_atwere documented on entries that never carried them, and the API reference'sResourceSpecificationInput/GovernanceRuleInputblocks described a schema with no counterpart in code at all.Status banners on
specifications/governance/cross-zome-api.mdandgovernance-operator-architecture.md. They keep their target architecture, but a reader can no longer mistakerequest_resource_transitionfor a callable function. The same correction lands inpai/cursor-rules/20-architecture.md, which is always-loaded agent context and taught the wrong call chain.SUMMARY.mdnow lists every document in the tree. The Source-NDO set, the Phase B design record, ADR-010-013, the hREA release plan and two Applications pages were unreachable from the mdBook TOC.Decisions
CLAUDE.md/AGENTS.md/GEMINI.mddirectly.rules. Edits go to.rules, which is tracked and is itself the source (only.cursor/rulesis nix-materialized frompai/).TEST_COMMANDS.mdP2PMODELS_COMPARISON_REPORT.mdversionsdev. Each hunk was resolved against code:dev's newer prose where it was richer, this branch's corrections wheredevwas stale (Vite 7, client^0.20.0, five roles not four, the 13 link pathsdevreintroduced).How to test
Expect
broken: 1. The single remaining hit is a false positive:ndo_prima_materia.md:19targets#6-the-surface-of-attachment--capability-slots, and the heading contains an em-dash. GitHub strips the em-dash and leaves both surrounding spaces, producing two hyphens; the checker collapses them to one. The link resolves correctly on GitHub.Spot-check the code-arbitrated claims:
Every document in the tree is reachable from
SUMMARY.md:No code changed, so no build or test run is required.
Documentation
This PR is documentation only. 33 files:
README.md,.rules,REVIEW.md,ui/README.md,tests/README.md,tests/DEPRECATED.md, 3 files underpai/, and 24 underdocumentation/.Related
Closes #135
Follows PR #132, which this branch is rebased onto. Two items the first commit deliberately deferred are closed by #132 rather than here:
PropertyRegime6-vs-4 split — resolved.crates/shared/src/types.rsandpackages/shared-types/src/resource.types.tsnow both carry seven variants (Private,Commons,Collective,Pool,CommonPool,Public,Nondominium), and every doc that states a count states seven.complete-resource-specification.mdwas 0 bytes — resolved. It is now the 54KB Phase B design record for feat(resource)!: NDO Layer 1 typed governance rules, classification constraints, and OperationalState #132, and is linked from bothDOCUMENTATION_INDEX.mdandSUMMARY.md.Still open, deliberately out of scope:
documentation/specifications/protocol-bridge-specifications.mdcites a user story that does not exist. The original link targeteduser-story-resource-transaction.md. It was retargeted touser-story-ERP-bridge.md, which contains the participants that sentence describes, but whether the intended document was renamed or never written is a question for its author.request_resource_transition. They now carry a status banner, but reconciling the design with what feat(resource)!: NDO Layer 1 typed governance rules, classification constraints, and OperationalState #132 actually built is a design decision, not doc drift. Filed as design: decide whether write paths funnel through evaluate_state_transition or stay parallel #145: the funnel-versus-parallel question fromcomplete-resource-specification.md§5 has to be answered before those banners can come off.