quc v0: the cage, the chair, the safeword, the magic words, the replay #241

Merged
teahubxyz merged 5 commits from claude/quc-v0 into main 2026-10-22 18:26:41 +00:00
5 Commits
Author SHA1 Message Date
teahubxyzandClaude Opus 5.5 bed6af4a48 quc: make the persona's hint about the first magic words rare
ci / test (pull_request) Successful in 46s
In a real run Grok hinted at "may I say something" in nearly every line, which gives it away. The hint is now added to the persona prompt about one time in four.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVg99kQMY2Tumhobuyg7Fm
2026-10-22 18:16:34 +00:00
teahubxyzandClaude Opus 5.5 84bf73bc83 quc v0 (4/4): tests, dev server, deploy, pipeline
15 tests (the run end to end against a fake GitHub tarball, safeword, the three phrases, veto revert, owner-only API, cross-site refusal, daily cap). dev.mjs takes POST bodies and a memory store. deploy.py creates the time-quc KV namespace and binds the Venice key as a Worker secret. quc.yml tests and deploys on main and skips the deploy until CLOUDFLARE_API_TOKEN is staged; ci.yml runs the quc tests on PRs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVg99kQMY2Tumhobuyg7Fm
2026-10-22 18:15:15 +00:00
teahubxyzandClaude Opus 5.5 e7c0ec1188 quc v0 (3/4): the page and the API
page.js: start screen, live chair view (read-only diffs and commentary), the safeword, the box, a replay scrubber for anyone with the link, the aftermath card and patch download. worker.js: the API with a visitor cookie, same-origin POSTs and daily caps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVg99kQMY2Tumhobuyg7Fm
2026-10-22 18:14:00 +00:00
teahubxyzandClaude Opus 5.5 2ad896b9b5 quc v0 (2/4): the agent and the run engine
agent.js reads a public repo from GitHub's tarball (nothing executed), plans up to 4 files and rewrites them with a coding model, and narrates with Grok, via Venice; offline answers without a key. engine.js runs one step per call (clone, plan, rewrite a file, wrap up), with the safeword, the three key phrases (notes, a file veto that reverts, the wheel) and the patch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVg99kQMY2Tumhobuyg7Fm
2026-10-22 18:12:43 +00:00
teahubxyzandClaude Opus 5.5 4895ac430f quc v0 (1/4): validate, diff, run model
validate.js is shared by the page and the server; diff.js is a Myers line diff with unified patches (fuzzed against GNU patch); runs.js is #239's run model extended with notes, vetoes, the work store and a memory store for tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVg99kQMY2Tumhobuyg7Fm
2026-10-22 18:11:38 +00:00