Skip to content

Feature/canvas rubric integration - #163

Merged
kathleentom merged 70 commits into
mainfrom
feature/canvas-rubric-integration
Aug 27, 2026
Merged

Feature/canvas rubric integration#163
kathleentom merged 70 commits into
mainfrom
feature/canvas-rubric-integration

Conversation

@kathleentom

Copy link
Copy Markdown
Collaborator

No description provided.

rdschrs and others added 30 commits August 10, 2026 00:51
Replace the three regex character classes and the if/else-if chain in
normalizeWithMap with a single named CANONICAL_CHARS map that documents
each typographic variant by its Unicode name. Name the whitespace test,
make the loop variable const, and move the pending-space flush above the
character push so the index map is written in source order.

Behaviour is unchanged: the same characters are folded, whitespace runs
still collapse to one space, and the UTF-16 index map is identical. The
loop stays index-based because for...of iterates code points and would
desynchronise the map from the offsets used by persisted anchors and
browser selections.
Spec 1 of 2. Covers making rubric criteria and levels per-assignment
instructor data, the SFL-grounded default template, the optional
criterion library, capturing assignment instructions, rebuilding the
rubric editor with add/remove/reorder, moving PDF rendering into
src/report-generation, removing course-specific content, and the
control-flow and comment pass.

LLM derivation of a rubric draft from assignment instructions is
deliberately deferred to Spec 2.
Add the submission panel open/close animation, following the enter/leave
convention already used in pathway-library.css so the panel and its
chevron finish together.

Record gradeMapping as derived state with the approval path as its only
writer, replaced wholesale, so an edited or deleted level cannot leave a
stale points entry that a release would grade against.

Also add the required ENDPOINT_ARCHITECTURE and MONGO_DATA_LAYER updates,
the CSS work, the three frontend modules and two files that spell the
level literals inline, the profileVersion rule, the version bump, and a
table of the pre-existing production risks this spec does not address.
rdschrs and others added 29 commits August 24, 2026 00:49
Two-call linguistic pipeline (structured SFL analyzer, validation, feedback
writer), staff-approved SFL genre/register profile on the rubric, versioned
42-rule SFL foundation, post-analysis course-material mention resolution,
course-scoped glossary, async generate-job queue with a Mongo-leased worker,
and expanded run provenance. Version 1.10.0.
… visible at rest

Audit results:
- Changed: .wf-grid-affordance resting opacity from 0 to 0.55 (lines 1191-1196)
- Reviewed: .wf-disclosure-body--enter/.wf-disclosure-body--leave (line 511)
  Status: NOT FIXED - intentional transition state, not at-rest hidden control
  These are mid-transition states with pointer-events: none, confirming they should
  remain invisible during enter/leave animations per Task 1 disclosure design.
…, animated steps

Both nested rubric sections on a lab report now show their own approval
chip (showState: true for linguistic and technical alike), replacing the
prior behavior where only the technical section carried its own chip and
the linguistic one relied on a title-level chip. This is intentional: the
two rubrics now nest under one shared step header, so each needs its own
state visible in that context.
@kathleentom
kathleentom merged commit b849180 into main Aug 27, 2026
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.

2 participants