This section is for maintainers and contributors changing solver behavior, YAML contracts, or workflow logic. It emphasizes architecture boundaries, method-level reasoning, and safe extension points.
Begin with the repository-root CONTRIBUTING.md for issue metadata, pull-request scope, reuse expectations, and verification reporting. Then choose only the route needed by the change:
guide.md for ownership.tests/guide.md for the narrowest evidence that answers the change's risk.Agent use is optional. AGENTS.md is the canonical shared working agreement; CLAUDE.md imports it. The canonical reusable skills live under .agents/skills/ and byte-identical materialized copies under .claude/skills/ make the setup work in clones whose toolchains do not follow the same discovery convention. Run make audit-agent-setup to verify portability and make sync-agent-skills after an intentional canonical skill edit.
The cross-cutting picurv-technical-communication skill composes with the applicable workflow skill for substantive explanations, plans, findings, recommendations, and technical handoffs. It standardizes audience calibration and evidence-status language; it does not replace the workflow skill or make explanatory documentation authoritative.
Agents use documentation and registries as a bounded index, then inspect the routed code and tests because runtime behavior remains authoritative. The review-packet modes documented in Documentation Extension Framework join those declarations; an optional current Doxygen source-reference cache can further bound caller inspection. Neither mechanism proves behavior. Human and agent contributions owe the same focused scope, reuse search, tests, and explicit list of what was not verified.
The tracked agent audit rejects symlink-only instruction/skill layouts and verifies that .claude/settings.local.json stays untracked through the repository's own exact ignore rule rather than a developer's global Git configuration. Machine-specific permissions remain local. Contributor setup, tests, and documentation commands do not require either Codex or Claude Code.
Field storage, boundary treatment, and ghost exchange are owned by separate pages rather than one narrative. Read them in dependency order:
UpdateLocalGhosts does after the global-to-local scatter. Section 4 separates decomposition halo entries from solver-layout boundary and dummy indices; read it before writing any kernel that indexes neighbors.The catalog's field.identity_and_layout contract is report-only, so confirm layout facts against the code and the live DM before relying on them. make review-packet CONTRACT=field.identity_and_layout reaches the declared symbols and sources without reading these pages end to end.
After working through this section, you should be able to: