Skip to content

feat(notes): T44 v3 SPA: note form, read view, set-up controls, Report screen week choice, copy, UX docs and the T40 headings test - #244

Merged
Lethabarb merged 10 commits into
feat/t44-word-template-parityfrom
feat/t44-word-template-parity--v3
Nov 10, 2026
Merged

Lethabarb merged 10 commits into
feat/t44-word-template-parityfrom
feat/t44-word-template-parity--v3

Conversation

@Lethabarb

Copy link
Copy Markdown
Owner

Scope

Vertical 3 of T44 (Word template parity), the SPA and its docs, on top of v1's JSON and v2's query and file name.

  • Note form: Attendance (Not In, Late Notice, Sick); the goals under Short term goals and Medium or Long term goal; a Medication box for participants who have one; each common item group under its own name; a Details box under a ticked item that asks for details; the Guided notes box is now Daily Support Notes. The section numbers are gone. Autosave, takeover and conflict reloads carry the new fields; Submit and Save changes require the details; a server 422 under commonItemDetails or medication shows on its field and in the summary.
  • Read view and version page: Attendance, the term headings, Medication, Details: ... and Daily Support Notes.
  • Set-up controls: a goal's Term radios, a common item's "Ask for details when ticked", and a participant's "Medication box on notes", each sent under If-Match (ListEditor gains a per-row setting). T38: the empty-goals copy now says "No goals set".
  • Report screen: a Week choice (None, Week A, Week B), &week= on the export, the dated fallback file name (fileDay), and the hint about Word page numbers.
  • Copy: noteWords in strings.ts, held to NoteWords.cs by the new T40 test NoteHeadingWordsTests; new msg.enterDetails and msg.itemDetails.
  • UX docs and design.md 4.3, 4.4, 4.5, 4.7, 4.8 and 4.9, microcopy glossary and the UX README.

Tests

Vitest: the note page (attendance, terms, Medication, details, 422 mapping, Save changes), read view and version page, TickListField and TickListRead, CommonItemsField, autosave, ListEditor setting, participant Medication switch and goal Term, common item tick box, Week choice, download names and fileDay. Playwright: existing specs follow the new headings, tab order and fields; new word-template.spec.ts signs in for real; report.spec.ts covers the Week. C#: NoteHeadingWordsTests. Per the owner's rule, none was run locally; CI is authoritative. Local checks: dotnet build -warnaserror, and in the SPA npm run build, typecheck and lint (and the e2e typecheck), all clean.

Requirements

R-09, R-11, R-15, R-19, R-35, R-37, R-40, R-42.

🤖 Generated with Claude Code

Lethabarb and others added 10 commits November 11, 2026 04:33
…(T44)

Adds noteWords, held to NoteWords.cs by a test, the Attendance, Medication,
term, Ask for details, Week and Word page-number strings, msg.enterDetails,
msg.itemDetails and fileDay. Drops the numbered section names, readView.noGoals
and readView.noCommonItems. The empty-goals sentence now says "No goals set" (T38).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… note form and read view (T44)

The note form gains an Attendance fieldset, goals under Short term goals and
Medium or Long term goal, a Medication box for participants who have one, and a
Details box under a ticked common item that asks for details. Each group is
headed by its own name, and the Guided notes box is now Daily Support Notes.
Autosave, takeover and conflict reloads carry the new fields, Submit and Save
changes require the details, and a server 422 maps to its field. The read view
and version page show the same sections.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ation box, and the Week choice (T44)

A goal's Edit gains a Term choice, a common item's Edit gains Ask for details
when ticked, and a participant's Details gain Medication box on notes, each
sent under If-Match. The Report screen gains a Week choice, the dated file name
and a hint about Word page numbers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e field it names (T44)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e set-up controls and the Week choice (T44)

Updates every Vitest spec that names the old section headings, the daily
report's file names and the participant fixtures, and adds specs for the new
note form fields, the read view and version page, the list editor setting, the
Medication switch, the Ask for details tick box, the Week choice and fileDay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…add the Word template flow (T44)

The note form's tab order now starts with Attendance, the read view lists the
Attendance ticks, the groups are <h2>s under their own names, the item edit form
asks for details, the Term radios and Medication switch join the participant page, and the Week choice joins the
Report screen. The fake note store gives the new fields. word-template.spec.ts
signs in for real and walks a manager's set-up, a worker's note, the read view
and the Week A download.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…T40)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd Week choice (T44)

