Testing Strategy Sprint Dependency Graph & Critical Path Analysis

Purpose: Visualize sprint dependencies, identify critical path, optimize parallel execution, and coordinate cross-guild work.


Executive Summary

Total Sprints: 22 sprints across 4 batches Total Tasks: ~370 tasks Estimated Duration: 26 weeks (6 months) if executed sequentially Optimal Duration: 14 weeks (3.5 months) with full parallelization Critical Path: 14 weeks (Foundation Epics → Module Tests) Parallelization Opportunities: Up to 15 sprints can run concurrently


Sprint Inventory by Batch

Batch 5100.0007: Foundation Epics (90 tasks, 6 sprints)

Sprint IDNameTasksWavesDependencies
5100.0007.0001Master Testing Strategy184None (entry point)
5100.0007.0002Epic A: TestKit Foundations1340001 (Wave 1 complete)
5100.0007.0003Epic B: Determinism Gate1240002 (TestKit available)
5100.0007.0004Epic C: Storage Harness1240002 (TestKit available)
5100.0007.0005Epic D: Connector Fixtures1240002 (TestKit available)
5100.0007.0006Epic E: WebService Contract1240002 (TestKit + OtelCapture)
5100.0007.0007Epic F: Architecture Tests176None (can start immediately)

Batch 5100.0008: Quality Gates (11 tasks, 1 sprint)

Sprint IDNameTasksWavesDependencies
5100.0008.0001Competitor Parity Testing1140007.0001 (Wave 1), 0007.0002

Batch 5100.0009: Module Test Implementations (185 tasks, 11 sprints)

Sprint IDModuleModelsTasksWavesDependencies
5100.0009.0001ScannerL0,AN1,S1,T1,W1,WK1,PERF2540002,0003,0004,0006
5100.0009.0002ConcelierC1,L0,S1,W1,AN11840002,0003,0004,0005,0006,0007.0007
5100.0009.0003ExcititorC1,L0,S1,W1,WK12140002,0003,0004,0005,0006,0007.0007
5100.0009.0004PolicyL0,S1,W11530002,0003,0004,0006
5100.0009.0005AuthorityL0,W1,C11730002,0005,0006
5100.0009.0006SignerL0,W1,C11730002,0003,0005,0006
5100.0009.0007AttestorL0,W11430002,0003,0006,0009.0006
5100.0009.0008SchedulerL0,S1,W1,WK11430002,0004,0006
5100.0009.0009NotifyL0,C1,S1,W1,WK11830002,0004,0005,0006
5100.0009.0010CLICLI11330002,0003
5100.0009.0011UIW11330002,0006

Batch 5100.0010: Infrastructure Tests (62 tasks, 4 sprints)

Sprint IDModule FamilyModelsTasksWavesDependencies
5100.0010.0001EvidenceLocker + Findings + ReplayL0,S1,W1,WK11630002,0004,0006
5100.0010.0002Graph + TimelineIndexerL0,S1,W1,WK11530002,0004,0006
5100.0010.0003Router + MessagingL0,T1,W1,S11430002,0004
5100.0010.0004AirGapL0,AN1,S1,W1,CLI11730002,0003,0004,0006

Dependency Visualization (ASCII Graph)

CRITICAL PATH (14 weeks):
Week 1-2:  [5100.0007.0001] Master Strategy (Wave 1-4)
             │
Week 3-4:  [5100.0007.0002] TestKit Foundations ← CRITICAL BOTTLENECK
             │
             ├──────────┬──────────┬──────────┬──────────┐
Week 5-6:  [0003]    [0004]    [0005]    [0006]    [0007.0007]
          Determ.   Storage   Connect.  WebSvc    Arch.Tests
             │         │         │         │
             └─────────┴─────────┴─────────┘
                       │
Week 7-10: ┌──────────┼──────────────────────────────────┐
          [5100.0009.xxxx] ALL MODULE TESTS (parallel)  │
          11 sprints run concurrently                    │
             │                                            │
