Skip to content

MANUAL RUN: the full hands-on checklist (rolls up every manual-run issue) #609

Closed

Description

@QuinnsCode

One list of every open manual run issue, grouped so each setup happens once. Work down it, tick what passes, and report back here (a comment per section is fine). Anything that's off: note it and Claude files a bug. The original issues are closed into this one (11 Oct regroup) and keep their full steps; tick them here.

14 Oct: every other open manual run issue is now section 9 below (25 folded in, easiest first; the contest-day items are at the top of it). Sections 1 to 8 are unchanged.

Status 12 Oct: 29 done, 30 open. Done today: #706 (traces name src/*.ts after #801), #559 (no subscription login on the live Worker, now enforced in code by #808), #662 (npm Trusted Publisher plus 2FA with tokens disallowed, 0.1.11 from CI). Also released at 71b462d: the site moved to codesplitter.notryanquinn.workers.dev and checks in a container are on (#806 closed). The demo video moved out to #558.

1. ✅ One release (covers #607, #499, #442, and the release steps of #407, #417, #418)

2. Live site in a desktop browser

SOCIALCODE101 UI (#574, closed; only the code city is left)

  • Handle-invite badge in the top bar, and the "Invited to" box on your profile.
  • #/feed: digest, with raw events in <details>. (followed person's edits show; AI digest not run)
  • Pulse: the profile box refreshes (every 15s), and faces beat on an open file's socket. (profile box checked; faces not yet)
  • Code city: walk first-person in play.html#c/, and a follower visits over the relay.

Agent GitHub button (#439, closed), signed in with two GitHubs linked:

  • The dig panel's bot button starts dimmed; clicking one account lights it, clicking again clears it. (one GitHub)
  • Choosing an account for agents doesn't change which account you dig as. (one GitHub: the ✓ stays; across two accounts untested)
  • A hosted agent run answers github: true once an account is chosen.

3. On a real phone (skipped for now)

Backrooms game (#569), on iOS Safari and Android Chrome:

  • Stick walks, and runs when pushed all the way.
  • Dragging elsewhere looks around; a second finger works alongside the stick.
  • Swat: tap to swat, hold to press into a line in horde. Jump works.
  • Page doesn't zoom or scroll during play; lobby card reachable in landscape.

Over Tailscale (Tailscale on the Mac and the phone)

4. Desktop app against real GitHub

Mirrors (#407, closed): run cd apps/codesplitters && bun run desktop from main, with git config --global user.name/user.email set.

  • Mirror a throwaway GitHub repo you own from the dig box (tick "Keep it in sync").
  • Commit here → lands on GitHub. Push to GitHub → lands here.
  • Force-push GitHub, then Re-base on upstream. Repeat with Take upstream's.
  • Make a line private, Push the crew's copy: GitHub has the real text, the repo's own clone has the line blank.

Checks vs Actions (#491)

  • On the RustyBuns mirror: PUT /api/repos/<owner>/rustybuns/checks/settings {"where": "both", "required": ["typecheck"], "post_statuses": true}.
  • Push a branch upstream; within 5 min (or ⌘K → "Fetch GitHub's checks now") the branch shows typecheck, apps … next to codeSplitters' own.
  • Write down where it beats Actions and where it falls short.

5. External tools and accounts

CI webhook (#541)

Executor (#418) (Claude Code OAuth is already done)

  • npm install -g executor, executor web, Add Integration → https://codesplitters.notryanquinn.workers.dev/api/openapi.json.
  • Add account → oauth, client_id executor → consent page → Allow.
  • Policies: codesplitters.* approve; repos.deleteRepo, branches.mergeBranch, files.commitFile, deploys.deploy require approval.
  • npx add-mcp http://127.0.0.1:4788/mcp --transport http --name executor, restart the agent.
  • Executor shows under "Apps signed in"; signing it out there makes its next call 401.

Directory listings (#417)

  • MCP Registry: brew install mcp-publisher, mcp-publisher init, edit server.json (name io.github.QuinnsCode/codesplitters, one-line description, no packages, a streamable-http remote at /api/mcp with an Authorization header), then validate, login github, publish, and search the registry for it.
  • Submit /api/openapi.json at https://apis.guru/add-api (tick when it shows up there).

6. Costs a few cents: Hetzner box (#452)

From a throwaway app with targets.box: { provider: "hetzner" } and no native crates:

  • rustybuns login hetzner, then rustybuns plan --stage hetzner-test and rustybuns deploy --stage hetzner-test: an http://<ip>:3000 URL answers /health.
  • Deploy again: plan shows an update, not a create.
  • rustybuns destroy --stage hetzner-test --yes; the Hetzner console shows no server or Volume left.
  • Hosted path: note run time against the 13-minute budget, check the token never shows in the log, then delete the stored key.

7. Added since: security settings and setup (#652, #653, #672, #654, #662, #635)

All free. Each is dashboard clicking or one script, no app to run.

GitHub settings (#652), on github.com/QuinnsCode/RustyBuns → Settings:

  • Rules → new branch ruleset on main: block force pushes and deletion, require a PR (0 approvals), require typecheck and apps checks, bypass: you only.
  • A tag ruleset for *-v*: only you can create them. (release tags, 11 Oct)
  • Code security: Dependabot alerts + security updates, private vulnerability reporting. (Validity checks: no toggle on this plan, skipped.)
  • Actions → General: require approval for all outside collaborators.
  • Environments: ✅ drops holds DROPS_CLOUDFLARE_API_TOKEN (new R2 token, 11 Oct) and DROP_SECRET, deploys only from main and *-v* tags, you as reviewer; repo-level copies and the old "Agentic office" R2 token deleted (MANUAL RUN: move the drop secrets into the drops environment #752). Still to see: the next tag drop waits for approval.

Cloudflare dashboard (#653, #672):

  • Turnstile → Add widget for codesplitters.notryanquinn.workers.dev (Managed). Save its secret in 1Password: vault codesplitters, item turnstile, field secret. Paste the site key (public) to Claude, who puts it in the config. ✅ widget made, secret in 1Password, site key in PR codeSplitters: Turnstile site key in the config (#672) #720 (live at next release).
  • [~] Bot Fight Mode on (skip it if it blocks MCP or the CLI). Skipped: needs a zone you own; workers.dev has none.
  • [~] One rate-limiting rule: /api/auth/*, 20 requests / 10s per IP → block. Skipped: needs a zone you own; workers.dev has none.
  • [~] Access (Zero Trust, free) on /admin* and /api/admin*, with a one-time PIN to your admin email. Skipped: needs a zone you own; workers.dev has none.
  • Notifications: Security Events Alert and Workers usage to your email; delete stale API tokens at dash.cloudflare.com/profile/api-tokens. ✅ $10 billing budget alert by email; tokens reviewed, kept the June "Cloudflare Agent Token".

On this Mac (#654), with Agent Office stopped:

npm (#662), signed in at npmjs.com:

  • For @rustybuns/ports, shell-bun, native and cli: Settings → Trusted Publisher → GitHub Actions, QuinnsCode / RustyBuns / npm-publish.yml / environment npm. ✅ 0.1.11 published from CI on tag v0.1.11 (12 Oct) with provenance on all four.
  • After the next CI release: set each to "Require 2FA and disallow tokens". ✅ 12 Oct, all four.

After the release (#635, #706): released at b7d2628, so these can be done now.

8. Live checks folded in on 11 Oct (no deadline)

Each needs the live site, the desktop or a person at the keys. Full steps are in the linked issue.

9. Folded in 14 Oct: every other open manual run, easiest first

The 25 separate MANUAL RUN issues are closed into this section and keep their full steps; tick them here. Times are rough.

Today: the contest closes 14 Oct 11:59 PM PDT

A. Free, dashboard or one command (5 to 20 min each)

B. On this Mac or two machines (15 to 60 min)

C. Deploys that cost cents (15 to 45 min each, destroy after)

D. Agents get their own GitHub identity (do in order, when no worker is mid-task)

The full steps and the fixed script are in each closed issue; follow the link.

Optional tidying

Bugs and polish found while testing: #628 #629 #630 #631 #659 #678 #693 (all fixed), #701 and #710 (open).

Rolls up: #1513 #1514 #1575 #798 #1611 #892 #1135 #1261 #1031 #1215 #1551 #873 #1642 #1581 #1204 #931 #916 #1496 #878 #865 #762 #845 #825 #942 #819 #754 #704 #706 #652 #653 #654 #662 #672 #635 #607 #574 #569 #559 #541 #499 #491 #457 #452 #442 #439 #423 #418 #417 #407 #350 #300 #284 #314 #182 #67

🤖 Generated with Claude Code

Activity

  1. added
    manual runNeeds the owner to run it by hand (tokens, sign-ins); agents can't close it
    on Oct 11, 2026
  2. QuinnsCode commented on Oct 11, 2026

    @QuinnsCode
    OwnerAuthor

    Three more from the security audit: #652 (GitHub ruleset and tags), #653 (free Cloudflare protections), #654 (rotate the office password, clean the office shell, gh scopes).

  3. changed the title [-]MANUAL RUN: the full hands-on checklist (rolls up all 16 manual-run issues)[/-] [+]MANUAL RUN: the full hands-on checklist (rolls up every manual-run issue)[/+] on Oct 11, 2026
  4. QuinnsCode commented on Oct 11, 2026

    @QuinnsCode
    OwnerAuthor

    #653 closed: the workers.dev-only parts are done. The steps that need a custom domain moved to #722. #672 is half done (widget and secret exist; site key and deploy still to do).

  5. self-assigned this
    on Oct 11, 2026
  6. QuinnsCode commented on Oct 12, 2026

    @QuinnsCode
    OwnerAuthor

    Reopened: #808 closed this by accident (its description said "Doesn't close #609", and GitHub read that as a closing keyword). Status at the top is updated for 12 Oct.

  7. QuinnsCode commented on Nov 9, 2026

    @QuinnsCode
    OwnerAuthor

    Done, from the 2026-11-09 board scan (notes/audit/2026-11-09-*.json): The old roll-up checklist is retired: AGENTS.md says each manual run is its own issue and names 'the old #609 roll-up' as the thing not to do; bun run manual walks them now

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

Metadata

Metadata

Assignees

Labels

manual runNeeds the owner to run it by hand (tokens, sign-ins); agents can't close it

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions