# Zync.is — Codex Project Rules

## Subagent model rule

- Use `composer-2.5` for subagents.
- Never use `composer-2.5-fast` for subagents.

## Spec is the source of truth

The specs in `docs/specs/*.md` are the authoritative definition of the system.

- If you change functionality in code, schema, API contract, or UI behavior, update the matching spec in the same change so the spec reflects reality.
- If a reported "bug" is really a wrong or outdated spec, fix the spec instead of bending correct code to a bad spec.
- Code and spec must never be left in silent disagreement.
- When a fix updates a spec, also reconcile the matching `docs/plans/tasks/<slug>.md` if it restates the changed requirement, and add a one-line rationale in the spec.

## Spec mismatch authority

A reported spec mismatch is a candidate, not proof.

- Implementing or audit agents must not decide spec-wrong vs code-wrong on their own.
- They report the mismatch.
- The high-reasoning layer decides.
- Genuine product-intent calls escalate to the user before any spec edit.

## Spec-gap marathon

Audit reports live in `docs/plans/audit/<slug>.json`.

- Orchestration uses `docs/plans/registry.json` plus the `status/` and `tasks/` infrastructure.
