Central Station / YPM-ARCHIVE-DAILY-PAGES-ASSIGNMENTS

Daily pages as preloaded assignments

archive/daily-pages-assignments.md · Updated 2026-05-22
GET /api/tickets/YPM-ARCHIVE-DAILY-PAGES-ASSIGNMENTS

Summary

Brian approved edited prototype; isolate/rebase PR #111 before deploy

6Questions 0Links 0Comments 2PRs
Open questions 6 items
  1. 1 Is "daily pages assignment" a distinct AssignmentType subtype, or just an AssignmentType with a short prompt and a "daily pages" tag?
  2. 2 Auto-due-date (end of class period) or open-ended?
  3. 3 Bulk creation — can a teacher schedule a week of daily-pages prompts in advance?
  4. 4 Library seed corpus: Kevin has the prompts authored already. Final delivery format (CSV / sheet) attaches to the engineering handoff rather than living in this repo; spec includes a small sample to lock the shape.
  5. 5 Do filters compose (AND across facets, OR within a facet) or is it single-facet at a time?
  6. 6 Should "Text / unit" pull from a teacher's actual course curriculum if we have it, or stay as a global tag?
Spec body Markdown
# Daily pages as preloaded assignments

Teachers create a daily-pages prompt as an assignment. Each student receives a blank document pre-titled with the prompt, removing the friction of (a) the teacher conveying the prompt by other means and (b) students naming their own daily-pages docs.

## Current status

Draft `yawp-2.0` PR #111 is open as a Daily Pages prompt-library prototype and is stacked on teacher dashboard PR #108. Brian emailed Bryant on 2026-05-10 that Kevin had implemented Brian's editing notes and that it is good to deploy once Bryant confirms it plays well with the rest of the site.

That makes this the next priority, but not a blind merge. PR #111 is still a draft stacked on #108, so engineering should first isolate or rebase the Daily Pages changes onto current `main`, then QA the actual teacher flow before rollout.

The deploy gate is:

- Daily Pages teacher view remains teacher-only.
- Prompt Library renders the full seeded corpus and filters correctly.
- Clicking a prompt opens the assignment creator with the prompt prefilled.
- The flow creates official assignments without breaking existing practice documents.
- Existing Daily Pages documents/submissions remain visible and organized.
- No dashboard-stack changes from #108 ship accidentally unless they pass their own review.

## Problem

Reported 2026-02-12: today, a teacher running daily pages has to come up with the prompt, communicate it (verbally? on a board? in chat?), and then each student opens a fresh doc and may or may not title it. Result: a wall of "untitled" daily pages in the dashboard, no link between the prompt and the writing, and friction every cycle.

The teacher is staying in charge (good), but the surface area for that control is awkward.

## Goals (rough)

- Teacher creates a daily-pages assignment with a prompt; the prompt becomes the document title (or auto-generated based on it).
- Each student in the course receives a blank document tied to that assignment, properly titled.
- Submissions land grouped under the assignment in the gradebook, keeping the teacher's submitted/graded views meaningful at scale (see Dashboard decluttering section below).

## Non-goals

- Removing teacher control over daily-pages prompts. Teachers can still write any prompt they want.
- Traditional essay grading. Daily pages feedback is effort/idea-based, not rubric-based.

## Adjacent ideas

### Prompt library

**Default behavior:** the teacher writes their own prompt. The library is an assist, not a requirement — the New Daily-Pages Assignment form opens with an empty prompt field, same as today.

**The library:** a browsable, filterable collection of prompts teachers can pull from when they don't want to write one from scratch. Click a prompt → the New Daily-Pages Assignment form opens with that prompt pre-pasted at the top as the assignment prompt. Teacher can edit before saving.

**Filterable facets (working list):**

- **Text / unit** — e.g., Macbeth, The Great Gatsby, a specific unit in the teacher's curriculum. Lets a teacher reading Macbeth pull up only Macbeth-connected prompts.
- **Theme** — existential angst, identity, power, etc.
- **Cognitive move** — what the prompt asks the student to *do* (observe, argue, speculate, recall, synthesize, reflect…). Distinct from theme; a single theme can be approached via many cognitive moves.
- **Type** — question vs. statement vs. observation-prompt vs. free-write seed.
- **Seriousness / register** — playful (DaVinci-style weird observations) ↔ serious (big-questions, existential).
- **Grade band** — 9–12, broken down where it matters.
- **Free-text search** across prompt body.

