Repository navigation
docs(architecture): a doc page belongs with the code it documents — the measured destination map - #2960
Conversation
…he measured destination map Survey only; nothing moves. Records where each of the 996 files under src/MeshWeaver.Documentation/Data/ belongs under the maintainer's rule that documentation follows the functionality it documents, the same rule skills already follow. Settled first, by measurement against memex.meshweaver.cloud: Data/ is the SOURCE of the mesh's Doc/ nodes, not a second copy — 0 mesh-only nodes in either Doc/WhatsNew (709 disk / 702 mesh) or Doc/Architecture (161 / 159), every difference being disk-ahead of the deployed image. The partition is authored read-only, so a live edit cannot create one. What the measurement does expose is the LAG: a doc fix rides inside MeshWeaver.Documentation.dll and therefore needs a core image roll to reach any mesh. The map, by symbol residence and cost: - Doc/AI (13) moves to the AI package — every symbol resolves in MeshWeaver.AI and none in core, and the folder carries 1 executable block, so almost nothing to re-gate. The engine moved; its docs did not. - Doc/WhatsNew (709) STAYS: it is one fleet-wide feed and satellites already file into it from their own WhatsNew/ folders. Only 8.5% of entries are about non-core packages, and new ones already land correctly. - Doc/GUI (42) STAYS: a GUI doc documents the CONTROL, and controls are declared in MeshWeaver.Layout. 30 of 42 pages name zero plugins symbols, and the folder holds 84 of the tree's 132 executable blocks. - Doc/DataMesh (53) STAYS bar two departures. - Doc/Architecture (170) SPLITS per page, not per folder — ~20 module-owned pages listed with their destination and the signal that placed them. Also records the mechanism (a MeshDocs/ twin of Plugins#1060's ModuleSkillProvider needs no AI dependency at all, since every ingredient is core), the counter-list of what is load-bearing where it is (the empty-allow doc-gate, the shared CD staging script, 10 test projects, 1 527 links), and two defects: core's own doc link/embed gates live in the plugins repo, and the decentral WhatsNew lane ships ungated with three of four entries already malformed against the rules core's own test enforces. Beyond docs: samples/ is 988 files CD already refuses to publish, and holds 276 files of Northwind content whose plugins package is a three-file shell.
There was a problem hiding this comment.
Pull request overview
Adds a new Architecture documentation page that records (as a survey) the “docs follow the functionality” placement rule, including a measured destination map of the current src/MeshWeaver.Documentation/Data/ tree and a proposed mechanism for module-shipped docs, then links it from the Architecture topic map.
Changes:
- Add
DocsFollowTheFunctionality.mdwith the measured destination map, gating/dependency findings, and an outline for aMeshDocs/-style module doc provider. - Update
Architecture.mdtopic map to include the new page under “Contributing docs”.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/MeshWeaver.Documentation/Data/Architecture/DocsFollowTheFunctionality.md | New Architecture doc page describing the placement rule, measured map, and implications/mechanism. |
| src/MeshWeaver.Documentation/Data/Architecture.md | Adds a topic-map entry linking to the new page. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Test Results (shard 0)216 tests 216 ✅ 2m 34s ⏱️ Results for commit fe612ae. ♻️ This comment has been updated with latest results. |
Test Results (shard 1)419 tests 419 ✅ 1m 31s ⏱️ Results for commit fe612ae. ♻️ This comment has been updated with latest results. |
Test Results (shard 5) 3 files 3 suites 1m 14s ⏱️ Results for commit fe612ae. ♻️ This comment has been updated with latest results. |
Test Results (shard 4)1 685 tests 1 685 ✅ 1m 50s ⏱️ Results for commit fe612ae. ♻️ This comment has been updated with latest results. |
Test Results (shard 3)586 tests 586 ✅ 56s ⏱️ Results for commit fe612ae. ♻️ This comment has been updated with latest results. |
Test Results (shard 2)529 tests 527 ✅ 1m 33s ⏱️ Results for commit fe612ae. ♻️ This comment has been updated with latest results. |
Test Results 14 files 14 suites 9m 40s ⏱️ Results for commit fe612ae. ♻️ This comment has been updated with latest results. |
# Conflicts: # src/MeshWeaver.Documentation/Data/Architecture.md
Survey only — nothing moves in this PR. One new
Doc/Architecturepage plus its topic-map entry.Maintainer directive: "i am for moving docs to the functionality ==> mcp docs should go to mcp etc". This records where each of the 996 files under
src/MeshWeaver.Documentation/Data/belongs under that rule — the same rule skills already follow — and, just as usefully, what stays here and why.Measured against
Systemorph/MeshWeaver@f8e208567andSystemorph/MeshWeaver.Plugins@7e0750c2, plus the livememex.meshweaver.cloudmesh (0a1eabdc0).Settled first:
Data/is the SOURCE, not a second copyIf the mesh held an independently-authored copy, drift would outrank placement. It does not:
Doc/WhatsNewDoc/Architecture(top level)Every difference is disk-ahead of the deployed image, and
Doc/_PolicysetsCreate/Update/Delete = falseso a live edit cannot create one. What the measurement does expose is the lag: a doc fix rides insideMeshWeaver.Documentation.dll, so it needs a core image roll to reach any mesh — a slower channel than the one every module already uses.The map
AIAIpackage. Every symbol resolves inMeshWeaver.AI, none in core; 1 executable block in the whole folder. The engine moved, its docs did not.WhatsNewWhatsNew/. Only 8.5 % of entries are about non-core packages.GUIMeshWeaver.Layout. 30 of 42 pages name zero plugins symbols; the folder holds 84 of the tree's 132 executable blocks.DataMeshCollaborativeEditingand theSocialMediaexample.ArchitectureThe mechanism
A
MeshDocs/twin ofMeshWeaver.Plugins#1060'sModuleSkillProviderneeds no AI dependency at all —InstalledModuleAssembly,IStaticNodeProvider,MarkdownFileParserand theMarkdownnode type are all core. Four things differ and need designing: depth, page assets, the one-authored-home rule, and porting the doc gate.Two defects the survey found
DocumentationLinkIntegrityTestandDocumentationEmbedIntegrityTestpin this tree from insideMeshWeaver.Plugins/src/MeshWeaver.AI.Test/, so core's CI cannot run them.WhatsNewlane is ungated. Three of the four entries authored through it carry noDescriptionand noOrder— the exact shapeWhatsNewEntryIntegrityTestexists to catch — and the feed sorts them wrong rather than failing.Beyond docs
samples/is 988 files (18.9 % of the repo) that CD already refuses to publish, referenced by no project name and not inMeshWeaver.slnx— including 276 files of Northwind whose plugins package is a three-file shell.🚨 Do not merge and do not arm auto-merge — this is a survey deliverable for review.
🤖 Generated with Claude Code