# Data dictionary and event contracts

All timestamps are UTC in YYYY-MM-DD HH:MM:SS. Observation cutoff: 2026-10-23 00:00:00 UTC. Synthetic period starts 2026-05-01; no real customer counts, costs or demographic data. CSV blanks represent SQL NULL. Schema SQL contains keys and foreign-key relationships.

## manifest

**Grain:** one dataset constant. **Rows:** 6.

| Field | Type | Meaning |
|---|---|---|
| key | TEXT | Fictional key; units and population follow this table grain |
| value | TEXT | Fictional value; units and population follow this table grain |

## obs_checks

**Grain:** one authorized read-only page check. **Rows:** 3.

| Field | Type | Meaning |
|---|---|---|
| check_id | TEXT | Stable synthetic key; see schema relationship |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |
| surface | TEXT | Fictional surface; units and population follow this table grain |
| observation | TEXT | Fictional observation; units and population follow this table grain |
| result | TEXT | Fictional result; units and population follow this table grain |

## plan_gates

**Grain:** one proposed requirement/release gate. **Rows:** 4.

| Field | Type | Meaning |
|---|---|---|
| gate_id | TEXT | Stable synthetic key; see schema relationship |
| requirement_id | TEXT | Stable synthetic key; see schema relationship |
| owner_role | TEXT | Fictional owner role; units and population follow this table grain |
| test | TEXT | Fictional test; units and population follow this table grain |
| state | TEXT | Fictional state; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## plan_opportunities

**Grain:** one unapproved opportunity estimate. **Rows:** 4.

| Field | Type | Meaning |
|---|---|---|
| opportunity_id | TEXT | Stable synthetic key; see schema relationship |
| name | TEXT | Fictional name; units and population follow this table grain |
| eng_weeks | REAL | Fictional eng weeks; units and population follow this table grain |
| design_weeks | REAL | Fictional design weeks; units and population follow this table grain |
| review_weeks | REAL | Fictional review weeks; units and population follow this table grain |
| dependency | TEXT | Fictional dependency; units and population follow this table grain |
| low_reach | INTEGER | Fictional low reach; units and population follow this table grain |
| high_reach | INTEGER | Fictional high reach; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## practice_answers

**Grain:** one blank personal exercise answer. **Rows:** 24.

| Field | Type | Meaning |
|---|---|---|
| exercise_id | TEXT | Stable synthetic key; see schema relationship |
| answer | TEXT | Fictional answer; units and population follow this table grain |
| score | TEXT | Fictional score; units and population follow this table grain |

## provenance

**Grain:** one evidence class. **Rows:** 4.

| Field | Type | Meaning |
|---|---|---|
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |
| status | TEXT | Fictional status; units and population follow this table grain |
| description | TEXT | Fictional description; units and population follow this table grain |

## ref_claims

**Grain:** one public claim with URL/date/limit. **Rows:** 3.

| Field | Type | Meaning |
|---|---|---|
| claim_id | TEXT | Stable synthetic key; see schema relationship |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |
| claim | TEXT | Fictional claim; units and population follow this table grain |
| url | TEXT | Fictional url; units and population follow this table grain |
| accessed | TEXT | Fictional accessed; units and population follow this table grain |
| limitation | TEXT | Fictional limitation; units and population follow this table grain |

## sim_accounts

**Grain:** one fictional billing account. **Rows:** 180.

| Field | Type | Meaning |
|---|---|---|
| account_id | INTEGER | Stable synthetic key; see schema relationship |
| plan | TEXT | Fictional plan; units and population follow this table grain |
| created_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_attempts

**Grain:** one render attempt. **Rows:** 1241.

| Field | Type | Meaning |
|---|---|---|
| attempt_id | INTEGER | Stable synthetic key; see schema relationship |
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| attempt_no | INTEGER | Fictional attempt no; units and population follow this table grain |
| started_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| finished_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| status | TEXT | Fictional status; units and population follow this table grain |
| queue_seconds | INTEGER | Fictional queue seconds; units and population follow this table grain |
| compute_seconds | INTEGER | Fictional compute seconds; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_billing

