Record local VLM provider proof
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"schema": "svrnty-vision.bte-product-ready-local-vlm-provider-proof.v1",
|
||||
"timestamp": "2026-06-19T20:16:43Z",
|
||||
"work_item_id": "SVRNTY-VISION-WORK-008",
|
||||
"route": "svrnty-vision",
|
||||
"goal": "Prove the configured local VLM provider is reachable for the BTE Product Ready provider-call chain without claiming readiness.",
|
||||
"approval": {
|
||||
"name": "BTE Product Ready local VLM provider proof refresh",
|
||||
"expires_after_report": true
|
||||
},
|
||||
"provider_route_resolution": {
|
||||
"registered_ollama_provider_route_found": false,
|
||||
"adapter_owner_route_used_for_proof": "svrnty-vision",
|
||||
"reason": "svrnty-vision owns the configured VLM adapter endpoint used by BTE through /vlm/analyze"
|
||||
},
|
||||
"configured_provider": {
|
||||
"kind": "local_ollama_openai_compatible",
|
||||
"base_url": "http://100.88.167.87:11434",
|
||||
"expected_model": "qwen3-vl:32b"
|
||||
},
|
||||
"health_proof": {
|
||||
"ollama_tags": {
|
||||
"url": "http://100.88.167.87:11434/api/tags",
|
||||
"http_status": 200,
|
||||
"duration_seconds": 0.004933,
|
||||
"expected_model_present": true
|
||||
},
|
||||
"openai_models": {
|
||||
"url": "http://100.88.167.87:11434/v1/models",
|
||||
"http_status": 200,
|
||||
"duration_seconds": 0.001439,
|
||||
"expected_model_present": true
|
||||
}
|
||||
},
|
||||
"gateway_recheck": {
|
||||
"host_healthz": {
|
||||
"url": "http://localhost:8092/healthz",
|
||||
"http_status": 200,
|
||||
"duration_seconds": 0.001575,
|
||||
"body_status": "ok",
|
||||
"version": "0.1.0"
|
||||
},
|
||||
"bte_runtime_namespace_healthz": {
|
||||
"url": "http://localhost:8092/healthz",
|
||||
"http_status": 200,
|
||||
"duration_seconds": 0.000823,
|
||||
"body_status": "ok",
|
||||
"version": "0.1.0"
|
||||
}
|
||||
},
|
||||
"downstream_bte_result_ref": "../bte/docs/goal-runs/bte-product-ready-local-vlm-provider-refresh/bte-work-020-successful-provider-call.json",
|
||||
"route_validator": {
|
||||
"command": "python3 tools/validate_svrnty_vision_child.py",
|
||||
"status": "pass"
|
||||
},
|
||||
"tool_effects": {
|
||||
"provider_health_probe_performed": true,
|
||||
"provider_start_or_refresh_performed": false,
|
||||
"direct_model_inference_performed": false,
|
||||
"gateway_runtime_started": false,
|
||||
"bte_provider_call_performed_by_bte_route": true,
|
||||
"profile_exposure_changed": false,
|
||||
"mcp_registered": false,
|
||||
"archive_delete_performed": false,
|
||||
"raw_payload_storage_created_by_this_route": false,
|
||||
"product_ready_claim_made": false
|
||||
},
|
||||
"status": "local_vlm_provider_health_proven"
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
# SVRNTY-VISION-WORK-008 Local VLM Provider Proof
|
||||
|
||||
Status: local VLM provider health proven.
|
||||
|
||||
Approval: `BTE Product Ready local VLM provider proof refresh`.
|
||||
|
||||
Proof:
|
||||
|
||||
- No separate registered Ollama provider route was found; `svrnty-vision` owns the adapter endpoint used by BTE through `/vlm/analyze`.
|
||||
- `GET http://100.88.167.87:11434/api/tags`: HTTP `200`; `qwen3-vl:32b` present.
|
||||
- `GET http://100.88.167.87:11434/v1/models`: HTTP `200`; `qwen3-vl:32b` present.
|
||||
- `GET http://localhost:8092/healthz`: HTTP `200`, status `ok`, version `0.1.0`.
|
||||
- From the BTE runtime namespace, `GET http://localhost:8092/healthz`: HTTP `200`, status `ok`, version `0.1.0`.
|
||||
|
||||
Boundary:
|
||||
|
||||
- No provider start or refresh was needed.
|
||||
- No direct model inference was performed from this route.
|
||||
- No credentials, secrets, raw model payloads, or image payloads were recorded.
|
||||
- No Profile Exposure, MCP registration, archive/delete, raw payload storage, release claim, or Product Ready claim happened.
|
||||
|
||||
Validators:
|
||||
|
||||
- `python3 tools/validate_svrnty_vision_child.py`: PASS.
|
||||
- `python3 tools/validate_svrnty_vision_bte_local_vlm_provider_proof.py`: PASS.
|
||||
@@ -0,0 +1,82 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Validate the Svrnty Vision local VLM provider proof packet."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
PROOF = ROOT / "docs/goal-runs/bte-product-ready-local-vlm-provider-refresh/svrnty-vision-work-008-local-vlm-provider-proof.json"
|
||||
MD = ROOT / "docs/goal-runs/bte-product-ready-local-vlm-provider-refresh/svrnty-vision-work-008-local-vlm-provider-proof.md"
|
||||
|
||||
|
||||
def require(condition: bool, errors: list[str], message: str) -> None:
|
||||
if not condition:
|
||||
errors.append(message)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
errors: list[str] = []
|
||||
proof = json.loads(PROOF.read_text(encoding="utf-8"))
|
||||
md = MD.read_text(encoding="utf-8")
|
||||
|
||||
require(proof.get("schema") == "svrnty-vision.bte-product-ready-local-vlm-provider-proof.v1", errors, "schema")
|
||||
require(proof.get("work_item_id") == "SVRNTY-VISION-WORK-008", errors, "work_item_id")
|
||||
require(proof.get("route") == "svrnty-vision", errors, "route")
|
||||
|
||||
route = proof.get("provider_route_resolution", {})
|
||||
require(route.get("registered_ollama_provider_route_found") is False, errors, "registered_route")
|
||||
require(route.get("adapter_owner_route_used_for_proof") == "svrnty-vision", errors, "adapter_owner")
|
||||
|
||||
provider = proof.get("configured_provider", {})
|
||||
require(provider.get("expected_model") == "qwen3-vl:32b", errors, "expected_model")
|
||||
|
||||
health = proof.get("health_proof", {})
|
||||
for key in ("ollama_tags", "openai_models"):
|
||||
probe = health.get(key, {})
|
||||
require(probe.get("http_status") == 200, errors, f"{key}:http_status")
|
||||
require(probe.get("expected_model_present") is True, errors, f"{key}:model_present")
|
||||
|
||||
gateway = proof.get("gateway_recheck", {})
|
||||
for key in ("host_healthz", "bte_runtime_namespace_healthz"):
|
||||
probe = gateway.get(key, {})
|
||||
require(probe.get("http_status") == 200 and probe.get("body_status") == "ok", errors, f"{key}:healthz")
|
||||
|
||||
effects = proof.get("tool_effects", {})
|
||||
require(effects.get("provider_health_probe_performed") is True, errors, "provider_health_probe")
|
||||
require(effects.get("bte_provider_call_performed_by_bte_route") is True, errors, "bte_provider_call")
|
||||
for key in (
|
||||
"provider_start_or_refresh_performed",
|
||||
"direct_model_inference_performed",
|
||||
"gateway_runtime_started",
|
||||
"profile_exposure_changed",
|
||||
"mcp_registered",
|
||||
"archive_delete_performed",
|
||||
"raw_payload_storage_created_by_this_route",
|
||||
"product_ready_claim_made",
|
||||
):
|
||||
require(effects.get(key) is False, errors, f"forbidden_effect:{key}")
|
||||
|
||||
for snippet in (
|
||||
"local VLM provider health proven",
|
||||
"qwen3-vl:32b",
|
||||
"No direct model inference",
|
||||
"No credentials",
|
||||
"Product Ready claim",
|
||||
):
|
||||
require(snippet in md, errors, f"md_missing:{snippet}")
|
||||
|
||||
result = {
|
||||
"ok": not errors,
|
||||
"validator": "svrnty-vision-bte-local-vlm-provider-proof-v1",
|
||||
"checked": [str(PROOF.relative_to(ROOT)), str(MD.relative_to(ROOT))],
|
||||
"errors": errors,
|
||||
}
|
||||
print(json.dumps(result, indent=2))
|
||||
return 0 if not errors else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user