{ "task_id": "DEV-000143", "task_revision": 3, "architecture_revision": "ADR-0018", "base_repo_revision": "f9e2173", "risk_tier": "E", "intent": "Run a private research runtime that evaluates immutable connector evidence and durably persists exact TruthBundle provenance.", "requirement_ids": ["WP-102", "Truth runtime", "Research persistence orchestration"], "allowed_change_scope": {"modules": ["epistemics", "research-runtime", "deployment"], "paths": ["contracts/epistemics/research.go", "modules/epistemics/application/**", "adapters/postgres/epistemics_repository.go", "adapters/research/**", "cmd/research-runtime/**", "deploy/docker-compose.prod.yml", "tests/research_runtime/**", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000143-research-runtime-orchestration.json"]}, "forbidden_change_scope": {"paths": ["architecture/**", "database/**", "security/**", ".gitea/**"]}, "allowed_architecture_delta": {"new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 1, "new_third_party_dependencies": 0, "new_database_owner_roles": 0}, "contracts": {"consume": ["ResearchEvaluationRequest, ResearchResult, TruthBundle and epistemics repository"], "may_change": ["Private persistence orchestration endpoint"]}, "semantic_owner": "epistemics", "canonical_state": ["epistemics.truth_bundles"], "state_transitions": ["repository/web source -> immutable digest/excerpt -> evaluated finding -> persisted provenance"], "side_effects_and_privileges": ["epistemics_role writes through repository only; no source mutation or provider call"], "persistence_and_migrations": ["Consumes migration 034 already in main"], "failure_retry_restart": ["idempotent repository writes; runtime restart-safe"], "assumptions": ["source fetching connectors are read-only callers and remain a separate package"], "acceptance_scenarios": ["runtime ready with epistemics DB", "valid evidence is persisted", "invalid evidence is rejected", "no public compose port is exposed"], "required_tests": ["go test ./...", "go vet ./...", "preflight", "check-diff", "check-architecture", "independent", "git diff --check", "docker compose config"], "terminal_gap_states": ["BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT", "REQUIRES_MIGRATION_DECISION"] }