diff --git a/dev/ACTIVE_TASK.json b/dev/ACTIVE_TASK.json index 949976c..95bb6c5 100644 --- a/dev/ACTIVE_TASK.json +++ b/dev/ACTIVE_TASK.json @@ -1,5 +1,5 @@ { - "task_file": "dev/tasks/DEV-000110-citation-resolver.json", - "task_id": "DEV-000110", + "task_file": "dev/tasks/DEV-000111-hardware-model-inventory-evidence.json", + "task_id": "DEV-000111", "task_revision": 1 } diff --git a/dev/tasks/DEV-000111-hardware-model-inventory-evidence.json b/dev/tasks/DEV-000111-hardware-model-inventory-evidence.json new file mode 100644 index 0000000..93d7e1a --- /dev/null +++ b/dev/tasks/DEV-000111-hardware-model-inventory-evidence.json @@ -0,0 +1,23 @@ +{ + "task_id": "DEV-000111", + "task_revision": 1, + "architecture_revision": "ADR-0018", + "base_repo_revision": "aec63de", + "risk_tier": "E", + "intent": "Record read-only production hardware and model inventory evidence for WP-200 without changing model bindings or deployment.", + "requirement_ids": ["WP-200", "Hardware/model inventory", "GPU/VRAM and protected runtime evidence"], + "allowed_change_scope": {"modules": ["model-qualification-evidence"], "paths": ["docs/evidence/WP-200-HARDWARE-MODEL-INVENTORY-2026-08-22.md", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000111-hardware-model-inventory-evidence.json"]}, + "forbidden_change_scope": {"paths": ["architecture/**", "database/**", "migrations/**", "deploy/**", "security/**", "modules/**", "cmd/**", "runtime/**", "adapters/**", ".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": ["WP-200 audit requirements", "Production docker-prod read-only inventory"], "may_change": []}, + "semantic_owner": "model-qualification-evidence", + "canonical_state": [], + "state_transitions": ["unqualified inventory -> evidence recorded -> qualification decision pending"], + "side_effects_and_privileges": ["Read-only SSH/docker inspection only; no model activation, deployment, credential access or production mutation"], + "persistence_and_migrations": ["Evidence document only; no database changes"], + "failure_retry_restart": ["Missing GPU/model evidence remains UNKNOWN and blocks heavy qualification"], + "assumptions": ["docker-prod/docker.cin.su is the only production target", "GPU absence on this host does not prove absence on every external host", "Model qualification requires separate holdout/latency/license evidence"], + "acceptance_scenarios": ["CPU/RAM/storage/network inventory recorded", "GPU/VRAM/runtime evidence recorded", "Healthy cognitive/lifeboat containers identified without secret output", "Heavy model remains unqualified until GPU/license evidence exists"], + "required_tests": ["go test ./...", "go vet ./...", "go run ./cmd/devctl preflight -active dev/ACTIVE_TASK.json", "go run ./cmd/devctl check-diff -active dev/ACTIVE_TASK.json", "go run ./cmd/devctl check-architecture", "go run ./cmd/devctl/independent", "git diff --check", "production read-only inventory commands"], + "terminal_gap_states": ["BLOCKED_BY_MISSING_CAPABILITY", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT"] +} diff --git a/docs/evidence/WP-200-HARDWARE-MODEL-INVENTORY-2026-08-22.md b/docs/evidence/WP-200-HARDWARE-MODEL-INVENTORY-2026-08-22.md new file mode 100644 index 0000000..bdb5ffc --- /dev/null +++ b/docs/evidence/WP-200-HARDWARE-MODEL-INVENTORY-2026-08-22.md @@ -0,0 +1,43 @@ +# WP-200 Hardware and model inventory evidence + +Task: DEV-000111 +Evidence date: 2026-08-22 +Target: `docker-prod` / `docker.cin.su` + +## Host evidence + +Read-only `ssh docker` inspection returned: + +- host: `docker` +- CPU: `128` logical processors +- memory: `251 GiB` total, `203 GiB` available at inspection time +- swap: `8 GiB`, `256 KiB` used +- root storage: `1.6T` total, `359G` used, `1.2T` available, `24%` +- `nvidia-smi`: unavailable +- Docker server: `29.4.0`, `128` CPUs, approximately `252 GiB` Docker memory +- Docker runtimes: `runc`/`containerd`; no NVIDIA runtime reported + +## Runtime evidence + +Read-only `docker --context docker-prod` inspection found: + +- `assistant-cognitive-worker-1`: production revision `b439a813...`, `/healthz` returned `status=ok` +- `assistant-cognitive-lifeboat-1`: `ghcr.io/ggml-org/llama.cpp:server`, Docker health `healthy` +- `llm-local-api`: `ghcr.io/ggml-org/llama.cpp:server`, Docker health `healthy` +- no model activation, routing change or deployment was performed by this inventory task + +## Qualification conclusion + +This host has no verified GPU/VRAM capability in the inspected runtime. CPU +and lifeboat health are evidence of availability, not model qualification. +WP-201 still requires immutable model digests, holdout quality tests, +latency/concurrency measurements, license/data-policy evidence and restart +behavior. Heavy-class activation remains a qualification decision, not an +inventory inference. + +## Evidence limitations + +This record does not establish the topology of any separate GPU host, does not +read secrets, and does not claim that a model is qualified from its image name +or health endpoint alone. +