Week 11-14:└────────────────────────────────────────────┘
          [5100.0010.xxxx] ALL INFRASTRUCTURE TESTS
          4 sprints run concurrently


PARALLEL EXECUTION ZONES:

Zone 1 (Weeks 5-6): Epic Implementations
  - 5100.0007.0003 (Determinism)    ─┐
  - 5100.0007.0004 (Storage)         ├─ Can run in parallel
  - 5100.0007.0005 (Connectors)      │  (all depend only on TestKit)
  - 5100.0007.0006 (WebService)      │
  - 5100.0007.0007 (Architecture)   ─┘

Zone 2 (Weeks 7-10): Module Tests
  - Scanner (5100.0009.0001)        ─┐
  - Concelier (5100.0009.0002)       │
  - Excititor (5100.0009.0003)       │
  - Policy (5100.0009.0004)          ├─ Can run in parallel
  - Authority (5100.0009.0005)       │  (Epic dependencies met)
  - Signer (5100.0009.0006)          │
  - Attestor (5100.0009.0007)        │
  - Scheduler (5100.0009.0008)       │
  - Notify (5100.0009.0009)          │
  - CLI (5100.0009.0010)             │
  - UI (5100.0009.0011)             ─┘

Zone 3 (Weeks 11-14): Infrastructure Tests
  - EvidenceLocker (5100.0010.0001) ─┐
  - Graph (5100.0010.0002)           ├─ Can run in parallel
  - Router/Messaging (5100.0010.0003)│
  - AirGap (5100.0010.0004)         ─┘

Zone 4 (Weeks 3-14): Quality Gates (can overlap)
  - Competitor Parity (5100.0008.0001) runs after Week 3

Critical Path Analysis

Critical Path Sequence (14 weeks)

  1. Week 1-2: Master Strategy Sprint (5100.0007.0001)

    • Wave 1: Documentation sync
    • Wave 2: Quick wins (test runner scripts, trait standardization)
    • Wave 3: CI infrastructure
    • Wave 4: Epic sprint creation
  2. Week 3-4: TestKit Foundations (5100.0007.0002) ← CRITICAL BOTTLENECK

    • ALL downstream sprints depend on TestKit
    • Must complete before any module tests can start
    • Priority: DeterministicTime, DeterministicRandom, CanonicalJsonAssert, SnapshotAssert, PostgresFixture, OtelCapture
  3. Week 5-6: Epic Implementation (parallel zone)

    • 5 sprints run concurrently
    • Unblocks all module tests
  4. Week 7-10: Module Test Implementation (parallel zone)

    • 11 sprints run concurrently
    • Longest pole: Scanner (25 tasks, 4 waves)
  5. Week 11-14: Infrastructure Test Implementation (parallel zone)

    • 4 sprints run concurrently
    • Can overlap with late-stage module tests

Critical Bottleneck: TestKit (Sprint 5100.0007.0002)

Impact: Blocks 20 downstream sprints (all module + infrastructure tests) Mitigation:


Dependency Matrix

Epic → Module Dependencies

Epic SprintBlocks Module SprintsReason
5100.0007.0002 (TestKit)ALL 15 module/infra sprintsCore test utilities required
5100.0007.0003 (Determinism)Scanner, Excititor, Signer, CLI, AirGapDeterminism gate required
5100.0007.0004 (Storage)Scanner, Concelier, Excititor, Policy, Scheduler, Notify, EvidenceLocker, Graph, Router, AirGapPostgresFixture required
5100.0007.0005 (Connectors)Concelier, Excititor, Authority, Signer, NotifyFixture discipline required
5100.0007.0006 (WebService)Scanner, Concelier, Excititor, Policy, Authority, Signer, Attestor, Scheduler, Notify, UI, EvidenceLocker, Graph, AirGapWebServiceFixture required
5100.0007.0007 (Architecture)Concelier, ExcititorLattice boundary enforcement

