State Model Interrogation R1 - Draft Stonk

Stage-zero assumptions manifest for $state-model draft-stonk. This round checks scope before any domain-modeling framework work starts.

Mode: flat single-product design tree. Topic: draft-stonk. First unmodeled promoted branch: first-pick-speed.

The model will be logical only: entities, value objects, state machines, events, commands, read models, policies, and logical command/query shapes. Storage, endpoints, auth, migrations, indexes, deployment, and production legal/compliance decisions stay deferred to downstream specification work.

Flow Context

Approved Flow Nodes

  • concept-explanation: land, understand the fantasy-stock frame, trust no-money/no-prize/no-advice posture.
  • first-pick-speed: start quick draft, search or browse recognizable U.S. stocks, make a valid first pick.
  • equal-dollar-standings: complete compact draft, calculate fair standings, inspect scoring and data label.
  • replay-share-invite: replay, share result, invite/challenge, or use lightweight club framing.

Known Non-Goals

  • No real-money trading, prizes, paid entry, gambling mechanics, brokerage links, or investment advice.
  • No production accounts, auth, databases, admin tooling, teacher dashboards, creator-led public contests, or full league management.
  • No live-market-data commitment in this model; mock/local/delayed labels remain a trust-state concern.
Proof-priority branch order
first-pick-speed 1 equal-dollar-standings 2 concept-explanation 3 replay-share-invite 4

Modeling Bias From Flow Evidence

The flow is not CRUD-trivial. It includes a temporal draft sequence, bot turns, duplicate-pick validation, interrupted-draft recovery, scoring/data-label trust states, and share/copy fallback states.

Recommended: chunked framework loop

Assumptions Manifest

Confirm, correct, or flag each assumption. Corrections will shape the framework order and the shared state-model brief.

Assumption Source Decision
Model the first promoted branch, first-pick-speed, while carrying enough shared draft-game substrate for later branches to extend rather than restate. [from repo]
The likely core aggregate is a local quick draft, with pick events, participant/bot actors, stock choices, turn state, completion, and scoring snapshot. [inferred]
Stateful subjects include draft session, draft turn, stock availability, validation result, scoring result, data trust label, and share/invite handoff. [from flow]
The stock universe is a curated local/mock U.S. stock set that supports company-name and ticker lookup, without promising real-time market lookup. [from flow]
Equal-dollar standings compare picks using the same notional starting amount and expose the data label and formula version as logical model facts. [from glossary]
Trust boundary is a logical policy and copy-state concern: prevent trade/advice/prize language in pick, result, and share/invite actions. [from positioning]
Physical implementation concerns stay out of scope: no storage engine, database schema, endpoint URL, auth, migration, index, deployment, or legal advice decisions. [from skill]

Candidate Framework Set

Recommended order for a non-trivial, temporal game flow with validation, state transitions, and logical contracts.

Order Framework Why included or excluded
1 event-modeling Best first because the flow is temporal: start draft, first pick, bot turns, duplicate checks, draft completion, scoring, replay/share/invite.
2 domain-model Required DDD spine for draft session, stock choice, pick, participant, scoring snapshot, validation result, and trust-boundary policy.
3 state-machine Needed for draft lifecycle, turn lifecycle, validation blocked/success states, scoring states, and share/copy fallback states.
4 data-model Needed to settle logical relationships and attributes after event and domain vocabulary are clearer.
5 contract-map Needed because each surface has distinct logical commands and queries: start draft, search stocks, make pick, process bot pick, calculate standings, replay/share/invite.
Out unless corrected event-storming Vocabulary appears settled enough from approved positioning, journey, flow, and glossary. Include it only if you think the domain language is still uncertain.

Open Questions

Framework Set And Order

Agent confidence: medium

Should the state-model loop use the recommended five-framework order, or should it include event-storming or reorder any framework?

Recommended answer: Use event-modeling, domain-model, state-machine, data-model, and contract-map in that order. Skip event-storming unless vocabulary uncertainty is higher than the current repo evidence suggests.

Domain Boundary

Agent confidence: medium

For the first model attachment, should we model only the first-pick branch or include the full quick-draft loop as shared substrate for later branches?

Recommended answer: Model the shared quick-draft substrate enough to support first-pick speed and future extension, but keep synthesis and bindings centered on the first-pick-speed branch.

Vocabulary Corrections

Agent confidence: medium

Are there any terms you want changed before they become ubiquitous-language seeds for the model?

Recommended answer: Keep social fantasy stock draft, market take, quick draft, stock choice, pick, bot pick, equal-dollar standings, trust boundary, and data label as seeds. Prefer "pick" over "trade" and "stock choice" over "position."

Riskiest Modeling Assumption

Agent confidence: low

What is the biggest modeling risk to keep visible across the framework passes?

Recommended answer: The biggest risk is over-modeling production league/account/data infrastructure before proving the quick local game loop. Keep the model focused on local draft gameplay, validation, scoring, trust labels, and share/replay intent.

Compile Responses

Answer what you want, then compile YAML and paste it back into the agent with the included command. Partial responses are fine if you want a revision before completing the round.