Releases: EricTechPro/super-board
Releases · EricTechPro/super-board
Release list
v1.2.0 — initial public release
Release notes
v1.2.0 — 2026-05-24
First public release.
Worker-storm fixes (post-incident #381, originally landed in EricTechPro/BookKeepingApp 2026-05-22)
- PID tracking + per-lane lockfile. The dispatcher tracks
BUILD_PID/QA_PID/REVIEW_PIDand refuses to dispatch into a lane whose worker is still alive. Closes the 10–30sclaude -pcold-start race that produced 7 racing workers on the very first run. - In-flight lockfiles at
.claude/super-board/inflight/<issue-N>containing the worker PID.top_card_in_columnskips any issue with a live lock even before the assignee write propagates. Reaped each tick via PID liveness check. - Atomic assignee claim BEFORE worker spawn.
try_claim_assigneeruns in the dispatcher and only proceeds tonohup claude -pif it wins the assignee write. - Orphan scan on startup. Refuses to start if any
claude -p .*super-board runworker is already alive from a prior crashed dispatcher run.
Rate-limit fixes
- Tick interval bumped 30s → 120s. ProjectsV2 GraphQL query is ~103 points regardless of board size; 120s keeps usage at ~3.1k/hr, comfortably under the 5k/hr GraphQL budget.
- Rate-limit guard sleeps until reset when GraphQL remaining drops below 200.
- Per-tick project-items cache — one
gh project item-listper tick, not per column lookup. ~7× quota cut. - Worker rate-limit etiquette — sub-agent gh-call budgets, local
git blamepreference,gh-quota-on-exit:line required on every PR handoff comment.
QA evidence
- Mandatory inline screenshot embeds on every QA exit (pass and fail) at standard viewports (1920×1080, 1024×768, 375×667). Screenshots committed to the issue branch BEFORE the GitHub comment is posted, so they render in-page.
docs/super-board/runs/**/*.{png,jpg,webp,html,log,patch,diff,zip,trace}gitignored by default. Keep.mdand.jsonsummaries tracked for audit trail; drop the heavy artifacts. Users adopting on existing repos:git rm --cached docs/super-board/runs/**/*.pngetc. to untrack what's already in.
Documentation fixes
- Card-locking semantics corrected. The original spec said the GitHub assignee write was the lock. In practice it doesn't hold up — assigning yourself something you already have is a no-op on a solo account, and GH issues accept multiple assignees, so it never blocked a second worker. The real lock is the local
.claude/super-board/inflight/<N>lockfile + per-lane PID tracking. Docs updated throughout.
Other
- Multi-attempt card-move guard. Workers must call
sb_gh_guard_check(or equivalent retry-with-backoff) around the column-move mutation and write amove-mutation-result: ok|err|skippedline in the PR handoff comment. Lets the dispatcher log retries and budget for them instead of silently re-dispatching every 10 min. - CI-budget bypass (💳). If remote CI jobs
failed_to_startdue to Actions budget AND local-evidence is strong (truth gate passed, Tester clean, all threads clean), the Reviewer can squash-merge on local evidence with a🛡 → ✅ CI-budget bypasscomment citing the failed run ID, Tester pass-count, and truth-gate score. Only for💳— never for🛡truth-fail,🔐missing creds, or🧑human-only decisions.