Conceptual workflow draft · Verify commands and versions against the repository’s current OpenSpec skills and accepted workflow before use.
RP2350 Platform · AI-Native OS

Recommended OpenSpec Flow

A practical OpenSpec lifecycle for platform-first embedded development, with explicit human review, verification, reusable-engine governance, and durable specification ownership.

Explore Propose Review Apply Verify Sync Archive

0Initialize the repository

Run once at the repository root.

npm install -g @fission-ai/openspec@latest
cd rp2350-platform
openspec init

Recommended structure

rp2350-platform/
├── openspec/
│   ├── specs/                 # Current platform truth
│   └── changes/               # Proposed and active changes
├── engine/
├── games/
│   └── dog-catch/
├── boards/
├── tools/
├── tests/
└── docs/

1Explore

Use exploration when requirements, hardware constraints, or architecture are still unclear.

/opsx:explore

Explore adding a tile-based rendering system to the RP2350 engine.
Consider:
- non-PSRAM and PSRAM boards
- HSTX HDMI output
- SRAM budget
- DMA and PIO usage
- 30 fps and 60 fps targets
- reusable engine boundaries

Agent contributions

Chief Architect Embedded Engineer Graphics Engineer Engine Steward Gameplay Engineer

Exit condition

  • The problem is clearly stated.
  • Platform vs. game ownership is understood.
  • Primary constraints are identified.
  • Open decisions are explicit.

2Propose

Create the formal change package once the problem is sufficiently understood.

/opsx:propose add-tile-renderer

Typical change folder:

openspec/changes/add-tile-renderer/
├── proposal.md
├── design.md
├── tasks.md
└── specs/
    └── tile-rendering/
        └── spec.md

Recommended artifact sequence: proposal → specs → design → tasks.

3Review the change package

proposal.md — why and scope

  • Problem being solved
  • Why now
  • Included / excluded scope
  • Affected capabilities
  • Risks and dependencies

spec.md — observable requirements

  • Behavioral scenarios
  • Acceptance criteria
  • Measurable embedded constraints
  • No hidden implementation assumptions

design.md — how it works

  • Component boundaries and APIs
  • Memory ownership
  • DMA / PIO / core allocation
  • Data formats and fallback paths
  • Performance budgets
  • Rejected alternatives

tasks.md — implementation sequence

  • Small, independently verifiable work items
  • Clear ordering and dependencies
  • Platform validation tasks
  • Documentation and integration work
Human approval gate: approve platform-vs-game ownership, public API, memory/performance budgets, acceptance scenarios, scope/exclusions, and task breakdown before implementation begins.

4Apply

/opsx:apply add-tile-renderer

The implementing agent should read the approved proposal, specs, design, and tasks before writing code.

  • Implement tasks in order.
  • Mark tasks complete as evidence accumulates.
  • Run tests after meaningful increments.
  • Stay within approved scope.
The code must follow the spec. If the spec is wrong, update the spec explicitly before changing implementation direction.

5Verify

/opsx:verify add-tile-renderer

Verification dimensions

  • Functional: every specification scenario passes.
  • Architectural: engine boundaries remain clean.
  • Embedded: flash, SRAM, heap, stack, frame time, DMA/PIO, CPU usage.
  • Quality: tests, static analysis, docs, and task completion.

QA/Test Engineer owns evidence; Engine Steward confirms reusable-platform integrity.

6Sync

/opsx:sync add-tile-renderer

Reconcile legitimate spec changes with what is ready to become durable platform truth.

openspec/specs/
    Describes what the platform supports now.

openspec/changes/add-tile-renderer/
    Describes the proposed difference from current state.

7Archive

/opsx:archive add-tile-renderer

# or
openspec archive add-tile-renderer

Archive only after implementation, verification, architectural review, and spec reconciliation are complete.

  • All required tasks checked
  • Acceptance scenarios pass
  • Hardware validation recorded
  • Architecture review passes
  • Canonical specs match the finished platform

Recommended multi-agent operating model

  1. Producer defines the desired outcome and initiates the change.
  2. Chief Architect + specialists run Explore and identify constraints.
  3. Chief Architect drives Propose and owns the change framing.
  4. Domain agents contribute to specs and design.
  5. Engine Steward reviews reusable boundaries and APIs.
  6. Human technical/creative lead approves the package.
  7. Implementing agents run Apply and complete tasks.
  8. QA/Test Engineer verifies against specs and budgets.
  9. Chief Architect + Engine Steward review final implementation and spec changes.
  10. Producer confirms completion and archives the change.

Ownership matrix

Artifact Primary owner Required reviewers
proposal.mdProducer / Chief ArchitectHuman lead
spec.mdDomain engineerQA, Engine Steward
design.mdChief ArchitectRelevant specialists
tasks.mdImplementing engineerProducer, QA
CodeAssigned engineering agentDomain reviewer
Verification evidenceQA/Test EngineerChief Architect
Archive approvalProducerHuman lead

Everyday command sequence

For a moderately complex feature:

/opsx:explore
/opsx:propose add-tile-renderer

# Human + agent review

/opsx:apply add-tile-renderer
/opsx:verify add-tile-renderer
/opsx:sync add-tile-renderer
/opsx:archive add-tile-renderer

Quick path

Use only for narrow, well-understood changes with no architectural or hardware-budget impact.

/opsx:propose fix-controller-deadzone
/opsx:apply fix-controller-deadzone
/opsx:archive fix-controller-deadzone

Good fits: bug fixes, docs, small tooling changes.