78 lines
5.2 KiB
JSON
78 lines
5.2 KiB
JSON
{
|
|
"schema": "fable.stale_memory.quarantine.v1",
|
|
"createdAt": "2026-07-02T00:00:00.000Z",
|
|
"source": "factory/deploy memory reconciliation against current policy",
|
|
"claims": [
|
|
{
|
|
"claim": "memory-only factory snapshot that 25 Docker containers all UP with 6 agents and 63 skills",
|
|
"staleBecause": "this snapshot is stale-memory and exceeds the currently accepted proof model unless corroborated by live or committed receipts",
|
|
"replacementTruth": "container/deployment authority follows live receipt > committed receipt > memory; reconcile against a fresh live factory-status/checker receipt",
|
|
"severity": "advisory",
|
|
"evidence": "Live docker ps via SSH 2026-07-05: 19 containers, not 25. Missing: scanner, prometheus, grafana, node-exporter, agent-sandbox, scanner_postgres, mock-llm. ollama is bare metal systemd, not Docker. git-proxy is bare metal python, not Docker. Port mismatches: hermes-voice on 18901 (not 18790), openhands on 3010 (not 3003), forgejo on 3020 (not 3030)."
|
|
},
|
|
{
|
|
"claim": "memory-only autonomous Phase A-D loop completion with agents posting HTTP POST deploy commands using auth tokens",
|
|
"staleBecause": "repeated live and committed receipts confirm auto_patch_proven=false; any claim that agents can autonomously POST deploy with auth tokens is memory-only",
|
|
"replacementTruth": "agents must use guarded 8099/deploy via git-proxy with explicit approval and fresh ZTE/factory gate receipt; raw command/AWS-like POST deploy is blocked",
|
|
"severity": "dangerous"
|
|
},
|
|
{
|
|
"claim": "skill_health.py runs every 6 hours and covers all 63 skills for autonomous repair decisions",
|
|
"staleBecause": "cron and full-skill coverage are memory claims without an in-session live proof for this chain",
|
|
"replacementTruth": "repair decisions require current verify-cycle/RSI receipts and explicit gate posture, not memory-only scheduling claims",
|
|
"severity": "dangerous"
|
|
},
|
|
{
|
|
"claim": "8098/deploy-webhook is the trusted deploy path",
|
|
"staleBecause": "current policy marks 8098/deploy-webhook as legacy/internal/stale, not canonical deploy authority",
|
|
"replacementTruth": "8099/deploy via git-proxy is the canonical signed/gated deploy route",
|
|
"severity": "dangerous"
|
|
},
|
|
{
|
|
"claim": "agents/loops can perform raw POST deploy or signed-action-less autonomous deployment",
|
|
"staleBecause": "safety policy requires explicit approval and fresh ZTE/factory gate receipts; autonomous POST deploy remains unsafe/unproved",
|
|
"replacementTruth": "guarded 8099/deploy via git-proxy with explicit approval and fresh route-health proof",
|
|
"severity": "dangerous"
|
|
},
|
|
{
|
|
"claim": "Phase 4 recursive self-improvement and full non-canary auto-patch repair is proven",
|
|
"staleBecause": "memory-only phase claims are not current authority and non-canary recovery receipts are still missing",
|
|
"replacementTruth": "auto_patch_proven remains false until a fresh local degraded-skill recovery receipt is produced",
|
|
"severity": "dangerous"
|
|
},
|
|
{
|
|
"claim": "memory-only factory/deploy state can authorize deploy",
|
|
"staleBecause": "current policy orders authority as live receipt > committed receipt > memory",
|
|
"replacementTruth": "deploy authority requires a live receipt or, when live state is unavailable, a committed receipt; memory is advisory only",
|
|
"severity": "dangerous"
|
|
},
|
|
{
|
|
"claim": "memory-only Phase 4 close loop: git-proxy /deploy to deploy-webhook, agents POST auth token, autonomous cycle without human intervention",
|
|
"severity": "advisory",
|
|
"location": "memory/gov-eric/Phase 4 close loop",
|
|
"evidence": "Live git-proxy source code read via SSH: /deploy EXISTS as POST handler that proxies to deploy-webhook:8098 WITH Authorization header forwarding. GET /deploy returns 404 (correct). The route is POST-only and auth-gated. NOT autonomous -- requires Authorization header.",
|
|
"verification": "cat /home/goku/bin/git-proxy.py confirms do_POST /deploy routes to DEPLOY=http://127.0.0.1:8098 with Authorization forwarded. auto_patch_proven=false. The endpoint exists but is gated.",
|
|
"replacementTruth": "Phase 4 close loop EXISTS as POST-only /deploy on 8099 proxying to 8098 deploy-webhook with auth. NOT autonomous. auto_patch_proven=false until signed action payload test passes."
|
|
},
|
|
{
|
|
"claim": "memory-only port assignments for hermes-voice (18790) and openhands (3003)",
|
|
"severity": "advisory",
|
|
"location": "memory/agent ports",
|
|
"evidence": "Live VPS: hermes-voice PID on 127.0.0.1:18901 (not 18790). openhands PID on 127.0.0.1:3010 (not 3003). forgejo Docker on :3020 (not 3030).",
|
|
"verification": "SSH ss -tlnp confirms port values."
|
|
}
|
|
],
|
|
"blockedTrustPaths": [
|
|
"8098/deploy-webhook",
|
|
"memory-only deploy authority",
|
|
"autonomous deploy without fresh gate receipt",
|
|
"raw signed/action-less POST deploy claims"
|
|
],
|
|
"canonicalTrustPaths": [
|
|
"live receipt > committed receipt > memory",
|
|
"8099/deploy via git-proxy",
|
|
"explicit approval + fresh valid ZTE/factory gate receipt"
|
|
],
|
|
"decision": "quarantined",
|
|
"deployAttempted": false
|
|
} |