Adv 2.0 D&D layer: Phases 1-8 + Phase 9 SP1+SP2

Combines all uncommitted D&D work into one checkpoint:

Phases 1-8 (per gogobee_dnd_session_summary.md):
- Race/class/stats system, !setup flow, !sheet, !respec
- d20-vs-AC combat with race/class passives, auto-migration
- XP/level-up, skill checks, NPC refund hooks
- Equipment slot mapping, rarity, !rest short/long
- Pre-arm active abilities, resource pools
- Bestiary, !roll/!stats/!level, onboarding DM
- Audit fixes A-I, flavor wiring under internal/flavor/
- Phase 8 weapon dice + armor AC tables (gogobee_equipment_appendix)

Phase 9 SP1 — spell system foundations:
- 79 SpellDefinitions (76 in-scope + 3 reaction-deferred)
- dnd_known_spells, dnd_spell_slots tables
- pending_cast / concentration_* columns on dnd_character
- Slot tables for Mage/Cleric/Ranger, DC + attack-bonus math
- Long-rest refreshes slots; respec wipes spell state
- Auto-grant default known list on !setup confirm and auto-migration

Phase 9 SP2 — !cast / !spells / !prepare commands:
- Out-of-combat HEAL and UTILITY resolve immediately
- Damage/control/buff queue as pending_cast for next combat
- Audit-style save-then-debit, slot refund on save failure
- !cast --drop, concentration supersession, prep-cap enforcement
- Reaction spells refused with Phase 11 note

SP3 (combat-time resolution of pending_cast) and SP4 (full prep/learn
tests) are next. Build clean, full test suite green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
prosolis
2026-05-08 08:21:44 -07:00
parent 8e0fe0230c
commit 9e1a1f606c
80 changed files with 19088 additions and 210 deletions

View File