Amends the note form, read view, version page, participants, common items, group
picker, tick lists, list editor, daily report, file download, record export,
form validation and microcopy specs, the glossary and design.md 4.3, 4.4, 4.5,
4.7, 4.8 and 4.9. New strings are marked (P).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Medication box switch: follows() took its arguments the wrong way round, and the
  saved status is compared as textContent like its neighbours (toHaveTextContent
  normalises the no-break space).
- Details box: scope the 200-character count to the box, as the flag reason has one.
- Report screen: the test server answers an export that carries &week=A or &week=B.
- Common items: the Ask for details save serves the list writes, so the form closes.
- Reflow the broken doc comments and move the CSS-module imports into place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the new form (T44)

- Let a tick list's heading and the Medication label break a long word (Attendance, a
  group's name) instead of widening the page at 320 px with text at 200%.
- axe reads the page from its top, as the past-day case already did: the longer form
  scrolls under the sticky bar when typing, which target-size reads as a covered target.
- The takeover keyboard test uses a taller window, as the form is longer.
- The Chromium names of the Edit buttons and the Details box carry the hidden context
  after a space, as the participants spec already has them.
- The Jane Citizen Tab order includes the Medication box switch before Save.
- The two read-order patterns start with Attendance, not 1. Goals.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Lethabarb
Lethabarb merged commit 767b772 into feat/t44-word-template-parity Nov 10, 2026
1 check passed
@Lethabarb
Lethabarb deleted the feat/t44-word-template-parity--v3 branch November 10, 2026 19:46
Lethabarb added a commit that referenced this pull request Nov 10, 2026
…246)

