You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Map-close verification: full demo green on main #113
The map's closing gate. With all fix tickets merged:
Run scripts/run-demo.sh end-to-end from a fresh clone of main: clean clone → docker-compose up → working agent → scripted bad change → agentic diff → agentic rollback, all within the demo-scenario expectations.
Confirm the Postgres+pgvector CI suites are green on main.
Confirm each finding's regression tests exist and run in CI (traversal, accept_data_loss gate, tampered-blob, MCP caps, URL policy).
Confirm snapshot-model §9 targets still hold (rollback < 5s, commit < 2s).
Blocked by every fix ticket and the DoS scope decision. Closing this ticket closes the map.
Resolution records: demo run result + timings, CI run link, the regression-test inventory.
Scope addition (surfaced resolving #111): verify each of the six audit fixes is actually present in `main` HEAD, not merely that its PR merged. PR #115's merge-conflict resolution silently deleted PR #114's interim gate — a merged critical-security fix that vanished from `main`. So map-close must grep `main` for each fix's fingerprint, not trust the merge log:
Regression tests exist and are green in CI on every PR, and the Postgres integration suites are green on main (the authoritative clean environment).
§9 perf: the get_raw integrity fix measured ~0.5 ms/MiB (recorded in benchmarks.md), negligible vs the 5 s rollback budget; Postgres restore suites green in CI. (A live rollback timing wasn't captured — see below.)
Daemon side of the demo works: release binaries build, Postgres comes up, seeding runs, agenticd binds the socket, attaches the memory backend (logical decoding), and listens — healthy.
Demo-green gate — NOT met ❌
scripts/run-demo.sh does not run green end-to-end on the dev box. It hangs at the first "baseline ask" — the Python LangGraph agent → AgenticCheckpointer → daemon — before any rollback. Killed at 30 s, no output, no traceback; the daemon logs no request handling and no error.
The map's real question — did the six fixes break the demo? NO. ✅ (proven, not argued)
The Python SDK + demo agent are byte-identical between pre-map d78c805 and current main: git diff d78c805..main -- sdk/python examples/langgraph-rollback is empty. The six fixes touched only Rust daemon/core code.
The read-idle timeout (the only fix touching every connection, and a 30 s suspect against the 30 s hang) provably did not fire — full daemon-log grep for idle/read deadline/error came back clean.
The daemon's commit-dispatch path is unchanged by any of the six fixes; the other five don't touch the baseline-commit path (branch validation only rejects bad names; approval gate only gates accept_data_loss; get_raw only affects restore; MCP only with configured servers — the demo configures none; chore: ignore agent-harness runtime state, keep main clean #6 is CI infra).
So the hang is a pre-existing property of the demo/SDK stack, not a regression from the security remediation. Full gap list + repro filed as #124.
The destination says "…with scripts/run-demo.sh green end-to-end at close." That literal gate isn't met, for reasons outside this map's security work. CLAUDE.md already calls the fresh-clone demo run "aspirational, only measured on dev machines with warm caches." Two ways to close:
A (recommended): Close the map on the security destination (six findings fixed, tested, merged, verified present in main HEAD) and treat demo-runnability as separate follow-up (Demo (run-demo.sh) does not run green from a clean state — 5 gaps + baseline-ask hang #124). Rationale: the demo failure is proven independent of the security work, and CLAUDE.md's "aspirational" framing supports it.
Resolved — map closed on the security destination (Toni's call, 2026-07-10)
Decision: close on the security destination. All six audit findings are fixed, tested, merged, and verified present in main HEAD; regression tests green in CI; Postgres integration suites green on main. The literal "run-demo.sh green end-to-end" criterion is reinterpreted per CLAUDE.md's standing "aspirational, only measured on dev machines with warm caches" framing — the demo does not run green from clean on the dev box, but that failure is proven independent of the security work (SDK+agent byte-identical to pre-map d78c805; the read-idle timeout provably did not fire; the daemon commit-dispatch path is unchanged).
Demo-runnability — the baseline-ask hang plus four portability gaps (release strip on macOS, socket SUN_LEN, python vs python3, uninstalled agent deps) — is carried forward as regular issue #124, outside this map's destination.
Verification evidence is in the prior comment. Closing this ticket closes the map.
Activity
tonibergholm commentedon Jul 10, 2026
Scope addition (surfaced resolving #111): verify each of the six audit fixes is actually present in `main` HEAD, not merely that its PR merged. PR #115's merge-conflict resolution silently deleted PR #114's interim gate — a merged critical-security fix that vanished from `main`. So map-close must grep `main` for each fix's fingerprint, not trust the merge log:
As of 2026-07-10, #1/#3/#4/#6 confirmed present in main HEAD; #2 lands with PR #121.
tonibergholm commentedon Jul 10, 2026
Verification result — mixed, and the map is NOT cleanly done against its literal destination
Security destination — MET and verified ✅
mainHEAD (grepped every fingerprint, not just "PR merged"):validate_branch_name(refs.rs) · Chunk C (part 1): MCP fingerprinter + per-dimension diff #2approval_gate+ApprovalError(rollback/mod.rs — the one Validate branch names before building ref paths under refs/heads #115 had regressed) · Chunk C (part 2): rollback orchestrator (memory + prompts + forward-record) #3check_integrity(store.rs) +fetch_map(gcs_store.rs) · #4aMcpLimits(mcp.rs) · #4bvalidate_mcp_url(mcp.rs) · Chunk D (part 2): pg_advisory_lock serialises snapshots across processes #5READ_IDLE_TIMEOUT(server.rs) · chore: ignore agent-harness runtime state, keep main clean #6postgres integration (pgvector)job (ci.yml).main(the authoritative clean environment).get_rawintegrity fix measured ~0.5 ms/MiB (recorded in benchmarks.md), negligible vs the 5 s rollback budget; Postgres restore suites green in CI. (A live rollback timing wasn't captured — see below.)agenticdbinds the socket, attaches the memory backend (logical decoding), and listens — healthy.Demo-green gate — NOT met ❌
scripts/run-demo.shdoes not run green end-to-end on the dev box. It hangs at the first "baseline ask" — the Python LangGraph agent →AgenticCheckpointer→ daemon — before any rollback. Killed at 30 s, no output, no traceback; the daemon logs no request handling and no error.The map's real question — did the six fixes break the demo? NO. ✅ (proven, not argued)
d78c805and currentmain:git diff d78c805..main -- sdk/python examples/langgraph-rollbackis empty. The six fixes touched only Rust daemon/core code.idle/read deadline/error came back clean.accept_data_loss; get_raw only affects restore; MCP only with configured servers — the demo configures none; chore: ignore agent-harness runtime state, keep main clean #6 is CI infra).So the hang is a pre-existing property of the demo/SDK stack, not a regression from the security remediation. Full gap list + repro filed as #124.
Decision needed (Toni's call — genuine destination reinterpretation)
The destination says "…with
scripts/run-demo.shgreen end-to-end at close." That literal gate isn't met, for reasons outside this map's security work. CLAUDE.md already calls the fresh-clone demo run "aspirational, only measured on dev machines with warm caches." Two ways to close:mainHEAD) and treat demo-runnability as separate follow-up (Demo (run-demo.sh) does not run green from a clean state — 5 gaps + baseline-ask hang #124). Rationale: the demo failure is proven independent of the security work, and CLAUDE.md's "aspirational" framing supports it.I've left this ticket open rather than mark "demo green" (which would be false). Reassign/close per your call.
tonibergholm commentedon Jul 10, 2026
Resolved — map closed on the security destination (Toni's call, 2026-07-10)
Decision: close on the security destination. All six audit findings are fixed, tested, merged, and verified present in
mainHEAD; regression tests green in CI; Postgres integration suites green onmain. The literal "run-demo.sh green end-to-end" criterion is reinterpreted per CLAUDE.md's standing "aspirational, only measured on dev machines with warm caches" framing — the demo does not run green from clean on the dev box, but that failure is proven independent of the security work (SDK+agent byte-identical to pre-map d78c805; the read-idle timeout provably did not fire; the daemon commit-dispatch path is unchanged).Demo-runnability — the baseline-ask hang plus four portability gaps (release
stripon macOS, socketSUN_LEN,pythonvspython3, uninstalled agent deps) — is carried forward as regular issue #124, outside this map's destination.Verification evidence is in the prior comment. Closing this ticket closes the map.