spi / docs /architecture.md
desiree's picture
Phase 1: architecture doc
129f369 verified
|
Raw History Blame Contribute Delete
3.29 kB

SPI Architecture — Phase 1 (Foundation)

Status legend used throughout SPI docs

WORKS = executed with evidence · STUB = interface exists, deterministic placeholder logic · PLANNED = not built.

Component map (Phase 1)

Component Module Status (Phase 1) Notes
ProjectState spi/schemas/project_state.py WORKS Pydantic v2, versioned, mutation log, transactional deltas
Evidence schema spi/schemas/evidence.py WORKS PASS/REPAIR/REGENERATE/REPLAN/REJECT/UNRESOLVED/BLOCKED; every metric carries evidence
ProductionGraph spi/compiler/production_graph.py WORKS DAG: project→act→sequence→scene→shot→generation job; topological sort; cycle rejection
Scheduler spi/scheduler/scheduler.py WORKS (mock lane) Priority, dependencies, retries, recorded timing
Renderer interfaces spi/renderers/base.py WORKS VideoRenderer/ImageRenderer/AudioRenderer protocols + capabilities()
Mock renderers spi/renderers/mock.py WORKS Deterministic artifact metadata; GenerationCache keyed on request hash
ModelRouter spi/renderers/registry.py STUB Routes by capability/cost/VRAM; real adapters arrive in Phase 2
Level-1 verification spi/evaluation/level1.py WORKS Deterministic checks (frame count, resolution, duration, entity presence)
EvidenceFusion spi/evaluation/evidence_fusion.py WORKS Fuses MetricResults, flags disagreements
MasterArbiter spi/evaluation/arbiter.py WORKS Evidence-based PASS/REPAIR/REPLAN/UNRESOLVED
IntentEngine spi/intelligence/intent.py STUB Prompt→Goal; preserves explicit constraints vs AI additions
IdeaEngine / ConceptEngine spi/intelligence/ideas.py, concept.py STUB Adaptive idea budget, no LLM in mock mode
WorldEngine / StoryGraph / CausalGraph — PLANNED Phase 5
Evidyne API spi/api/server.py WORKS Tool layer with the §32 response contract; FastAPI optional
RepairEngine — PLANNED Phase 7
Real video backend — PLANNED Phase 2: Wan 2.2 (see research_report.md)

Data flow (Phase 1, mock lane)

prompt
  → IntentEngine (constraints separated from creative additions)
  → ProjectState (v1)
  → MovieCompiler → ProductionGraph (DAG of shots/jobs)
  → Scheduler → MockVideoRenderer (cached, deterministic artifacts)
  → Level1 verification (deterministic checks → MetricResult with evidence)
  → EvidenceFusion → MasterArbiter → PASS | REPAIR
  → OutputCompiler summary → response contract

Design rules honored in code

  • Agents exchange structured state and deltas, not prompt strings. ProjectState.apply_delta() is transactional and bumps state_version; every mutation is appended to a log.
  • Evidence over assertion: MetricResult cannot be constructed without a status; scores without evidence are flagged by the arbiter as UNRESOLVED.
  • Cheap-first verification: Level 1 (deterministic) runs before any Level-2 evaluator; select_evaluators() routes by artifact properties.
  • Generation cache: requests are hashed (model+prompt+seed+params+refs); identical requests reuse artifacts.
  • SPI_MODE = mock | small | production is threaded through the registry; mock needs no GPU.