From 6e0d1a227918775b906e3462406c1505813f51c6 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Sat, 22 Aug 2026 21:42:01 +0300 Subject: [PATCH] docs: record live medium failover evidence --- dev/ACTIVE_TASK.json | 4 +-- ...0173-refresh-medium-failover-evidence.json | 23 ++++++++++++++++ docs/PROJECT_STATUS.md | 6 ++--- ...audit-completion-matrix-2026-08-22-v1.json | 4 +-- ...-fleet-execution-status-2026-08-22-v3.json | 26 +++++++++++++++++++ 5 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 dev/tasks/DEV-000173-refresh-medium-failover-evidence.json create mode 100644 docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v3.json diff --git a/dev/ACTIVE_TASK.json b/dev/ACTIVE_TASK.json index 2faef62..be2097e 100644 --- a/dev/ACTIVE_TASK.json +++ b/dev/ACTIVE_TASK.json @@ -1,5 +1,5 @@ { - "task_file": "dev/tasks/DEV-000172-fleet-failover-priority.json", - "task_id": "DEV-000172", + "task_file": "dev/tasks/DEV-000173-refresh-medium-failover-evidence.json", + "task_id": "DEV-000173", "task_revision": 1 } diff --git a/dev/tasks/DEV-000173-refresh-medium-failover-evidence.json b/dev/tasks/DEV-000173-refresh-medium-failover-evidence.json new file mode 100644 index 0000000..32a1f55 --- /dev/null +++ b/dev/tasks/DEV-000173-refresh-medium-failover-evidence.json @@ -0,0 +1,23 @@ +{ + "task_id": "DEV-000173", + "task_revision": 1, + "architecture_revision": "ADR-0018", + "base_repo_revision": "64642f4baed28f9051efe6a269769c5838b547e4", + "risk_tier": "E", + "intent": "Refresh audit and production evidence after live MEDIUM runtime availability and deterministic fleet failover priority are deployed.", + "requirement_ids": ["AUDIT-COMPLETION-TRUTH", "WP-200", "WP-301"], + "allowed_change_scope": {"modules": [], "paths": ["docs/evidence/audit-completion-matrix-2026-08-22-v1.json", "docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v3.json", "docs/PROJECT_STATUS.md", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000173-refresh-medium-failover-evidence.json"]}, + "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "cmd/**", "modules/**", "contracts/**", "adapters/**", "database/**", "deploy/**", ".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": ["live fleet readiness evidence", "audit completion matrix"], "may_change": []}, + "semantic_owner": "none; audit evidence projection", + "canonical_state": [], + "state_transitions": ["stale evidence -> current MEDIUM/failover evidence"], + "side_effects_and_privileges": ["none"], + "persistence_and_migrations": ["immutable JSON evidence artifacts only"], + "failure_retry_restart": ["not applicable"], + "assumptions": ["live probes were captured after production deployment of 64642f4b", "availability is not interpreted as qualification or activation"], + "acceptance_scenarios": ["production revision is current", "MEDIUM model catalog and readiness are recorded", "preferred HEAVY falls back to MEDIUM", "remaining bridge/GPU/browser gaps remain explicit", "no secret value appears"], + "required_tests": ["JSON validation", "go test ./...", "go vet ./...", "preflight", "check-diff", "check-architecture", "independent", "git diff --check", "CI"], + "terminal_gap_states": ["BLOCKED_BY_MISSING_CAPABILITY", "BLOCKED_BY_CONFLICT"] +} diff --git a/docs/PROJECT_STATUS.md b/docs/PROJECT_STATUS.md index 78973eb..89a96e5 100644 --- a/docs/PROJECT_STATUS.md +++ b/docs/PROJECT_STATUS.md @@ -2,12 +2,12 @@ ## Current audit delta — 2026-08-22 -- `CURRENT_PRODUCTION_REVISION = 51427a246e1ccc115a6c2640790d9220beca95e9`; public `/healthz` is healthy. +- `CURRENT_PRODUCTION_REVISION = 64642f4baed28f9051efe6a269769c5838b547e4`; public `/healthz` is healthy. - `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 = CONFIGURABLE_NOT_CONFIGURED`; the optional OpenAI-compatible MEDIUM slot, protected CredentialRef file path, discovery and readiness wiring are deployed; no medium runtime is supplied in production. +- `MEDIUM_PROVIDER_STATUS = LIVE_AVAILABLE`; existing llm-local Qwen3.6-27B CPU runtime is reachable through the explicit external Docker network and reports a loaded model; qualification/activation remains separate. - `HEAVY_PROVIDER_STATUS = UNAVAILABLE`; GPU endpoint `192.168.220.91:11434` timed out during live discovery. - `AGENT_EXECUTION_STATUS = RECOVERY_ONLY`; optional `AGENT_EXECUTION_BRIDGE_URL` is wired into production compose but remains unset, and no Codex/bridge runtime is deployed. Durable recovery and status endpoints remain active. -- `FLEET_EXECUTION_EVIDENCE = docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v2.json`; FAST and LIFEBOAT are ready, MEDIUM is NOT_CONFIGURED, Heavy is unavailable by timeout, and current selection is LIFEBOAT for preferred HEAVY. +- `FLEET_EXECUTION_EVIDENCE = docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v3.json`; FAST, MEDIUM and LIFEBOAT are ready, Heavy is unavailable by timeout, and current selection is MEDIUM for preferred HEAVY. - `BACKUP_RESTORE_EVIDENCE = docs/evidence/wp-002-postgres-restore-2026-08-22-v1.json`; latest backup checksum and isolated restore verified with 11 schemas and 60 tables. - `UI_AUTHENTICATED_ACCEPTANCE = PENDING`; public login UI is reachable, but no authenticated browser session was available for cabinet visual acceptance. - `SECURITY_NOTE = one production executor secret was rotated after an accidental diagnostic disclosure; values are not retained in repository evidence.` diff --git a/docs/evidence/audit-completion-matrix-2026-08-22-v1.json b/docs/evidence/audit-completion-matrix-2026-08-22-v1.json index 8491949..04a2fbd 100644 --- a/docs/evidence/audit-completion-matrix-2026-08-22-v1.json +++ b/docs/evidence/audit-completion-matrix-2026-08-22-v1.json @@ -1,14 +1,14 @@ { "evidence_id": "audit-completion-matrix-2026-08-22-v1", "captured_at": "2026-08-22", - "production_revision": "51427a246e1ccc115a6c2640790d9220beca95e9", + "production_revision": "64642f4baed28f9051efe6a269769c5838b547e4", "objective": "Dovести оставшиеся пункты аудита Domovoy до проверяемого состояния", "matrix": [ {"area":"Agent Execution runtime and recovery","status":"PARTIAL_EXTERNAL_GAP","repository_proof":["dev/tasks/DEV-000145-agent-execution-bridge-runtime.json","adapters/agentbridge/http.go","cmd/agent-worker/main.go"],"production_proof":["docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v1.json"],"missing":"independently operated bridge endpoint is not configured; live worker is recovery-only"}, {"area":"Multi-Agent Work Graph","status":"REPOSITORY_AND_RUNTIME_FOUNDATION_VERIFIED","repository_proof":["dev/tasks/DEV-000131-work-graph-harness.json","dev/tasks/DEV-000146-work-graph-runtime.json","tests/agent_execution/graph_runtime_test.go"],"production_proof":["docs/PROJECT_STATUS.md"],"missing":"no claim of external agent execution fan-out is made while bridge is absent"}, {"area":"Truth/Research runtime","status":"REPOSITORY_AND_RUNTIME_FOUNDATION_VERIFIED","repository_proof":["dev/tasks/DEV-000134-truth-bundle-compiler.json","dev/tasks/DEV-000143-research-runtime-orchestration.json","tests/research_runtime"],"production_proof":["docs/PROJECT_STATUS.md"],"missing":"authenticated end-to-end research acceptance is not claimed here"}, {"area":"Learning reflection loop","status":"REPOSITORY_AND_RUNTIME_FOUNDATION_VERIFIED","repository_proof":["dev/tasks/DEV-000135-reflection-worker.json","cmd/reflection-worker/main.go","tests/research_contracts/reflection_worker_sql_test.go"],"production_proof":["docs/PROJECT_STATUS.md"],"missing":"no claim of fully closed historical candidate backlog"}, - {"area":"Model fleet/failover","status":"PARTIAL_EXTERNAL_GAP","repository_proof":["dev/tasks/DEV-000144-fleet-readiness-runtime.json","dev/tasks/DEV-000168-configurable-medium-fleet-slot.json","dev/tasks/DEV-000169-optional-medium-readiness.json","cmd/cognitive-worker/fleet_status.go"],"production_proof":["docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v2.json"],"missing":"Medium runtime is not configured; Heavy GPU probe times out; FAST and Lifeboat are ready and Lifeboat is selected fallback"}, + {"area":"Model fleet/failover","status":"PARTIAL_EXTERNAL_GAP","repository_proof":["dev/tasks/DEV-000144-fleet-readiness-runtime.json","dev/tasks/DEV-000168-configurable-medium-fleet-slot.json","dev/tasks/DEV-000169-optional-medium-readiness.json","dev/tasks/DEV-000171-connect-existing-medium-runtime.json","dev/tasks/DEV-000172-fleet-failover-priority.json","cmd/cognitive-worker/fleet_status.go","modules/capability/domain/fleet.go"],"production_proof":["docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v3.json"],"missing":"Heavy GPU runtime remains unavailable by timeout; Medium availability is proven but model qualification/activation and multi-provider invocation evidence remain separate"}, {"area":"Governed self-development","status":"REPOSITORY_FOUNDATION_VERIFIED","repository_proof":["dev/tasks/DEV-000137-governed-self-development-gate.json","tests/semantic_evolution"],"production_proof":["docs/PROJECT_STATUS.md"],"missing":"real bridge-backed self-development execution is not claimed"}, {"area":"UI/operations acceptance","status":"PARTIAL_EXTERNAL_GAP","repository_proof":["dev/tasks/DEV-000138-ui-operations-acceptance-contract.json","tests/creator_web/cabinet_acceptance_contract_test.go","dev/tasks/DEV-000150-agent-operations-ui.json","dev/tasks/DEV-000151-agent-worker-status-ui.json"],"production_proof":["docs/PROJECT_STATUS.md"],"missing":"authenticated browser visual acceptance is pending because no signed-in session is available"} ], diff --git a/docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v3.json b/docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v3.json new file mode 100644 index 0000000..2476fbb --- /dev/null +++ b/docs/evidence/wp-200-wp-301-fleet-execution-status-2026-08-22-v3.json @@ -0,0 +1,26 @@ +{ + "evidence_id": "wp-200-wp-301-fleet-execution-status-2026-08-22-v3", + "captured_at": "2026-08-22", + "production_revision": "64642f4baed28f9051efe6a269769c5838b547e4", + "source": "live internal status probes on docker.cin.su after DEV-000171 and DEV-000172 deployment", + "fleet_readiness": { + "preferred_tier": "HEAVY", + "selected_tier": "MEDIUM", + "ready_tiers": ["FAST", "MEDIUM", "LIFEBOAT"], + "members": [ + {"provider_instance_id": "local-cpu-primary", "tier": "FAST", "ready": true, "reason": "AVAILABLE"}, + {"provider_instance_id": "local-medium-primary", "tier": "MEDIUM", "ready": true, "reason": "AVAILABLE", "provider_model_observed": "Qwen3.6-27B-UD-Q4_K_XL", "runtime": "llama.cpp CPU"}, + {"provider_instance_id": "local-gpu-opportunistic", "tier": "HEAVY", "ready": false, "reason": "context deadline exceeded while awaiting headers"}, + {"provider_instance_id": "cognitive-lifeboat", "tier": "LIFEBOAT", "ready": true, "reason": "AVAILABLE"} + ] + }, + "runtime_readiness": {"status": "ready", "cpu": "READY/AVAILABLE", "medium": "READY/AVAILABLE", "lifeboat": "READY/AVAILABLE", "gpu": "DEGRADED/DEPENDENCY_UNAVAILABLE"}, + "failover_policy": "HEAVY -> MEDIUM -> FAST -> LIFEBOAT", + "agent_execution": {"runtime": "agent-worker", "executor_configured": false, "mode": "recovery-only", "ready": false, "reason": "AGENT_EXECUTION_BRIDGE_URL is not configured"}, + "interpretation": [ + "The existing Qwen3.6-27B runtime is available as MEDIUM through an explicit external network attachment.", + "When preferred HEAVY is unavailable, fleet selection now chooses MEDIUM before FAST or Lifeboat.", + "Availability evidence does not claim model qualification, binding activation or authenticated browser acceptance.", + "This artifact contains no secret values." + ] +} -- 2.54.0