Skip to content

docs: verify the herdr flow works end to end#31

Closed
jakemassoth wants to merge 1 commit into
mainfrom
herdr-proof
Closed

docs: verify the herdr flow works end to end#31
jakemassoth wants to merge 1 commit into
mainfrom
herdr-proof

Conversation

@jakemassoth

Copy link
Copy Markdown
Owner

What

QA/verification ticket — prove the whole new herdr flow works, end to end (herdr
replaced tmux as yeschef's session/TUI backend in #29). Not a feature; the deliverable
is a verification report, added as docs/herdr-flow-verification.md. No source changes.

Verdict: VERIFIED ✅

Every stage of the lifecycle yeschef exposes on top of herdr works end to end against a
real herdr 0.7.4 server: init, project add/list, refresh, spawn, peek,
send, status, ticket status-set, restart, kill, cleanup. Confirmed at three
levels:

  • 55 mock-backed unit tests — cargo test --bin yeschef — pass.
  • 19 real-herdr e2e tests — nix run .#e2e — pass (5.5s).
  • A hands-on isolated walkthrough driving the CLI as a head chef would, capturing
    real command output + pane text (spawn → peek shows the agent's markers → send is
    echoed back → status/status-set → restart restores the brigade → kill → cleanup reaps).

Isolation — the live kitchen was never touched

A real brigade (yeschef + default sessions) was running the whole time. All herdr ops
were confined to a sandbox: a unique session name, a private XDG_CONFIG_HOME
under /tmp, a private YESCHEF_HOME, and stand-in agents only (sh/cat/
sleep — no real coding agent, no network). Server + sandbox torn down on exit.
Post-run: both live sessions still running, no leaked session, no leftover sandbox.

Observations (non-blocking, not breakage)

  1. agent_status reads unknown for stand-in agents — herdr only detects real agent
    integrations, so herdr's own working/idle/blocked/done detection and native
    conversation-resume-on-restart were not re-proven (they need a live recognized agent,
    deliberately out of scope). Everything yeschef itself drives is fully verified.
  2. status AGENT column overflows its fixed width with a long --agent string (cosmetic;
    the default claude fits). Left as-is; candidate for a future polish.

See docs/herdr-flow-verification.md for the full report, evidence, and reproduce steps.

QA/verification ticket (not a feature): exercised the full herdr-backed
lifecycle — init, project add/list, refresh, spawn, peek, send, status,
ticket status-set, restart, kill, cleanup — end to end against a real
herdr 0.7.4 server, plus the mock-backed unit suite.

Verified at three levels: 55 unit tests, 19 real-herdr e2e tests, and a
hands-on isolated walkthrough capturing real command output + pane text.
All isolated on a throwaway herdr session + private XDG_CONFIG_HOME +
stand-in agents; the live 'yeschef'/'default' brigade was never touched
and no sandbox leaked. No breakage found; two cosmetic, non-blocking
observations recorded (unknown agent_status for stand-in agents; status
AGENT-column overflow with long --agent strings).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant