Record a real end-to-end demo and rewrite the README around it - #215
Merged
Conversation
A turn writes nothing to the socket while the agent thinks, and thinking for half a minute before the next tool call is ordinary. Next's dev proxy — the path `pnpm dev` puts every local user on — hangs up on a response that idle, and the hang-up reaches the backend as `close`, which it reads as the user leaving: clientGone, session destroyed, build abandoned about forty seconds in. Measured before the fix: three builds died at 0:40, 0:40 and 1:09, each after ~30s with no part to forward, each leaving "[Request interrupted by user]" in the agent transcript and the scaffold still on screen. The same turn driven straight at :8080 ran past 80s of silence. A ping every 10s, which the client's parser already ignores, keeps the socket busy through the quiet. check-stream-keepalive.mjs goes red when the interval is removed or moved out of the finally.
pnpm demo:flow types a prompt on the landing page, answers the agent's question card, waits for the build, and films the result — the same idea as record-demo.mjs, but the whole loop instead of the landing page. A real build takes minutes and a README video may not, so the beats the script timestamps while driving become ffmpeg trim/setpts segments: typing and the reveal stay at 1x, the two stretches where a human would only be watching the agent work run at 6x and 12x with the speed burned into the frame. The settle detector needs both signals. File size alone stops at the last write while the agent is still checking its work, and the preview only reloads when the turn does — the first cut ended on the scaffold. The composer alone can stay stuck streaming after a stream dies.
The "Build System Architecture" section and the full-stack generation flowchart described BuilderContext, BuildHandlerManager, BuildMonitor and VirtualDirectory — none of which exist in backend/src any more. The agent loop replaced them. Troubleshooting pointed at .codefox/config.json (no callers) and `pnpm clean` (no such script); Additional Resources linked four files that are not in the repo; Support linked github.com/your-repo. What replaces them is checked against the source: a turn sequence diagram, the AGENT_HARNESS table with what each loop needs, the host/vercel sandbox tradeoff, and troubleshooting for the failures a local run actually hits. The demo video is the new end-to-end recording.
The landing page has claimed MIT for a while, but package.json said ISC, backend/package.json said UNLICENSED, frontend/package.json said nothing, and there was no LICENSE file. MIT everywhere, with the text to back it.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The refactor it warned about has landed. The one fact worth keeping — that the default host sandbox gives the agent the backend's privileges — is already stated where it belongs, under "Where the agent runs".
This reverts commit f46357a. The task was recording the demo, not changing backend behaviour; the stream change does not belong in this branch. Known consequence: on a stock `pnpm dev`, a turn still dies about forty seconds in whenever the agent thinks quietly for ~30s, because Next's dev proxy hangs up on an idle response and the backend reads that as the client leaving. `pnpm demo:flow` cannot finish a build under that. The committed demo was recorded with the keepalive in place.
ZHallen122
force-pushed
the
readme-readme
branch
from
August 21, 2026 03:32
1ff28f7 to
ec74741
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The demo video is now
assets/demo.mp4, recorded bypnpm demo:flow(scripts/record-flow.mjs), which drives the real product end to end — types a prompt on the landing page, answers the agent's question card, waits for the build, films the result — and compresses only the waiting, labelled on screen.The README is rewritten against the source: its "Build System Architecture" section and generation flowchart described
BuilderContext,BuildHandlerManagerandVirtualDirectory, none of which exist inbackend/srcany more; troubleshooting pointed at.codefox/config.json(no callers) andpnpm clean(no such script); Additional Resources linked four files that are not in the repo. What replaces them is a turn sequence diagram, theAGENT_HARNESStable, the host/vercel sandbox tradeoff, and failures a local run actually hits. Licensing is made consistent too — the landing page claimed MIT while the manifests said ISC and UNLICENSED, so everything is MIT now with a LICENSE file.No backend behaviour changes: a keepalive fix was committed and then reverted (f46357a / ec74741), so
backend/srcis identical tomain. Worth knowing before re-running the recorder: on a stockpnpm deva turn dies about forty seconds in whenever the agent thinks quietly for ~30s, because Next's dev proxy hangs up on an idle response and the backend reads that hang-up as the client leaving. The committed video was recorded with that keepalive in place.CI on this PR is red for reasons that predate it:
backend/frontendbuild acodefox-commonpackage deleted in d5379db (2025-10-01),autofixrunstsc --noEmitat a root with no tsconfig, and the codecov job's--frozen-lockfilefails on a lockfile written by a newer pnpm thanpackageManagerpins — that last one fails on everymainpush too.