{ "task_id": "DEV-000122", "task_revision": 1, "architecture_revision": "ADR-0018", "base_repo_revision": "8081b4d", "risk_tier": "E", "intent": "Implement an opt-in deterministic dry-run dispatcher and fake worker cycle over the Agent Execution Plane contracts.", "requirement_ids": ["WP-301", "Dry-run dispatcher", "Deterministic fake worker"], "allowed_change_scope": {"modules": ["work-agent-execution"], "paths": ["contracts/work/dry_run_dispatch.go", "modules/work/domain/dry_run_dispatch.go", "tests/agent_execution/dry_run_dispatch_test.go", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000122-agent-dry-run-dispatch.json"]}, "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "deploy/**", "cmd/**", "runtime/**", "adapters/**", "database/**", ".gitea/**"]}, "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": ["DEV-000120 dispatch intent", "DEV-000116 lease/fencing", "DEV-000117 callback sequence"], "may_change": ["Dry-run dispatch result value" ]}, "semantic_owner": "work-agent-execution", "canonical_state": ["DryRunDispatch value; no production state"], "state_transitions": ["validated intent -> deterministic lease -> heartbeat callback -> result callback"], "side_effects_and_privileges": ["Pure domain construction only; no external mutation"], "persistence_and_migrations": ["Uses DEV-000121 persistence contract but does not apply migration"], "failure_retry_restart": ["Invalid intent, worker, token, time or TTL is rejected"], "assumptions": ["Runtime dispatcher and production worker remain separate follow-up work"], "acceptance_scenarios": ["Same input produces byte-for-byte equivalent typed output", "Invalid intent is rejected", "Callbacks are ordered and inside lease window"], "required_tests": ["go test ./...", "go vet ./...", "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", "go run ./cmd/devctl/independent", "git diff --check"], "terminal_gap_states": ["BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT"] }