**Grain:** one account/calendar month, normalized MRR and cash separate. **Rows:** 658.

| Field | Type | Meaning |
|---|---|---|
| account_id | INTEGER | Stable synthetic key; see schema relationship |
| month | TEXT | Fictional month; units and population follow this table grain |
| opening_mrr | REAL | Fictional opening mrr; units and population follow this table grain |
| new_mrr | REAL | Fictional new mrr; units and population follow this table grain |
| expansion | REAL | Fictional expansion; units and population follow this table grain |
| contraction | REAL | Fictional contraction; units and population follow this table grain |
| churn | REAL | Fictional churn; units and population follow this table grain |
| closing_mrr | REAL | Fictional closing mrr; units and population follow this table grain |
| cash_received | REAL | Fictional cash received; units and population follow this table grain |
| refunds | REAL | Fictional refunds; units and population follow this table grain |
| payment_fee | REAL | Fictional payment fee; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_costs

**Grain:** one vendor resource/cost line; task preaggregation required. **Rows:** 4542.

| Field | Type | Meaning |
|---|---|---|
| cost_id | INTEGER | Stable synthetic key; see schema relationship |
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| component | TEXT | Fictional component; units and population follow this table grain |
| quantity | REAL | Fictional quantity; units and population follow this table grain |
| unit | TEXT | Fictional unit; units and population follow this table grain |
| rate_usd | REAL | Fictional rate usd; units and population follow this table grain |
| cost_usd | REAL | Fictional cost usd; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_entitlements

**Grain:** one task/meter reservation settlement; unlike public plan rules, fictional. **Rows:** 1300.

| Field | Type | Meaning |
|---|---|---|
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| meter | TEXT | Fictional meter; units and population follow this table grain |
| reserved | REAL | Fictional reserved; units and population follow this table grain |
| consumed | REAL | Fictional consumed; units and population follow this table grain |
| released | REAL | Fictional released; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_eval_cases

**Grain:** one fictional independent source case; no underlying media. **Rows:** 144.

| Field | Type | Meaning |
|---|---|---|
| case_id | INTEGER | Stable synthetic key; see schema relationship |
| slice | TEXT | Fictional slice; units and population follow this table grain |
| split | TEXT | Fictional split; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_eval_results

**Grain:** one case/candidate result, paired across candidates. **Rows:** 288.

| Field | Type | Meaning |
|---|---|---|
| case_id | INTEGER | Stable synthetic key; see schema relationship |
| candidate | TEXT | Fictional candidate; units and population follow this table grain |
| task_pass | INTEGER | Fictional task pass; units and population follow this table grain |
| critical_error | INTEGER | Fictional critical error; units and population follow this table grain |
| judge_pass | INTEGER | Fictional judge pass; units and population follow this table grain |
| cost_usd | REAL | Fictional cost usd; units and population follow this table grain |
| latency_seconds | INTEGER | Fictional latency seconds; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_outputs

**Grain:** one task outcome and nullable checkpoint timestamps. **Rows:** 1300.

| Field | Type | Meaning |
|---|---|---|
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| ready_at | TEXT | Artifact available to customer, not just a backend HTTP response |
| preview_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| exported_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| distributed_at | TEXT | Fictional approved output delivered to an audience channel |
| confirmed_use_at | TEXT | Fictional confirmation of actual intended use after accepted distribution; not mere export |
| content_version | INTEGER | Fictional content version; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_period_costs

**Grain:** one month/component cost allocation. **Rows:** 18.

| Field | Type | Meaning |
|---|---|---|
| month | TEXT | Fictional month; units and population follow this table grain |
| component | TEXT | Fictional component; units and population follow this table grain |
| cost_usd | REAL | Fictional cost usd; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_reviews

**Grain:** one sampled review per previewed task; no row means unknown. **Rows:** 617.

