Scrumai
State: deterministic sync completed
Scrumai
Overview
Domain page auto-seeded by wiki bootstrap for new source lane.
Covered files
apps/portal/scrumai/README.mdapps/portal/scrumai/__init__.pyapps/portal/scrumai/blocker_triage.pyapps/portal/scrumai/scrumai_apply_validator.py
File map
README.md
- Path:
apps/portal/scrumai/README.md - What:
apps/portal/scrumai/contains ScrumAI route/controller layer that mounts TzenBoard and team surfaces. This boundary currently has 4 direct file(s) and 0 direct subfolder(s). - Does: It implements runtime-facing product behavior and integration wiring (dominant direct file kinds: .py:3, .md:1).
- Why: This is where user-visible behavior is delivered, so clear ownership is critical for reliable iteration.
__init__.py
- Path:
apps/portal/scrumai/__init__.py - What: init module for apps/portal/scrumai.
- Does: Implements module routines used by this runtime surface.
- Why: Keeps behavior boundaries explicit so wiki maps stay useful without reading full files.
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.
Test coverage
(no explicit Tests headers found)