**Placement (teacher-only):** the library lives inside the Daily Pages AssignmentType view, and only there. Students never see the library.

**UX sketch — the Daily Pages teacher view, top to bottom:**

1. **Header (existing).** Back-to-dashboard breadcrumb, the Daily Pages title and hero image, the existing one-line description ("Create entries for daily writing assignments or reflections, or use it to develop your next big idea."), and a "New" button (top-right) for creating a Daily Pages assignment.
2. **Teacher directions + inspirational examples (new).** A short directions block under the header explaining how Daily Pages works, plus 2–3 *unlinked* example prompts — purely illustrative, not clickable — to help a teacher imagine what they could write if they want to author their own. These exist to support the default path (teacher writes their own) and are deliberately separate from the library below.
3. **Modules → Daily Pages dropdown (existing).** The current submissions module — collapsible section listing student documents with status pills (Submitted / Updated). Untouched by this spec.
4. **Daily Pages Prompts Library (new).** A collapsible section titled "Prompts Library" that matches the existing Modules dropdown pattern. Inside: filter chips for text/unit, theme, cognitive move, type, seriousness, grade band, plus free-text search, and the prompts table itself. Click a row → New Daily-Pages Assignment form opens with that prompt pre-pasted. The section defaults to *open* on a teacher's first visits and collapses *closed* by default once they've created their first prompt-from-library — this preserves discoverability without forcing returning teachers to scroll past a large table every time they come back to check submissions.

**Click-through behavior:** clicking a library prompt is the entry point into the New Daily-Pages Assignment form. Prompt is pre-filled; teacher confirms course/section, due date, etc., and saves. Teacher can edit the prompt freely before saving — the library is a starting point, not a locked template.

**Sample prompts (shape-only):**

A representative slice of the seed corpus. The full corpus delivers as a sheet attached to the engineering handoff; this sample exists to lock the schema and facet vocabularies.

| ID | Prompt | Themes | Texts / Units | Seriousness | Type | Cognitive Move | Grade Band |
|---|---|---|---|---|---|---|---|
| FW-001 | I am the captain of my destiny. Agree or disagree and explain your rationale. | free-will, identity, responsibility | Macbeth; Oedipus Rex; Of Mice and Men; Their Eyes Were Watching God | moderate | agree-disagree | take-a-stance, complicate | 9, 10, 11, 12 |
| FW-002 | The person you are at school is not the same person you are at home. Is that a problem, or just how life works? | identity, belonging | Catcher in the Rye; The Outsiders; college-essay-prep | moderate | open-reflection | introspect, complicate | 9, 10, 11, 12 |
| FW-003 | You become who you spend time with. Defend, complicate, or reject this. | identity, relationships, belonging | Catcher in the Rye; The Outsiders; Lord of the Flies | moderate | agree-disagree | take-a-stance, introspect | 9, 10, 11, 12 |
| FW-004 | There's a difference between who you are and who you're becoming. Which one is the real you? | identity, change | Great Gatsby; college-essay-prep; narrative-writing-unit | moderate | definitional | define-a-term, introspect | 10, 11, 12 |
| FW-005 | Most people don't actually know themselves. Agree or disagree. | identity, truth | Hamlet; Catcher in the Rye; argumentative-writing-unit | moderate | agree-disagree | take-a-stance, complicate | 10, 11, 12 |

**Notes on the schema:**

- `Themes`, `Cognitive Move`, and `Grade Band` are multi-value (a prompt can carry several). `Type` and `Seriousness` are single-value enums.
- `Texts / Units` mixes literary works (e.g., *Macbeth*) and writing-unit slugs (e.g., `argumentative-writing-unit`). Engineering should treat both as entries in a single tag space rather than two separate fields.
- The sheet also carries runtime columns — `Likes`, `Times Used`, `Teacher Rating`, `Student Rating` — which seed at zero/blank. These are derived from votes and assignment-creation events, not authored data; they belong in a separate table joined to the prompt, not on the prompt row itself.
- Vocabularies emerging from the seed (e.g., Type values: `agree-disagree`, `open-reflection`, `definitional`) should be treated as the v1 fixed taxonomy. New values get added by curating the seed sheet, not by freeform teacher input.

**Out of scope for v1:**

