From 9b7091bbe9d0975e1f5985e05f9da63e38721b6b Mon Sep 17 00:00:00 2001 From: Mikhail Date: Mon, 24 Aug 2026 13:28:26 +0300 Subject: [PATCH] docs: reconcile live audit evidence --- dev/ACTIVE_TASK.json | 4 ++-- ...V-000287-live-evidence-reconciliation.json | 23 +++++++++++++++++++ docs/PROJECT_STATUS.md | 14 +++++------ ...udit-completion-matrix-2026-08-24-v15.json | 22 ++++++++++++++++++ 4 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 dev/tasks/DEV-000287-live-evidence-reconciliation.json create mode 100644 docs/evidence/audit-completion-matrix-2026-08-24-v15.json diff --git a/dev/ACTIVE_TASK.json b/dev/ACTIVE_TASK.json index 397b712..8454413 100644 --- a/dev/ACTIVE_TASK.json +++ b/dev/ACTIVE_TASK.json @@ -1,5 +1,5 @@ { - "task_file": "dev/tasks/DEV-000286-research-result-relevance-filter.json", - "task_id": "DEV-000286", + "task_file": "dev/tasks/DEV-000287-live-evidence-reconciliation.json", + "task_id": "DEV-000287", "task_revision": 1 } diff --git a/dev/tasks/DEV-000287-live-evidence-reconciliation.json b/dev/tasks/DEV-000287-live-evidence-reconciliation.json new file mode 100644 index 0000000..62d30f1 --- /dev/null +++ b/dev/tasks/DEV-000287-live-evidence-reconciliation.json @@ -0,0 +1,23 @@ +{ + "task_id": "DEV-000287", + "task_revision": 1, + "architecture_revision": "ADR-0018", + "base_repo_revision": "3c46a5f07f4c7a31f4614c5306efe843c10bd264", + "risk_tier": "E", + "intent": "Reconcile durable project evidence with the merged research relevance filter, current production revision, and one authenticated truth-first chat smoke.", + "requirement_ids": ["current production evidence", "truth-first authenticated chat smoke", "no stale completion claims"], + "allowed_change_scope": {"modules": ["project evidence"], "paths": ["dev/ACTIVE_TASK.json", "dev/tasks/DEV-000287-live-evidence-reconciliation.json", "docs/PROJECT_STATUS.md", "docs/evidence/audit-completion-matrix-2026-08-24-v15.json"]}, + "forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "cmd/**", "deploy/**", "LLM-local/**", "modules/**", "adapters/**"]}, + "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": ["production health/readiness endpoints", "authenticated chat UI evidence"], "may_change": []}, + "semantic_owner": "project evidence", + "canonical_state": ["none; evidence and status projections only"], + "state_transitions": ["stale evidence -> reconciled evidence"], + "side_effects_and_privileges": ["read-only production checks and one chat smoke"], + "persistence_and_migrations": ["none"], + "failure_retry_restart": ["no runtime behavior is changed; missing evidence remains an explicit gap"], + "assumptions": ["deep authenticated/mobile UI and external model qualification remain deferred by scope"], + "acceptance_scenarios": ["all current production revisions match merged main", "public and internal readiness are healthy", "authenticated factual chat refuses unverified weather data", "matrix records remaining gaps explicitly"], + "required_tests": ["go test ./tests/research_runtime", "go vet ./tests/research_runtime", "preflight", "check-diff", "check-architecture", "independent", "JSON parse", "git diff --check", "CI", "production health smoke", "one authenticated chat smoke"], + "terminal_gap_states": ["BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_MISSING_CAPABILITY"] +} diff --git a/docs/PROJECT_STATUS.md b/docs/PROJECT_STATUS.md index be173c3..acbecf1 100644 --- a/docs/PROJECT_STATUS.md +++ b/docs/PROJECT_STATUS.md @@ -5,9 +5,9 @@ - `CURRENT_MODEL_SCOPE = LOCAL_FIRST_V1`; one locally available Qwen3-8B or Gemma-4 conversational model is sufficient for the first stage, with the local Lifeboat as recovery fallback. External models remain supported as optional capability, but their absence must not block work: reflexes, skills and local executors provide degraded continuation. External/GPU qualification and promotion are intentionally deferred by DEV-000270. - `TRUTH_FIRST_DEFAULT = LIVE`; an unverified factual question is no longer passed to the advisory model as an answer. The response is explicitly marked `verification_required`; internal canonical status paths remain available. Semantic interpretation may select the provider-neutral `WEB_RESEARCH` capability without entity-specific keyword lists. Evidence: `docs/evidence/truth-first-question-gate-2026-08-24-v1.json`. -- `LAST_COMPLETED = DEV-000260`; the governed self-development path, provider-neutral reachability rating, bounded authenticated operations smoke, responsive static regression guard and deep authenticated acceptance evidence are live. Mobile visual UI remains explicitly unverified because the current browser control surface cannot emulate a 390x844 viewport. +- `LAST_COMPLETED = DEV-000286`; the governed self-development path, provider-neutral reachability rating, bounded authenticated operations smoke, truth-first research routing, relevance filtering and authenticated chat smoke are live. Mobile visual UI remains explicitly unverified because the current browser control surface cannot emulate a 390x844 viewport. -- `CURRENT_PRODUCTION_STATUS = LIVE_HEALTHY`; public `/healthz` is healthy and current runtime project labels match merged `e132ec6ba94c4e047b7cdf9ef07a8ebc352f776f`. Evidence: `docs/evidence/audit-completion-matrix-2026-08-24-v13.json`. +- `CURRENT_PRODUCTION_STATUS = LIVE_HEALTHY`; public `/healthz` is healthy and current runtime project labels match merged `12725511c0e16340e4f546fcf922a59989290211`. Evidence: `docs/evidence/audit-completion-matrix-2026-08-24-v15.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_BOUNDED_INVOCATION_SUPPORTED_UNPROMOTED`; the exact Domovoy adapter payload produced one bounded Qwen completion in 0.583s. Quality is not assessed, lifecycle promotion is not performed, and GPU availability is not treated as intelligence or routing priority. Evidence: `docs/evidence/gpu-discovery-2026-08-23-v1.json`, `docs/evidence/gpu-invocation-qualification-2026-08-23-v1.json`. @@ -16,22 +16,22 @@ - `ADDITIONAL_EVALUATION_STATUS = LIVE_TYPED_HANDOFF`; Capability-owned unresolved evaluation decisions can now be handed to Work through a typed production endpoint. Work preserves parent evidence lineage and schedules the bounded additional profile through the existing durable graph/dispatch path; model/provider selection remains outside Work. Evidence: `docs/evidence/additional-evaluation-runtime-live-2026-08-23-v1.json` and DEV-000261. - `FLEET_EXECUTION_EVIDENCE = docs/evidence/audit-completion-matrix-2026-08-24-v13.json`; current live readiness has MEDIUM and LIFEBOAT ready, FAST and HEAVY unavailable by timeout, MEDIUM selected and LIFEBOAT fallback. - `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`. -- `TRUTH_FIRST_CHAT_STATUS = LIVE_SOURCE_ROUTING`; factual questions require strict semantic routing to optional `WEB_RESEARCH`, and production research smoke returned observed source excerpts with explicit `UNVERIFIED` claim state. Evidence: `docs/evidence/semantic-web-research-routing-2026-08-24-v2.json`. +- `TRUTH_FIRST_CHAT_STATUS = LIVE_SOURCE_ROUTING_WITH_RELEVANCE_GATE`; factual questions require strict semantic routing to optional `WEB_RESEARCH`; irrelevant search excerpts are rejected and the authenticated weather smoke returned an explicit no-confirmation response rather than invented data. Evidence: `docs/evidence/audit-completion-matrix-2026-08-24-v15.json`. - `LEARNING_REFLECTION_STATUS = LIVE_RECONCILED`; reflection worker returned no pending candidate and the durable state contains 31 RESOLVED candidates with no OPEN backlog. Evidence: `docs/evidence/reflection-runtime-reconciliation-2026-08-23-v1.json`. - `BACKUP_RESTORE_STATUS = VERIFIED`; latest checksum and isolated restore evidence is retained in `docs/evidence/wp-002-postgres-restore-2026-08-22-v1.json`. - `GOVERNED_SELF_DEVELOPMENT_STATUS = DURABLE_GATE_VERIFIER_AND_TRANSITIONS_LIVE`; Work-owned revisioned gate storage, independent local verification, and authenticated optimistic-concurrency transitions for canary/promotion/rollback are live. Source mutation and external bridge execution remain unclaimed. Evidence: `docs/evidence/governed-development-gate-persistence-2026-08-23-v1.json` and DEV-000254 CI/live-smoke records. - `UI_AUTHENTICATED_ACCEPTANCE = AUTHENTICATED_QUICK_SMOKE_PASS`; browser-driven smoke completed in the active production session: chat response received, admin login accepted, diagnostics 7/7 passed, operations fleet 4/4 READY, and action history loaded. Deep mutation, delegation-specific and long-running acceptance remain intentionally deferred. -- `CURRENT_UI_SESSION_STATUS = NO_CURRENT_AUTHENTICATED_SESSION`; the historical quick-smoke evidence above is retained, but the current acceptance run has no signed-in browser session, so no new authenticated visual result is claimed. Public cabinet shell and unauthenticated protection were checked separately. +- `CURRENT_UI_SESSION_STATUS = AUTHENTICATED_CHAT_SMOKE_CURRENT`; the current signed-in session showed version `12725511c0e1`, active session state, and a truthful response for an unverified weather question. Mobile authenticated visual acceptance remains unverified. - `AGENT_EXECUTION_BRIDGE_STATUS = LIVE_LOCAL_TYPED_BRIDGE`; the independent local bridge reports `healthz=200` with `task-evaluation` and `generic-cognitive-work`; `agent-worker` reports `mode=execution`, `executor_configured=true`, `ready=true`. Evidence: `docs/evidence/audit-completion-matrix-2026-08-24-v13.json`. - `FLEET_READINESS_LIVE = MEDIUM_SELECTED_BY_AVAILABILITY`; the latest live readiness endpoint observed FAST unavailable, MEDIUM available, HEAVY unavailable by timeout and LIFEBOAT available; it selected MEDIUM while the configured preference remained FAST. This is routing evidence only, not a quality or promotion claim. Evidence: `docs/evidence/audit-completion-matrix-2026-08-24-v13.json`. - `UI_AUTHENTICATED_ACCEPTANCE = DEEP_DESKTOP_PASS_WITH_MOBILE_GAP`; deep signed-in browser evidence covers chat reply, diagnostics 7/7 after refresh, fleet/agent/action-history refresh, 3/4 fleet readiness with FAST selected, truthful local executor state and learning/reflection refresh. Static responsive regression guard passed in CI; mobile viewport acceptance is not claimed. Evidence: `docs/evidence/deep-authenticated-acceptance-2026-08-23-v1.json`. ## Current governance checkpoint -- `COMPLETION_MATRIX = docs/evidence/audit-completion-matrix-2026-08-24-v14.json`; generic candidate envelope verification and independent Work Graph synthesis are live and proven by a bounded synthetic production canary; authenticated chat E2E, mobile viewport acceptance and deferred external qualification remain explicit. +- `COMPLETION_MATRIX = docs/evidence/audit-completion-matrix-2026-08-24-v15.json`; generic candidate envelope verification, independent Work Graph synthesis, research relevance gating and authenticated truth-first chat smoke are live; mobile viewport acceptance and deferred external qualification remain explicit. -- `ACTIVE_TASK = dev/tasks/DEV-000284-live-generic-synthesis-evidence.json revision 1`; this evidence reconciliation does not change runtime behavior or model routing. +- `ACTIVE_TASK = dev/tasks/DEV-000287-live-evidence-reconciliation.json revision 1`; this evidence reconciliation does not change runtime behavior or model routing. - `LINEAGE_DECISION = docs/GOVERNANCE_LINEAGE_DECISION_2026-08-22.md`; historical packets remain provenance and are not current authority. - `REGISTRY_STATUS = YAML and JSON semantic mirrors agree` - `PRODUCTION_DOMAIN = docker.cin.su`; shared docker-test is not used for this project. -- `NEXT_WORK = exercise authenticated research chat when a signed-in browser session is available; obtain a viewport-capable browser for real mobile visual acceptance; add external providers later under an explicit task.` +- `NEXT_WORK = obtain a viewport-capable browser for real mobile authenticated visual acceptance; add external providers later under an explicit task. Deep UI/load tests remain deferred until explicitly requested.` diff --git a/docs/evidence/audit-completion-matrix-2026-08-24-v15.json b/docs/evidence/audit-completion-matrix-2026-08-24-v15.json new file mode 100644 index 0000000..21a086c --- /dev/null +++ b/docs/evidence/audit-completion-matrix-2026-08-24-v15.json @@ -0,0 +1,22 @@ +{ + "evidence_id": "audit-completion-matrix-2026-08-24-v15", + "captured_at": "2026-08-24T10:24:50Z", + "production_revision": "12725511c0e16340e4f546fcf922a59989290211", + "supersedes": "docs/evidence/audit-completion-matrix-2026-08-24-v14.json", + "overall_status": "NOT_COMPLETE", + "completed_areas": ["durable Agent Execution lease/heartbeat/recovery", "bounded local task-evaluation bridge", "typed local generic cognitive specialist bridge", "independent generic candidate envelope verification and Work Graph synthesis canary", "multi-agent Work Graph fan-out/fan-in foundation", "Truth/Research runtime and source-backed routing", "research result relevance gate", "Learning reflection loop", "governed self-development gate and verifier", "local-first model routing", "Portainer delayed auto-deployment", "production health and live runtime checks", "authenticated truth-first chat smoke"], + "remaining_gaps": ["real mobile authenticated visual acceptance is unavailable", "external model qualification and promotion remain deferred by explicit scope", "deep authenticated mutation/delegation/long-running acceptance remains deferred"], + "live_facts": { + "assistant_healthz": "OK", + "runtime_project_revision": "12725511c0e16340e4f546fcf922a59989290211", + "bridge": {"status": "ok", "capabilities": ["task-evaluation", "generic-cognitive-work"]}, + "agent_worker": {"ready": true, "executor_configured": true, "mode": "execution", "capabilities": ["task-evaluation", "generic-cognitive-work"]}, + "work_graph": {"status": "ready"}, + "task_verifier": {"status": "ok"}, + "research_runtime": "ok", + "truth_first_chat": {"authenticated": true, "query_class": "current_weather", "result": "no_confirmed_evidence", "fabrication_prevented": true}, + "mobile_viewport_verified": false, + "external_probe_required": false, + "secrets": "No secret values included." + } +} -- 2.54.0