Data sources
Everything the Advocate reads that it does not own, with an ERD of what each returns, drawn from the same schemas the contract tests enforce. Each field shows its sensitivity class. The data sources document.
Campus Dining (synthetic)
campus service (synthetic twin) · The operator fetches locations, a week of hours and today's menus for each student's campus. Lands in: campus_feeds (shared, not about any student).
erDiagram
DiningLocation {
string id PK "public"
enum campus "public"
string name "public"
enum kind "public"
string building "public"
number lat "public"
number lon "public"
enum_list accepts "public"
}
Period {
string name "public"
string open "public"
string close "public"
}
MenuItem {
string id PK "public"
string name "public"
string station "public"
number price "public"
number calories "public"
string_list tags "public"
string_list allergens "public"
}
DiningLocation ||--o{ Period : "opens for"
DiningLocation ||--o{ MenuItem : "serves"Regional Transit (synthetic)
campus service (synthetic twin) · GTFS-style routes and stops, a trip planner, and live arrivals and alerts. The operator plans each bus rider's trip to their first class; live times count for ten minutes. Lands in: campus_feeds.stops (shared); commute_plans and transit_now (per student).
erDiagram
Stop {
string id PK "public"
string name "public"
number lat "public"
number lon "public"
enum campus "public"
number distance "public"
}
Itinerary {
object_list legs "public"
string depart "public"
string arrive "public"
number minutes "public"
number transfers "public"
}
Leg {
string route "public"
string routeName "public"
string trip "public"
string from "public"
string to "public"
string depart "public"
string arrive "public"
}
Arrival {
string trip "public"
string route "public"
string headsign "public"
string scheduled "public"
string predicted "public"
number delayMinutes "public"
number inMinutes "public"
}
Alert {
string id PK "public"
enum effect "public"
string header "public"
string_list routes "public"
}
Stop ||--o{ Arrival : "predicts"
Itinerary ||--|{ Leg : "is made of"
Leg }o--|| Stop : "boards at"Campus Places (synthetic)
campus service (synthetic twin) · Study spaces, room availability and campus events (free food among them). A booking is a dispatch with an idempotency key, confirmed by looking it up. Lands in: campus_feeds (spaces, events); dispatches (bookings, per student).
erDiagram
Space {
string id PK "public"
enum campus "public"
string name "public"
string building "public"
enum kind "public"
enum noise "public"
boolean outlets "public"
boolean bookable "public"
number seats "public"
record hours "public"
string closes "public"
}
Reservation {
string id PK "internal"
string room "public"
string date "personal"
string start "personal"
number minutes "internal"
string name "personal"
}
Event {
string id PK "public"
enum campus "public"
string date "public"
string start "public"
string end "public"
string title "public"
string kind "public"
string_list tags "public"
string where "public"
boolean free "public"
}
Space ||--o{ Reservation : "is booked by"Campus Careers (synthetic)
campus service (synthetic twin) · Job postings with weekly schedules and a fair-chance flag, and a mentor directory. An introduction the student approves sends only their first name and note. Lands in: campus_feeds (postings, mentors); dispatches (introductions).
erDiagram
Posting {
string id PK "public"
enum campus "public"
string title "public"
string employer "public"
boolean onCampus "public"
boolean workStudy "public"
number pay "public"
number hoursPerWeek "public"
object_list schedule "public"
boolean fairChance "public"
string field "public"
string closes "public"
}
Mentor {
string id PK "public"
enum campus "public"
string displayName "public"
string field "public"
string role "public"
string_list languages "public"
string_list experiences "public"
number openSlots "public"
}
MentorRequest {
string id PK "internal"
string mentor "internal"
string firstName "personal"
string note "personal"
string createdAt "internal"
enum status "internal"
string reason "internal"
object meeting "personal"
}
Mentor ||--o{ MentorRequest : "receives"Class Site LMS (synthetic)
campus service (synthetic twin) · The student's own courses, assignments and announcements, read with their class-site token (sealed, granted only to the sync). Lands in: deadlines (assignments, deduplicated by class-site id); classes (room changes).
erDiagram
LmsCourse {
number id PK "internal"
string name "personal"
string course_code "personal"
string term "personal"
}
LmsAssignment {
number id PK "internal"
string name "personal"
string due_at "personal"
number points_possible "personal"
string_list submission_types "personal"
string html_url "personal"
number course_id "internal"
}
LmsAnnouncement {
number id PK "internal"
string title "personal"
string message "personal"
string posted_at "personal"
string context_code "personal"
}
LmsCourse ||--o{ LmsAssignment : "assigns"
LmsCourse ||--o{ LmsAnnouncement : "announces"Help catalog
reference data in the repository · Verified programs and services, shaped after the Open Referral data specification. Each entry has a source and a verification date; stale entries are never offered as current. Lands in: read in place; nothing copied per student.
erDiagram
Resource {
string id PK "public"
string name "public"
string organization "public"
enum_list categories "public"
object serves "public"
string hours "public"
string phone "public"
object eligibility "public"
string_list howToApply "public"
string_list documents "public"
object source "public"
date verifiedOn "public"
number freshnessDays "public"
}
Scout {
string id PK "public"
string_list owns "public"
url_list sources "public"
enum admitted_by "public"
}
Resource }o--|| Scout : "is kept fresh by"Benefit rules and playbooks
reference data in the repository · Dated parameters (poverty guidelines, SNAP limits) with sources and effective periods; playbooks as declared steps. A date outside every period answers unconfirmed, never a stale number. Lands in: read in place; playbook progress lands in playbook_runs.
erDiagram
DatedParameter {
object value "public"
date effectiveFrom "public"
date effectiveTo "public"
url source "public"
date verifiedOn "public"
}
Playbook {
string id PK "public"
string title "public"
Step_list steps "public"
string_list sealed "public"
enum admitted_by "public"
}
Step {
string id PK "public"
enum kind "public"
string text "public"
record branches "public"
number timeout_days "public"
}
Playbook ||--|{ Step : "runs"Colleges
reference data in the repository · One file per college: name, county, website and career center. Adding a college is adding a file; the builder drafts its county scouts. Lands in: read in place.
erDiagram
College {
string college "public"
string name "public"
string short "public"
string county "public"
string state "public"
url website "public"
object career "public"
}National Weather Service
public web service · The forecast for the student's campus, through the egress door, for weather closures and bus delays. Lands in: used in the moment; not stored.
erDiagram
Forecast {
string name "public"
number temperature "public"
string shortForecast "public"
date_time startTime "public"
}