| Field | Type | Meaning |
|---|---|---|
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| reviewed_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| accepted | INTEGER | 1 usable under fictional review rubric, 0 rejected, NULL/absent unknown |
| critical_error | INTEGER | Fictional critical error; units and population follow this table grain |
| prep_minutes | REAL | Fictional prep minutes; units and population follow this table grain |
| review_minutes | REAL | Fictional review minutes; units and population follow this table grain |
| repair_minutes | REAL | Fictional repair minutes; units and population follow this table grain |
| manual_baseline_estimate_minutes | REAL | Invented manual estimate, not measured control |
| theme | TEXT | Fictional theme; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_support

**Grain:** one support ticket. **Rows:** 202.

| Field | Type | Meaning |
|---|---|---|
| ticket_id | INTEGER | Stable synthetic key; see schema relationship |
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| theme | TEXT | Fictional theme; units and population follow this table grain |
| handling_minutes | REAL | Fictional handling minutes; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_tasks

**Grain:** one intended source-to-locale/output task; multiple attempts possible. **Rows:** 1300.

| Field | Type | Meaning |
|---|---|---|
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| user_id | INTEGER | Stable synthetic key; see schema relationship |
| workflow | TEXT | Fictional workflow; units and population follow this table grain |
| locale | TEXT | Fictional locale; units and population follow this table grain |
| created_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| source_minutes | REAL | Input duration, not generated-minute bill or GPU seconds |
| eligible | INTEGER | 1 permitted to attempt, 0 expected rights/plan block; not general user eligibility |
| block_reason | TEXT | Fictional block reason; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## sim_users

**Grain:** one fictional signup/seat, possibly no tasks. **Rows:** 312.

| Field | Type | Meaning |
|---|---|---|
| user_id | INTEGER | Stable synthetic key; see schema relationship |
| account_id | INTEGER | Stable synthetic key; see schema relationship |
| persona | TEXT | Fictional persona; units and population follow this table grain |
| primary_workflow | TEXT | Fictional primary workflow; units and population follow this table grain |
| channel | TEXT | Fictional channel; units and population follow this table grain |
| signup_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| variant | TEXT | Random user/seat assignment; deliberately invalid for a clean team-account causal test |
| acquisition_usd | REAL | Fictional acquisition usd; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |

## v_account_week

**Grain:** one account/use week. **Rows:** 199.

| Field | Type | Meaning |
|---|---|---|
| week_start | derived | Fictional week start; units and population follow this table grain |
| account_id | INTEGER | Stable synthetic key; see schema relationship |
| confirmed_tasks | derived | Fictional confirmed tasks; units and population follow this table grain |

## v_task

**Grain:** one task; attempts/costs preaggregated before joins. **Rows:** 1300.

| Field | Type | Meaning |
|---|---|---|
| task_id | INTEGER | Stable synthetic key; see schema relationship |
| user_id | INTEGER | Stable synthetic key; see schema relationship |
| workflow | TEXT | Fictional workflow; units and population follow this table grain |
| locale | TEXT | Fictional locale; units and population follow this table grain |
| created_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| source_minutes | REAL | Input duration, not generated-minute bill or GPU seconds |
| eligible | INTEGER | 1 permitted to attempt, 0 expected rights/plan block; not general user eligibility |
| block_reason | TEXT | Fictional block reason; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |
| account_id | INTEGER | Stable synthetic key; see schema relationship |
| persona | TEXT | Fictional persona; units and population follow this table grain |
| primary_workflow | TEXT | Fictional primary workflow; units and population follow this table grain |
| channel | TEXT | Fictional channel; units and population follow this table grain |
| signup_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| variant | TEXT | Random user/seat assignment; deliberately invalid for a clean team-account causal test |
| plan | TEXT | Fictional plan; units and population follow this table grain |
| attempts | derived | Fictional attempts; units and population follow this table grain |
| failed_attempts | derived | Fictional failed attempts; units and population follow this table grain |
| render_success | derived | Fictional render success; units and population follow this table grain |
| last_finished_at | derived | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| ready_at | TEXT | Artifact available to customer, not just a backend HTTP response |
| preview_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| exported_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| distributed_at | TEXT | Fictional approved output delivered to an audience channel |
| confirmed_use_at | TEXT | Fictional confirmation of actual intended use after accepted distribution; not mere export |
| reviewed_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| accepted | INTEGER | 1 usable under fictional review rubric, 0 rejected, NULL/absent unknown |
| critical_error | INTEGER | Fictional critical error; units and population follow this table grain |
| prep_minutes | REAL | Fictional prep minutes; units and population follow this table grain |
| review_minutes | REAL | Fictional review minutes; units and population follow this table grain |
| repair_minutes | REAL | Fictional repair minutes; units and population follow this table grain |
| manual_baseline_estimate_minutes | REAL | Invented manual estimate, not measured control |
| direct_vendor_usd | derived | Preaggregated render, translation, delivery, vendor review and support; excludes fixed period costs/customer labor |
| confirmed_quality_use | derived | Fictional confirmed quality use; units and population follow this table grain |
| ready_seconds | derived | Fictional ready seconds; units and population follow this table grain |

