Skip to content

Review: student wellbeing survey stores free text in hawk-bot (ADR-0010) #31

Description

@rachmo

Context

The in-progress student wellbeing/connection survey feature (Quick Pulse + Deeper Check-in) captures freeform text from students — e.g. what they need help with, or how they're feeling in their own words.

CLAUDE.md documents an explicit storage boundary between hawk-bot and its sibling app, hawk-mod:

hawk-mod hawk-bot
Stores consent records, minors' message text an install token, a few settings

Freeform student disclosures are "minors' message text" by that definition — the kind of content the two-app split was designed to keep out of hawk-bot specifically.

Decision made so far

During design (see ADR-0012), the call was made to store this free text directly in hawk-bot's own SQLite alongside the survey's structured fields (mood score, needs-help flag, overwhelm score, theme tag), rather than routing it through hawk-mod or dropping it from v1 — to keep the feature self-contained rather than introducing a cross-service dependency.

This was flagged explicitly as not yet reviewed with team leadership, and this issue exists to track that review.

What needs deciding

  • Is it acceptable for hawk-bot to store this content, given the app's original design principle (see CLAUDE.md rule Add agent skills config #1: defensibility rests on hawk-bot being unable to read anything a person couldn't see it read)?
  • If not: should free text be dropped from the survey entirely (keeping only mood_score/needs_help/overwhelm_score/theme_tag), or routed to hawk-mod instead while structured fields stay in hawk-bot?

Resolving this may require changes to ADR-0012 and the survey's data model before the feature ships.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions