{ "task_id": "DEV-000244", "task_revision": 1, "architecture_revision": "ADR-0018", "base_repo_revision": "c81e2269e157c1a41b567d79d93bbbe49dd4b134", "risk_tier": "E", "intent": "Expose bounded health and status evidence for the durable reflection worker without changing reflection semantics or authority.", "requirement_ids": ["learning reflection loop", "runtime observability", "fast operational verification"], "allowed_change_scope": { "modules": ["epistemics"], "paths": ["cmd/reflection-worker/**", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000244-reflection-worker-observability.json"] }, "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "LLM-local/**", "modules/work/secrets/**", "contracts/**"]}, "allowed_architecture_delta": {"new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 0, "new_third_party_dependencies": 0, "new_database_owner_roles": 0}, "contracts": {"consume": ["existing reflection repository port", "runtime health conventions"], "may_change": ["worker operational HTTP surface"]}, "semantic_owner": "Epistemics reflection worker runtime", "canonical_state": ["none; status is derived operational evidence"], "state_transitions": ["cycle start/complete/failure are reported without changing candidate lifecycle rules"], "side_effects_and_privileges": ["read-only health/status endpoint; existing repository writes unchanged"], "persistence_and_migrations": ["none"], "failure_retry_restart": ["status resets on process restart; durable candidate state remains authoritative"], "assumptions": ["internal production network is sufficient for worker status checks"], "acceptance_scenarios": ["health endpoint returns 200", "status exposes loop mode and latest cycle", "reflection loop still resolves candidates"], "required_tests": ["go test ./cmd/reflection-worker", "go vet ./cmd/reflection-worker", "go run ./cmd/devctl preflight -active dev/ACTIVE_TASK.json", "go run ./cmd/devctl check-diff -active dev/ACTIVE_TASK.json", "go run ./cmd/devctl check-architecture", "git diff --check", "independent", "CI", "production health smoke"], "terminal_gap_states": ["BLOCKED_BY_MISSING_CAPABILITY", "BLOCKED_BY_SPEC_GAP"] }