# Contract Docs

These files define subsystem boundaries for `retroDE_ps2`.

Each contract should answer:

- what the block owns,
- what enters and exits the block,
- what timing or ordering guarantees matter,
- what is allowed to be stubbed early,
- what must be true before software is expected to progress.

These are design contracts, not user documentation.

Contract maturity levels:

- `Draft`: planning-first, expected to change.
- `Locked for Phase N`: stable enough to implement against for that phase.

Current status:

- All files in this folder are `Draft`.
- Current contract set includes a dedicated interrupt-controller contract in
  `intc.md` to keep ownership explicit across EE-visible subsystems.
- `sio2_pad.md` is a Ch233 recon contract — no RTL yet — sketching how
  the Ch222 HPS-side input latches will become a PS2-side `sio2_input_stub`
  with an IOP-readable pad-state register set in a future implementation
  chapter.
