shibumi-server 0.7.11 verifies dev.shibumistack.* labels on uploaded
images; v23 built unlabeled images, failing 'app identity does not
match'. v24 labels the build and adds --rebuild.
The stock installer overwrote scripts/ship.ts with a version that has
no prebuilt-image support, while shibumi-server.json and the server
still run prebuilt mode. Restores the bf1ae40 script that builds and
uploads images locally.
* Add daily triage automation (skill-driven, local host)
Self-resuming morning loop: gathers CI failures, open issues, and recent
commits via gh, dedupes against a local state file, drafts fixes in isolated
worktrees with an adversarial reviewer pass, opens PRs on green, and keeps
contributors out of limbo with voiced acknowledgments.
Machinery (committed):
- skills/triage: SKILL.md + state-schema, finding-rules, comment-policy
- scripts/triage: host-agnostic run.sh, bootstrap.sh, prompt.md, README
Data (.triage/: state, inbox, runs, voice) is gitignored and stays local,
which pins the host to local (launchd/cron); CI-host migration is documented.
Guardrails: PRs only (never push/merge/force); caps of 3 fixes/run,
2 attempts/finding, 2 files/fix; auto-post low-risk acks only, substantive
comments drafted to inbox; skip issues with an open linked PR; stale-thread
apology preamble for threads idle >2 weeks.
* triage: nudge on unkept maintainer promises
New read-only signal: scan bitbonsai's past comments for commitments
("I'll fix", "will add", "next release") on threads still open with no
merged PR. Surfaces each to the inbox under 'Open commitments' with the
quoted promise and age; optionally drafts the fix if it meets the
worth-doing bar. Deduped per thread (promise:<issue#>), never auto-posted.
* triage: scrub em dashes from machinery and comment templates
* triage: prefer reviewing existing PRs over writing new fixes
A contributor's open PR beats a freshly written one. Findings with a
candidate PR now route to a review (approve / request-changes drafted to
inbox) instead of a competing fix; unreviewed PRs are themselves surfaced
as findings. Also switch finding ids from sha1 to a readable composite
(source:signature) so the state file stays debuggable.