Scoped the vertical slice: 16 EntityKnowledge keys, v0.1 mechanical NPC mapping, YAML content format, 7-verb interaction model, server- authoritative pause, 38 tickets created across copy/server/client/ci. 20 decisions (D-042 through D-061). 8 agents, 2 rounds + closing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 KiB
Round 2 — Mellanie (Copywriter)
v0.1 Content Scoping Workshop
Task 1: Canonical PC Voice Registers
These are authoring specs, not narrative documents. Every monologue line I write gets checked against these parameters. If a line doesn't match the register, it gets cut.
Smuggler — Internal Voice Register
One-line summary: Watches people, not systems. Thinks in fragments. Worries about friends the way a dock worker worries — practically, physically, with the knot in the stomach, not the word for it.
Voice Parameters
| Parameter | Value | Example |
|---|---|---|
| Sentence length | Short. Fragments welcome. Rarely more than 2 sentences per monologue fire. | "Kael's here. Good." |
| Vocabulary | Concrete, physical, sensory. Uses trade jargon (containers, manifests, shifts, routes) without explaining it. No institutional language. | "Recycled air and cargo lubricant." Not: "Standard atmospheric recycling." |
| Emotional register | Feeling-first, analysis second. Names the gut before the brain catches up. | "Starting to worry" before "something's off." |
| Relationship mode | First-name basis with everyone. Thinks relationally — people are defined by connection, not role. | "Kael" not "Davan." "Voss is tense" not "the shift supervisor seems agitated." |
| Observation priority | People > environment > objects. Notices body language before noticing cargo. | "Kael keeps checking his lattice" before "Container 4471 is still in temp." |
| Operational thinking | Present when thinking about the job. Time-aware, route-aware, schedule-aware. But always filtered through "is this safe for my people?" | "Transition window opens in fifty minutes. After that, twenty minutes of reduced oversight." |
| Self-reference | Rare. The smuggler thinks about others, not herself. When self-reference occurs, it's through physical sensation. | "My stomach dropped" not "I feel betrayed." |
| Humor | Dry, situational, understated. Dark when stressed. Never witty — that's a different register. | "Home sweet home" about a cargo bay. |
| What she doesn't do | Doesn't analyze systems. Doesn't use institutional vocabulary. Doesn't explain things to herself that she already knows. Doesn't monologue in paragraphs. |
Voice Anchors (Reference Lines)
These 5 lines define the boundaries. Every smuggler monologue line should feel like it could sit next to these without register collision.
-
Baseline warm: "Kael's already at the dock. Good. The day's better when he's on shift." — Short. Personal. Physical presence matters.
-
Operational: "Shift transition in thirty minutes. If Voss kept the schedule thin, the route's clear." — Time-specific. Practical. Other people's actions determine safety.
-
Concerned: "Kael keeps checking his lattice. Waiting for a message? Not like him to be jumpy." — Observation leads to interpretation. Interpretation is relational ("not like him"), not clinical.
-
Hurt: "He looked left. He always looks left when he's making something up. Two years I've known that tell. Kael is lying to me." — Personal history weaponized. The "two years" is the knife. Ends with a flat declaration, not a question.
-
Atmospheric: "Morning shift. Recycled air and cargo lubricant. Home sweet home." — Three fragments. Sensory detail. Irony through understatement.
Anti-Patterns (What the Smuggler Does NOT Sound Like)
- "I should investigate this anomaly further." (Too clinical. She'd think: "That's not right.")
- "The scheduling irregularity suggests systemic manipulation." (Institutional vocabulary. She'd think: "Voss changed the rotation again.")
- "I need to consider the implications of Kael's behavior for our operational security." (Analytical distance. She'd think: "What the hell is Kael doing?")
- "According to the manifest, container 4471 should weigh 240 kilograms." (Explaining what she already knows. She'd think: "4471's heavy. Too heavy.")
Detective — Internal Voice Register
One-line summary: Categorizes first, feels second. Thinks in complete sentences. The institutional training runs in the background like an operating system — it never turns off, but sometimes the human overrides it.
Voice Parameters
| Parameter | Value | Example |
|---|---|---|
| Sentence length | Complete sentences, but not long ones. More structured than the smuggler. Occasional fragments for emphasis or snap judgments. | "Standard prefab, heavy foot traffic. Let's see what the shift change tells me." |
| Vocabulary | Institutional layer over plain speech. Professional terms leak in: "case file," "filing it," "noted," "flagged." Not technical jargon — investigative habit. | "Dock worker. Davan, K. Unremarkable on paper." The surname-comma-initial is institutional reflex. |
| Emotional register | Analysis-first, personal second. When personal breaks through, it's notable — a crack in the professional surface that signals emotional weight. | "She's not lying. But she's not telling me everything. Sera, what do you know?" — The first-name appeal at the end IS the emotion. |
| Relationship mode | Surname-first for targets and unknowns. First-name for allies and people he trusts. The shift from surname to first-name (or back) IS a relationship marker. | "Davan, K." early → "Kael" never (smuggler's FRIEND, not detective's). "Sera" always (detective's FRIEND). |
| Observation priority | Patterns > people > environment. Notices deviations from expected behavior before noticing the person. | "That's twice now" before "Sera leaves." The count matters more than the actor. |
| Analytical thinking | Automatic. Counts things, tracks frequencies, flags inconsistencies. Self-directs: "filing it," "noted," "coincidence?" These are internal bookkeeping prompts. | "Three times. Three excuses. That's data." |
| Self-reference | More common than the smuggler, but always through the professional lens. The detective monitors his own state as evidence. | "I'm reading too much into this" — self-aware about analytical bias. |
| Humor | Wry, observational. Appreciates irony at a distance. Can laugh at himself. Never cruel. | "Only place in this district that doesn't smell like freight lubricant." |
| What he doesn't do | Doesn't think in fragments (that's the smuggler). Doesn't use trade jargon he hasn't learned. Doesn't name-drop relationships he doesn't have. Doesn't express vulnerability directly — it leaks, he doesn't pour. |
Voice Anchors (Reference Lines)
-
Clinical baseline: "Logistics hub. Standard prefab, heavy foot traffic. Let's see what the shift change tells me." — Categorize. Evaluate. Self-direct. Three operations in three sentences.
-
Pattern recognition: "That's the third time. Sera leaves when Torek arrives. Three different excuses, same result. That's not coincidence." — Counting is automatic. Conclusion is flat and declarative. No hedging.
-
Personal leak: "Good to see Sera. She always was the reliable one. At least someone in this district speaks my language." — First-name. Past tense ("always was") implies shared history. "My language" is institutional belonging.
-
Conflicted: "Same booth. Same warm smile. Same offer to buy me a drink. ...Everything except whatever she's not saying." — Repetition builds the pattern. The ellipsis is the human catching up to the analyst. The final clause is the knife.
-
Atmospheric: "Grain spirit and low conversation. Only place in this district that doesn't smell like freight lubricant." — Sensory but evaluative. The detective doesn't just notice smells — he catalogs them as data points.
Anti-Patterns (What the Detective Does NOT Sound Like)
- "Kael's here. Good." (Too terse. That's the smuggler. The detective would think: "Davan's on shift. Standard.")
- "I feel uneasy about Sera's behavior." (Direct emotional vocabulary. He'd think: "Something's off with Sera. Can't place it yet.")
- "This container has been tampered with, indicating smuggling activity." (Explaining the obvious. He'd think: "Weight's wrong. Noted.")
- "My heart sank when I saw the evidence." (Physical emotion — that's the smuggler's register. The detective: "Didn't want to see that. But there it is.")
Voice Register Comparison — Same Observation, Two Characters
Trigger: Seeing a container in temp storage overnight.
-
Smuggler: "That container's been in temp since yesterday. Someone forgot to process it, or someone's stalling." — Concrete. Two explanations, both practical. No judgment yet.
-
Detective: "Container in overnight temp. Unusual for a hub this size — turnaround is normally sub-eight hours. Flag it." — Categorical. Quantified deviation. Self-directed action.
Trigger: Entering the bar.
-
Smuggler: "Lera's. Grain spirit and noise. Could use both right now." — Informal name. Sensory. Personal need.
-
Detective: "The Last Shift. Same crowd as yesterday. Let's see who's NOT here tonight." — Official name. Pattern comparison. Investigative frame.
Trigger: Noticing Naia Tamm is upset.
-
Smuggler: "Naia looks rough today. Should check on her later." — First-name. Immediate concern. Plans to act.
-
Detective: "Tamm seems distressed. Not her baseline. Something at home, or something she's heard?" — Surname. Clinical assessment. Hypothesizes cause.
Trigger: Hearing raised voices behind a door.
-
Smuggler: "Raised voices from the back room. Devra's in there. That's not a brokering call." — Identifies the person. Interprets through operational knowledge.
-
Detective: "Arguing behind that door. The bartender didn't flinch. Either she's used to it or she knows what it is." — Notes the non-reaction. Third-party behavior is data.
Display Constraints (per Stig's R1 proposal)
Adopting Stig's parameters as authoring constraints:
| Constraint | Value | Implication for Writing |
|---|---|---|
| Max length | ~160 characters | Hard ceiling. Most lines should be 80-120. |
| Max visual lines | 2 | No three-line monologue. If it wraps to 3, cut it. |
| Display time | 4-6 seconds (length-adjusted) | Player reads at ~250 WPM = ~20-25 words in 5 seconds. Target: 15-25 words per line. |
| Fade behavior | Fade in/out | No abrupt text pops. Lines must read cleanly mid-fade. |
| Character tint | Smuggler: amber-white #f0e0c8, Detective: blue-white #c8d8f0 |
Voice must be distinguishable WITHOUT color — color confirms, doesn't create. |
The 25-word rule: If a monologue line exceeds 25 words, it better be the most important line in the pool. Most lines should be 10-18 words. The authoring guide examples average 14 words. That's the target.
Task 2: THE FRIEND Content Pack — Kael Davan (Structure)
What's In the Pack
The Kael Davan content pack is a single deliverable containing everything the engine needs to run THE FRIEND arc for the smuggler's path. It's also the benchmark — if this pack validates against the tag taxonomy, loads correctly, triggers appropriately, and sounds right, every subsequent content pack follows the same structure.
Pack Contents
content/
districts/
sova-transit/
terminal/
dialogue.yaml # Kael's dialogue lines at The Terminal (shared pool)
monologue-smuggler.yaml # Smuggler monologue at Terminal (includes Kael observations)
monologue-detective.yaml # Detective monologue at Terminal (includes Kael observations)
bar/
dialogue.yaml # Kael's dialogue lines at The Last Shift
monologue-smuggler.yaml
monologue-detective.yaml
corridor/
dialogue.yaml # Kael's dialogue lines in Corridor B-7
monologue-smuggler.yaml
monologue-detective.yaml
Note: Kael's content lives inside location files, not a per-NPC file. Per D-035 and Tyre's directory design, dialogue is organized by location. Kael's lines appear in terminal/dialogue.yaml alongside other NPCs who speak at the Terminal. The role: dock_worker tag identifies which lines belong to Kael's template role.
The pack is authored as a single document, then split into location files during content conversion. For authoring purposes, I'll write it as one file with location headers and deliver the split files.
Line Budget (Kael Davan)
| Content Type | Lines | Location Split |
|---|---|---|
| Kael dialogue | ||
| Greetings (5 access tiers) | 5 | Terminal: 3, Bar: 2 |
| Shift/work talk (insider, peer) | 8 | Terminal: 6, Bar: 2 |
| Bar casual (peer) | 4 | Bar: 4 |
| Ring coordination (insider) | 6 | Terminal: 3, Corridor: 3 |
| Deflection/evasion (post-contradiction) | 6 | Terminal: 3, Bar: 2, Corridor: 1 |
| Confrontation responses | 4 | Terminal: 1, Bar: 1, Corridor: 2 |
| Hael references (casual, unprompted) | 3 | Terminal: 1, Bar: 2 |
| Dialogue subtotal | 36 | |
| Smuggler monologue about Kael | ||
| Phase 1 — Comfort (warmth, baseline) | 4 | Terminal: 2, Bar: 2 |
| Phase 2 — First Crack (concern, tells) | 4 | Terminal: 3, Bar: 1 |
| Phase 3 — Contradiction (alarm, shock) | 3 | Corridor: 2, Terminal: 1 |
| Phase 4 — Confrontation aftermath (hurt, conflict) | 3 | Terminal: 1, Bar: 1, Corridor: 1 |
| Phase 5 — Contaminated trust (doubt over warmth) | 4 | Terminal: 2, Bar: 1, Corridor: 1 |
| Smuggler monologue subtotal | 18 | |
| Detective monologue about Kael | ||
| Identification / first observation | 2 | Terminal: 2 |
| Behavioral observation (tells noted) | 3 | Terminal: 2, Bar: 1 |
| Suspicion / analytical escalation | 3 | Terminal: 2, Corridor: 1 |
| Informant potential assessment | 2 | Terminal: 1, Bar: 1 |
| Detective monologue subtotal | 10 | |
| Tell observation lines | ||
| Lattice checking (first + repeat) | 2 | Terminal: 2 |
| Shortened interactions / evasive | 2 | Terminal: 1, Bar: 1 |
| Looks-left tell (casual + confirmation) | 2 | Bar: 1, Corridor: 1 |
| Spatial deviation (Corridor B-7) | 2 | Corridor: 2 |
| Tell subtotal | 8 | |
| Trust-gated lines (Kael's deeper dialogue) | ||
| Insider: ring operational talk | 6 | Terminal: 4, Corridor: 2 |
| Insider: close colleague warmth | 4 | Terminal: 2, Bar: 2 |
| Secret: hints about wanting out (pre-contradiction, rare) | 3 | Bar: 2, Corridor: 1 |
| Trust-gated subtotal | 13 | |
| Unprompted lines (Kael volunteers) | ||
| Early: offers information, warmth | 3 | Terminal: 2, Bar: 1 |
| Late: warnings, deflections | 3 | Terminal: 1, Bar: 1, Corridor: 1 |
| Unprompted subtotal | 6 | |
| PACK TOTAL | 91 |
91 lines. Within the 70-100 range from D-034. The slight overcount gives me room to cut — better to write 91 and kill 10 weak ones than write 70 and wish I had more coverage.
Arc Phase Mapping to Triggers + Prerequisites
This is the structural skeleton. Every line in the pack maps to one of these slots.
Phase 1: Comfort (0-10 min, RelationshipState: Friendly)
| Trigger | Prerequisite | Content Type | Count |
|---|---|---|---|
observe_npc |
relationship_state: Friendly, subject: kael_davan |
Smuggler monologue: warmth | 2 |
observe_npc |
relationship_state: Friendly, subject: kael_davan |
Smuggler monologue: routine fondness | 2 |
post_conversation |
relationship_state: Friendly, subject: kael_davan |
Smuggler monologue: social comfort | 1 |
| NPC dialogue | access: [insider, peer], trust: surface |
Kael greetings, shift talk | 8 |
| NPC dialogue | access: [insider], trust: real |
Kael ring talk, colleague warmth | 6 |
| NPC dialogue (unprompted) | access: [insider] |
Kael volunteers info | 2 |
Phase 1 total: ~21 lines. Heavy on dialogue (establish Kael's voice), lighter on monologue (smuggler's comfortable, not reflective).
Phase 2: First Crack (10-15 min, still Friendly, flags accumulating)
| Trigger | Prerequisite | Content Type | Count |
|---|---|---|---|
observe_anomaly |
behavior_flags: lattice_checking |
Smuggler monologue: mild concern | 2 |
post_conversation |
behavior_flags: evasive |
Smuggler monologue: worry | 2 |
observe_npc (detective) |
relationship_state: Known, subject: kael_davan |
Detective monologue: behavioral note | 2 |
| NPC dialogue | access: [insider, peer], trust: surface |
Kael: shorter, deflective | 4 |
| Tell observation | behavior_flags gates |
Tells: lattice, shortened interactions | 3 |
Phase 2 total: ~13 lines. Tell observations ramp up. Dialogue gets clipped. Smuggler monologue shifts from fond to concerned.
Phase 3: The Contradiction (15-20 min, Friendly -> PersonOfInterest)
| Trigger | Prerequisite | Content Type | Count |
|---|---|---|---|
witness_interaction |
relationship_state: Friendly, subject: kael_davan |
Smuggler monologue: shock/alarm (THE moment) | 2 |
observe_anomaly |
contradiction_flagged: meeting_unknown_contact |
Smuggler monologue: processing | 1 |
observe_npc (detective) |
behavioral flags accumulating | Detective monologue: suspicion spike | 2 |
| Tell observation | contradiction_flagged |
Spatial deviation tell | 2 |
Phase 3 total: ~7 lines. Fewest lines, highest stakes. Every word carries maximum weight. The contradiction monologue is the most important line in the pack.
Phase 4: Confrontation (20-25 min, PersonOfInterest)
| Trigger | Prerequisite | Content Type | Count |
|---|---|---|---|
post_conversation |
tell_observed: looks_left_when_lying |
Smuggler monologue: the tell confirmation | 2 |
post_conversation |
relationship_state: PersonOfInterest |
Smuggler monologue: hurt/conflict | 1 |
| NPC dialogue | access: [insider], trust: surface |
Kael: deflection, evasion | 6 |
| NPC dialogue | access: [insider] |
Kael: confrontation responses | 4 |
| NPC dialogue (unprompted) | access: [insider] |
Kael: warnings | 2 |
| Tell observation | tell_observed gate |
Looks-left confirmation | 1 |
Phase 4 total: ~16 lines. Dialogue-heavy — the confrontation is a conversation. Kael's evasion lines are the hardest to write because they must be plausible without being convincing.
Phase 5: Contaminated Trust (25-30 min, PersonOfInterest, new equilibrium)
| Trigger | Prerequisite | Content Type | Count |
|---|---|---|---|
observe_npc |
relationship_state: PersonOfInterest, subject: kael_davan + contradiction_flagged |
Smuggler monologue: doubt over warmth | 3 |
return_visit |
relationship_state: PersonOfInterest |
Smuggler monologue: location contamination | 1 |
time_idle |
relationship_state: PersonOfInterest, subject: kael_davan |
Smuggler monologue: rumination | 1 |
observe_npc (detective) |
secret_confidence: confirmed/suspected |
Detective monologue: informant potential | 2 |
| NPC dialogue | access: [public], trust: surface |
Kael: surface normal (warmth locked out) | 4 |
| NPC dialogue | access: [insider], trust: real (if smuggler chose understanding path) |
Kael: confession hints | 3 |
| Trust-gated: secret | Path A only | Kael: deeper truth | 2 |
Phase 5 total: ~16 lines. The contamination lines are the ones where voice discipline matters most — same warmth, new subtext. "Same old Kael" lines where the smuggler hears what used to be comfort and now hears a question.
Cross-Phase Lines (Not Phase-Specific)
| Content Type | Count | Notes |
|---|---|---|
| Detective identification/first observation | 2 | Fires before detective has context on Kael |
| Kael Hael references (casual, any phase) | 3 | Establish relationship before it's load-bearing |
| Kael bar casual (not phase-gated) | 4 | Social texture |
| Detective pattern-forming observations | 3 | Cumulative, phase-independent |
| Kael insider ring coordination | 4 | Operational dialogue, pre-contradiction |
Cross-phase total: ~16 lines.
Phase Total Reconciliation
| Phase | Lines | % of Pack |
|---|---|---|
| Phase 1: Comfort | 21 | 23% |
| Phase 2: First Crack | 13 | 14% |
| Phase 3: Contradiction | 7 | 8% |
| Phase 4: Confrontation | 16 | 18% |
| Phase 5: Contaminated Trust | 16 | 18% |
| Cross-phase | 16 | 18% |
| Total | 89 | ~98% (rounding) |
Close to the 91 estimate. The 2-line gap is margin for lines that emerge during writing — there's always one observation or reaction that only becomes obvious while you're in the character's head.
Format (Sample YAML)
Each line in the pack looks like this. Showing one per phase to demonstrate prerequisite progression:
# Phase 1: Comfort — smuggler sees Kael, no concerns
- id: terminal_m_010
character: smuggler
trigger: observe_npc
prerequisite:
relationship_state: Friendly
subject: kael_davan
text: "Kael's already at the dock. Good. The day's better when he's on shift."
mood: [fond]
topic: [colleague]
situation: [shift_start]
access: [insider, peer]
trust: surface
tags: [kael, baseline, pre_contradiction]
notes: "Phase 1 warmth. Establishes the bond."
# Phase 2: First Crack — smuggler notices tell
- id: terminal_m_011
character: smuggler
trigger: observe_anomaly
prerequisite:
all:
- relationship_state: Friendly
subject: kael_davan
- known_attributes:
subject: kael_davan
key: behavior_flags
value_contains: lattice_checking
text: "Kael keeps checking his lattice. Waiting for a message? Not like him to be jumpy."
mood: [concerned]
topic: [colleague]
situation: [routine]
access: [insider]
trust: real
tags: [kael, tell, first_crack]
# Phase 3: Contradiction — the moment
- id: corridor_m_010
character: smuggler
trigger: witness_interaction
prerequisite:
relationship_state: Friendly
subject: kael_davan
text: "Kael? Down here? And that's — I don't know them. Not crew, not ring. Who the hell is that?"
mood: [concerned]
topic: [colleague]
situation: [observation]
access: [insider]
trust: real
tags: [the_friend, contradiction, kael, critical_moment]
notes: "THE CONTRADICTION. Sets contradiction_flagged. Green -> amber."
# Phase 4: Tell confirmation — the knife
- id: corridor_m_011
character: smuggler
trigger: post_conversation
prerequisite:
all:
- relationship_state: PersonOfInterest
subject: kael_davan
- known_attributes:
subject: kael_davan
key: tell_observed
value: looks_left_when_lying
text: "He looked left. Always looks left when he's making something up. Two years, Kael. I know your tells."
mood: [conflicted]
topic: [trust]
situation: [confrontation]
access: [insider]
trust: real
tags: [the_friend, kael, tell_confirmation]
# Phase 5: Contaminated trust — the new normal
- id: terminal_m_015
character: smuggler
trigger: observe_npc
prerequisite:
all:
- relationship_state: PersonOfInterest
subject: kael_davan
- known_attributes:
subject: kael_davan
key: contradiction_flagged
value: meeting_unknown_contact
text: "Same old Kael. Same jokes, same routine. ...What are you not telling me?"
mood: [conflicted]
topic: [colleague]
situation: [routine]
access: [insider]
trust: real
tags: [kael, the_friend, contaminated_trust]
Dependencies Before I Can Write the Full Pack
| Dependency | Owner | Status | Impact if Missing |
|---|---|---|---|
| Content directory structure confirmed | Tyre | Round 2 (expected) | I write the pack as a single doc and split later — not blocking |
| FactId catalog (smuggler path entries) | Gestalt / Paula | Gap 5 from tracking | I use authoring-guide FactIds as placeholders, replace when catalog lands |
| EntityKnowledge key resolution (4 vs 8 keys) | Gestalt / Paula | D-03 disagreement | I write prerequisites using the Round 1 key names, adapt to winner |
| Monologue display constraints | Stig | R1 proposal: ~160 char, 2-line, 4-6 sec | Adopted. Writing to these constraints now. |
| NPC pattern/motivation mapping finalized | Gestalt | Round 2 (lead awarded to Gestalt) | Doesn't change Kael's content — he's FRIEND+OPERATOR regardless |
None of these are hard blockers. The biggest risk is FactId placeholder drift — if the final catalog changes contraband.ring_exists to smuggling.ring_confirmed, I have to search-replace across the pack. Manageable, but annoying at scale. I'd rather the catalog stabilizes before I author all 695 items.
Authoring Timeline
Kael pack (91 lines): I can draft the full pack once this workshop closes. Dialogue lines require the most iteration (Kael's voice under pressure is tricky — evasive without sounding scripted). Monologue lines are faster (I've been living in both character registers for two workshops now). Tell lines are mechanical — they map directly to the wiki's tell system table.
Estimate: full draft in one session. Review pass in a second. Revision after Gestalt validates tags and Dudley confirms prerequisites fire correctly.
Sera pack follows immediately. Different contradiction mechanics (cumulative pattern vs. single observation), different voice (Sera's precision vs. Kael's brevity), same structure. Lessons from Kael's pack inform Sera's.
Note on the 695 Number
Round 1 tracking (A-06) flags my 695 total as "needs validation from others." Let me be clear about what it is and isn't:
- 695 is the authored floor. Below this, the 30-minute session has gaps — locations without environmental text, NPCs without enough dialogue variation, monologue pools that repeat.
- 695 is not the generation-expanded total. D-028 specifies a 4x generation pass for dialogue ("write 10, generate 40"). If we apply that to the ~350 dialogue lines, the engine sees ~1,400 dialogue lines. But the 350 are what I hand-write.
- 695 doesn't include content the engine generates. Routine greetings, time-of-day variations, personality-trait transformations — those are generation-pass output, not authored input.
The number to track is 695 authored items. That's the scope. That's what I deliver.
Mellanie, Round 2. Voice registers defined, pack structure mapped, dependencies identified. Ready to write the benchmark.