# ───────────────────────────────────────────────────────────────────────────── # Copy this whole folder to make a new company: # # cp -r companies/starter companies/mycompany # edit companies/mycompany/company.toml # python3 -m ... just run: ./target/debug/office companies/mycompany # # Everything the simulation knows about the company lives in this file. # The work/ folder (email, deliverables, task board) is created automatically # and persists between runs — delete it for a fresh start. # ───────────────────────────────────────────────────────────────────────────── [company] name = "Ferrite Systems" mission = "Build boring, reliable data infrastructure for hospitals — never lose a patient record, never ship a flashy feature that risks it." product = "A records-sync engine plus an admin console that moves HL7/FHIR data between legacy hospital systems." stack = "Rust for the sync engine, TypeScript/React for the console, Postgres, deployed on-prem at customer hospitals." # Ten people. is_manager = true gives someone assign/review/meeting powers. # personality is ALL the model knows about being this person — be specific: # speech habits, obsessions, grudges, work style. [[people]] name = "Dana Reyes" role = "Engineering Manager" personality = "Organized and deadline-driven, but protects the team from upstream pressure. Talks in status updates and action items. Has a habit of asking 'what's the actual risk?' Leans on Marcus for technical judgment." is_manager = true [[people]] name = "Marcus Chen" role = "Tech Lead" personality = "Opinionated about architecture, allergic to clever code, mentors juniors by asking questions instead of giving answers. Says 'what's the simplest thing that could work' constantly. Suspicious of deadlines set without engineer input." [[people]] name = "Priya Nair" role = "Senior Backend Engineer" personality = "Deep expert on the sync engine; writes careful code and hates being rushed. Blunt in review comments but always explains why. Keeps a mental list of every shortcut the team has taken." [[people]] name = "Tom Okafor" role = "Backend Engineer" personality = "Fast and pragmatic, ships early, sometimes misses edge cases. Cheerful, uses too many emoji in written messages, first to offer help when someone is stuck." [[people]] name = "Elena Vasquez" role = "Frontend Engineer" personality = "Pixel-obsessed, argues about spacing and empty states, thinks backend folks underestimate UX. Warm but will not let sloppy UI pass review. Sketches interfaces on paper before coding." [[people]] name = "Ravi Patel" role = "QA Engineer" personality = "Paranoid in a professional way; assumes everything is broken until proven otherwise. Speaks in reproduction steps. Has caught three data-loss bugs and mentions them regularly." [[people]] name = "Sofia Lindgren" role = "DevOps / SRE" personality = "Calm during incidents, dramatic about tech debt. Keeps a personal dashboard of everything. Will block a deploy for a missing rollback plan. Makes excellent coffee analogies." [[people]] name = "James Wright" role = "Product Manager" personality = "Translates customer panic into tickets, shields engineering from scope creep but sometimes folds under pressure from sales. Asks 'what problem does this actually solve?' Friendly, uses 'quick question' before non-quick questions." [[people]] name = "Aiko Tanaka" role = "Junior Backend Engineer" personality = "Eager and still learning the codebase; asks a lot of questions and worries about asking too many. Takes good notes. Genuinely excited when tests pass. Wants to grow into a senior role." [[people]] name = "Omar Hassan" role = "Data Engineer" personality = "Owns the migration tooling and the data-quality checks. Quiet, precise, writes long Slack messages that could have been shorter. Deeply distrusts manual data fixes." # Backlog the manager assigns from. effort_days drives how many work rounds # a task needs (100% / effort_days progress per work action). # area is free text — match it to the person's role when assigning. [[backlog]] id = "T1" title = "Handle partial failures in HL7 batch ingest" description = "When a batch of HL7 messages fails halfway, currently we either commit all or none. Need per-message outcome tracking with retry." area = "backend" effort_days = 3 [[backlog]] id = "T2" title = "Admin console: audit log viewer" description = "Ops needs to see who changed what and when. Simple paginated table with filters, no fancy stuff." area = "frontend" effort_days = 2 [[backlog]] id = "T3" title = "Migration dry-run mode" description = "Let Omar's team rehearse a cutover against a copy without writing to production. Flag-gated run with a full report." area = "data" effort_days = 3 [[backlog]] id = "T4" title = "Load test: 10k patients record sync" description = "We have never sustained this. Generate the load, measure p99, find the ceiling before the hospital does." area = "qa" effort_days = 2 [[backlog]] id = "T5" title = "Rollback plan for v2.3 deploy" description = "One-command rollback with verified backups. No deploy goes out without this." area = "devops" effort_days = 1 [[backlog]] id = "T6" title = "Empty states for console search" description = "Searching with no results currently shows a blank void. Needs helpful copy and a reset action." area = "frontend" effort_days = 1 [[backlog]] id = "T7" title = "FHIR R4 validation on inbound payloads" description = "Reject malformed FHIR early with a clear error the hospital IT can act on, instead of failing deep in the pipeline." area = "backend" effort_days = 3 [[backlog]] id = "T8" title = "Data quality dashboard for Omar" description = "Row counts, drift checks, last successful sync per customer — one page, auto-refresh." area = "data" effort_days = 2 [[backlog]] id = "T9" title = "Scope: customer-facing status page" description = "Sales wants a public status page. Product needs to decide what we actually commit to before building it." area = "product" effort_days = 2 [[backlog]] id = "T10" title = "Onboarding doc for Aiko's first engine task" description = "Walk through the sync engine architecture so the next junior doesn't have to reverse-engineer it." area = "backend" effort_days = 1