fix(work-graph): diagnose task evaluation scheduling #225

Merged
m merged 1 commits from codex/dev-000248-self-development-runtime-status into main 2026-08-23 17:19:15 +00:00
3 changed files with 27 additions and 2 deletions
+2
View File
@@ -44,6 +44,7 @@ func main() {
}
graph, ready, err := application.AdmitAndSchedule(r.Context(), repository, request)
if err != nil {
log.Printf("work graph schedule rejected: %v", err)
http.Error(w, err.Error(), http.StatusUnprocessableEntity)
return
}
@@ -57,6 +58,7 @@ func main() {
}
graph, ready, err := application.AdmitAndScheduleTaskEvaluation(r.Context(), repository, request)
if err != nil {
log.Printf("task evaluation graph schedule rejected: %v", err)
http.Error(w, err.Error(), http.StatusUnprocessableEntity)
return
}
+2 -2
View File
@@ -1,5 +1,5 @@
{
"task_file": "dev/tasks/DEV-000247-research-runtime-status.json",
"task_id": "DEV-000247",
"task_file": "dev/tasks/DEV-000248-live-task-evaluation-scheduling.json",
"task_id": "DEV-000248",
"task_revision": 1
}
@@ -0,0 +1,23 @@
{
"task_id": "DEV-000248",
"task_revision": 1,
"architecture_revision": "ADR-0018",
"base_repo_revision": "cdc72e17be46c843737eabcd654cb69ae32d6268",
"risk_tier": "E",
"intent": "Diagnose and repair the live Work Graph task-evaluation scheduling path exposed by the production canary, preserving durable fan-out and callback semantics.",
"requirement_ids": ["live task evaluation", "model quality qualification", "Work Graph integration"],
"allowed_change_scope": {"modules": ["work", "capability"], "paths": ["cmd/work-graph-runtime/**", "adapters/postgres/work_repository.go", "modules/work/application/**", "modules/work/domain/**", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000248-live-task-evaluation-scheduling.json"]},
"forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "deploy/**", "contracts/**", "LLM-local/**", "modules/work/secrets/**"]},
"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 TaskEvaluationGraphRequest", "existing AgentDispatchIntent", "existing Work Graph repository"], "may_change": ["diagnostic logging and local integration behavior"]},
"semantic_owner": "Work Graph task-evaluation scheduling",
"canonical_state": ["existing graph, dispatch and evaluation records only"],
"state_transitions": ["schedule -> queue -> evaluator -> verifier -> evidence callback"],
"side_effects_and_privileges": ["existing work/capability owner writes; no new privileges"],
"persistence_and_migrations": ["none unless current schema mismatch is proven"],
"failure_retry_restart": ["failed scheduling leaves no partial graph or dispatch mutation; durable retries remain existing worker behavior"],
"assumptions": ["production canary payload is provider-neutral and contains no secret"],
"acceptance_scenarios": ["live general evaluation graph schedules", "worker executes and verifier accepts one case", "TaskEvaluation persists", "graph callback reaches terminal state"],
"required_tests": ["go test ./cmd/work-graph-runtime ./modules/work/application ./modules/work/domain ./adapters/postgres", "go vet ./cmd/work-graph-runtime ./modules/work/application ./modules/work/domain ./adapters/postgres", "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", "live task-evaluation canary"],
"terminal_gap_states": ["BLOCKED_BY_MISSING_CAPABILITY", "BLOCKED_BY_SPEC_GAP"]
}