# TEST_FAMILY_CONTEXT.md **Purpose:** Staging environment dummy data for Icarus development and testing **Environment:** `ENV=staging` **DO NOT USE IN PRODUCTION** --- ## The Miller Family **Location:** Madison, WI (America/Chicago timezone) **Household:** | Name | Role | Details | |------|------|---------| | **John Miller** | Father | Works in IT at local software company | | **Sarah Miller** | Mother | Elementary school teacher (3rd grade) | | **Leo Miller** | Son | Age 9, 4th grade, soccer player | | **Mia Miller** | Daughter | Age 6, 1st grade, ballet dancer | | **Buster** | Dog | Golden retriever, 4 years old | --- ## Calendar **School:** Lincoln Elementary School (Leo) / Washington Elementary (Mia) **District:** Madison Metropolitan School District **Key Dates:** - Spring break: March 24-28, 2026 - Last day: June 6, 2026 - First day (next year): September 2, 2026 **Activities:** - Leo: Soccer (Tues/Thurs 4:30 PM @ Westside Park), Chess club (Wednesdays 3:30 PM) - Mia: Ballet (Mon/Wed 4:00 PM @ Madison Dance Academy), Swim lessons (Sat 10:00 AM @ YMCA) --- ## Maintenance Items | Item | Last Service | Next Due | Frequency | |------|------------|----------|-----------| | Honda Civic (2019) | Jan 15, 2026 | Apr 15, 2026 | 3 months / 5,000 mi | | Buster vet check | Feb 20, 2026 | Aug 20, 2026 | 6 months | | HVAC filter | Mar 1, 2026 | Jun 1, 2026 | 3 months | | Water softener salt | Feb 15, 2026 | Apr 30, 2026 | As needed | --- ## Test Documents ### Sample Newsletter (Lincoln Elementary — March 2026) ``` Subject: March Newsletter — Lincoln Elementary From: principal@lincoln.madison.k12.wi.us Dear Lincoln Families, Mark your calendars: • March 14: Parent-teacher conferences (half day, dismissal at 11:30 AM) • March 24-28: Spring break — NO SCHOOL • April 4: Spring carnival (Saturday 10 AM - 2 PM) Reminder: Friday, March 21 is a FULL DAY (not half-day as previously printed in the August calendar). Best, Principal Henderson ``` ### Sample Invoice (Madison Dance Academy) ``` Invoice #MDA-2026-0342 Date: February 28, 2026 Student: Mia Miller Program: Spring Ballet Session (March-May) Tuition: $285.00 Payment due: March 15, 2026 ``` ### Sample Receipt (Westside Veterinary Clinic) ``` Receipt #4582 Date: February 20, 2026 Patient: Buster Miller Service: Annual wellness exam + rabies booster Next visit recommended: August 20, 2026 Total: $189.00 ``` --- ## Query Test Cases | Query | Expected Pattern | Expected Answer | Source | |-------|---------------|----------------|--------| | "Is Friday a half-day?" | Logistical | "No — full day per March 14 newsletter" | Newsletter (March 14) | | "When is spring break?" | Logistical | "March 24-28, 2026" | Newsletter | | "What size is our HVAC filter?" | Entity | "16x25x4 (changed March 1)" | Maintenance record | | "When was Buster's last vet visit?" | Entity | "February 20, 2026" | Receipt #4582 | | "What was the name of the roofer we used?" | Historical | "Madison Roofing Co. (August 2024)" | Invoice archive | | "What time is Leo's soccer practice?" | Entity | "Tuesdays and Thursdays at 4:30 PM" | Activity schedule | --- ## Environment Configuration ```bash # .env.staging ENV=staging DB_PATH=./data/staging.db FAMILY_CONTEXT=./TEST_FAMILY_CONTEXT.md OLLAMA_HOST=http://matt-pc.tail864e81.ts.net:11434 MODEL_PRIMARY=phi4:14b MODEL_FALLBACK=qwen2.5-coder:7b # Staging Observer Bot (Silent Mode - Week 0.5) STAGING_OBSERVER_BOT_TOKEN=8442671054:AAGoCQomLHAXbr09r5zPD2vI2ZwaeTH2BT8 STAGING_OBSERVER_GROUP_ID=-1002489250746 STAGING_OBSERVER_MODE=SILENT ``` ## Week 0.5 Silent Observer Protocol **Purpose:** Establish baseline conversation patterns before enabling AI responses **Group:** Family Logistics (Staging) **Bot:** @IcarusStagingBot **Duration:** 7 days minimum (starting 2026-04-30) ### Configuration | Setting | Value | |---------|-------| | Mode | SILENT (log only, no speaking) | | Privacy | OFF (bot sees all messages) | | Admin | Required for full access | | Data Store | `observer_messages` table | ### Bot Commands | Command | Purpose | Response | |---------|---------|----------| | `/status` | View observation stats | ✅ Active (stats only) | | `/shadow_mode` | Preview what bot would say | 🚫 Disabled until Week 1 | | `/tripwire_stats` | View trigger patterns | 🚫 Disabled until Week 1 | ### Data Collection All messages in the staging group are logged: - Text messages (content + metadata) - Photos (file_id + caption) - Documents (file_id + type + caption) - Reply chains (parent message_id) - Sender info (anonymized in reports) ### Weekly Schedule | Week | Phase | Bot Behavior | |------|-------|--------------| | 0.5 | Baseline | **SILENT** - Log only, build pattern dataset | | 1 | Shadow | Log + shadow responses, no public replies | | 2 | Tripwire | Respond only to configured triggers | | 3+ | Full | Natural response with tripwire safeguards | ### Success Criteria 1. ✅ Bot responds to `/status` in group chat 2. ✅ Messages logged to `observer_messages` table 3. ✅ No Speak messages generated (silent mode verified) 4. ✅ 7+ days of conversation data collected 5. ✅ Pattern analysis ready for Week 1 shadow mode ### Security Notes - **NEVER** connect staging bot to production database - Token stored in `.env.staging` (not committed) - Group is isolated from production family group - All data is test data (Miller family, not Hoffmann) ```bash # .env.prod ENV=prod DB_PATH=./data/prod.db FAMILY_CONTEXT=./family_context.yaml OLLAMA_HOST=http://matt-pc.tail864e81.ts.net:11434 MODEL_PRIMARY=phi4:14b MODEL_FALLBACK=qwen2.5-coder:7b ``` --- ## Notes for Socrates - All test data uses Miller family names/locations - Staging DB should be seeded with test documents on first run - Document ingestion pipeline should process TEST_FAMILY_CONTEXT.md as if it were real family data - Query responses should reference "Miller" family, not Hoffmann - No real PII (addresses, phone numbers, SSNs) in this file