- Community-contributed prompts. v1 is a curated/seeded library only.
- Prompt analytics (which prompts get used most, which produce the best engagement). Worth revisiting once there's usage data.
- AI-generated prompts on demand. Possible follow-up; not in the first build.
- Upvotes (see v2 below).

**v2 — upvote-driven sort:**

Once the seeded library is in teachers' hands, layer on upvotes. Upvote-only — no downvotes. Both teachers and students can upvote a prompt they liked (a student upvotes via the daily-pages doc once they've written on the prompt; teachers upvote from the library view).

This unlocks three new sort/filter options on the library:

- **Top rated by teachers** — what other teachers found worth using.
- **Top rated by students** — what students found worth writing on.
- **Top rated combined** — a blended score across both audiences.

Open for v2: how the combined score is weighted (equal weight, or skew toward teacher signal?), whether votes decay over time so seasonal prompts don't dominate forever, and whether students see the vote counts or just the resulting sort order.

Daily pages could have their own lightweight feedback model — not essay grading, but something more binary (effort/completion) paired with idea-forward feedback: what's interesting about what they wrote, how they might build on it, and what essay topics it could open up. The goal isn't a grade in the traditional sense but a signal that the teacher read it and a nudge toward what to write next. This would live as a separate feedback mode from GA essay grading — possibly a simpler prompt, faster to generate, lower stakes.

To avoid teacher bottlenecks — daily pages every day would otherwise mean sifting through a new batch of submissions every morning — this feedback could trigger automatically on submission. Student submits, feedback generates in the background, student gets it without the teacher having to action each one. Teacher still sees the submissions and can override or add their own note, but doesn't have to in order for the student to get something useful back.

## Domain notes

Builds on the unified Assignment / AssignmentType domain. Daily pages becomes a kind of AssignmentType — possibly with a flag indicating it's a "daily" type (different lifecycle from essay assignments).

## Open questions

- [ ] Is "daily pages assignment" a distinct AssignmentType subtype, or just an AssignmentType with a short prompt and a "daily pages" tag?
- [ ] Auto-due-date (end of class period) or open-ended?
- [ ] Bulk creation — can a teacher schedule a week of daily-pages prompts in advance?
- [ ] Library seed corpus: Kevin has the prompts authored already. Final delivery format (CSV / sheet) attaches to the engineering handoff rather than living in this repo; spec includes a small sample to lock the shape.
- [ ] Do filters compose (AND across facets, OR within a facet) or is it single-facet at a time?
- [ ] Should "Text / unit" pull from a teacher's actual course curriculum if we have it, or stay as a global tag?

## Dashboard decluttering

Daily pages are working well — too well. Teachers want to use them every day, which is the right kind of problem, but each cycle creates a fresh batch of submissions cluttering the gradebook.

Reported 2026-03-06: *"The problem with daily pages is it's so good I want to use it everyday. The only problem with that is once they submit it then it's sort of just sitting in my submitted file and the file gets cluttered by the time they start writing on their essays."*

The dashboard's per-document counters (e.g., "71 papers in progress") are no longer meaningful when most are daily-pages instances. The teacher doesn't have 71 essays to grade — the signal is diluted.

**Goals (rough)**

- Daily-pages submissions are visually and structurally separated from essay submissions in the dashboard.
- Per-counter breakdowns distinguish "essays to grade" from "daily pages submitted."
- A teacher running daily pages every day for a month doesn't face a wall of identical-looking entries.
- Easy bulk actions: archive a day's batch, mark them all as reviewed.

**Non-goals**

- Hiding daily pages entirely — teachers want them visible, just organized.
- Auto-grading without teacher input.

**Open questions**

- [ ] Visual treatment: separate tab? Collapsed group within the existing list? Filter chip?
- [ ] Bulk archival: per-day, per-week? Manual or automatic?
- [ ] Counter design: what's the most useful headline number for a teacher who runs daily pages constantly?

Closely related to [features/released-grades-organization.md](released-grades-organization.md) — that spec covers the released side; this one covers in-progress/submitted. Both need the AssignmentType model to land first.

## Engineering handoff

Priority handoff. Product signoff is strong enough to start an engineering isolation/QA pass, but the implementation still needs to be separated from the #108 dashboard stack and verified against the current Assignment / AssignmentType model before merge.
Repo sync Not recorded

No repo sync metadata recorded yet.