* docs(backlog): plan T44

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(notes): T44 v1 Data, note rules, set-up API and MCP for the new fields (server foundation) (#242)

* feat(notes): add the Word-template fields to the data model, note rules and set-up API

Adds, expand-only, the goal term, the common item's need for details and the
participant's Medication switch; a note's attendance ticks and Medication
text; and a version item's term, need for details and details. The note
snapshot carries them (PrintedGroups, MedicationOf, SubmitRefusal), the draft
and version endpoints store and read them, and the goal, common item and
participant set-up endpoints and the MCP tools set them. The report keeps its
old layout.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test(notes): cover the Word-template fields

Model, table and constraint tests for the new columns; the legacy working-copy
JSON; the lists version; the goal, common item and participant set-up
endpoints; the draft and version endpoints; and the MCP tools and their
pinned list.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* docs(notes): describe the Word-template fields in the data model, API and MCP pages

Updates the design lengths, entities, audit catalogue, snapshot, save and API
sections, the MCP tool table, and the onboarding skill and its ops page.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix(notes): add the Word-template migration to the database check and update stale test expectations

The production check-database script now names AddWordTemplateParity in B8, and the tests that assert the
participant column list and the restore_participant result carry hasMedicationLine. The onboard-provider skill
states that the Medication switch is a manager's step by decision.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(e2e): expect the new set-up and note fields in the exact-shape reads

The admin participant list now carries hasMedicationLine, and the manager's
read of a draft carries the attendance ticks, medication and each goal's term.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(audit): note the Medication switch on the participant.created row

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>

* feat(notes): T44 v2 Word-layout daily report, record export body, file name, week, styles and report tests (T22, T23, T24, T39) (#243)

* feat(notes): Word-layout daily report with index, attendance row, goal terms and one set of styles

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(notes): report layout, endpoint, renderer and text-match tests for the Word-layout report

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(notes): full-day report, note-to-report and past-record tests for the Word-layout report

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(design): the Word-layout report, week choice, file name and one set of styles

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(reports): correct the export row in design 6.5, compare tick rows by value, and fix three report test assertions

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(e2e): allow for WebKit swapping spaces for underscores in a suggested file name

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(reports): update the manual header and heading steps; drop a duplicate footer assertion

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(notes): T44 v3 SPA: note form, read view, set-up controls, Report screen week choice, copy, UX docs and the T40 headings test (#244)

* feat(notes): copy for the Word template labels, details and file day (T44)

Adds noteWords, held to NoteWords.cs by a test, the Attendance, Medication,
term, Ask for details, Week and Word page-number strings, msg.enterDetails,
msg.itemDetails and fileDay. Drops the numbered section names, readView.noGoals
and readView.noCommonItems. The empty-goals sentence now says "No goals set" (T38).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(notes): attendance, term headings, Medication and Details on the note form and read view (T44)

The note form gains an Attendance fieldset, goals under Short term goals and
Medium or Long term goal, a Medication box for participants who have one, and a
Details box under a ticked common item that asks for details. Each group is
headed by its own name, and the Guided notes box is now Daily Support Notes.
Autosave, takeover and conflict reloads carry the new fields, Submit and Save
changes require the details, and a server 422 maps to its field. The read view
and version page show the same sections.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat(notes): set-up controls for goal term, Ask for details and Medication box, and the Week choice (T44)

A goal's Edit gains a Term choice, a common item's Edit gains Ask for details
when ticked, and a participant's Details gain Medication box on notes, each
sent under If-Match. The Report screen gains a Week choice, the dated file name
and a hint about Word page numbers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(notes): show a 422 under the Medication text or the details on the field it names (T44)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(notes): cover attendance, term headings, Medication, details, the set-up controls and the Week choice (T44)

Updates every Vitest spec that names the old section headings, the daily
report's file names and the participant fixtures, and adds specs for the new
note form fields, the read view and version page, the list editor setting, the
Medication switch, the Ask for details tick box, the Week choice and fileDay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(e2e): follow the new headings, Attendance stops and fields, and add the Word template flow (T44)

The note form's tab order now starts with Attendance, the read view lists the
Attendance ticks, the groups are <h2>s under their own names, the item edit form
asks for details, the Term radios and Medication switch join the participant page, and the Week choice joins the
Report screen. The fake note store gives the new fields. word-template.spec.ts
signs in for real and walks a manager's set-up, a worker's note, the read view
and the Week A download.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(notes): hold the SPA's noteWords to NoteWords.cs word for word (T40)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(ux): the Word template's note form, read view, set-up controls and Week choice (T44)

Amends the note form, read view, version page, participants, common items, group
picker, tick lists, list editor, daily report, file download, record export,
form validation and microcopy specs, the glossary and design.md 4.3, 4.4, 4.5,
4.7, 4.8 and 4.9. New strings are marked (P).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(spa): fix the six failing Vitest cases and tidy the T44 comments

- Medication box switch: follows() took its arguments the wrong way round, and the
  saved status is compared as textContent like its neighbours (toHaveTextContent
  normalises the no-break space).
- Details box: scope the 200-character count to the box, as the flag reason has one.
- Report screen: the test server answers an export that carries &week=A or &week=B.
- Common items: the Ask for details save serves the list writes, so the form closes.
- Reflow the broken doc comments and move the CSS-module imports into place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(notes): wrap long headings at 320 px and follow the e2e specs to the new form (T44)

- Let a tick list's heading and the Medication label break a long word (Attendance, a
  group's name) instead of widening the page at 320 px with text at 200%.
- axe reads the page from its top, as the past-day case already did: the longer form
  scrolls under the sticky bar when typing, which target-size reads as a covered target.
- The takeover keyboard test uses a taller window, as the form is longer.
- The Chromium names of the Edit buttons and the Details box carry the hidden context
  after a space, as the participants spec already has them.
- The Jane Citizen Tab order includes the Medication box switch before Save.
- The two read-order patterns start with Attendance, not 1. Goals.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(notes): T44 v4 Decision, assumed defaults, backlog close-out, coverage, Word-template set-up list and by-hand checks (merges last) (#245)

* feat(notes): T44 v4 decision, assumed defaults, backlog close-out, coverage, Word-template set-up list and by-hand checks

Records D104 (amends D47 and D9; D13, D14, D20 and D25 stand), A145 to A163 in
design.md section 13, the amended A4, A5 and A68, section 3.1, M4 and the No
rostering row (T37). Closes T44 and its stories with their tests named, adds dated
Notes to the amended stories, maps each Word element in coverage.md (T26), adds
ops/word-template-setup.md (T04) and first-use steps 223 to 229 (T25), and
brings the UX docs' file-name and heading examples in line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(ops): use placeholders for venue names in the Word-template set-up list

Replace the literal venue names with placeholders and mark the "G2B" wording to
confirm against the Word template.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(notes): time the report at the set-up list's size, name the bus as a placeholder, rename a stale test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(notes): rewrap the timing test's summary

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(ux): carry T38's empty-goals sentence into every UX doc, and say what Guided notes means in older by-hand steps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant