Scrumai Runtime
State: deterministic sync completed
ScrumAI runtime domain
Backend/runtime slices for TzenBoard migration stories and their direct tests/evidence.
Covered files
apps/portal/scrumai/blocker_triage.pyapps/portal/scrumai/scrumai_apply_validator.pyapps/portal/templates/scrumai/scrumai.htmlapps/portal/templates/scrumai/scrumai_agents.htmlapps/portal/templates/scrumai/tzenboard.htmlapps/portal/tests/test_blocker_triage.pyapps/portal/tests/test_gateway_routing.pyapps/portal/tests/test_local_inference_health_api.pyapps/portal/tests/test_scrumai_apply_validator.pyapps/portal/tests/test_tasks_migration_api.pyapps/portal/tests/test_workflow_state_machine.py
File map
blocker_triage.py
- Path:
apps/portal/scrumai/blocker_triage.py - What: Deterministic blocker triage and checkpoint helpers for story execution.
- Does: Tracks repeated same-cause failures with circuit-breaker semantics and persists per-story resume cursors.
- Why: Enables E6-S2 behavior (blocked triage + resume-from-persisted-state) without changing existing API routes.
scrumai_apply_validator.py
- Path:
apps/portal/scrumai/scrumai_apply_validator.py - What: Deterministic SCRUMAI_APPLY payload validator for local file writes.
- Does: Validates payload shape and enforces repo-root + allowlisted path boundaries.
- Why: Implements TASK-122 E8-S2 minimal contract gate without external integrations.
scrumai.html
- Path:
apps/portal/templates/scrumai/scrumai.html - What: Template for scrumai UI surface in apps/portal/templates.
- Does: Defines rendered structure, states, and UI hooks consumed by Portal routes.
- Why: Keeps operator-facing behavior predictable and discoverable without digging into route code.
scrumai_agents.html
- Path:
apps/portal/templates/scrumai/scrumai_agents.html - What: Template for scrumai agents UI surface in apps/portal/templates.
- Does: Defines rendered structure, states, and UI hooks consumed by Portal routes.
- Why: Keeps operator-facing behavior predictable and discoverable without digging into route code.
tzenboard.html
- Path:
apps/portal/templates/scrumai/tzenboard.html - What: Template for tzenboard UI surface in apps/portal/templates.
- Does: Defines rendered structure, states, and UI hooks consumed by Portal routes.
- Why: Keeps operator-facing behavior predictable and discoverable without digging into route code.
test_blocker_triage.py
- Path:
apps/portal/tests/test_blocker_triage.py - What: Tests for blocker triage and persisted resume cursor helpers.
- Does: Verifies circuit-breaker behavior on repeated same-cause failures and cursor resume semantics.
- Why: Guards TASK-123 (E6-S2) deterministic slice behavior.
test_gateway_routing.py
- Path:
apps/portal/tests/test_gateway_routing.py - What: Unit tests for gateway routing dispatch contract.
- Does: Verifies primary success, one-time fallback success, and terminal failure without second fallback.
- Why: Locks TASK-120 behavior for deterministic dispatch policy before real provider calls are added.
test_local_inference_health_api.py
- Path:
apps/portal/tests/test_local_inference_health_api.py - What: Tests for local inference lane health + guard contracts used by TzenBoard.
- Does: Verifies healthy/degraded reason semantics, warmup SLO telemetry, guard blocking behavior, and bootstrap wiring.
- Why: Locks TASK-150/TASK-151/TASK-199 deterministic API/runtime checks before mutation APIs are enabled.
test_scrumai_apply_validator.py
- Path:
apps/portal/tests/test_scrumai_apply_validator.py - What: Unit tests for SCRUMAI_APPLY payload validator contract.
- Does: Verifies payload shape checks, repo-root/allowlist enforcement, and a real Hermes response sample.
- Why: Locks TASK-122 E8-S2 deterministic acceptance/rejection behavior.
test_tasks_migration_api.py
- Path:
apps/portal/tests/test_tasks_migration_api.py - What: Task migration API tests for TzenBoard visibility/safety routes.
- Does: Verifies db candidate hardening, read surfaces, and v2 mutation parity endpoints.
- Why: Protects migration contracts and deterministic mutation persistence for upgraded UI.
test_workflow_state_machine.py
- Path:
apps/portal/tests/test_workflow_state_machine.py - What: Tests for canonical TzenBoard workflow helper and API payloads.
- Does: Verifies status model, transition guards, and /api/tasks/workflow route behavior.
- Why: Prevents drift between docs and runtime rules for TASK-226.
Related tests
(no explicit Tests headers found)