Module → Module Dependencies

SprintDepends On Other ModulesReason
Attestor (0009.0007)Signer (0009.0006)Sign/verify integration tests
(None other)-Modules are otherwise independent

Parallelization Strategy

Maximum Parallel Execution (15 sprints)

Week 5-6 (5 parallel):

Week 7-10 (11 parallel):

Week 11-14 (4 parallel):

Resource Requirement (Peak):


Risk Hotspots

High-Impact Delays

RiskImpactProbabilityMitigation
TestKit delayed (5100.0007.0002)Blocks ALL downstream sprints; +2-4 weeks delayMEDIUMStaff with senior engineers; daily standups; incremental releases
Storage harness issues (5100.0007.0004)Blocks 10 sprintsMEDIUMUse Testcontainers early; validate Postgres 16 compatibility Week 1
Determinism gate drift (5100.0007.0003)Scanner/Excititor blocked; compliance issuesLOWExplicit canonical JSON contract; freeze schema early
Attestor-Signer circular dependency (0009.0007 ↔ 0009.0006)Integration tests blockedMEDIUMMock signing for Attestor initial tests; coordinate guilds
Concurrent module tests overwhelm CITest suite timeout; flaky testsHIGHStagger module test starts; use CI parallelization; dedicated test runners

Critical Path Risks

SprintRiskImpact if Delayed
5100.0007.0002 (TestKit)DeterministicTime implementation complex+2 weeks to critical path
5100.0009.0001 (Scanner)25 tasks, 4 waves; reachability tests complexDelays integration tests; no impact on other modules
5100.0007.0004 (Storage)Testcontainers Postgres compatibility issuesBlocks 10 sprints; +2-3 weeks

Phase 1: Foundation (Weeks 1-4)

Goal: Establish test infrastructure and strategy docs Sprints:

  1. 5100.0007.0001 (Master Strategy) — Week 1-2
  2. 5100.0007.0002 (TestKit) — Week 3-4 ← CRITICAL

Exit Criteria:

Phase 2: Epic Implementation (Weeks 5-6)

Goal: Implement all foundation epics in parallel Sprints (parallel):

  1. 5100.0007.0003 (Determinism)
  2. 5100.0007.0004 (Storage)
  3. 5100.0007.0005 (Connectors)
  4. 5100.0007.0006 (WebService)
  5. 5100.0007.0007 (Architecture)

Exit Criteria:

Phase 3: Module Tests — Priority Tier 1 (Weeks 7-8)

Goal: Implement tests for critical security/compliance modules Sprints (parallel):

  1. 5100.0009.0001 (Scanner) — critical path, longest pole
  2. 5100.0009.0002 (Concelier)
  3. 5100.0009.0003 (Excititor)
  4. 5100.0009.0004 (Policy)
  5. 5100.0009.0005 (Authority)
  6. 5100.0009.0006 (Signer)

Phase 4: Module Tests — Priority Tier 2 (Weeks 9-10)

Goal: Complete remaining module tests Sprints (parallel):

  1. 5100.0009.0007 (Attestor)
  2. 5100.0009.0008 (Scheduler)
  3. 5100.0009.0009 (Notify)
  4. 5100.0009.0010 (CLI)
  5. 5100.0009.0011 (UI)

Phase 5: Infrastructure Tests (Weeks 11-14)

Goal: Complete platform infrastructure tests Sprints (parallel):

  1. 5100.0010.0001 (EvidenceLocker)
  2. 5100.0010.0002 (Graph)
  3. 5100.0010.0003 (Router/Messaging)
  4. 5100.0010.0004 (AirGap)

Phase 6: Quality Gates (Overlapping Weeks 3-14)

Goal: Establish ongoing parity testing Sprint:

  1. 5100.0008.0001 (Competitor Parity) — can start Week 3, run nightly thereafter

Guild Coordination

