# Programme Companion 0.1.0 — acceptance checks

These are repeatable checks, not a claim that every browser or AI provider has been tested.

## Workspace

1. Open `index.html`. Five actions, 55 estimated minutes and 0/5 completed appear. Every “Why this step?” quote is present in the displayed source material.
2. Check an action by keyboard. The completion count and progress update. Write a reflection and reload. On a browser permitting storage, both persist.
3. Edit the goal, programme, action and minutes. Save and reload. The valid edits remain. Blank titles or minutes outside 1–240 cannot be saved.
4. Export the week. Reset the sample after confirmation. Import the backup and confirm; saved actions, source, progress and reflection return.
5. Attempt import with invalid JSON, over 100 KB, no actions, eight actions, duplicate action IDs, version 2, non-boolean done, an extra field or a quote absent from sourceText. A useful error appears and the current plan remains unchanged.
6. Import text containing HTML markup in a title/source. It appears as plain text. No injected element or script executes.
7. Deny browser storage. A clear save warning appears and JSON export remains available. No “saved” claim is shown after a failed write.
8. Cancel import replacement or reset. The current week remains unchanged.
9. Open Make it mine. Copy the prompt. If clipboard access is blocked, copy manually from the shown textarea or SETUP-PROMPT.md.
10. Complete all actions. The UI prompts for reflection rather than inventing grades, educational mastery or business results.
11. Open the same workspace in two windows. Open Edit plan in A. Import a different plan in B. A must show the newest week and block the old editor from saving over it. Reopen A's editor and verify editing now affects the new plan. Checking a task in either window must target that task ID, not an old index.
12. If the saved JSON is corrupt, changes may remain session-only but the corrupt stored value must never be silently overwritten. Export must remain available.

## Usability

- Tab through controls, checkboxes, source disclosures and dialogs. Focus is visible; dialogs close with Escape and return focus to their opener.
- Check 320px, 768px and desktop layouts. Labels and source quotes must remain readable without horizontal page scrolling.
- Check reduced motion. There is no essential animation or autoplay media.
- At 200% zoom, controls remain usable and text does not overlap.
- Unzip and open on an actual desktop browser without a server. Clipboard fallback and manual backup must work if browser restrictions block enhancements.

## AI handoff — requires a real user trial before public compatibility claims

Give the setup prompt and an approved source excerpt to the intended AI/plan. Confirm it asks about outcome, time and constraints. Review its plan, request JSON, import it, compare every action against the source and finish one action. Record provider, plan, client, date, setup time and any intervention. A structurally valid import alone does not validate educational quality or provider compatibility.
