Skip to content

Map-close verification: full demo green on main #113

Closed

Description

@tonibergholm

Question

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.

Activity

  1. added
    ready-for-agentScoped and unambiguous enough for an agent to pick up
    wayfinder:taskWayfinder ticket: work that unblocks a decision or lands a fix
    on Jul 9, 2026
  2. tonibergholm commented on Jul 10, 2026

    @tonibergholm
    MemberAuthor

    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.

  3. self-assigned this
    on Jul 10, 2026
  4. tonibergholm commented on Jul 10, 2026

    @tonibergholm
    MemberAuthor

    Verification result — mixed, and the map is NOT cleanly done against its literal destination

    Security destination — MET and verified ✅

    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.

    Decision needed (Toni's call — genuine destination reinterpretation)

    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:

    I've left this ticket open rather than mark "demo green" (which would be false). Reassign/close per your call.

  5. tonibergholm commented on Jul 10, 2026

    @tonibergholm
    MemberAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ready-for-agentScoped and unambiguous enough for an agent to pick upwayfinder:taskWayfinder ticket: work that unblocks a decision or lands a fix

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions