Skip to content

Integrate Design Documents into docs site#114

Open
slarson wants to merge 81 commits into
masterfrom
integrate-design-documents
Open

Integrate Design Documents into docs site#114
slarson wants to merge 81 commits into
masterfrom
integrate-design-documents

Conversation

@slarson
Copy link
Copy Markdown
Member

@slarson slarson commented Feb 24, 2026

Summary

  • Adds 27 Design Documents (DD001–DD026, plus DD014.1 and DD014.2) covering the full OpenWorm simulation architecture — neural circuits, muscle models, body physics, visualization, validation, and governance
  • Adds supporting infrastructure: Phase Roadmap, Integration Map, Contributing Guide, draft GitHub issues for DD001/DD002/DD003/DD013/DD020/DD021
  • Site-wide improvements: DOI-linked references page, GitHub repo inventory, archived projects page, validation framework page, AI agents community page
  • Fixes across existing pages: broken links, line break rendering, HTTPS upgrades, relative paths, consistent terminology ("Cell-Type Specialization")
  • CI: Adds PR preview deployments — every PR now auto-deploys a rendered preview to docs.openworm.org/preview/<branch>/ with a link posted as a PR comment

Key files

  • docs/design_documents/ — all 27 DDs plus index, roadmap, integration map, contributing guide
  • docs/design_documents/*_draft_issues.md — pre-written GitHub issues for 6 DDs
  • mkdocs.yml — expanded nav with full DD hierarchy
  • .github/workflows/mkdocs.yml — PR preview deploy support
  • docs/references.md, docs/validation.md, docs/archived_projects.md — new pages

Test plan

  • CI build passes (mkdocs build + linting)
  • PR preview deploys successfully to docs.openworm.org/preview/integrate-design-documents/
  • Navigation renders correctly — all DD pages accessible
  • Cross-references between DDs resolve (relative links)
  • SVG diagrams (Integration Map, causal loops) render in browser
  • Mockup images in DD014.1 display correctly
  • Admonition blocks (!!!/???) render properly (requires pymdownx extensions)

🤖 Generated with Claude Code

slarson and others added 30 commits February 19, 2026 23:04
- 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>
slarson and others added 3 commits February 24, 2026 10:37
v2 is deprecated and now hard-fails at job setup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
pycairo build fails on Ubuntu 24.04 runners without this package.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The listComments response is already destructured, so comments
is the array directly — no need for comments.data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

slarson and others added 12 commits February 24, 2026 12:52
…al terms

- Update DD count from 25 to 27 across 6 files (index, fullhistory, ai_agents,
  DD015, modeling) to reflect DD024-DD026 and DD014.1/DD014.2
- Add "Getting Started" section to DD001 with repo clone commands, Docker path,
  and native Python setup so newcomers can actually follow build instructions
- Add 30 hyperlinks for domain-specific terms (Hodgkin-Huxley, NeuroML, LEMS,
  SPH, PCISPH, WCON, OME-Zarr, etc.) on first occurrence across DD001-DD003,
  DD020, DD_PHASE_ROADMAP, and INTEGRATION_MAP

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add "Getting Started" sections with clone URLs, Docker-vs-native paths,
and dependency installation to all Phase 0 DDs so newcomers can follow
the build instructions without prior knowledge:

- DD002: Same c302 setup as DD001, with cross-reference for existing setup
- DD003: Native C++ path with platform-specific OpenCL guidance, Docker
  recommended to avoid SDK setup complexity
- DD020: Distinguish "use cect" (pip install) from "develop cect" (clone +
  editable install + pytest)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update the DD012 RFC Process template to require a "Getting Started
(Environment Setup)" sub-section in every DD's "How to Build & Test":

- Template: expand flat bullet list into structured sub-sections
  (Prerequisites, Getting Started, Step-by-step, Green light criteria)
- Getting Started must include: repo clone URLs, Docker path (recommended),
  native path with exact install commands, cross-references for shared repos,
  platform-specific notes where applicable
- Quality criterion #10: "Complete Setup Path" — newcomer goes from blank
  machine to working environment without guessing
- Anti-pattern #10: "Missing setup context" — build commands assume repos
  are already cloned without saying how

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Every non-exempt Design Document now has a "Getting Started (Environment
Setup)" sub-section per the DD012 template standard. Includes clone URLs,
Docker vs native paths, cross-references for shared repos, and
platform-specific notes. DD013 and DD014 received full How to Build & Test
sections (were previously missing).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…raft issues

DD001 contained ~80 lines of Phase 1-2+ future work (multicompartmental
neurons, ion channel library, synaptic optimization, spatial synapses) that
made it read like a roadmap instead of a spec. This refactor:

- Creates DD027 (Multicompartmental Neuron Models) from DD001's Level D
  and spatial synapse sections, with full DD012-compliant structure
- Redistributes DD001 draft issues to owning DDs:
  DD005_draft_issues (6 ion channel issues),
  DD017_draft_issues (3 synaptic optimization issues),
  DD027_draft_issues (3 multicompartmental issues)
- Trims DD001_draft_issues from 21 to 9 retained issues
- Replaces extracted DD001 sections with concise forward references
- Updates DD count site-wide (27→28), Phase Roadmap, Integration Map,
  mkdocs.yml nav, and cross-reference indices

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
DD001 should describe what exists now and note known approximations,
not how the nervous system model will evolve. Replaced three evolution
subsections (synaptic optimization, ion channel expansion, spatial
synapses) with a concise "Known Approximations" section. Trimmed
forward-looking reference annotations and removed future-only refs.
Moved the digested technical details to Phase Roadmap where they
belong (Phase 1 ion channel expansion, Phase 2 DD027 staging,
Phase 3 synapse weight optimization).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ring 1 (Open Courtyard) should be outermost and Ring 3 (Inner Sanctum)
innermost — newcomers enter from outside, founder is protected at core.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New DD specifying a real-time project health dashboard: validation
scores, contributor activity, CI pipeline status, and phase progress.
Static site (Chart.js + GitHub Pages) fed by a Python metrics
collector. Updates site-wide DD count (28→29) and all cross-references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… map

- Add DD028 key deliverable + success criterion to Phase A in roadmap
- Add missing key deliverables for DD012, DD011, DD024 (items 11-13)
- Add missing success criteria for DD012, DD011, DD024, DD028
- Add 5 missing Phase A DDs to Integration Map Phase Legend (DD008, DD011,
  DD012, DD015, DD024); reorganize legend by phase
- Add DD028 component + edges to PlantUML diagram (Infrastructure package)
- Add DD024 incoming edge from ext_beh (raw experimental data)
- Add DD027 component + edges to PlantUML diagram (Neural Extensions package)
- Restructure PlantUML layout: extract ML & Foundation package (DD025, DD017)
  from Infrastructure, position upstream of Neural Extensions and Core to
  convert 6 backward arrows into forward flow
- Re-render integration_map.svg with all diagram changes
- Remove all bio.rodeo references (9 occurrences across 5 files), keep
  underlying model names (AlphaFold 3, BioEmu-1, Boltz-2, ESM Cambrian)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ampaign

Closes the engagement design gap identified in the ExO Canvas (1/10 → 3/10).
Adds 7 targeted improvements: Choose Your Level self-assessment, trigger-action
engagement loop with State of the Worm newsletter, expanded public contributor
dashboard, DD024 data digitization as L1 tasks, DD014 viewer as engagement hook,
3-wave reactivation campaign for 940 dormant applicants, and DD014/DD024/DD028
integration contract references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…sking)

Phase A was a monolithic 9-DD block mixing critical-path infrastructure
with governance docs. This split clarifies what truly blocks progress
(A1: DD008, DD013, DD021, DD024, DD028) vs what enables scaling in
parallel (A2: DD011, DD012, DD015, DD025). Updated all 27 files:
roadmap, overview, nav, 9 DD headers, integration map, 7 draft issue
files (~150 refs), contextual body text, and supporting pages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 0 has 83 open stabilization issues across DD001-DD003/DD020.
Replace misleading "Done"/"Complete"/"Already done" with "Functional"
to convey that the simulation runs but stabilization work remains.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
slarson and others added 13 commits March 17, 2026 09:29
Resolve conflicts from imgur image migration (PR #116) — keep local
image paths from master alongside design document content additions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Shifts the modernization narrative from Taichi-as-intermediate-layer to
hand-written native Metal (Apple Silicon) and CUDA (NVIDIA) substrates.
Recognizes the active `ow-native-gpu-0.1.0` consolidation (PR #230) and
PR #229 (CUDA scaffolding) as the strategic direction.

Headline changes:
- Compute Backends table: native Metal + native CUDA rows; Taichi
  Metal/CUDA demoted to a single "Superseded" row
- New §"Why Native Ports, Not Taichi" subsection explaining the
  historical Taichi coordinate-space divergence as motivation for the
  hand-written-per-platform strategy
- §"The Result Quality Gap" rewritten around current native-Metal
  per-demo parity status (5+ demos working)
- §"The Taichi Coordinate-Space Bug" subsection removed — folded into
  the new "Why Native Ports" section as a historical note
- §"Backend Graduation Criteria" status table reflects native ports
- §"Stabilization Sequence" reordered around landing PR #230 + per-
  demo parity gates
- New §"Community Contributions to Modernization" pointer to the
  `contributor-acknowledgment` GitHub label (no contributor names in
  the DD itself)
- `body.backend` valid values: taichi-{metal,cuda} → {metal,cuda}-native
- Implementation Status + Next Actions updated to current reality
- Key files list expanded with src/metal_diff/ + src/cuda/ paths

Differentiability is now framed as a byproduct of the native-port
implementation approach (cross-reference to DD017), not the motivation
for the modernization. This reflects the "we jumped the queue with
differentiable simulations" reframing — native hardware compatibility
is Phase 0, differentiability framework is DD017's Phase 3 scope.

All anchors referenced by the in-progress per-issue migration plan
remain stable. Build verified: mkdocs build succeeds; new anchors
(#why-native-ports-not-taichi, #community-contributions-to-modernization)
render cleanly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
These three "DDs" were explicitly self-labeled as governance documents
(Status: Proposed (Governance) in their frontmatter) rather than
technical Design Documents. Moving them out of the DD series cleans up
DD semantics ("DDs spec technical artifacts") and puts contributor
onboarding in a discoverable top-level Contributing section.

New /docs/contributing/ section (parallel to existing Community/,
Projects/, Resources/):
- index.md — landing page explaining the section purpose
- contributor-progression.md — from DD011 (L0-L5 levels, badges,
  BadgeList integration, reactivation campaign)
- decision-process.md — from DD012 (RFC process, DD template,
  workflow, Mind-of-a-Worm enforcement)
- ai-contributors.md — from DD015 (AI agent registration, DD-to-issue
  decomposition, AI-human coexistence, GitHub bot architecture)

Editorial pass on each migrated file is intentionally light:
- Drop "DDxxx:" prefix from title
- Drop the Phase A2 callout (no longer phase-gated)
- Convert frontmatter: Status: Proposed → Active; Author → Maintained by
- Update internal cross-refs to relative /contributing/ links
- Prefix all DD-references with ../design_documents/ (sibling dir)
- Content body otherwise unchanged

Stub redirects at old DD locations:
- design_documents/DD011_Contributor_Progression_Model.md
- design_documents/DD012_Design_Document_RFC_Process.md
- design_documents/DD015_AI_Contributor_Model.md
Each is a short page pointing at the new /contributing/ location with
a brief "Why this moved" explanation. Numbers retired from the series.

Cross-reference updates across the rest of the DD corpus:
- mkdocs.yml — new Contributing top-level section; Phase A2 nav under
  Design Documents now contains only DD025 + a link to /contributing/
- DD_PHASE_ROADMAP.md — Phase A2 scope reduced to DD025; governance
  pages noted as living continuously in /contributing/
- INTEGRATION_MAP.md — Governance package + table updated
- design_documents/index.md — quick links + governance section refer
  to /contributing/ by descriptive labels
- All other DDs (DD010, DD013, DD014, DD020, DD021, DD028, draft
  issues files, contributing_guide) — bulk-rewrote canonical link
  targets and DDxxx labels

Build verified: mkdocs build succeeds with no new broken links
beyond pre-existing image-path and DD-rename warnings unrelated to
this migration.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Combines DD003 native-gpu reframe (dd003/native-gpu-reframe topic
branch) with the /docs/contributing/ section migration of DD011/12/15.
The two topic branches touched disjoint files so this is a clean merge.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Closes the gaps left by retiring DD011/12/15 (which moved to
/docs/contributing/) and the historical DD016 gap. Net effect: the
published DD series is now contiguous DD001-DD024, with DD012.1 and
DD012.2 sub-numbers preserved as the only non-integer entries.

Mapping (old → new):
  DD013 → DD011  (Simulation Stack Architecture)
  DD014 → DD012  (Dynamic Visualization Architecture)
  DD014.1 → DD012.1  (Visual Rendering Specification)
  DD014.2 → DD012.2  (Anatomical Mesh Deformation Pipeline)
  DD017 → DD013  (Hybrid Mechanistic-ML Framework)
  DD018 → DD014  (Egg-Laying System Architecture)
  DD019 → DD015  (Closed-Loop Touch Response)
  DD020 → DD016  (Connectome Data Access and Dataset Policy)
  DD021 → DD017  (Movement Analysis Toolbox and WCON Policy)
  DD022 → DD018  (Environmental Modeling and Stimulus Delivery)
  DD023 → DD019  (Proprioceptive Feedback and Motor Coordination)
  DD024 → DD020  (Validation Data Acquisition Pipeline)
  DD025 → DD021  (Protein Foundation Model Pipeline)
  DD026 → DD022  (Reservoir Computing Validation)
  DD027 → DD023  (Multicompartmental Neuron Models)
  DD028 → DD024  (Project Metrics Dashboard)

Changes:
- Renamed 22 DD files (and their _draft_issues.md siblings) via git mv
  in cascade order (smallest old number first, vacating slots before
  refilling)
- Deleted DD011/12/15 stub redirect files — no longer needed after
  renumber overwrites the slots; the underlying content is canonical
  at /contributing/
- Two-pass sed across all docs/*.md + mkdocs.yml: DDxxx → DD_TMP_yyy
  → DDyyy (uppercase + lowercase label forms) — handles every link
  target, link text, prose mention, anchor reference, and PlantUML
  component ID
- Fixed remaining references in docs/*.md, docs/Community/,
  docs/Projects/, docs/Resources/ that pointed at the deleted
  DD011/12/15 stub filenames — now point at /contributing/

Sequence note: this lands AFTER the DD003 native-gpu reframe and the
/contributing/ migration both merged to integrate-design-documents,
so the renumber is a single coherent pass over a stable state. No
rebase needed.

Build verified: mkdocs build succeeds; no new broken links. Pre-
existing warnings (image paths, hypothetical DD names that never
matched any real file) are unrelated.

design-docs-drafts branch retains the pre-renumber filenames as a
historical reference, in case anyone needs to look up an old DD by
its original number.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…D001→DD002, DD002→DD003)

Repositions Sibernetic (the foundational body physics engine that
everything else couples to) as DD001, with Neural Circuit and Muscle
Model becoming DD002 and DD003 respectively. This reflects the
actual dependency direction: the body simulation is what neural and
muscle signals act upon — the body is the substrate, not a peer.

Mapping (old → new):
  DD001 Neural Circuit Architecture → DD002 Neural Circuit Architecture
  DD002 Muscle Model Architecture   → DD003 Muscle Model Architecture
  DD003 Body Physics Architecture   → DD001 Body Physics Architecture
  (and the corresponding _draft_issues.md files)

Implementation:
- Six git mv ops via DD0TMP{1,2,3}_ intermediates (cyclic swap;
  can't go direct because target slots are occupied)
- Two-pass sed across all docs/*.md + mkdocs.yml: DDxxx → DD_TMP_y
  → DD00y (uppercase + lowercase label forms) — handles all link
  targets, link text, prose mentions, anchors, PlantUML component
  IDs, and the file H1 titles
- Verified: new DD001 H1 is "Body Physics", new DD002 H1 is
  "Neural Circuit", new DD003 H1 is "Muscle Model"; Related fields
  cross-reference correctly (e.g., new DD001 lists DD002+DD003+DD004)

Build verified: mkdocs build succeeds with zero new broken links
beyond pre-existing image-path and hypothetical-DD-name warnings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…13 narrows accordingly

Audit of the sibernetic ow-native-gpu-0.1.0 branch revealed the
differentiable substrate is substantially more mature than DD001
acknowledged. Concrete state on the branch:

- 19 forward kernels with 19 paired analytic backward kernels
  (hand-derived, all FD-validated at ε=1e-3, rel-err 1-5%)
- Multi-step xpbd_full_bwd walks K constraint iterations in reverse,
  produces gradients on (x_init, v_init, ρ_rest, spring_K, viscosity,
  α_density, floor_y, restitution, membrane params)
- 8 SGD harness scripts; 4 of 5 demos (demo1, demo2, one_sprig,
  worm_alone) already tuned to OpenCL reference via gradient descent
- src/cuda/README.md mandates that the CUDA port mirror this
  architecture file-for-file (paired backward per forward is a
  structural requirement)

DD001 changes:
- TL;DR adds explicit "architecturally differentiable" framing
- Quick Action Reference gains Differentiability row
- Compute Backends table gains Differentiable column (Metal: ✅
  end-to-end; CUDA: 🟡 structural mandate; OpenCL: ❌ forward only)
- New "Differentiability" section (~120 lines) covering:
  * Why a substrate property, not a framework layer (3 structural
    advantages: no drift, GPU-native gradients, free parameter grads)
  * Per-kernel table of forward + paired backward + FD validation
  * Multi-step xpbd_full_fwd/_bwd API
  * Gradient-tuned demos table
  * Implications for downstream subsystems (DD002, DD003, DD010, DD011)
  * What's not yet differentiable (OpenCL, CUDA in progress, PyTorch)
  * How to use the differentiable interface (CLI example, sgd_true.py
    reference)
- Quality Criteria gains item 7: paired backward per forward is the
  architectural contract; new kernels without backward must not land
- Integration Contract Outputs gain "Parameter gradients" row
- Implementation Status + Next Actions reflect the differentiable
  reality + add joint neural↔body fitting as a Phase 3 prototype

DD013 changes:
- New "Scope reduced (2026-05)" admonition at top explaining the
  architectural shift — original 4 components reduced to 2
- TL;DR rewritten: remaining scope is SPH surrogate + learned sensory
  transduction (the differentiable substrate component moved to DD001,
  the foundation-model component went to DD021, the neural-ODE
  differentiability is deferred to Phase 3 design discussion)
- Goal & Success Criteria + Deliverables trimmed
- Quick Action Reference + config keys updated
- Related field reordered to lead with DD001 (Body Physics) since
  DD013's SPH surrogate trains against DD001's differentiable substrate

Light-touch downstream annotations:
- DD002 (Neural Circuit): "Joint Neural ↔ Body Parameter Fitting"
  forward-reference subsection
- DD003 (Muscle Model): note that muscle-through-body parameter
  fitting becomes possible once muscle ODE is also differentiable
- DD010 (Validation Framework): "Gradient-Based Validation" forward
  reference — Tier 3 metrics as loss functions; proposed `validate-grad`
  mode
- DD011 (Simulation Stack): Inputs/Outputs gain gradient-buffer row;
  proposed `body.differentiable: true` config flag (no-op for OpenCL)

Build verified: mkdocs build succeeds with zero new broken links
beyond pre-existing image-path and hypothetical-DD-name warnings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Articulates the 8-phase predict→reference→inspect→refine→implement→
SGD-tune→render→compare workflow that emerged from the native-Metal
port (ow-native-gpu-0.1.0 branch) and bakes it into the DD as a
binding contract for every physics PR. This is the methodology
companion to the architectural Differentiability section: the
backward kernels prove the math is right; this workflow proves the
physics is right.

Three additions:

1. Quick Action Reference gains a "Validation methodology" row
   pointing at the new section.

2. Quality Criteria #8 added: every physics change MUST follow the
   8-phase workflow. PRs without (a) benchmark config, (b) OpenCL
   reference trajectory, (c) Metal/CUDA trajectory dump, (d) side-by-
   side MP4, (e) visual + quantitative parity evidence are not ready
   to land. Hand-swept parameters are forbidden — SGD with saved
   convergence history required.

3. New top-level "Validation Methodology" section (~200 lines)
   placed after Quality Criteria and before Boundaries:

   - "Why This Is Horizontal" framing
   - 8 phases documented one-by-one with the operational commands
     (build, dump_metal_trajectory.py, sgd_*.py, render_*.py, ffmpeg
     hstack, frame extraction)
   - Worked example: one_sprig_test walked through all 8 phases
     showing how the 2× period surprise drove SGD-tuned K=555
   - 10-item Mind-of-a-Worm PR Review Checklist that human and AI
     reviewers MUST verify before approving
   - 10 common gotchas distilled from the native-Metal port history
     (0.25 factor, rho_rest=0 NaN, CLI argv cascades, hand-sweep
     anti-pattern, physics-gap vs parameter-gap diagnosis, etc.)
   - Validation tooling reference (src/metal_diff/dump_metal_trajectory
     .py, render_*.py, sgd_*.py, test_*.py FD validators)
   - Explicit requirement that the CUDA substrate must include the
     same workflow tooling when it lands

Sources:
- Native-Metal port commits on ow-native-gpu-0.1.0
- Existing sibernetic-demo-port skill at
  ~/.claude/skills/sibernetic-demo-port/SKILL.md
- The 19 FD validators + 8 SGD harness scripts in src/metal_diff/

Build verified: mkdocs build succeeds with zero new broken links.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
After DD001 added the 8-phase predict→reference→inspect→refine→
implement→tune→render→compare methodology (commit dac96b7), extract
analogous methodology sections into the four DDs whose subsystems
share the same validation-shape concern. Each DD's methodology is
adapted to its domain's lived references and tooling, but all
follow the same horizontal pattern and produce the same
MoaW-checklist / common-gotchas artifacts.

DD010 (Validation Framework) — the meta-template:
- New "Validation Workflow Pattern" section after Three-Tier table
- Articulates the 8-phase pattern as the cross-tier meta-template
- Shows how Tier 1, Tier 2, Tier 3 each instantiate the pattern
  (one phase-table column per tier)
- Per-tier artifact requirements table
- 7 anti-patterns MoaW flags (skip prediction, hand-sweep, post-hoc
  thresholds, etc.)
- Points at DD001 as the canonical worked example
- Quality Criteria #5: workflow-pattern-followed becomes binding
- Quick Action Reference adds "Workflow pattern" row

DD002 (Neural Circuit) — per-cell/per-pair/per-network methodology:
- New "Validation Methodology" section (~100 lines)
- Renames existing "Validation Procedure" → "Validation Procedure
  (Quick Reference)" to keep its bash one-liners separate from the
  deeper methodology
- 4 levels: per-cell electrophysiology, per-synapse, per-network
  functional correlations, round-trip with body via Sibernetic
- Each level has its own 8-phase table with the relevant reference
  datasets (Goodman 2002, Randi 2023, Yemini 2013) and acceptance
  thresholds
- Expression-consistency shortcut for the ~121 neuron classes
  without patch-clamp data
- 10-item MoaW PR review checklist (neural-circuit-specific)
- 5 common gotchas (don't confuse prediction with simulation
  output, don't break network when tuning cells, don't add edges
  to Cook 2019 topology, etc.)
- Forward-reference to differentiable substrate (DD001) for joint
  neural↔body fitting once neural ODE side gains differentiability

DD003 (Muscle Model) — twitch/curves/round-trip methodology:
- New "Validation Methodology" section (~95 lines)
- Renames existing "Testing Procedure" → "Testing Procedure
  (Quick Reference)"
- 3 levels: twitch dynamics (calcium→force pulse shape against
  Boyle & Cohen 2008), force-velocity/force-length curves (Hill
  1938, Gordon-Huxley-Julian 1966), round-trip body bend
- Round-trip level explicitly uses DD001's tooling (dump_metal_
  trajectory.py, side-by-side render)
- 10-item MoaW PR review checklist (muscle-model-specific)
- 5 common gotchas (don't copy neuron HH params to muscle, don't
  skip Level 3 for "internal" changes, etc.)

DD011 (Simulation Stack) — integration-layer methodology:
- New "Stack Integration Validation Methodology" section (~90 lines)
- Distinguishes integration-layer concern from scientific-accuracy
  concern: "does the plumbing keep working when the science changes?"
- Two-Gate Model: quick-test (<5 min, no-crash) vs validate (<2 hr,
  DD010 tier gates); explicit "what each gate proves / does NOT
  prove" table
- 8-phase methodology adapted to Docker / compose / orchestrator
  concerns
- Subsystem-Onboarding Workflow (7 numbered steps for adding a new
  subsystem to the stack)
- 10-item MoaW PR review checklist (integration-layer-specific)
- 8 common gotchas (Dockerfile layer ordering, transitive deps,
  quick-test vs validate confusion, versions.lock drift, etc.)
- Cross-DD Validation Coordination table — defines which DD owns
  which validation layer, with the Integration Maintainer as
  cross-DD arbiter when validators conflict

Build verified: mkdocs build succeeds with zero new broken links.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…contributing/ live

The publish set for this initial docs.openworm.org release is:
  - DD001 (Sibernetic Body Physics) — the sole published DD
  - DD_PHASE_ROADMAP, INTEGRATION_MAP, index.md, contributing_guide.md — meta pages
  - /docs/contributing/ — the four governance pages

Everything else (DD002, DD003, DD004..DD024 and their _draft_issues
companions) is held back for one-by-one review per the original plan.

Previously the publish-set files referenced held-back DDs as LIVE
links, which leaked the held-back content into the published surface
(any reader following a link would land on draft content). This commit
unlinks every cross-DD reference whose target is NOT DD001 across all
publish-set artifacts, preserving the textual mention so the prose
still reads coherently — e.g.:

  Before: "See [DD004](DD004_Mechanical_Cell_Identity.md) for ..."
  After:  "See DD004 for ..."

Approach: a small Python script (`/tmp/unlink_held_back.py`, not
committed) walks every link of the form `[DDxxx](...DDyyy_*.md)`
across the publish set and unlinks any with yyy != 001. Handles
both same-directory paths (used in design_documents/) and
`../design_documents/` relative paths (used in contributing/).

Final state across 8 files (488 link removals, 44 DD001 links
preserved):

| File                                              | DD001 kept | Other unlinked |
|---------------------------------------------------|-----------:|---------------:|
| DD001_Body_Physics_Architecture.md                |          0 |             37 |
| DD_PHASE_ROADMAP.md                               |         11 |            121 |
| INTEGRATION_MAP.md                                |         20 |             90 |
| design_documents/index.md                         |          2 |             44 |
| contributing_guide.md                             |          0 |             25 |
| contributing/contributor-progression.md           |          6 |             34 |
| contributing/ai-contributors.md                   |          3 |             77 |
| contributing/decision-process.md                  |          2 |             18 |
| contributing/index.md                             |          0 |              0 |

Build verified: mkdocs build succeeds with zero new broken links
(text mentions don't have anchors to break). Intra-page anchors
(#section) and /contributing/ internal links remain live.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…EADME pointer

Four focused changes responding to user feedback after preview inspection:

1. **XPBD discussion parallel to PCISPH.** Technical Approach now has
   two side-by-side subsections: "Predictive-Corrective Pressure Solver
   (PCISPH — OpenCL Reference)" and a new "Extended Position-Based
   Dynamics (XPBD — Native Metal / CUDA Substrates)". The XPBD section
   covers:
   - The 3-phase loop (predict → constrain × K → update velocities)
   - The constraint kinds the substrate supports (density, distance,
     floor/box, membrane) and which kernel implements each
   - How force kernels (viscous pair, SPH pressure-gradient buoyancy)
     interleave with constraint projection for phenomena not cleanly
     expressed as constraints
   - Why XPBD was chosen over PCISPH for the native substrate:
     analytic per-constraint Jacobians → analytic backward kernels,
     bounded per-step state → multi-step xpbd_full_bwd, unconditional
     stability → kinematic SGD across orders of magnitude
   - Cross-approach parity: the native substrate is a XPBD/SPH hybrid
     that matches OpenCL's PCISPH kinematics at the observable level
     despite mathematically different inner schemes
   - Why this is a PBD-revisitation that resolves the accuracy gap
     that originally made PBD a rejected alternative (§Alternatives 4)

2. **Palyanov 2018 mentions linked to DOI.** Four bare-text "Palyanov
   et al. 2018" references — including the §Validated Kinematic
   Outputs header — now link to https://doi.org/10.1098/rstb.2017.0376
   inline, matching the existing footnote and the format already used
   for other citations in the document.

3. **Mind-of-a-Worm mentions linked to authoritative description.**
   The two prose mentions (TL;DR table row, Validation Methodology
   intro paragraph) now link to /contributing/ai-contributors.md
   which is the authoritative governance page for the AI agent.
   Section headers ("Mind-of-a-Worm PR Review Checklist") left as
   bare text to avoid header-link visual noise.

4. **Build & Test replaced with pointer to Sibernetic README.** The
   recap of Docker / native-build steps + Step-by-step bash recipe
   was deleted (it duplicated content that lives in the Sibernetic
   repo's README and was going stale). Replaced with:
   - A pointer to the Sibernetic README as the canonical source
   - A four-row Acceptance Criteria table (quick-test / validate /
     parity / differentiability) — this is the DD's actual concern:
     what defines a *correct* build
   - The Validation Tooling Status note (preserved from old "Scripts
     that may not exist yet" subsection) since it tracks an actual
     gap in the validation tooling

Net diff: +54/-73 (-19 lines overall — the build recap shrank more
than XPBD expanded). Build verified: mkdocs build succeeds with zero
new broken links. Not pushed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Nothing in the publish set was ever publicly released before, so
references to "previously planned", "scope reduced", "originally
had four components", or "if you arrived from the old URL" are
all meta-version commentary about drafts no reader saw. Stripping
them keeps the docs forward-only.

What's preserved: explicit statements about changes from the version
that lives on master (per user direction) and references to genuine
project history that affected real users (Taichi backend existed and
shipped in openworm.yml; OpenCL era of "build kernel, eyeball demo,
ship" — real prior practice).

Edits:

DD013 (Hybrid Mechanistic-ML Framework):
- Drop "Scope reduced (2026-05)" admonition entirely (5 lines)
- TL;DR rewritten to lead with current 2-component scope; drop the
  3-bullet "Scope reductions" section listing what moved/extracted
- Success Criteria: drop italicized "(success criterion has moved
  to DD001)" trailing note
- Deliverables: drop three italicized trailing notes about what's
  delivered elsewhere / extracted / future work — they were pure
  meta-version commentary
- Quick Action Reference: drop parenthetical noting what moved

DD_PHASE_ROADMAP:
- Drop "Note on governance scope" blockquote with "previously
  listed here as DD011, DD012, DD015". Replace with one-line
  current-state statement
- DD013 inventory row: strip "(Component 3 extracted to DD021)"
  parenthetical; replace with current-state description
- Also corrected DD013's dependency list to include DD001 (now
  load-bearing for SPH surrogate training)

DD001 §Differentiability:
- "Why Differentiability Is a Substrate Property" subsection: drop
  opening paragraph that began "Earlier OpenWorm planning (DD013)
  treated 'differentiable simulation' as a future framework
  component..." Rewrite to describe the substrate-property choice
  on its own terms, with a forward-pointing reference to DD013 for
  the ML-augmentation framework that consumes the substrate.

/contributing/index.md:
- Drop trailing "If you arrived here from a DD011, DD012, or DD015
  link..." paragraph. Nobody arrived from those URLs because the old
  URLs never existed publicly.

Build verified: mkdocs build succeeds with zero new broken links.
The remaining 3 "previously" mentions across the corpus all refer
to real-world prior states (capability comparisons, contributor
demographics, foundation-model retraining cycle), not draft
history of this work.

Not pushed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant