PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
 
Loading...
Searching...
No Matches
Developer Portal

Type HubFor Contributors and maintainersStatus Routing only - see linked pages for detail

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.

1. Architecture and Contracts

2. Documentation Contracts

3. Numerical Methods and Models

4. Documentation and Maintenance

5. Suggested Contributor Read Path

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:

  1. Code Architecture and the nearest directory guide.md for ownership.
  2. Configuration Contract (YAML -> Generated Artifacts -> Runtime), Developer Ingestion Map, and Configuration Extension Playbook for configuration ingress.
  3. Documentation Extension Framework and Modular Selector Extension Guide for capability or subsystem work.
  4. C Runtime Execution Map for runtime changes, and the ordered route in 5.3 Spatial Data Model Read Path for field storage, boundary, or ghost work.
  5. Testing and Validation Guide plus tests/guide.md for the narrowest evidence that answers the change's risk.

5.1 Agent-Assisted Development

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.

5.2 Clone and Environment Portability

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.

5.3 Spatial Data Model Read Path

Field storage, boundary treatment, and ghost exchange are owned by separate pages rather than one narrative. Read them in dependency order:

  1. Grid, Cell, and Variable Architecture Guide: nodes versus cells, face-centered flux storage, and the shifted-index convention cell-centered variables use.
  2. Field Identity and Layout Catalog, sections 3 through 5: the per-field descriptor, the layout-to-boundary conventions, and what 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.
  3. Periodic Boundaries and Driven Flows for the periodic grid contract and field synchronization, then Boundary Conditions Guide for handler dispatch.

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.

6. Expected Outcomes

After working through this section, you should be able to:

  • trace a new YAML key from schema to runtime consumer,
  • identify the right C module for a numerical feature change,
  • update docs/tests/validation alongside code changes,
  • preserve diagnostics and contract clarity while extending behavior.