Integrate Design Documents into docs site - #114
Open
slarson wants to merge 123 commits into
Open
Conversation
- Add 'Design Documents' section to mkdocs.yml nav (between History and Releases) - Create docs/design_documents/index.md with: - Mission alignment, phase roadmap summary - All 25 DDs organized by phase (Phase 0-4) - Links to GitHub for full specs, roadmap, integration map - How to contribute section - Update docs/index.md: - Add Design Documents to TOC (starred as NEW) - Prominently mention as starting point for technical blueprint Next: Update modeling.md to reference DDs, then open PR. Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Major content evolution per DOCS_SITE_EVOLUTION_PROPOSAL.md: - Rewrite modeling.md around Design Documents (5 scales, CyberElegans as history) - Create validation.md explaining DD010 3-tier framework - Create archived_projects.md contextualizing CyberElegans, Geppetto, movement_validation - Update faq.md with 959-cell goal, DD018 egg-laying, Phase 4 completion - Update projects.md with DD-to-project mapping table - Expand c302.md, sibernetic.md, geppetto.md with DD references and roadmaps - Add DD contribution workflow (10 steps) and contributor levels to github.md - Add "Path to 959 Cells" phase table to index.md - Restructure mkdocs.yml nav with "How It Works" and "History" sections - Fix contributor level names to match DD011 (Observer to Senior Contributor) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Copy all DD markdown files (DD001-DD023 + DD014.1/DD014.2 + support docs) from openworm-admin into docs/design_documents/ - Rewrite 93 external GitHub links across 11 files to local relative paths - Add all DDs to mkdocs.yml nav grouped by implementation phase - DDs now render natively on docs.openworm.org with full-text search - Only external DD links remaining: 2 GitHub tree-browsing links in design_documents/index.md (intentional — point to source repo) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Drop the phase label from the infrastructure work — "Phase 0, Phase A, Phase 1..." reads oddly with a letter in the middle of numbers. Now reads as "Infrastructure Bootstrap" without a phase number. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add "Continue Reading" sections to 18 pages guiding readers to next content - Add DD info boxes and cross-links to all project pages - Hyperlink all bare DD references in FAQ, archived projects, and DD metadata - Fix DD metadata linebreaks (trailing spaces for markdown <br>) - Hyperlink Related DD references in all 24 DD files - Fix broken archived_projects links in FAQ - Add "See today's version" links in archived projects pointing to current pages - Add "Design Document Era" section to full history page - Add DD013 Docker note to releases page Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Converted 393 bare DD### references to clickable [DD###](path) links across 13 files. Only DD016 (archived, no file) remains unlinked. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The sensorimotor loop diagram was in a code block, making DD links unclickable. Now renders with clickable DD links and arrow formatting. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Converted ~1,800 bare DD### references to clickable [DD###](file.md) links across all 27 DD files. Remaining bare refs are only in code blocks (YAML config examples, PlantUML diagrams) and page titles. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Enables toc permalink in MkDocs Material theme so every heading gets a clickable anchor link for easy sharing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Inserted blank lines before unordered/ordered list items that immediately followed non-list content. Without the blank line, markdown renders these as inline paragraph text instead of proper <ul><li> elements. Fixed 504 instances across 31 files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Each DD now shows which implementation phase it belongs to and what layer it covers, with a clickable link back to the relevant section in the Phase Roadmap. DDs with Quick Action Reference tables get two new rows; DDs without get a blockquote after the metadata. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reordered so readers see the summary first, then the action table. Structure is now: metadata → TL;DR → Quick Action Reference → body. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… page 229 bare citations (e.g., "Cook et al. 2019") linked to their DOI URLs across 27 files. New references.md page organizes all publications by topic with links to validation tiers. Added to nav and landing page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…inks DD014 had its own "Phase 1/2/3" that didn't map 1:1 to the Roadmap (DD014 Phase 3 = Roadmap Phase 4). Renamed to "Viewer Stage 1/2/3" with explicit mapping table showing which Roadmap phase each stage belongs to. Fixed 87 mangled DD014.1/DD014.2 links created by the auto-linker wrapping "DD014" inside "DD014.1_..." filenames. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…inst Replace organizational framing (blog posts, paper opportunities, press releases, "shout about it") with concrete user experience: commands to run, behaviors to observe in the viewer, and specific experimental datasets each milestone validates against. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Linked Sarma et al. 2016, Goodman et al. 2002, Yemini et al. 2013, Raizen & Avery 1994, Thomas 1990 throughout DD010 body text and expanded the References section from 3 to 6 entries with DOI links. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
DD010 Tier 1 previously had no specific datasets — just vague "Goodman lab patch-clamp." Now lists 7 neuron classes with named papers: touch neurons (Goodman 2002, O'Hagan 2005, Suzuki 2003), AWC (Chalasani 2007), ASH (Hilliard 2004), AVA (Lindsay 2011), RIM (Liu 2018), pharyngeal (Raizen 1994). Documents the coverage gap (~7 classes with direct data out of 128) and why Tier 1 is non-blocking. Added new "Single-Cell Electrophysiology" section to master references page with all Tier 1 validation sources. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
For the ~121 neuron classes without direct electrophysiology, replaces a single vague sentence with a rigorous validation system: gene-to- electrical-property table (8 major channel genes), 5-step procedure, quantitative acceptance criteria (Spearman rho > 0.5, absence/presence checks), and a concrete testing command. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- DD008 (Data Integration Pipeline) → Phase A (infrastructure, data layer needed before Phase 1 CeNGEN ingestion) - DD014.1 (Visual Rendering Specification) → Phase 1 (companion to DD014 viewer, defines color palette and reference mockups) - DD015 (AI-Native Contributor Model) → Phase A (governance, alongside DD011/DD012) - DD022 (Environmental Modeling) → Phase 2 (substrates and gradients for closed-loop sensory behaviors) - DD023 (Proprioceptive Feedback) → Phase 2 (stretch receptors for stable motor coordination) Updates scope tables, key deliverables, success criteria, datasets, dependency summary, timeline summary (18 → 23 DDs), and blocking dependencies. Fixes DD008 Quick Action Reference from Phase 3 to Phase A. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…plan - Add WormBrowser (2012) history to DD014 Context section with features, technology, and John White's Feb 2026 suggestions (developmental stages, click-to-link, WormAtlas collaboration) - Rename DD014 Stage 3 to "WormSim 2.0" connecting to 2014 Kickstarter promise - Replace all viewer.openworm.org references with wormsim.openworm.org (10 files) - Add deployment timeline table: browser.openworm.org stays live through Phase 3, redirects to wormsim.openworm.org in Phase 4 after feature parity achieved - Add feature parity checklist (WormBrowser features + WormSim 2.0 additions) - Add Phase 1 quick win: click neuron → WormAtlas/WormBase links on existing WormBrowser at browser.openworm.org - Update DD_PHASE_ROADMAP Phase 4 milestone to "WormSim 2.0" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Render 6 diagrams via PlantUML web service:
- integration_map.svg: Complete 23-DD dependency graph (was raw PlantUML)
- causal_loop.svg: Sensorimotor loop for modeling.md (replaces broken
Google Drawings link + mangled Unicode arrows)
- chain1-4 SVGs: Core loop, cell differentiation, closed-loop touch,
and visualization pipeline (were ASCII art in INTEGRATION_MAP.md)
- Add DD022 (Environmental Modeling) and DD023 (Proprioception) to
Integration Map PlantUML with dependency edges:
- DD022 -> DD019 (stimulus delivery), DD022 -> DD003 (substrate)
- DD003 -> DD023 (body curvature), DD023 -> DD001 (stretch current)
- DD022/DD023 -> DD014 (visualization exports)
- Update DD count from 21 to 23 in Integration Map header
- Preserve PlantUML source in collapsible details block for re-rendering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The old diagram had 30 components and 78 edges — unreadable spaghetti. New approach: group DDs into 10 functional clusters (External Data, Data Access, Core Chain, Neural Extensions, Sensory/Motor, Organs, Whole Organism, Infrastructure, Validation, Visualization) with only major inter-cluster data flows shown. Color-coded arrows: green for core chain, red for closed loop, blue for validation, purple for viz. Detail preserved in the 4 chain diagrams (chain1-4 SVGs) which show per-edge data flow for each pathway. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Re-rendered all 6 PlantUML SVG diagrams with [[url]] links so clicking any DD component navigates to its design document. Switched from markdown image syntax to <object> tags for SVG interactivity support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… validation The ConnectomeToolbox already contains neuropeptidergic data as 'extrasynaptic' connections (Bentley 2016, Ripoll-Sánchez 2023) — DD006 was incorrectly proposing to add it. Fixed all references to consume via cect API (DD020) instead. Added Tier 1 functional connectivity validation using Randi 2023 unc-31 mutant data as a natural experiment isolating neuropeptide contribution (unc-31 = no dense-core vesicle release = no neuropeptide signaling). Added references: Pereira 2015, Beets 2022, Wang 2024, Randi 2023, Gleeson et al. ConnectomeToolbox manuscript. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split Tier 2 into 2a (whole-network FC) and 2b (neuropeptide modulation via wt-vs-unc-31 comparison from Randi 2023). Add ConnectomeToolbox as data source alongside wormneuroatlas. Cross-reference DD006 validation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy mockup PNGs from openworm-admin and embed in each mockup specification section. All 14 views now have visual reference images alongside their property tables. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…view Major changes: - Port MetaWorm (Zhao 2024) analysis into DD001, DD003, DD005, DD006, DD010, DD017, DD020, DD021, DD022 (29 citations across 7 files) - Add "Existing Code Resources" sections to 11 DDs identifying 18 reusable repos from the OpenWorm GitHub org - Create DD024 (Validation Data Acquisition Pipeline) - Create contributing_guide.md (extracted from dd_readme.md) - Consolidate overview: richer index.md with philosophical foundations, MetaWorm related work, cross-references by topic - Remove standalone analysis pages (CODE_REUSE, COMPREHENSIVE_ANALYSIS, dd_readme) — content incorporated into individual DDs - Add DD008 reconciliation note for OWMeta/cect phasing - Add DD001 Boyle & Cohen parameter borrowing clarification - Fix mkdocs.yml: add admonition/details/superfences extensions - Fix 3-space → 4-space list indentation across 12 files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Comprehensive audit and cleanup of the entire openworm_docs site (35 files): - Fix broken links: dead repositories/ link, 3 Dropbox→DOI replacements, outdated openworm-admin reference, phantom nav entry - Add ~50 DOI hyperlinks to unhyperlinked citations across 10 DD files and references.md (Goodman, Gleeson, Cannon, Kato, Berman, Machamer, Pearl, Schafer, Brown, Pierce-Shimomura, Iino, Zhao, and many more) - Verify Chalfie 1985 DOI across all DDs (8 missing links added) - Upgrade ~115 http:// links to https:// across 18 files - Consolidate duplicated content: FAQ shortened with cross-links to canonical pages (background, DD index, validation) - Add cross-links between non-DD pages and governing Design Documents - Add historical banners to running-nc.md and Live-Video-Protocol.md - Fix image paths in browser.md and docker.md - Clarify DD008 neuropeptide data status (in cect, not yet in OWMeta) - Clean build: zero warnings, zero errors Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…oss-references Add ~30 new references extracted from all 25 Design Documents, create 4 new sections (Chemotaxis, Neural Circuit Variability, Computational Methods, Philosophical Foundations), and hyperlink every DD cross-reference in the Description column so readers can click through to the citing documents. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cut 1: DD001 §Stabilization Sequence (8-step numbered list) — deleted. This was an inlined Next Actions list, the exact anti-pattern we just codified. Every step was covered by §Backend Graduation Criteria (Exit Conditions) or a milestone in DD001_draft_issues. ~10 lines. Cut 2: DD001 footer "Active implementation:" line — deleted. Redundant pointer to §Implementation Status & Roadmap at the top of the same doc. ~1 line. Cut 3: DD001 §Implementation Status & Roadmap milestone enumeration trimmed — dropped the parenthetical that named each milestone's theme inside the spec. The milestones page itself has the descriptions; two places to sync = rot path. Cut 4: contributing_guide.md Reference Implementation section reduced from 14 bullets to 4. The 10 dropped bullets repeated the required-sections checklist a few lines up. Kept the 4 distinctive items: Implementation Status & Roadmap + Exit Conditions, 8-phase Validation Methodology, paired-backward + Differentiability, Alternatives Considered with rationale. ~20 lines. Cut 5: DD001_draft_issues "Milestones" intro paragraph trimmed. Dropped the historical-milestones recap (the Historical milestones table at the bottom of the section already lists them). Cut 6: DD001_draft_issues per-issue Milestone field shortened from "**v0.X.0** (Long Theme Name)" to "[v0.X.0](#milestones)" — 18 issues × ~50-char savings each. Theme name lives in the Milestones overview table where it belongs. Cut 7: contributing_guide.md L194 spec/issue cleavage bullet absorbed into cut 4's rewrite. Net: ~50 lines removed, no information lost. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Earlier framing treated most non-Live existing issues as candidates for closure-as-superseded. Re-evaluating with the "stabilize the gold standard while building forward" lens: deferral is better than closure for issues whose scope is real and project-relevant but belongs to work that hasn't started yet. Two new milestones to hold the deferrals: - v0.4.0 — Sensory Coupling (Phase 2 territory). Sibernetic-side support for DD015 (Touch Response) and DD019 (Closed-Loop / Proprioceptive Feedback), both currently held back. Holds #100, #141, #144. - v0.5.0 — Visualization & Output Enhancements (DD012 territory). Sibernetic-side improvements that DD012 (Dynamic Visualization) will spec when it publishes. Holds #101, #117, #119, #182. Plus expanded scope on existing milestones: - v0.3.0 also picks up #107 (Sibernetic-NEURON coupling docs) and #108 (calibration scope, now structured by the 8-phase Validation Methodology). - Unmilestoned picks up #135 (multi-GPU, Phase 2+ research). Per-issue dispositions table now includes: - The target milestone for each deferred issue - Specific labels to add (e.g., `dd019`, `closed-loop`, `deferred`) - A copy-paste-ready comment explaining the deferral, naming the held-back DD, and pointing at DD001 for current spec Only four issues warrant outright closure: - #106 (duplicate of #107) - #163 (chemotaxis molecules — explicitly out of DD001 §Boundaries) - #168 (5yr-old generic help, no repro info) - #122 (2017 external pySibernetic wrapper, replaced by #250) Public milestone descriptions added for v0.4.0 and v0.5.0, following the same format as v0.0.8-v0.3.0 (references DD001 by URL anchor, gives label filter to find the work). Why this matters: deferring preserves contributor intent, keeps discussion threads discoverable, and gives community contributors a real release target if they want to pick the work up. Closing issues as "superseded by a doc they can't act on" disappears legitimate scope. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per request: replace the v0.X.0 numbering with milestone names that directly carry the OpenWorm project Phase (per DD_PHASE_ROADMAP). Each sibernetic milestone now signals which phase of the larger project it serves, so a contributor scanning the sibernetic milestones page can immediately tell where the work fits in the roadmap. Renamings: - v0.0.8 → Phase 0 — Stabilization (maps to roadmap Phase 0 Core Architecture stabilization) - v0.1.0 → Phase 0 — Modernization (also Phase 0; modernizes the existing foundation via native Metal + CUDA substrates) - v0.2.0 → Phase A1 — Validation Infrastructure (maps to roadmap Phase A1; validation toolbox + output pipeline are A1 deliverables) - v0.3.0 → Phase A1 — Substrate Documentation (also Phase A1; contributor workflow is A1 territory) - v0.5.0 → Phase 1 — Sibernetic Visualization Enhancements (maps to roadmap Phase 1 where DD012 Post-Hoc Trame Viewer begins). Reordered before Phase 2 in the doc. - v0.4.0 → Phase 2 — Sensory Coupling (maps to roadmap Phase 2 where DD015 Touch and DD019 Proprioception live) Six milestones map cleanly to four roadmap phases (Phase 0 × 2, Phase A1 × 2, Phase 1 × 1, Phase 2 × 1). Changes: - Milestones overview table reordered into phase order; added "Maps to roadmap phase" column with anchor links to the relevant Phase Roadmap section - Intro paragraph updated to call out the phase-aligned naming convention explicitly - Every milestone description block (the GitHub copy-paste text) now opens with a "Maps to roadmap Phase X" paragraph - Phase 1 and Phase 2 description blocks reordered (Phase 1 before Phase 2) - Per-issue Milestone field updated to use the new names - Defer-to-milestone table updated - DD001 §Implementation Status & Roadmap updated to mention that milestone names carry the project Phase, with a link to the roadmap - Two stale "milestone v0.1.0" cells in DD001 §Backend Graduation Criteria table updated to "Phase 0 — Modernization" Historical milestones (v0.0.3, v0.0.4, v0.0.5) keep their version labels — those are real shipped releases from 2015-2016. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per review: I had #163 (chemotaxis molecules) in the "actually close as out of project scope" bucket. That was wrong. #163 IS out of DD001's scope (per its §Boundaries item 3, "beyond liquid/gel") but it IS in scope for DD018 (Environmental Modeling and Stimulus Delivery), which is held back from the current publish set but on the Phase 2 roadmap — chemotaxis on simulated NaCl gradient and thermotaxis are explicit Phase 2 deliverables. Changes: - Added new milestone "Phase 2 — Environmental Modeling" to hold DD018-bound deferrals (#163, plus future fresh issues when DD018 publishes). Maps to roadmap Phase 2 alongside the existing Phase 2 — Sensory Coupling milestone. - Added the new milestone's GitHub-ready description block. - Moved #163 from "actually close" to "defer to milestone" with the appropriate comment explaining the DD001-vs-DD018 boundary distinction and pointing at the held-back DD. - Updated the close-bucket count from 4 to 3 (just #106 duplicate, #168 stale, #122 replaced). - Updated the milestones-proposed count from 6 to 7. Net: legitimate DD018 scope preserved for community contributors rather than closed as "out of project scope." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per audit, Sibernetic already has extensive Python: - src/owSignalSimulator.cpp embeds CPython for C++→Python (NEURON callback) - sibernetic_c302.py, dump_metal_trajectory.py, all SGD harnesses drive the simulation via subprocess (Python→C++) - tests/, scripts/, wcon/ carry post-processing and parity tests - ~29 Python files in src/metal_diff/ alone The subprocess pattern handles every existing workflow. The genuine gap is the per-timestep tight loop a closed-loop sensorimotor controller would need. Re-scope Issue #250: - Narrow scope: single Simulation class with .step() / .get_positions() / .set_muscle_activation() — just enough surface to support closed-loop tight loops - No pip install requirement (was "pip install produces a sibernetic Python package" — dropped) - No replacement of subprocess pattern (was "Enables sibernetic_c302.py to call Sibernetic directly instead of via subprocess" — dropped) - Added explicit "Audit note" enumerating what already exists - Move from Unmilestoned → Phase 2 — Sensory Coupling (the closed-loop work that motivates it lives there) - Add explicit Depends On: DD015 / DD019 publishing (without those, the closed-loop forcing function doesn't exist) Also updated: - Phase 2 — Sensory Coupling milestone row to include #250 - Unmilestoned row no longer mentions Python bindings - Group 6 description to reflect the milestone split - #122 close row's reference to #250 updated Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per the parallel-subagent audit on 2026-05-28, every proposed issue
was checked against actual openworm/sibernetic infrastructure. The
pattern (already established with #250) repeated across most
proposed issues: existing infrastructure overstated as gap.
Net changes:
- 18 fresh issues still planned (was 18 — same count after drops
and additions cancel)
- Dropped 3 originally-proposed issues (rationale captured in new
"Considered and dropped" subsection of Migration Context):
- Surface mesh reconstruction → DD012 viewer repo concern, not
Sibernetic. Pattern established by openworm/skeletonExtraction.
- Architecture overview document → README (679 lines on
ow-native-gpu-0.1.0) already covers ~85%; net-new fits as
README addendum, not parallel doc.
- FEM Projective Dynamics evaluation → no prior artifacts,
no committed expert; leave as DD001 §Alternatives prose.
- Added 3 new issues surfaced by the audit:
- #234: Emit per-particle density on both substrates (prereq
for incompressibility validation that wasn't being tracked)
- #240: Implement Ihmsen 2010 boundary→active SPH pressure
(the real physics fix; currently approximated by elevated
floor_y as a soft proxy in worm_alone parity)
- #241: PCISPH iterative pressure XPBD rewrite (split from
worm_swim parity, which was conflating physics rewrite with
driven-scenario setup)
Per-issue right-sizing:
- #233 check_stability: NARROW — extend existing
scripts/measure_cube_stability.py (171 lines) rather than create
new file; cross_backend_regression.py already calls it
- #235 validate_incompressibility: NARROW — ~50 lines NumPy once
#234 emits density data
- #236 generalize parity harness: NARROW — refactor existing
tests/test_demo1_backend_parity.py (256 lines) into scenario
registry; also fixed milestone mismatch (was Phase 0 should be
Phase A1)
- #237 demo1 parity: NARROW — substantively done; 1-2 day
CI-wiring task
- #238 demo2 parity: NARROW — SGD already converged and shipped
(commit bf6b333); just needs harness entry
- #239 worm_alone parity: NARROW — visual + quantitative parity
shipped (commit 929ec8a); just needs harness entry + cross-ref
to #240 for the floor_y proxy honest accounting
- #242 worm_swim parity: NARROW — split out the PCISPH rewrite
(#241), this issue is now scenario setup + parity gate
- #243 CUDA: REPLACED — was broad bring-up referencing nonexistent
"PR #229 by @feldmannn" (the scaffold is slarson's); now Phase 1
only per src/cuda/README.md plan
- #244 OpenCL kernel docs: NARROW L1 — call graph + equation table
+ gotchas-with-line-numbers, not 64KB annotation pass
- #245 paired backward docs: NARROW L2 — saved-state contract +
add-a-kernel runbook + 19-kernel index, not XPBD re-derivation
- #246 MoaW PR assist: NARROW — drop MoaW bot dependency; rewrite
as static GitHub Action with Python + gh CLI
- #247 OME-Zarr export: NARROW — post-processing converter
(reads VTK), contingent on DD012 viewer contract requiring
OME-Zarr; VTK already exports same data
- #248 output frequency: NARROW L1 — logstep=N (C++) and --chunk N
(Metal) already exist; thin YAML→flag plumbing only. Fixes
factual error that claimed "no configurable output frequency
exists"
- #249 CONTRIBUTING.md: NARROW — link-heavy to existing
README/metal_diff/DD001, own only PR checklist + branch
convention + add-a-kernel runbook (cross-ref with #245)
Factual corrections:
- #240/#243 "PR #229 by @feldmannn" — that PR doesn't exist; the
CUDA scaffold is slarson's commit. Acceptance criterion was
unactionable. Removed.
- #236 milestone mismatch (Phase 0 → Phase A1)
- #247 README size (was claimed 17.5KB; actually 32.6KB / 679 lines
on ow-native-gpu-0.1.0)
- #248 "no configurable output frequency exists" claim — the
existing logstep=N flag was being ignored
Doc structure updates:
- Header totals reflect new ai-workable/human-expert/L1-L3 mix
- Group breakdown table rebuilt for the new issue assignments
- Milestones overview tables updated for the new scope per milestone
- Milestone description text updated to reflect new issue lists
(Phase 0 — Modernization scope expanded with #240/#241; Phase A1
— Validation Infrastructure surface-mesh dropped)
- Dependency graph rebuilt for the new issue numbering
- Summary statistics updated
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per request: continue the historical v0.0.X cadence and layer the
project Phase identifier into the middle of the version string.
Major stays at 0 (project pre-1.0), middle carries the phase
identifier, right is the sub-milestone counter within that phase.
Mapping:
- v0.0.8 — Phase 0 Stabilization (existing milestone, kept name —
continues v0.0.5 → 0.0.6 → 0.0.7 → 0.0.8 historical sequence)
- v0.0.9 — Phase 0 Modernization (continues Phase 0 patch cadence)
- v0.A1.0 — Phase A1 Validation Infrastructure
- v0.A1.1 — Phase A1 Substrate Documentation
- v0.1.0 — Phase 1 Visualization Enhancements
- v0.2.0 — Phase 2 Sensory Coupling
- v0.2.1 — Phase 2 Environmental Modeling
Why this works:
- Existing v0.0.8 milestone on GitHub keeps its name verbatim (no
rename); just expand scope per the audit
- Sort order on the milestones page reflects roadmap order
- Anyone scanning the milestones page sees both the project Phase
AND a versioned identifier that makes sense in semver tools
- Major-0 commitment to "pre-1.0" honest about project maturity
Updated:
- Milestones overview table (all 7 milestone rows)
- Group breakdown table at top
- Per-issue Milestone field on all 18 fresh issues
- Defer-to-milestone table for the 11 deferred existing issues
- All Milestone description block headers (the copy-paste-ready
GitHub milestone descriptions)
- Body prose mentions ("Ships after Phase X" → "Ships after vX.Y.Z")
- DD001 §Backend Graduation Criteria table (Native Metal /
Native CUDA transitions referenced milestone)
- Added new "Naming scheme" paragraph explaining the convention
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Phase mapping: Phase A1 → Phase 1, Phase A2 → Phase 2 Phase 1 → Phase 3, Phase 2 → Phase 4 Phase 3 → Phase 5, Phase 4 → Phase 6 Phase 5 → Phase 7, Phase 6 → Phase 8, Phase 7 → Phase 9 Phase 0 unchanged Milestones renamed in sync: v0.A1.X → v0.1.X (Phase 1 Validation Infra + Substrate Docs) v0.1.X → v0.3.X (Phase 3 Visualization Enhancements) v0.2.X → v0.4.X (Phase 4 Sensory Coupling + Environmental) v0.0.X unchanged Strip duration suffixes: - "(Weeks 1-2)", "(Months 1-3)", "(Year 2+)" removed from all Phase headers and inline references - Phase Roadmap "Timeline Summary" → "Phase Summary" (no calendar dates, no duration column) - index.md phase table loses Duration column - "~18 months" claims removed from public-facing pages (modeling.md, faq.md, index.md) - DD012 viewer-stage table loses Timeline column Preserved: - DD001 Validation Methodology Phase 1-8 (internal workflow, not project phases) - DD011/DD013 letter-named internal sub-phases (Phase A/B/C/D/E) - Approval dates and milestone due dates (the user explicitly wants these kept — only duration *estimates* dropped) DD012.2 internal "Phase 1/2/3" sub-phases were incorrectly bumped to "Phase 3/4/5" by the project-phase renumber; relabeled to "Stage A/B/C" to avoid further ambiguity. 56 files touched; build clean. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Issue blocks reorganized from thematic groups into milestone-aligned
groups, in milestone sequential order:
Group 1 → v0.0.9 — Phase 0 Modernization
(#237, #238, #239, #240, #241, #242, #243)
Group 2 → v0.1.0 — Phase 1 Validation Infrastructure
(#233, #234, #235, #236, #247, #248)
Group 3 → v0.1.1 — Phase 1 Substrate Documentation
(#244, #245, #246, #249)
Group 4 → v0.4.0 — Phase 4 Sensory Coupling (#250)
Issue numbers unchanged — only physical order in the document.
Updated to match:
- Roadmap Context table at top (now Group/Milestone/Issues)
- Group breakdown table in Summary Statistics (added Milestone column)
- Dependency Graph (grouped by milestone, shows cross-milestone deps
like the #237/#238/#239/#242 ← #236 chain)
- Stale audit note in #236 about "Group 1 puts it..." reworded since
Group 1 is now v0.0.9, not Validation Infrastructure
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Per-demo parity issues (#237, #238, #239, #242) all depend on #236 "generalize parity harness", but #236 was sitting in v0.1.0 — a backwards cross-milestone dependency that would have forced v0.0.9 to ship without working CI gates. Fix: move #236 into v0.0.9 (first position, since it unblocks the others). Logically still validation infrastructure, but co-ships with v0.0.9 to satisfy the dependency. Audited all other issue-to-issue deps — no other backwards cross-milestone dependencies remain. All deps are now either: - within the same milestone (#234→#235; #241→#242; #245↔#249), or - external (DD012 contract, DD015/DD019 publishing, DD011 config) Updates: - Issue #236 block: Roadmap Phase Phase 1 → Phase 0; Milestone v0.1.0 → v0.0.9; audit note rewritten to explain the co-shipping - Roadmap Context table at top (Group 1 / Group 2 rows) - Summary group table (added #236 to Group 1, removed from Group 2) - Milestone descriptions table (v0.0.9 / v0.1.0 rows) - Copy-paste-ready GitHub milestone descriptions for v0.0.9 / v0.1.0 - Dependency Graph (now shows no backwards cross-milestone arrows) - Live GitHub milestones #5 (v0.0.9) and #6 (v0.1.0) re-PATCHed with the updated descriptions Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The previous titles leaned on script names (measure_cube_stability.py,
validate_incompressibility.py, test_demo1_backend_parity.py), paper
references (Ihmsen 2010, PCISPH, XPBD), and Sibernetic-specific jargon
(scenario registry, paired-kernel runbook, parity gate). Hard to
scan if you're new.
Rewrote all 18 H3 headings and **Title:** fields to lead with what's
actually changing in plain English, e.g.:
before: "Generalize tests/test_demo1_backend_parity.py into a
scenario-registry harness"
after: "Generalize the parity test to support all four demos,
not just demo1"
before: "Implement Ihmsen 2010 boundary→active SPH pressure for
native-Metal substrate"
after: "Replace the temporary soft-floor hack with proper boundary
physics (Metal)"
before: "Rewrite native-Metal XPBD density inner loop with PCISPH
iterative pressure correction"
after: "Fix the worm-sinking bug in the Metal swim test (iterative
pressure each step)"
Technical detail preserved in the body (Approach / Existing Code /
Audit notes) where implementers actually need it. Specific paper
refs and acronyms still appear where they're load-bearing — just
not as the leading words.
Also rewrote three Sponsor Summary Hints (#241, #245, #246) that
still leaned on acronyms the casual reader wouldn't have unpacked
yet (PCISPH, XPBD, MoaW).
All H3 slugs auto-recomputed and the 18 cross-reference anchors
throughout the doc remapped to the new slugs. Build clean.
No GitHub issues touched — these are still proposed issues that
haven't been filed yet.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…bers Filed 8 issues live on openworm/sibernetic for milestone v0.0.9 — Phase 0 Modernization (milestone #5): #233 Generalize parity test for all four demos (was predicted #236) #234 Run demo1 parity test in CI (was #237) #235 Parity check for demo2 membrane permeability (was #238) #236 Parity check for worm_alone (was #239) #237 Replace soft-floor hack with proper boundary physics (was #240) #238 Fix worm-sinking bug — iterative pressure (was #241) #239 worm_swim driven scenario + parity (was #242) #240 CUDA bring-up: port one SPH kernel (was #243) All 8 attached to milestone #5 with proposed labels. The 13 missing labels (DD001, ai-workable, human-expert, L1/L2/L3, validation, parity, phase-0, native-gpu, ci, physics, cuda) were created first with sensible default colors. Bodies posted with proposal content minus redundant API-set metadata fields (Title, Labels, Milestone, Target Repo). Relative DD001 doc links converted to absolute docs.openworm.org URLs. Cross-references within the batch shifted -3 so they resolve to the actual filed numbers. Doc also renumbered: all 18 draft issues now use their post-filing actual numbers (#233-#250). Anchors for filed issues point to live GitHub URLs; unfiled issues still link to in-doc anchors with the new slugs. Build clean. v0.1.0/v0.1.1/v0.4.0 issues bumped accordingly to avoid collision: v0.1.0: #241-#245 (was #233-#235 + #247-#248) v0.1.1: #246-#249 (was #244-#246, #249) v0.4.0: #250 (unchanged) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…arch
DD001_draft_issues.md is internal planning material and was already
flagged "to be deleted before master merge" — removing it from the
nav is step 1 of that retirement.
The broader question: pages not in nav still get indexed by Material
for MkDocs' search by default. So all the held-back DDs (DD002-DD024
except DD001) plus the stray Live-Video-Protocol.md were polluting
search results even though no nav links pointed to them.
Fix: per-page YAML frontmatter
---
search:
exclude: true
---
prepended to all 35 currently-unlinked pages. Built-in Material
feature, no new plugin dependencies. When a DD eventually publishes,
just delete the frontmatter block (or remove the search-exclude key).
Verified the built search_index.json no longer contains
DD001_draft_issues, DD002, DD012, or Live-Video-Protocol terms.
Affected files:
- mkdocs.yml (1 nav entry removed)
- 35 docs/*.md files (frontmatter prepended)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
551 markdown links to held-back DDs (anything DDXXX != DD001) unlinked across 26 pages. Link text preserved as plain text so sentences still read naturally — only the link target is dropped. Verified with a re-run audit: zero held-back DD links remain in any file referenced from mkdocs.yml. Top contributors: 193 references.md 115 Resources/github-repo-inventory.md 49 projects.md 40 modeling.md 32 faq.md 18 Projects/c302.md ... 20 other files Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Site-wide audit caught 27 broken file links and 4 missing anchors across the publish set, plus a request to link every Mind-of-a-Worm reference back to its definition page. Path fixes (20 patterns, more individual links): - Image paths: Community/github.md, Resources/resources.md, modeling.md were using ../../images/ — one level too deep - Root-level pages (background.md, community.md, fullhistory.md) had spurious leading ../ on links to sibling root pages - Projects/docker.md linked ../sibernetic and ../c302 (wrong relative depth — they're siblings, not parents) - Projects/community-proj.md, design_documents/DD_PHASE_ROADMAP.md similarly over-deep - contributing/decision-process.md: template snippet referenced a placeholder Phase X anchor — unlinked to plain text Anchor fixes (4): - archived_projects.md slug for "Connectome Engine / Lego Robot" is single-dash, not double-dash (slashes collapse) - design_documents/index.md renamed "Implementation Roadmap by Phase" → "Phase Overview" — two stale anchor refs updated - community.md referenced #team-meetings (no such section); rephrased to drop the dangling anchor Mind-of-a-Worm linking (8 pages): - First reference on each publish-set page now links to Community/ai_agents.md#mind-of-a-worm-active-contributor-guide (the canonical definition under the Three AI Agents section). - DD001 already had a linked reference; skipped. Verified zero broken links and zero missing anchors remain in any publish-set page; site rebuilds cleanly. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The AI-Native Contributor Model page (migrated from DD015) is not ready to publish. Pulling it out of the publish set: - Added `search: exclude: true` frontmatter to the page itself - Removed nav entry from mkdocs.yml - Across 11 publish-set pages: unlinked 25 markdown links to the page (link text preserved) - Redirected 2 Mind-of-a-Worm references in DD001 to the live definition page (Community/ai_agents.md#mind-of-a-worm-...) The page file remains in the repo, just unlinked + excluded from search. Re-include it later by reversing these changes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Across Community/ai_agents.md and contributing/contributor-progression.md,
14 mentions framed OpenWorm's structure around saving founder time —
which positions community members as a drain on the project.
Rewrote with the community member as protagonist instead:
- 'protect founder time' → 'make OpenWorm responsive and welcoming'
- 'volunteers drain founder time' → 'contributors arrive faster
than human mentors can onboard them'
- 'founder is the last person standing' → 'senior contributors
become the only ones who can answer, then they drown in
support requests and stop contributing themselves'
- 'replaces 80% of founder time' → 'solves the bottleneck where
newcomers wait days for an answer'
- 'Founder's Information Shield' → 'Executive Decision Triage'
- 'founder bottleneck' → 'decentralized review'
- 'founder ends up mentoring everyone' → 'mentoring concentrates
on a few senior contributors, which doesn't scale'
Kept untouched: ~35 mentions that are legitimate role labels
('L5 Founder' in contributor-ladder tables) or neutral governance
process descriptions ('L4 maintainer or L5 founder approves').
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…g sections The community pages had three unsynced contributor models running in parallel — historical (membership), operational current (Slack form → GitHub), and aspirational future (L0–L5 + AI agents) — with no acknowledgment of each other. Six pages gave six different answers to 'what do I do first?' Resolution: community.md is now the canonical 'how to contribute today' front door; contributing/ describes the structured framework being built; both layers cross-reference each other explicitly. Per-page changes: - index.md: Trimmed §Contributing to point to community.md alone, dropping the competing DD-workflow / project-list / Slack / language-specific-issues instructions - community.md: Added '§The path from newcomer to contributor' at top with the 4-step canonical flow (apply form → find work → announce → submit), plus forward-link to contributing/ - Community/github.md: Removed the 3rd L0–L5 table; replaced with one-sentence link to canonical version - Community/ai_agents.md: Added 'Status: In development' callout at top so readers know N2-Whisperer et al. aren't live yet; reframed prose from present to future tense; removed redundant L0–L5 table - Community/membership.md: Added '§Relationship to the L0–L5 contributor model' explaining the mapping between historical Contributor/Core Member terms and the proposed L0–L5 levels - contributing/index.md: Added 'What this section is for' callout redirecting today's contributors to community.md - contributing/contributor-progression.md: Added 'Status: Proposed framework' callout; tightened TL;DR to use future-tense Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Bug: links written as [text](path/) or [text](path/#anchor) from non-root pages render with a missing ../ prefix. MkDocs auto-resolves bare directory-style links ([X](foo/) → ../foo/) but does NOT resolve them when an anchor is attached ([X](foo/#anchor) stays as foo/#anchor), so they resolve relative to the page's URL and 404. Fixed by converting to explicit .md form so MkDocs always handles them: - community.md: 5 links rewritten — Community/github/ + projects/ + Resources/resources/ patterns + the two #anchor variants - faq.md: 3 anchored dir-links rewritten (Phase Overview ×2, DD contribution workflow) - modeling.md: 2 anchored dir-links rewritten (Phase Overview, DD contribution workflow) Verified by rebuilding and re-scanning the rendered HTML — zero remaining bare directory hrefs in any non-root page output. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3 phase-number misalignments fixed across 2 pages: - Projects/sibernetic.md: DD004 (Mechanical Cell Identity) was labeled Phase 3-4 but is canonically Phase 6 per the roadmap (per-cell mechanics need organ system behavior from Phase 5 before they can be set) - Projects/geppetto.md: 'For Phase 3-4 work' → 'For Phase 3-6 visualization work' since DD012 spans into Phase 6 - Projects/geppetto.md: Table row mislabeled Three.js + WebGPU + wormsim.openworm.org deployment as Phase 5; this conflated DD012's internal phase numbering with overall project phases (canonical: Phase 6 capstone) Other Projects pages were either correctly aligned (c302.md, DevoWorm.md) or did not reference the phase scheme at all. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
MoaW now explicitly owns the health of the BadgeList recognition layer: - Badge Issuance & Approval — award on GitHub events + surface manual submissions so finishers aren't stranded (the Simulation Stack Apprentice badge had ~18 submissions but only 8 awards during the dormant period) - Badge Health & Upkeep — monitor completion funnels, flag high drop-off / stale instructions, propose corrected chunked criteria Plus a "Badge stewardship mandate" subsection spelling out the three duties: surface approvals, keep instructions current, watch the funnel. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Contributor Progression Model is a Contributing-section page, not a DD (it was mislabeled DD011; DD011 is Simulation Stack Architecture). - AI Contributor Model is a Contributing-section page, not DD015 (DD015 is Closed Loop Touch Response). Fixed the callout + the AI-native cross-reference lower in the page. - Linked all three to their real targets. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two Contributing-section pages were leaking old admin DD numbers that collide
with real DDs in the published docs:
- AI Contributor Model was labeled "DD015" (DD015 is Closed Loop Touch
Response). Fixed 8 *_draft_issues.md methodology citations
("DD015 §2.2 — DD Issue Generator" → "AI Contributors §2.2 …"),
community-proj.md, and github-repo-inventory.md.
- Contributor Progression Model was labeled "DD011" (DD011 is Simulation Stack
Architecture). Fixed community.md, projects.md, references.md,
fullhistory.md, community-proj.md, github-repo-inventory.md (x3), and
DD024.
20 replacements across 12 files. Legitimate DD015=touch (103) and
DD011=Simulation Stack (196) references left untouched. Both pages are
Contributing-section pages per the docs index, not numbered DDs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GitHub renumbered the sibernetic milestones (v0.0.8/v0.0.9 -> v0.1.0/v0.1.1 Phase 0; Phase 1+ consolidated into the v0.1.2-v0.4.1 Future bucket). Update DD001_draft_issues.md and DD001_Body_Physics_Architecture.md to the live scheme, rewrite the now-stale naming rationale, and reorder the sibernetic.md roadmap into ascending phase order. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
"Hidden" now means excluded from the build, not just absent from nav: DD002-DD024, the .1/.2 sub-docs, and all *_draft_issues.md are no longer reachable by direct URL and are dropped from the search index. Only DD001 is published; the rest live canonically on GitHub. Uses mkdocs 1.6 exclude_docs (no new dependency). Also fixes the one dangling inbound link (ai_agents.md -> DD011) created by the exclusion. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
With DD002+ now excluded from the build, make the two surviving DD-heavy pages honest about reachability without trimming their forward-looking content: drop the "click any DD to navigate" SVG fallback text, add a "Where the Design Documents live" pointer to the GitHub-drafted full set, and fix a DD004 phase-rationale typo (Phase 4 -> Phase 6). The Phase 0-9 arc, future cell counts, forthcoming-DD descriptions, and coupling diagrams are all preserved. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Track the new how-contributing-works.md (the skill-accelerated contribution loop the nav already referenced but git did not), add AI Contributors to the Contributing nav, and wire both into contributing/index.md — fixing the previously orphaned "AI-Native Contributor Model" heading (now linked to ai-contributors.md). Gives newcomers a real, navigable "start here" path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
open-worm-analysis-toolbox is Active again (revival underway, last push 2026-04-28), not Archived. Clarify that movement_validation is the repo's former name (now a 301-redirect), not a separate archived repo, and adjust the Data Access Layer grouping and Tier-3 validation note accordingly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The word "skill" was carrying two unrelated meanings across the site: the OpenClaw agent skills the AI agents are built from (worm_guide, worm_mentor, worm_digest) and the contributor-facing OpenWorm Skills a human or their coding agent installs and runs locally. Add explicit callouts on both ai_agents.md and how-contributing-works.md naming the distinction, give N2-Whisperer a "Skill Routing" capability row that says it prescribes a skill rather than writing your code, and point community.md at the skill-accelerated path for anyone already working with an AI agent. Also replace the stale "openworm-admin repository" pointer with the public openworm/openworm-skills repo, and state plainly that the agents' own behavioral specs and deployment configs stay privately maintained. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Summary
Brings the OpenWorm Design Documents into the repository as the project's technical
source of truth, and rebuilds the docs site around them — while publishing only what
is ready to be read publicly.
Written as a spec-first architecture: the DDs define what gets built, GitHub issues
and milestones track when, and the site publishes the parts that are stable.
What actually publishes
One Design Document: DD001 Body Physics — the reference DD that every other one is
written against.
The remaining 26 DDs and all 9 draft-issue files are authored and committed here, but
are excluded from the site build via
exclude_docsinmkdocs.yml:Excluded means genuinely excluded — not merely absent from the nav. Those pages are
unreachable by direct URL and do not appear in the search index. They live canonically
on GitHub, where the people working on them already are. Publishing a DD is a
deliberate two-line change: add it to
nav, remove it from the patterns above.This is intentional. A design document that is still being argued about should not read
as a public commitment from the Foundation.
Alongside DD001, the Design Documents section publishes the Phase Roadmap,
Integration Map, and Contributing Guide — the navigational spine, without the
in-flight detail.
Specs vs. issues
DDs are specifications, not trackers. This PR codifies that split:
v0.<phase>.<sub>semver scheme aligned to the Phase Roadmapreferenced by their real numbers
DD001's draft-issue file is a staging area for issues not yet filed — not a parallel
tracker.
New site pages
contributing/how-contributing-works.mdcontributing/contributor-progression.mdcontributing/decision-process.mdcontributing/ai-contributors.mdCommunity/ai_agents.mdreferences.mdvalidation.mdResources/github-repo-inventory.mdarchived_projects.mdSite-wide fixes
Broken links and missing anchors repaired across the publish set; line-break rendering
fixed (metadata blocks use list markers, not trailing whitespace); HTTPS upgrades;
relative paths corrected from non-root pages; terminology made consistent
("Cell-Type Specialization"); Projects-page roadmaps reconciled against the canonical
Phase Roadmap.
CI: PR preview deployments
Every PR now auto-deploys a rendered preview to
docs.openworm.org/preview/<branch>/and posts the link as a PR comment, so changes can be reviewed as rendered pages rather
than as diffs. Master deploys preserve existing previews (#117).
Scale
123 commits, 96 files changed, +29,598 / −434.
Test plan
mkdocs build --strictpasses with zero warningsdocs.openworm.org/preview/integrate-design-documents/!!!/???) render — requires theadmonition,pymdownx.details, andpymdownx.superfencesextensionsKnown follow-ups (not blocking review)
A global find-and-replace during the DD renumbering inserted markdown links in places
markdown does not render them. Two classes remain, both cosmetic and both scoped:
(visible on GitHub, not on the site). Worst offenders: DD011 (27), DD013 (24).
Config samples such as
# === Muscle Model ([DD003](DD003_Muscle_Model_Architecture.md)) ===are not copy-pasteable as written.
DD002–[DD001](…), which reads asa backwards range. These render as valid links, so no link checker catches them.
Both are being fixed in a follow-up. A fence-aware lint check should land with them so
the pattern cannot return:
mkdocs build --strictcurrently reports zero warnings whilethese are present.
🤖 Generated with Claude Code