Cross-Guild Dependencies

GuildOwns SprintsDepends On GuildsCoordination Points
Platform GuildTestKit, Storage, Architecture, EvidenceLocker, Graph, RouterNoneWeek 3: TestKit readiness review
Scanner GuildScannerPlatform (TestKit, Storage, Determinism, WebService)Week 5: Storage harness validation
Concelier GuildConcelierPlatform (TestKit, Storage, Connectors, WebService), ArchitectureWeek 6: Connector fixture review
Excititor GuildExcititorPlatform (TestKit, Storage, Connectors, WebService), ArchitectureWeek 6: Preserve-prune test design
Policy GuildPolicy, AirGap (analyzers)Platform (TestKit, Storage, WebService)Week 7: Unknown budget enforcement review
Authority GuildAuthorityPlatform (TestKit, Connectors, WebService)Week 7: OIDC connector fixture validation
Crypto GuildSigner, AttestorPlatform (TestKit, Determinism, Connectors, WebService), AuthorityWeek 8: Canonical payload design; Week 9: Sign/verify integration
Scheduler GuildSchedulerPlatform (TestKit, Storage, WebService)Week 9: DeterministicTime validation
Notify GuildNotifyPlatform (TestKit, Storage, Connectors, WebService)Week 9: Connector fixture templates
CLI GuildCLIPlatform (TestKit, Determinism)Week 10: Exit code conventions
UI GuildUIPlatform (TestKit, WebService)Week 10: API contract snapshot review
AirGap GuildAirGapPlatform (TestKit, Determinism, Storage, WebService), PolicyWeek 11: Bundle determinism validation
QA GuildCompetitor ParityPlatform (TestKit)Week 3: Parity harness design

Weekly Sync Schedule

Week 1-2:

Week 3-4:

Week 5-6:

Week 7-10:

Week 11-14:


Metrics & Tracking

Sprint Completion Metrics

MetricTargetMeasurement
Sprint on-time completion>80%Tasks complete by wave deadline
Test coverage increase+30% per moduleCode coverage reports
Determinism tests passing100%Determinism gate CI job
Contract tests in CI100% of WebServicesContract lane CI job
Architecture tests enforcing100% violations blockedArchitecture test failures = build failures

Quality Gates

GateCriteriaEnforced By
DeterminismSHA-256 hash stable across runsSprint 5100.0007.0003 tests
Contract StabilityOpenAPI schema unchanged or explicitly versionedSprint 5100.0007.0006 tests
Architecture BoundariesConcelier/Excititor do NOT reference Scanner latticeSprint 5100.0007.0007 tests
Preserve-Prune SourceExcititor preserves VEX source references and rationaleSprint 5100.0009.0003 tests
Unknown Budget EnforcementPolicy engine fails when unknowns > NSprint 5100.0009.0004 tests

Next Steps

  1. Week 1 (2026-01-06):

    • Kick off Sprint 5100.0007.0001 (Master Strategy)
    • Assign Platform Guild to TestKit (5100.0007.0002) for Week 3 start
    • Review this dependency graph with all guild leads
  2. Week 2 (2026-01-13):

    • Complete Master Strategy Wave 1-2
    • Finalize TestKit API design (DeterministicTime, SnapshotAssert, etc.)
  3. Week 3 (2026-01-20):

    • Start TestKit implementation (CRITICAL PATH)
    • Daily standup for TestKit unblocking
    • Prepare Epic sprint kickoffs for Week 5
  4. Week 4 (2026-01-27):

    • Complete TestKit Wave 1-2 (DeterministicTime, SnapshotAssert)
    • Validate TestKit with pilot tests
    • Final Epic sprint preparation
  5. Week 5 (2026-02-03):

    • Kick off 5 Epic sprints in parallel
    • Weekly Epic sync meeting (Fridays)

Prepared by: Project Management Date: 2025-12-23 Next Review: 2026-01-06 (Week 1 kickoff)