Repository navigation
feat(notes): match the provider's Word support-notes template (T44) - #246
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…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>
…e 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>
…t 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>
…verage, 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>
…s a placeholder, rename a stale test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… what Guided notes means in older by-hand steps Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lethabarb
added a commit
that referenced
this pull request
Nov 10, 2026
Main took D104 for the Word-template decision (#246), and open PR #241 also numbers its decision D103, so this branch's hosting-cost decision becomes D105, the next number no branch claims. design/decisions.md keeps main's D104 row and adds this one after it; this branch's citations are renamed in the files it changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
The provider's five daily Word support-note documents are what Grow2Notes is based on. This PR makes the downloaded
daily report, and the note form behind it, match them (T44, decision D104, owner's answers of 10 November 2026).
SUPPORT NOTES(with– WEEK Aor– WEEK B),DATE:andSTAFF:rows, aParticipants index with start pages, each participant on a new page under
NAME:in capitals, in first-name order.Goals sit under Short term goals and Medium or Long term goal, each group under its own name (unpicked groups as
empty boxes, report only), then Daily Support Notes and
Note written by:. The past-day, edited, flag and reviewlines stay. File name is
<Weekday> dd.mm.yyyy.docxor.pdf. OneReportStylefeeds both files (T39).shown on the read view, version page and record export. An absent participant still gets a note.
required to submit.
report.downloadedaudit details.One expand-only migration,
AddWordTemplateParity(defaulted columns and two check constraints), is in the diff forreview. No route, table, error code or audit event type is added. Old notes, versions and reports read as no ticks,
Short term goals, no Medication row and no details.
Stories absorbed
S01.02.09, S01.02.10, S01.03.09, S02.02.09, S02.02.10, S02.02.11, S02.02.12, S02.05.05, S04.01.07, S04.01.08,
S04.01.09, S04.02.06 and S07.03.09; dated Notes amend S04.01.01 to S04.01.05, S04.02.01, S04.02.03, S02.05.01 to
S02.05.04, S01.02.03, S01.02.05, S01.02.06 and S01.03.02. Also done: T04 (
ops/word-template-setup.md), T22 to T26,T37, T38, T39 and T40.
Verticals (each reviewed, merged into the feature branch)
Tests
CI runs them (none were run locally). Added or extended: ListsVersion, note draft and version endpoints, goal, item
and participant set-up, MCP tool tests, ReportLayout, Word and PDF report tests,
DailyReportFullDayTests(17participants),
NoteToReportTests,PastRecordsTests,NoteHeadingWordsTests,ReportDatesTests, Vitest specs andword-template.spec.ts. Locally:dotnet build Grow2Notes.slnx -warnaserrorand the SPA build, typecheck and lintpass. By-hand checks are first-use steps 223 to 229 in
ops/first-use-in-test.md.Decisions
D104 records the answers (amends D47 for the daily report only, and D9; D13, D14, D20 and D25 stand). A145 to A149 are
the owner's assumed defaults, and A150 to A163 are the developer's choices, in design.md section 13; the owner may
overturn any of them.
Labels taken from the owner's summary
SUPPORT NOTES, DATE:, STAFF:, NAME:, Not In, Late Notice, Sick, Short term goals, Medium or Long term goal,
Medication, Daily Support Notes, Note written by:. They live in one place (
NoteWordsandReportLayout).ops/word-template-setup.mdmarks each item not quoted word for word as "Wording to confirm against the Wordtemplate".
Merge notes
Open PRs #235 and #241 claim only D103, so D104, A145 to A163, steps 223 to 229 and the migration slot are free. #241
touches
Limits.cs,limits.ts, EndpointMatrix and design.md sections 6 and 12, so expect text conflicts; append oursafter theirs.
🤖 Generated with Claude Code