# Assignment integration repairs · 14 September 2026

The first implementation following the teaching audit connects the dated assignment catalogue to lessons, available rubrics, course outcomes and actual teacher evidence. It preserves the earlier assessment and sprint catalogues as explicitly labelled earlier plans. It does not fabricate missing semester materials.

## Delivered behaviour

- **Assignments & Rubrics:** 111 planned entries across MM12, COM11 and Digital Society, searchable and filterable by sprint and preparation status. CP12 retains its existing assessment workspace.
- **Assignment detail:** the dated title, version, linked lessons, course outcome references, available I-can statements, actual rubric descriptors and evidence history appear together. Conflicting earlier display titles remain visible for review rather than silently replacing a teacher's plan.
- **Preparation checks:** missing rubrics, unresolved lesson/outcome references and unverified teaching components are explicit. A lesson's taught flag and a file reference alone cannot make a package ready. The current catalogue has no fully verified assignment packages.
- **Sprint Overview:** the newer architecture is shown alongside current dated lesson titles and linked assignments, including assignments spanning sprint boundaries. Architecture is labelled a proposal. Earlier planners remain available.
- **Evidence capture:** starting from an assignment fills its task ID and retains assignment ID, catalogue version and rubric reference in the evidence record. The teacher supplies the learner, observed skill, method, artifact, conditions and next step. The same verified event can support an explicit outcome link.
- **Missing-rubric guard:** assignment-based capture still permits descriptive evidence and evidence-only outcome links, but leaves the outcome-level control disabled when the task rubric is absent. Skill observations remain separate from course judgments.
- **Downloads:** an assignment-specific fabrication brief includes current linked lesson content, available rubric and required repairs. The preparation register exports as CSV for Excel. Full JSON backups and skill-evidence CSV retain assignment provenance. No automatic spreadsheet synchronization was introduced.
- **Field Guide:** a new Assignments & Rubrics topic explains the complete workflow and its limits.

## Implementation ticket and acceptance criteria

Problem: the consolidated lesson plan and earlier assessment screens did not resolve the same assignment/rubric objects, making completeness hard to assess and evidence difficult to connect.

Accepted slice: a complete assignment → lesson/rubric → evidence → saved history workflow using the current dated catalogue, with honest preparation status and preserved historical data. No new accounts, storage schema migration, dependencies, external services or deployment.

Files: catalogue-core.js owns cross-reference resolution, grouping and preparation checks. assignment-studio.js renders the two new views. studio.js connects lesson buttons and evidence capture; studio-core.js validates optional assignment provenance. index.html adds navigation and scripts. Publishing scripts include the new modules. Existing teacher records are neither renamed nor migrated.

Acceptance evidence: the new workflow opens a real catalogue assignment, displays its actual rubric when present, records synthetic evidence with provenance, links an outcome through the existing atomic save path, retains it after reload, and shows it only under the matching assignment/course. A missing rubric remains missing. Downloaded fabrication content includes planning data and excludes the test learner records. The two new views work at 390px width.

## Verification

Core/catalogue/persistence suite: 29 tests passed. The existing browser regression passed 56 course/route combinations, 14 local document links, passport workflows and mobile layouts. The new browser workflow checks the assignment connection, missing-rubric capture guard, download contents, shared outcome provenance, course isolation, reload, escaping, cross-sprint navigation and mobile controls. See [assignment-browser-results.json](assignment-browser-results.json) for its recorded result.

During test development, the first new browser run used an incorrectly capitalized text matcher; the second tried the hidden desktop menu at mobile width. The test now matches the displayed missing-rubric message and uses the actual mobile area selector. Neither failure required weakening a product expectation. Existing regression checks remained green.

Review also checked that opening a new course clears assignment selection, leaving assignment capture clears its temporary context, reviewing a different learner claim derives that claim's assignment rather than reusing an earlier context, and historical records without assignment metadata remain valid. All new displayed content is escaped; fabrication/export actions do not contact external services.

## Remaining work

The source catalogue still contains 25 unresolved MM12 rubric references and 57 unresolved Digital Society references. This update exposes and connects the records; it does not invent rubrics or official IB markschemes. The active first-sprint commission, conflicting planning versions and eight unresolved DS planning targets still need editorial reconciliation. Package verification records need actual materials, named review and recorded rehearsal.

The new PS-ENTRY diagnostic proposed by the audit, Gmail template repairs, the remaining semester fabrication, native Photoshop rehearsal, learner trials, IB session/timetable confirmation and teacher moderation are separate remaining work. Existing Excel workbooks remain available; their demo is not a live copy of app records. No student accounts were created and no Netlify deployment was performed.

## Rollback and maintenance

A source-only snapshot from before this change is at /private/tmp/evidence-map-before-assignment-repair.zip for this session. It includes the prior uncommitted work in the files touched here. Inspect the diff and restore only the affected code if rollback is required; never erase browser storage. Earlier code tolerates the extra assignment fields, but will not display the new assignment views.

Run `node --test tests/catalogue.test.js tests/studio-core.test.js tests/persistence.test.js`. Run tests/assignment-browser.mjs and tests/browser-workflow.mjs in an environment with Playwright. Run `python3 tools/build_help.py` and `python3 tools/build_public.py` to regenerate the guide and allowlisted local release. Building dist does not deploy it.

Next complete teaching slice: reconcile the selected first MM12 commission, then fabricate its missing package with rubric anchors, support and retest; do the equivalent for one DS case sprint. Enter verification only after the actual files and classroom procedure pass review.
