# ╔═══════════════════════════════════════════════════════════════════════════╗
# ║ ║
# ║ ██████╗ ██████╗ ███╗ ██╗ ██████╗ ████████╗ ███████╗██████╗ ║
# ║ ██╔══██╗██╔═══██╗ ████╗ ██║██╔═══██╗╚══██╔══╝ ██╔════╝██╔══██╗ ║
# ║ ██║ ██║██║ ██║ ██╔██╗ ██║██║ ██║ ██║ █████╗ ██║ ██║ ║
# ║ ██║ ██║██║ ██║ ██║╚██╗██║██║ ██║ ██║ ██╔══╝ ██║ ██║ ║
# ║ ██████╔╝╚██████╔╝ ██║ ╚████║╚██████╔╝ ██║ ███████╗██████╔╝ ║
# ║ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚══════╝╚═════╝ ║
# ║ ║
# ║ IT ██╗████████╗ ██╗ ║
# ║ ██║╚══██╔══╝ ██║ ║
# ║ ██║ ██║ ██║ ║
# ║ ██║ ██║ ╚═╝ ║
# ║ ██║ ██║ ██╗ ║
# ║ ╚═╝ ╚═╝ ╚═╝ ║
# ║ ║
# ╠═══════════════════════════════════════════════════════════════════════════╣
# ║ This file is AUTO-GENERATED by the QuestFoundry compiler. ║
# ║ ║
# ║ ANY CHANGES YOU MAKE HERE WILL BE LOST when you run `qf compile`. ║
# ║ ║
# ║ To make changes: ║
# ║ 1. Edit the source file in src/questfoundry/domain/ ║
# ║ 2. Run: qf compile ║
# ║ 3. Your changes will appear here ║
# ║ ║
# ║ Source mapping: ║
# ║ domain/roles/*.md → generated/roles/*.py ║
# ║ domain/ontology/*.md → generated/models/*.py ║
# ║ ║
# ╚═══════════════════════════════════════════════════════════════════════════╝
"""Generated enum definitions from domain/ontology/taxonomy.md."""
from enum import StrEnum
[docs]
class Agency(StrEnum):
"""Role autonomy level - how much discretion the role has"""
HIGH = "high"
"""Can deviate, improvise, make judgment calls"""
MEDIUM = "medium"
"""Follows patterns but has domain discretion"""
LOW = "low"
"""Applies rules mechanically with minimal discretion"""
ZERO = "zero"
"""Purely deterministic; crashes on ambiguity"""
[docs]
class AssetType(StrEnum):
"""Classification of external binary assets"""
PLATE = "plate"
"""Illustration for a section"""
COVER = "cover"
"""Book cover image"""
ICON = "icon"
"""Small graphic (character portrait, item icon)"""
AUDIO = "audio"
"""Sound file (ambient, music, SFX)"""
FONT = "font"
"""Custom typography file"""
ORNAMENT = "ornament"
"""Decorative element (divider, flourish)"""
[docs]
class GateType(StrEnum):
"""In-world condition type controlling access"""
TOKEN = "token"
"""Physical object possession (badge, key, device)"""
REPUTATION = "reputation"
"""Social standing, relationships, faction trust"""
KNOWLEDGE = "knowledge"
"""Information discovered, secrets learned"""
PHYSICAL = "physical"
"""Location access, capability, tool availability"""
TEMPORAL = "temporal"
"""Time-based constraints, deadlines, windows"""
COMPOSITE = "composite"
"""Multiple conditions (AND/OR combinations)"""
[docs]
class HookStatus(StrEnum):
"""Lifecycle state of a hook card"""
PROPOSED = "proposed"
"""Initial capture - not yet triaged"""
ACCEPTED = "accepted"
"""Approved for work - owner and scope defined"""
IN_PROGRESS = "in_progress"
"""Active work - owner actively developing"""
RESOLVED = "resolved"
"""Work complete - deliverable artifact exists"""
CANONIZED = "canonized"
"""Merged to cold store - terminal success state"""
DEFERRED = "deferred"
"""Postponed with reason - may be reactivated"""
REJECTED = "rejected"
"""Declined with reason - terminal failure state"""
[docs]
class HookType(StrEnum):
"""The category of change a hook represents"""
NARRATIVE = "narrative"
"""Changes to story content, dialogue, or prose"""
SCENE = "scene"
"""New or modified scenes within the structure"""
FACTUAL = "factual"
"""Canon facts, lore entries, or world truths"""
TAXONOMY = "taxonomy"
"""Terminology, naming conventions, or glossary"""
STRUCTURE = "structure"
"""Topology changes - hubs, loops, gateways"""
CANON = "canon"
"""Backstory, timeline, causality, or constraints"""
STYLE = "style"
"""Voice, register, phrasing patterns, or motifs"""
ACCESSIBILITY = "accessibility"
"""Alt text, content warnings, or inclusive design"""
[docs]
class IntentType(StrEnum):
"""Role communication signal type"""
HANDOFF = "handoff"
"""Normal completion - transfer to next role"""
ESCALATION = "escalation"
"""Exception - bump to higher-agency role"""
BROADCAST = "broadcast"
"""Notification - inform without routing change"""
TERMINATE = "terminate"
"""Completion signal - end workflow execution"""
[docs]
class LoopType(StrEnum):
"""Workflow type classification"""
STORY_SPARK = "story_spark"
"""Discovery - topology and structure design"""
HOOK_HARVEST = "hook_harvest"
"""Discovery - triage and classify change requests"""
LORE_DEEPENING = "lore_deepening"
"""Discovery - canon development and consistency"""
SCENE_CRAFT = "scene_craft"
"""Refinement - prose writing and scene development"""
STYLE_PASS = "style_pass"
"""Refinement - voice, register, and motif tuning"""
QUALITY_GATE = "quality_gate"
"""Export - validation and approval checkpoint"""
BINDING_RUN = "binding_run"
"""Export - final assembly and publication"""
[docs]
class QualityBar(StrEnum):
"""Quality validation category"""
INTEGRITY = "integrity"
"""Structural consistency - anchors resolve, no orphans"""
REACHABILITY = "reachability"
"""Critical content accessible via valid paths"""
NONLINEARITY = "nonlinearity"
"""Choices have meaningful consequences"""
GATEWAYS = "gateways"
"""All gates have valid unlock conditions"""
STYLE = "style"
"""Voice and tone consistency"""
DETERMINISM = "determinism"
"""Same inputs produce same outputs"""
PRESENTATION = "presentation"
"""Formatting and structure correctness"""
ACCESSIBILITY = "accessibility"
"""Content usable by all players"""
[docs]
class StoreType(StrEnum):
"""Where an artifact lives - determines mutability"""
HOT = "hot"
"""Working drafts - mutable, visible to all roles"""
COLD = "cold"
"""Committed canon - append-only, immutable once written"""
BOTH = "both"
"""May exist in either store depending on lifecycle"""
[docs]
class Visibility(StrEnum):
"""Export visibility - controls what Publisher includes in player exports"""
PUBLIC = "public"
"""Included in player exports - safe for players to see"""
INTERNAL = "internal"
"""Author reference only - excluded from player exports"""
SPOILER = "spoiler"
"""Contains spoilers - excluded until player reaches unlock point"""