diff --git a/dev/ACTIVE_TASK.json b/dev/ACTIVE_TASK.json index d7afd29..9ee6d62 100644 --- a/dev/ACTIVE_TASK.json +++ b/dev/ACTIVE_TASK.json @@ -1,5 +1,5 @@ { - "task_file": "dev/tasks/DEV-000203-local-agent-execution-fallback.json", - "task_id": "DEV-000203", + "task_file": "dev/tasks/DEV-000204-gpu-discovery-evidence.json", + "task_id": "DEV-000204", "task_revision": 1 } diff --git a/dev/tasks/DEV-000204-gpu-discovery-evidence.json b/dev/tasks/DEV-000204-gpu-discovery-evidence.json new file mode 100644 index 0000000..c4965ee --- /dev/null +++ b/dev/tasks/DEV-000204-gpu-discovery-evidence.json @@ -0,0 +1,23 @@ +{ + "task_id": "DEV-000204", + "task_revision": 1, + "architecture_revision": "ADR-0018", + "base_repo_revision": "b4d166480e5d06049718618ffeea0ccdbb993336", + "risk_tier": "E", + "intent": "Record protected GPU model discovery without equating hardware availability with intelligence, qualification or routing priority.", + "requirement_ids": ["WP-200", "model fleet/failover", "hardware-neutral routing"], + "allowed_change_scope": {"modules": ["governance status", "evidence"], "paths": ["docs/PROJECT_STATUS.md", "docs/evidence/gpu-discovery-2026-08-23-v1.json", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000204-gpu-discovery-evidence.json"]}, + "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "deploy/**", "cmd/**", "modules/**", "contracts/**", ".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": ["protected provider discovery", "model fleet policy"], "may_change": ["status and evidence projection only"]}, + "semantic_owner": "governance", + "canonical_state": ["capability discovery projection"], + "state_transitions": ["HEAVY degraded -> provider AVAILABLE; models remain DISCOVERED/INACTIVE"], + "side_effects_and_privileges": ["protected read/discovery request only"], + "persistence_and_migrations": ["no migration"], + "failure_retry_restart": ["retain unqualified/unpromoted state until task-specific evidence exists"], + "assumptions": ["cognitive-worker uses the configured protected GPU credential"], + "acceptance_scenarios": ["two GPU models are observed", "both remain unpromoted", "status rejects GPU-as-intelligence inference"], + "required_tests": ["go test ./cmd/cognitive-worker", "go vet ./cmd/cognitive-worker", "protected provider discovery smoke", "preflight", "check-diff", "check-architecture", "independent", "git diff --check", "production public health"], + "terminal_gap_states": ["BLOCKED_BY_MISSING_CAPABILITY"] +} diff --git a/docs/PROJECT_STATUS.md b/docs/PROJECT_STATUS.md index ab4da5a..d8bb065 100644 --- a/docs/PROJECT_STATUS.md +++ b/docs/PROJECT_STATUS.md @@ -5,7 +5,7 @@ - `CURRENT_PRODUCTION_STATUS = LIVE_HEALTHY`; public `/healthz` is healthy. The exact deployed revision is authoritative in the deployment log and merge record, not duplicated in this mutable status projection. Evidence: `docs/evidence/audit-runtime-status-2026-08-23-v1.json`. - `FAST_PROVIDER_STATUS = LIVE_SMOKE_SUPPORTED`: local CPU gateway authentication is configured through a protected file reference; four bounded local-only advisory cases completed through cognitive-worker. Evidence: `docs/evidence/wp-601-fast-gateway-live-smoke-2026-08-22-v1.json`. - `MEDIUM_PROVIDER_STATUS = LIVE_BOUNDED_SMOKE_SUPPORTED_UNPROMOTED`; four bounded local-provider cases passed with template thinking disabled. This is availability/response-shape evidence only; lifecycle qualification, activation and promotion remain unclaimed. Evidence: `docs/evidence/medium-live-bounded-smoke-2026-08-23-v1.json`. -- `HEAVY_PROVIDER_STATUS = LIVE_QUALIFIED_UNACTIVATED`; the qualified GPU binding remains inactive. Evidence: `docs/evidence/wp-200-heavy-qualification-2026-08-22-v2.json`. +- `HEAVY_PROVIDER_STATUS = LIVE_DISCOVERED_AVAILABLE_UNPROMOTED`; protected GPU discovery currently sees two available models, both `DISCOVERED`/`INACTIVE` with capability and invokability not yet observed. GPU availability is not treated as intelligence or routing priority. Evidence: `docs/evidence/gpu-discovery-2026-08-23-v1.json`. - `AGENT_EXECUTION_STATUS = DURABLE_DRY_RUN_CANARY_VERIFIED`; the explicit production canary persisted a dispatch intent, an ACTIVE lease and callback head sequence 2. No independently operated bridge endpoint is configured, so bridge-backed execution remains unavailable. Evidence: `docs/evidence/agent-execution-dry-run-canary-2026-08-23-v1.json`. - `FLEET_EXECUTION_EVIDENCE = docs/evidence/audit-runtime-status-2026-08-23-v1.json`; FAST, MEDIUM and LIFEBOAT are ready, HEAVY is explicitly degraded by provider timeout, FAST remains preferred/selected, and LIFEBOAT is the fallback tier. - `TRUTH_RESEARCH_STATUS = LIVE_CANARY_PERSISTED`; the web research canary preserved an OBSERVED/COMPLETE/NO-CONFLICT source chain while leaving the claim UNVERIFIED and belief PROVISIONAL. Evidence: `docs/evidence/truth-runtime-canary-2026-08-23-v1.json`. diff --git a/docs/evidence/gpu-discovery-2026-08-23-v1.json b/docs/evidence/gpu-discovery-2026-08-23-v1.json new file mode 100644 index 0000000..4dc174c --- /dev/null +++ b/docs/evidence/gpu-discovery-2026-08-23-v1.json @@ -0,0 +1,29 @@ +{ + "captured_at": "2026-08-23", + "production_revision": "b4d166480e5d06049718618ffeea0ccdbb993336", + "provider_instance_id": "local-gpu-opportunistic", + "provider_health": "AVAILABLE", + "credential_source": "protected Domovoy credential reference; secret value not exposed", + "models": [ + { + "provider_model_id": "Qwen3.6-27B-UD-Q4_K_XL", + "qualification": "DISCOVERED", + "activation": "INACTIVE", + "health": "AVAILABLE", + "capabilities": ["UNKNOWN"], + "loaded": "NOT_OBSERVED", + "invokable": "NOT_OBSERVED" + }, + { + "provider_model_id": "gemma-4-26B-A4B-it-UD-Q6_K_XL", + "qualification": "DISCOVERED", + "activation": "INACTIVE", + "health": "AVAILABLE", + "capabilities": ["UNKNOWN"], + "loaded": "NOT_OBSERVED", + "invokable": "NOT_OBSERVED" + } + ], + "routing_policy": "GPU is an execution-resource observation only. Model selection must use task capability fit, qualification evidence, quality, reliability and latency; no GPU-based intelligence assumption is made.", + "secrets_exposed": false +}