diff --git a/dev/ACTIVE_TASK.json b/dev/ACTIVE_TASK.json index ff42c7f..206d8bd 100644 --- a/dev/ACTIVE_TASK.json +++ b/dev/ACTIVE_TASK.json @@ -1,5 +1,5 @@ { - "task_file": "dev/tasks/DEV-000046-cognitive-advisory-contract.json", - "task_id": "DEV-000046", + "task_file": "dev/tasks/DEV-000047-production-cognitive-advisory-fake.json", + "task_id": "DEV-000047", "task_revision": 1 } diff --git a/dev/tasks/DEV-000047-production-cognitive-advisory-fake.json b/dev/tasks/DEV-000047-production-cognitive-advisory-fake.json new file mode 100644 index 0000000..8f546a2 --- /dev/null +++ b/dev/tasks/DEV-000047-production-cognitive-advisory-fake.json @@ -0,0 +1,23 @@ +{ + "task_id": "DEV-000047", + "task_revision": 1, + "architecture_revision": "ADR-0006", + "base_repo_revision": "4b8832766a979ae4ff69e921fc28f5f0d15b91b6", + "risk_tier": "E", + "intent": "Promote the exact merged provider-neutral cognitive advisory fake to docker-prod, refresh all project image provenance labels/manifests, and prove the internal endpoint has no provider egress or mutation behavior.", + "requirement_ids": ["ADR-0006", "DEV-000045", "DEV-000046", "USER-DOCKER-PROD-ONLY"], + "allowed_change_scope": {"modules": [], "paths": ["dev/ACTIVE_TASK.json", "dev/tasks/DEV-000047-production-cognitive-advisory-fake.json"]}, + "forbidden_change_scope": {"paths": ["architecture/**", "ci/**", ".gitea/**", "contracts/**", "modules/**", "adapters/**", "cmd/**", "database/**", "deploy/**", "security/**", "tests/**", "docs/**"]}, + "allowed_architecture_delta": {"new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 0, "new_third_party_dependencies": 0}, + "contracts": {"consume": ["creator-advisory-v1", "existing production compose", "production artifact manifest v1"], "may_change": []}, + "semantic_owner": "none-production-promotion", + "canonical_state": [], + "state_transitions": [], + "side_effects_and_privileges": ["rebuild and replace project-owned containers on docker-prod from exact merged main", "refresh non-secret artifact manifest", "no provider credential or outbound provider call"], + "persistence_and_migrations": ["refresh external non-secret deployment manifest only"], + "failure_retry_restart": ["existing canonical volumes remain mounted", "failed promotion does not publish a new manifest", "fake returns PROVIDER_UNAVAILABLE after restart"], + "assumptions": ["current production settings are reused in process memory without printing", "docker-test remains prohibited"], + "acceptance_scenarios": ["all seven project images carry exact merged main revision", "production health remains healthy", "valid internal advisory request returns PROVIDER_UNAVAILABLE with empty text", "unknown provider override field is rejected", "cognitive worker has no database/executor/provider secret environment or mounts"], + "required_tests": ["architecture preflight", "exact diff scope", "CI", "production build/up", "artifact confirmation", "production health", "adversarial advisory smoke", "secret/mount inspection", "docker-test absence"], + "terminal_gap_states": ["BLOCKED_BY_CONFLICT", "BLOCKED_BY_MISSING_CAPABILITY"] +}