Files
hermes-workspace/OVERNIGHT-PR-SHAKEDOWN.md

4.1 KiB

Overnight PR/Issue Shakedown — hermes-workspace

Mission: Work through the open PRs and issues on outsourc-e/hermes-workspace, test/fix/shake them down LOCALLY, and consolidate everything safe into ONE integration PR. Run autonomously overnight. Quality over quantity — never break main.

Environment

  • Working clone (USE THIS, never touch /Users/aurora/hermes-workspace — it has uncommitted local work): /Users/aurora/hermes-workspace-swarm
  • Repo: outsourc-e/hermes-workspace. gh authed as outsourc-e (ADMIN). pnpm. Node 22.
  • Build: pnpm build · Test: pnpm test · Lint: pnpm lint · Typecheck: pnpm check
  • 46 open PRs, 27 open issues at start (2026-06-05 03:32 EDT). gh pr list --state open, gh issue list --state open.

The integration branch + PR

  • Create branch chore/overnight-pr-shakedown-20260605 off latest origin/main.
  • As you validate each upstream PR, cherry-pick / merge its changes into this branch (resolve conflicts).
  • Open ONE consolidated PR titled "Overnight PR shakedown: integrate validated fixes (2026-06-05)" with a body that lists, per source PR: number, title, author, what it does, and PASS/FAIL of build+test+lint.
  • Push incrementally so progress survives.

Per-PR loop (do this for each open PR, newest/highest-value first)

  1. gh pr view <n> + gh pr diff <n>. Skip DRAFTs unless trivial+valuable.
  2. Categorize: SAFE (small, clear, low-risk fix), REVIEW (medium), RISKY (auth/security/Docker/large refactor/i18n-934-strings), SKIP (conflicts badly / superseded / off-mission).
  3. For SAFE + REVIEW that look correct: apply the change onto the integration branch.
  4. Run pnpm build + pnpm test + pnpm lint. If GREEN, keep it. If it breaks, try to FIX it; if you can't fix in reasonable effort, REVERT that change and log it as needs-human.
  5. Map issues → PRs: if a PR fixes an open issue, note "fixes #" in the PR body.

Priority signal (fix these issue areas if PRs exist or you can safely patch)

  • Build/ship blockers for desktop + local site: #594 React DOM crash on navigation, #579/#500/#588 Windows desktop, #573 session list React crash, #570 /api/hermes-tasks returns HTML, #572 double chat responses, #561 stuck Thinking, #552 scroll auto-jump.
  • Security: #553 path traversal (validate carefully, it's good to land).
  • Model picker / providers: #583 Google provider, #569 config.yaml providers, #586 MiniMax M3.
  • Skip for now unless trivial: huge i18n PR #563 (934 strings), draft prototypes (#578 LeseWerk, #557 company-os).

Hard rules

  • NEVER merge directly to main. Only push the integration branch + open the consolidated PR.
  • NEVER force-push main. NEVER touch /Users/aurora/hermes-workspace.
  • Keep main buildable: the integration branch must pass pnpm build + pnpm test before each push.
  • Idempotent: if re-run, continue from where the branch is (don't duplicate).
  • Document everything in the PR body + append a short status to this file each cycle.
  • If something needs human judgment (risky security/auth/Docker, or a conflict you can't cleanly resolve), leave it OUT of the integration branch and list it under "Needs Eric" in the PR body.

Out of scope (do NOT do)

  • The game-embed/Supabase-auth port (Eric handles separately; needs WebGL v1 build first).
  • Publishing a release / desktop build artifact (just get main green + PR ready).
  • Any deploy. Any change to the live game server.

Status log (agent appends here)

  • 2026-06-05 03:33 EDT: clone + spec created. Awaiting first cycle.
  • 2026-06-05 03:57 EDT: CYCLE 1 complete. Branch chore/overnight-pr-shakedown-20260605 off origin/main@7f845bc. Baseline: build GREEN, test 34 fail/671 pass, lint 1695 err. Integrated 12 PRs (#592 #540 #567 #553 #539 #527 #577 #586 #581 #575 #593 #544 #550) — all build+test+lint GREEN. Final: build GREEN, test 33 fail/676 pass (+5 pass, no regressions; remaining 33 are pre-existing), lint 1688 err (-7). Fixups: exported getBearerToken (#575), restored normalizeCron null-guards (#550). Opened consolidated PR #595. Needs Eric: #463 (fork-registry rename), #558 (refactor conflicts #540), #571/#543/#589 (large overlapping), #563 (i18n out-of-scope), Docker issues #591/#584/#580/#560. Drafts skipped.