PROTOTYPE Plan: free Plan: pro View constraints Open Builder

Prototype Constraints

This page is the full list of the rules that are not visible from screenshots. README.md and HANDOFF.md section 7 carry the same list, written from the same source (lib/constraints_list.rb, synced by scripts/sync_constraints.rb). Numbers are read from the constants that enforce them.

The AI's role (owner principle)

Landing page (/)

Import: files and paste

Import: reading the document with AI

Wizard: steps, navigation and sessions

Wizard: text limits and Rewrite with AI

Wizard: Find, strategy strips and pools

Wizard: step by step

Generate

Handoff to the Builder

Plans, access and debug routes

Open questions (TODO: confirm with stakeholder)

State coverage per screen

The guide asks every screen for six states: default, loading, empty, form_errors, api_error, permission. Toggle them in the banner or append ?state=<name> to the URL. Cells: ✓ implemented, n/a not applicable, missing not built.

Screen default loading empty form_errors api_error permission
/ (landing) ✓ ✓ shows the plan gate when free n/a ✓ ✓
/generator/import ✓ ✓ missing ✓ ✓ ✓
/generator/import/behaviors ✓ on submit only missing missing missing missing
/generator/wizard/1..12 ✓ ✓ missing step 12 only, as a toast ✓ ✓
/generator/generating ✓ is the loading state missing missing ✓ ✓
/generator/handoff ✓ missing missing missing ✓ ✓
/constraints ✓ n/a n/a n/a n/a n/a
/builder mini-BIP pages 1 and 2 ✓ ✓ ✓ ✓ ✓ ✓
/builder other pages ✓ missing missing missing missing missing

The Builder has no prototype banner; its two mini-BIP pages read ?state= from the URL on every render. The wizard's form errors arrive as a toast, not an inline list (owner decision).