@@ -0,0 +1,584 @@
# GogoBee — Expedition System
> **Companion to:** `gogobee_dnd_design_doc.md`, `gogobee_dungeon_zones.md`
> **Version:** 1.0
> **Status:** Draft
---
## ⚠️ Protected Files — DO NOT MODIFY
All existing `*_flavor.go` / `*_flavor.txt` files are off-limits.
New expedition flavor text goes in `twinbee_expedition_flavor.go` — a new file, never edits to existing ones.
---
## 1. Design Philosophy
Single-session dungeon runs are replaced by **Expeditions** — persistent, multi-day (sometimes multi-week) explorations tied to real calendar time. An Expedition is not a sprint. It is a campaign.
### What changes
- Zones are no longer completed in one sitting. They unfold over real days.
- The player logs in each day to take actions, advance, rest, manage supplies.
- TwinBee delivers a **Morning Briefing** and an **Evening Recap** every real-world day the expedition is active.
- Resources deplete over time. Poor planning ends expeditions early.
- The dungeon has a **Threat Clock** — the longer you stay, the more aware the zone becomes.
- Some events only happen on specific days, specific times, or after specific triggers.
### What doesn't change
- All combat mechanics from the main design doc apply unchanged.
- Loot, XP, and progression work identically.
- Players can still retreat, rest, and use all existing commands.
- Zones are still the same zones with the same bosses.
---
## 2. Expedition Duration by Zone Tier
| Tier | Zone | Minimum Days | Maximum Days | Notes |
|---|---|---|---|---|
| 1 | Goblin Warrens | 2 | 4 | Shortest possible expedition |
| 1 | Crypt of Valdris | 2 | 5 | Boss requires full rest before attempt |
| 2 | Forest of Shadows | 4 | 8 | Zone scales spatially |
| 2 | Sunken Temple | 4 | 9 | Tidal event on Day 6 (see Section 7) |
| 3 | Haunted Manor | 6 | 12 | Manor fully resets every 3 in-game nights |
| 3 | The Underforge | 5 | 10 | Heat accumulation mechanic |
| 4 | The Underdark | 10 | 21 | Multi-region; truly exhausting |
| 4 | Feywild Crossing | 8 | 14 | Time distortion (see Section 7) |
| 5 | Dragon's Lair | 14 | 30 | Multi-wing structure |
| 5 | The Abyss Portal | 21 | ∞ | Portal destabilizes over time; hard exit pressure |
**Minimum days** = the absolute floor if a player advances aggressively, rests optimally, and encounters no complications.
**Maximum days** = soft cap. After this, the Threat Clock maxes out and the expedition enters **Siege Mode** (see Section 8).
---
## 3. The Expedition Day Cycle
Each real-world day an expedition is active follows this structure:
```
06:00 — MORNING BRIEFING (TwinBee)
Status summary: HP, supplies, current location,
Threat Clock level, any overnight events.
06:0021:00 — ACTIVE WINDOW
Player takes actions: advance, search, fight,
trade, camp, rest, interact with NPCs.
No hard limit on actions per day — limited by
resources, HP, and supply consumption.
21:00 — EVENING RECAP (TwinBee)
Summary of the day: rooms cleared, loot found,
XP gained, supplies consumed.
TwinBee delivers a narrative coda.
Threat Clock advances if player is in a
dangerous position.
21:0006:00 — NIGHT PHASE
Camp triggers if the player has camped.
Wandering monster check (see Section 6).
Environmental events possible (Section 7).
Supply consumption continues passively.
```
---
## 4. Supply System
Expeditions consume **Supplies** — an abstracted resource representing food, water, torches, rope, ammunition, and minor consumables. Supplies are purchased before departure and cannot be restocked mid-expedition unless a Supply Cache is found or a resupply route is established.
### 4.1 Supply Units
One **Supply Unit (SU)** represents one day's worth of basic provisions for one character.
| Zone Tier | Base SU Cost Per Day | Harsh Conditions Multiplier |
|---|---|---|
| 1 | 1 SU/day | ×1 |
| 2 | 1.5 SU/day | ×1.5 |
| 3 | 2 SU/day | ×2 |
| 4 | 3 SU/day | ×2.5 |
| 5 | 4 SU/day | ×3 |
**Harsh conditions** are triggered by: Threat Clock above 60, heat accumulation events, tidal flooding, Feywild time distortion.
### 4.2 Supply Procurement
| Source | SU Yield | Cost | Notes |
|---|---|---|---|
| Thom Krooke standard pack | 10 SU | 50 coins | Max 3 packs per expedition |
| Thom Krooke deluxe pack | 20 SU | 90 coins | Max 1 per expedition |
| Foraged (Ranger, WIS DC 12) | 1d4 SU | Free | Once per day; fails in indoor zones |
| Supply Cache (dungeon loot) | 2d6 SU | — | Random find; not guaranteed |
| NPC Trader (certain zones) | Variable | Variable | Zone-specific |
### 4.3 Supply Depletion Effects
| SU Remaining | Effect |
|---|---|
| > 25% | Normal operation |
| 1025% | Rationing: -1 to all rolls from fatigue |
| 19% | Severe rationing: -2 to all rolls; no long rests |
| 0 | Starvation: -1d4 CON per day; forced extraction if CON reaches 0 |
### 4.4 Go Data Model — Supplies
```go
type ExpeditionSupplies struct {
Current float32 `json:"current"` // current SU
Max float32 `json:"max"` // purchased at outset
DailyBurn float32 `json:"daily_burn"` // base rate for this zone tier
HarshMod float32 `json:"harsh_mod"` // multiplier if harsh conditions active
Foraging bool `json:"foraging"` // Ranger forage attempt used today
}
```
---
## 5. Camp System
Camping is the primary mechanism for long rests during an expedition. It is not free — it costs time, supplies, and exposes the player to overnight risk.
### 5.1 Camp Types
| Camp Type | Setup Requirement | Rest Quality | Supply Cost | Night Risk |
|---|---|---|---|---|
| **Rough Camp** | Any location | Partial (50% HP, no slots) | +0.5 SU | High |
| **Standard Camp** | Safe room (cleared) | Full long rest | +1 SU | Medium |
| **Fortified Camp** | Boss-cleared room or cache site | Full long rest + bonus | +2 SU | Low |
| **Base Camp** | Expedition Day 3+ in Tier 45 zones | Full long rest + extended | +3 SU | Very Low |
**Fortified Camp bonus:** +1d6 HP on wake; TwinBee narrates a peaceful night (rare flavor event).
**Base Camp:** Establishes a persistent waypoint. Player can fast-travel back to Base Camp in 1 action. Required for Tier 5 zones.
### 5.2 Camp Placement Rules
- Cannot camp in a room with active enemies.
- Cannot camp in a trap room (even if the trap is disarmed).
- Cannot camp in a Boss room (the room knows it's a boss room).
- Camping in a non-cleared room = Rough Camp regardless of intent.
### 5.3 Go Data Model — Camp
```go
type CampState struct {
Active bool `json:"active"`
Type string `json:"camp_type"` // rough, standard, fortified, base
RoomID string `json:"room_id"`
EstablishedAt time.Time `json:"established_at"`
NightEvents []string `json:"night_events"` // log of overnight occurrences
}
```
---
## 6. Wandering Monster System
During the **Night Phase**, if the player has camped, a wandering monster check fires. The result depends on camp type and Threat Clock level.
### 6.1 Wandering Monster Table
Roll 1d20 + Threat Clock modifier:
| Roll | Outcome |
|---|---|
| 15 | Peaceful night. TwinBee narrates quiet. |
| 610 | Signs of passage. No encounter; Threat Clock +2. |
| 1114 | Minor encounter: 12 low-CR enemies from zone roster. Player wakes to combat. |
| 1517 | Standard encounter: standard zone enemy group. |
| 1819 | Elite encounter: Elite-tier enemy from zone. |
| 20+ | Ambush: enemy has surprise round. Elite-tier. TwinBee delivers a terse, sleep-interrupted narration. |
**Threat Clock modifier:** +1 per 10 points of Threat Clock above 30.
### 6.2 Rough Camp Night Risk Modifier
Rough Camp adds +3 to all wandering monster rolls.
### 6.3 Avoiding Night Encounters
- **Ranger passive:** -2 to all wandering monster rolls while in a wilderness zone.
- **Rogue passive:** On a roll of 1114, may attempt a Stealth check (DC 14) to avoid the encounter entirely.
- **Fortified Camp:** -4 to all wandering monster rolls.
---
## 7. Zone-Specific Temporal Events
These events fire on specific expedition days, times, or conditions. They are not random — they are scheduled by the zone and announced by TwinBee in advance (vaguely).
### 7.1 Sunken Temple — Tidal Event (Day 6)
On Expedition Day 6, the tidal cycle peaks. All flooded rooms gain:
- +1d6 cold damage per turn while wading
- Kuo-toa enemies gain +2 AC and +1d4 to attack rolls
- Supply burn doubles for 24 hours (water infiltration)
TwinBee warns on Day 4: *"The water is rising. Something about the rhythm of it has changed."*
TwinBee warns on Day 5: *"Tomorrow the temple will be fully claimed by the tide. Plan accordingly."*
If the player has reached the Boss room before Day 6: no event fires.
### 7.2 Haunted Manor — Nightly Reset (Every 3 In-Game Nights)
Every third night in the Manor, non-boss rooms respawn one enemy (not a full reset — one enemy per room, chosen from zone roster). This represents the house reasserting itself.
TwinBee notes on Night 2: *"The house has been quiet. That will not last."*
On Night 3 morning: *"Overnight, something moved back in. Several somethings, actually."*
### 7.3 The Underforge — Heat Accumulation
Each day spent in the Underforge adds 1 Heat Stack (max 10). Effects:
| Heat Stacks | Effect |
|---|---|
| 13 | Flavor only ("the air shimmers") |
| 46 | +1d4 fire damage at start of each combat round |
| 79 | Disadvantage on CON saves; Supply burn +50% |
| 10 | Exhaustion: -2 to all rolls; forced 24hr rest or extraction |
Heat stacks reduce by 2 per long rest in a Fortified Camp. Full extraction resets all stacks.
### 7.4 The Feywild Crossing — Time Distortion
Time in the Feywild is unreliable. Each day the player enters an Exploration Room, roll 1d6:
| Roll | Time Effect |
|---|---|
| 12 | Normal day passes |
| 34 | Half-day: only 0.5 SU consumed; next room generates instantly |
| 5 | Double-day: 2 SU consumed; an extra wandering monster check fires |
| 6 | Time Loop: player re-enters the same room (new enemies; loot already taken) |
TwinBee tracks time distortion and reports it in the Morning Briefing with increasing bewilderment.
### 7.5 Dragon's Lair — Awareness Pulses
Infernax sleeps lightly. Every 3 days, an Awareness Pulse fires:
- Kobold patrols increase by 1 enemy per active room
- Threat Clock +10
- TwinBee delivers an Awareness Pulse narration (see `twinbee_expedition_flavor.go`)
On Day 14: Infernax wakes. If the player has not reached the Boss room by Day 14, Infernax begins active hunting — wandering monster checks occur every 6 hours and may produce a Dragon encounter (CR 15 young dragon proxy) until the player reaches the final chamber.
### 7.6 The Abyss Portal — Destabilization
The portal grows unstable over time. Each day, Portal Instability increases by 5 (starts at 0, max 100).
| Instability | Effect |
|---|---|
| 020 | Normal operations |
| 2140 | Psychic pressure: -1 to WIS rolls |
| 4160 | Reality warps: rooms occasionally shift order |
| 6180 | Demon surges: wandering monster check every 12 hours |
| 8199 | Unraveling: -2 to all rolls; Supply burn doubles |
| 100 | Collapse: player is forcibly extracted; expedition fails; portal requires a new event to reopen |
Instability is reduced by 10 for each major story objective completed in the zone.
---
## 8. The Threat Clock
The Threat Clock (0100) represents how aware the zone's faction has become of the player's presence. It is the dungeon's version of stealth — the longer you're here, the more organized the opposition becomes.
### 8.1 Threat Clock Modifiers
| Event | Threat Change |
|---|---|
| Combat in a new room | +5 |
| Enemy killed before raising alarm | +0 |
| Enemy escapes combat | +10 |
| Player uses loud ability (Fireball, Thunderwave) | +8 |
| Rogue uses Stealth to move between rooms | -3 |
| Long rest in Fortified Camp | -5 |
| Boss defeated | -20 |
| Day passes in zone | +3 |
| TwinBee Mood: Wrathful | +5/day additional |
| TwinBee Mood: Elated | -3/day |
### 8.2 Threat Clock Thresholds
| Level | Threshold | Effect |
|---|---|---|
| Quiet | 020 | No modifications. TwinBee describes an unaware zone. |
| Stirring | 2140 | Enemies in uncleared rooms gain +1 to Perception; wandering monster +1 |
| Alert | 4160 | Enemies gain +2 AC; wandering monster +2; reinforcements possible |
| Hostile | 6180 | All enemies have initiative advantage; room traps re-arm |
| Siege | 81100 | **Siege Mode** (see Section 8.3) |
### 8.3 Siege Mode
When Threat Clock hits 100, the zone enters Siege Mode:
- All rooms with cleared enemies respawn one enemy (once)
- Boss gains +20 HP and Legendary Resistance +1
- Supply burn doubles
- No short rests possible (too dangerous)
- TwinBee delivers a Siege Mode narration and does not sugarcoat it
- Siege Mode cannot be reduced — it is the dungeon's final form
TwinBee begins warning at Threat Clock 70:
*"They know you're here. Not a suspicion anymore. A certainty. The question now is whether you finish before they organize."*
### 8.4 Go Data Model — Threat Clock
```go
type ThreatClock struct {
Level int `json:"level"` // 0100
SiegeMode bool `json:"siege_mode"`
LastUpdated time.Time `json:"last_updated"`
Events []ThreatEvent `json:"events"`
}
type ThreatEvent struct {
Timestamp time.Time `json:"timestamp"`
Delta int `json:"delta"`
Reason string `json:"reason"`
}
```
---
## 9. Expedition State Model
```go
type Expedition struct {
ID string `json:"id"`
PlayerID string `json:"player_id"`
ZoneID string `json:"zone_id"`
StartDate time.Time `json:"start_date"`
CurrentDay int `json:"current_day"`
Status string `json:"status"` // active, extracting, complete, failed
CurrentRegion string `json:"current_region"`
CurrentRoomID string `json:"current_room_id"`
RoomsCleared []string `json:"rooms_cleared"`
BossDefeated bool `json:"boss_defeated"`
Supplies ExpeditionSupplies `json:"supplies"`
Camp *CampState `json:"camp"`
ThreatClock ThreatClock `json:"threat_clock"`
TemporalStack int `json:"temporal_stack"` // zone-specific (heat, instability, etc.)
Log []ExpeditionEntry `json:"log"`
LootCollected []string `json:"loot_collected"`
XPEarned int `json:"xp_earned"`
GMMood int `json:"gm_mood"`
LastActivity time.Time `json:"last_activity"`
}
type ExpeditionEntry struct {
Day int `json:"day"`
Timestamp time.Time `json:"timestamp"`
Type string `json:"type"` // action, combat, rest, event, narrative
Summary string `json:"summary"`
Flavor string `json:"flavor"` // TwinBee line for this entry
}
```
---
## 10. Extraction
Extraction is leaving the zone before completion — intentionally or by force.
### 10.1 Voluntary Extraction
Command: `!extract`
- Player may extract at any time from any cleared room.
- Extraction costs 1 in-game day (finding the way out).
- Player keeps all loot and XP earned to that point.
- Expedition marked as Incomplete — can be resumed (see Section 10.3).
- TwinBee delivers an extraction narration.
### 10.2 Forced Extraction
Triggered by: HP reaching 0, supplies reaching 0, Abyss Portal collapse.
- Player loses 20% of coins earned during expedition (chaos tax).
- All loot carried out is kept.
- Expedition marked as Abandoned.
- Cannot be resumed — must restart.
- Threat Clock resets to 20 on re-entry (zone remembers you, but time has passed).
- TwinBee delivers a forced extraction narration (respectful; never mocking).
### 10.3 Expedition Resume
Voluntarily extracted expeditions can be resumed within **7 real days**:
- Resumes from the last cleared room.
- Supplies must be repurchased (what was carried is gone — you extracted).
- Threat Clock resumes at extraction value.
- Zone-specific temporal stacks (Heat, Instability) resume at extraction value.
- TwinBee delivers a return narration: *"Back again. TwinBee noted the door. TwinBee notes it opening."*
After 7 days, the expedition expires and must restart.
---
## 11. Multi-Region Zones (Tier 45)
The Underdark, Dragon's Lair, and Abyss Portal are too large for a single dungeon map. They are divided into **Regions**, each functioning as a sub-dungeon.
### 11.1 Region Structure
Each Region contains:
- Its own room sequence (Entry → Exploration → Trap → Exploration → Elite → Boss)
- A **Region Boss** (not the Zone Boss — a mid-tier milestone)
- A potential **Base Camp** site (unlocked after clearing Region Boss)
- Region-specific enemies (subset of zone roster)
- Region-specific loot table
### 11.2 Region Progression
| Zone | Regions | Region Boss |
|---|---|---|
| The Underdark | Surface Tunnels → Drow Outpost → Illithid Warren → The Deep Throne | Drow Elite Captain → Mind Flayer Elder → Ilvaras Xunyl (Zone Boss) |
| Dragon's Lair | Kobold Warrens → Drake Pens → The Vault → Infernax's Chamber | Kobold Warchief → Elder Drake → Infernax (Zone Boss) |
| The Abyss Portal | Outer Rift → Demon Assembly → The Warden's Post → The Tear | Vrock Commander → Nalfeshnee → Belaxath (Zone Boss) |
### 11.3 Region Transitions
Moving between regions costs 1 full in-game day of travel. TwinBee narrates the transition with specific regional flavor. Supply burn applies during travel. Wandering monster check fires once during transit.
### 11.4 Go Data Model — Region
```go
type ExpeditionRegion struct {
ID string `json:"id"`
ZoneID string `json:"zone_id"`
Name string `json:"name"`
Order int `json:"order"`
Cleared bool `json:"cleared"`
BossDefeated bool `json:"boss_defeated"`
BaseCampSite bool `json:"base_camp_site"`
EnemySubset []string `json:"enemy_subset"`
LootTable []LootEntry `json:"loot_table"`
FlavorRef string `json:"flavor_ref"`
}
```
---
## 12. TwinBee Daily Briefing & Recap Format
### 12.1 Morning Briefing (06:00)
```
🎭 TwinBee — Morning Briefing, Day [N]
📍 Location: [Zone Name] — [Region if applicable] — [Room description]
❤️ HP: [current] / [max]
🎒 Supplies: [SU remaining] / [SU max] ([days remaining estimate])
⏰ Threat: [Threat Clock level] — [Threshold name]
🌡️ [Zone stack]: [Heat/Instability/Time value if applicable]
[Overnight events, if any — TwinBee narrates what happened while you slept]
[TwinBee morning flavor line — see twinbee_expedition_flavor.go]
Available actions: [!advance] [!search] [!camp] [!rest] [!extract] [!status]
```
### 12.2 Evening Recap (21:00)
```
🎭 TwinBee — Evening Recap, Day [N]
Today's progress:
Rooms cleared: [N]
Enemies defeated: [N]
Loot found: [item list or "nothing notable"]
XP earned: [N]
Supplies used: [N SU]
[TwinBee evening narrative — see twinbee_expedition_flavor.go]
[Camp prompt if player hasn't camped: "You should rest. The dungeon does not."]
```
---
## 13. Expedition Milestones & Bonus Rewards
Milestones reward players who engage with the expedition's full arc rather than rushing.
| Milestone | Trigger | Reward |
|---|---|---|
| First Night | Survive Night 1 | +50 XP; TwinBee delivers a "you're still here" line |
| Cartographer | Search every room before advancing | Bonus loot roll in next Elite room |
| Patient Zero | Complete expedition without Threat Clock above 50 | +10% XP bonus on zone complete |
| Survivalist | Complete Tier 3+ expedition with no forced extraction | Unique title + cosmetic item |
| Week One | Expedition Day 7 survived | +200 XP; Thom Krooke discount next visit |
| Two Weeks | Expedition Day 14 survived | +500 XP; permanent +1 to primary class stat |
| The Long Game | Complete a Tier 5 zone | Legendary item guaranteed; TwinBee delivers a personal note |
---
## 14. Expedition Commands Reference
| Command | Description |
|---|---|
| `!expedition start <zone>` | Begin a new expedition (opens supply purchase flow) |
| `!expedition status` | Full expedition status summary |
| `!expedition log` | Last 5 expedition log entries with TwinBee narration |
| `!advance` | Move to next room (costs time; triggers encounters) |
| `!retreat` | Return to previous cleared room |
| `!search` | Search current room (Perception/Investigation check) |
| `!camp <type>` | Establish camp (rough / standard / fortified / base) |
| `!rest short` | Short rest at current location |
| `!rest long` | Long rest (requires Standard camp or better) |
| `!supplies` | Check supply status and daily burn rate |
| `!threat` | Check Threat Clock level and current threshold |
| `!extract` | Begin voluntary extraction |
| `!resume` | Resume a previously extracted expedition |
| `!map` | Display expedition progress as ASCII region/room map |
---
## 15. Implementation Phases — Expedition System
### Phase E1 — Core Infrastructure
- [ ] `Expedition` struct and DB schema
- [ ] Real-time day cycle engine (06:00/21:00 triggers)
- [ ] Morning Briefing and Evening Recap generation
- [ ] `!expedition start`, `!expedition status` commands
- [ ] Supply system (procurement, depletion, effects)
- [ ] Basic camp system (rough and standard)
### Phase E2 — Threat Clock & Night Phase
- [ ] Threat Clock state machine
- [ ] Wandering monster system
- [ ] Night phase event resolution
- [ ] Siege Mode implementation
- [ ] Fortified Camp and Base Camp
### Phase E3 — Zone Temporal Events
- [ ] Tidal Event (Sunken Temple)
- [ ] Nightly Reset (Haunted Manor)
- [ ] Heat Accumulation (Underforge)
- [ ] Time Distortion (Feywild)
- [ ] Awareness Pulses (Dragon's Lair)
- [ ] Portal Destabilization (Abyss Portal)
### Phase E4 — Multi-Region Zones
- [ ] Region system and region boss structure
- [ ] Region transition (travel day, supply burn, encounter)
- [ ] Base Camp as persistent waypoint
- [ ] Underdark, Dragon's Lair, Abyss Portal region maps
### Phase E5 — Extraction & Resume
- [ ] Voluntary extraction flow
- [ ] Forced extraction flow
- [ ] Expedition resume (7-day window)
- [ ] Expedition log persistence
### Phase E6 — Milestones & Polish
- [ ] Milestone tracking and reward delivery
- [ ] `twinbee_expedition_flavor.go` full population (briefings, recaps, event narrations)
- [ ] ASCII map renderer (multi-region aware)
- [ ] Pete bot expedition update posts (daily highlights for Matrix room)
---
*End of Expedition System Document.*
*Reference alongside all companion docs in Claude Code sessions.*