## v_user_cohort

**Grain:** one user incl zero task; individual mature windows. **Rows:** 312.

| Field | Type | Meaning |
|---|---|---|
| user_id | INTEGER | Stable synthetic key; see schema relationship |
| account_id | INTEGER | Stable synthetic key; see schema relationship |
| persona | TEXT | Fictional persona; units and population follow this table grain |
| primary_workflow | TEXT | Fictional primary workflow; units and population follow this table grain |
| channel | TEXT | Fictional channel; units and population follow this table grain |
| signup_at | TEXT | UTC nullable checkpoint; absence is unknown/unreached, not a verified failure |
| variant | TEXT | Random user/seat assignment; deliberately invalid for a clean team-account causal test |
| acquisition_usd | REAL | Fictional acquisition usd; units and population follow this table grain |
| source_id | TEXT | Foreign key to evidence class; prevents fictional/public conflation |
| cohort_month | derived | Fictional cohort month; units and population follow this table grain |
| mature7 | derived | Fictional mature7; units and population follow this table grain |
| mature42 | derived | At least 42 full UTC days of follow-up |
| activated7 | derived | Quality-confirmed use and approval within [signup,signup+7d) |
| return28_41 | derived | Quality-confirmed use in [signup+28d,signup+42d); unconditional on activation |

## Relationships and event definitions

Account → many users → many tasks → many attempts/costs/support; task → zero/one output/review/entitlement. Review and export are parallel after preview; distribution requires both accepted review and export. Confirmed use follows distribution. A missing review is unknown, not rejection.

Production event proposals: task_created (once on durable intent); attempt_started/finished (once per attempt, status); artifact_ready (retrievable version); preview_opened (dedup task/version); review_submitted (reviewer, rubric, source/target hashes); approval_recorded (exact hashes and decision); export_completed; distribution_confirmed; intended_use_confirmed; entitlement_reserved/consumed/released (entry ID, meter, quantity); task_cancelled. Each has event_id, tenant-safe account/user/task/attempt IDs, UTC timestamp, state/version and source provenance. Do not log raw source/voice/likeness by default. Event delivery can be repeated; consumer deduplicates by event_id, not timestamp alone.

The lab stores milestone timestamps rather than a raw event stream. It cannot test production event delivery, permissions, consent revocation, stale approval or duplicate payload behavior; PRD fixtures specify those future tests. No session/click/paywall/payment-attempt table exists, so traffic conversion and payment success remain unknown.

## Assumptions and mechanics

Seed 731904, 180 accounts; plan mix, seat counts, task frequency, persona/workflow/locale mixes and outcomes are arbitrary coverage assumptions. There are no demographic attributes. Every user can have zero tasks. One intended task may have two attempts, with first-failure recovery; resource costs include failures. Rates, customer time and contracts are fictional. Synthetic variant assignment has no intended causal treatment effect and intentionally permits mixed variants within a team. Eval cases are paired baseline/candidate and development/heldout blocks; labels/cost/latency are invented. Candidate outcomes are not model measurements.

Full generator code is authoritative for every probability and unit rate. Calendar-month billing and no reactivation simplify the MRR bridge. October is partial. Failed generated jobs release all fictional reservations; this is an illustrative policy, not verified AI Studios billing. Credits/minutes/video counts must never be summed across meters. Observed checks are page-level only; no fictional output is represented as personally tested.
