Skip to content

Status line improvements: sessions/demo CLI, failure diagnosis, rotating faces#3

Merged
livlign merged 4 commits into
mainfrom
feat/status-line-improvements
Jun 14, 2026
Merged

Status line improvements: sessions/demo CLI, failure diagnosis, rotating faces#3
livlign merged 4 commits into
mainfrom
feat/status-line-improvements

Conversation

@livlign

@livlign livlign commented Jun 14, 2026

Copy link
Copy Markdown
Owner

A batch of improvements from a working session. Each commit is self-contained and reviewable on its own.

What's in here

ccbit sessions — prints the full live-session roster the heartbeat dir already holds (the inline line-1 hint only had room for a fragment). Actionable states first; --json to pipe.

ccbit demo — previews every state and all the face parts from synthetic data (reads nothing). Doubles as a manual QA tool and the harness for the hero visual.

ccbit version / help — the version ldflag was stamped but never printed; now there's a CLI to surface it.

Rotating faces — Working and Idle now assemble per turn from shared parts: a pool of eye cores and a per-state pool of hands, picked by a turn-derived seed. Steady through a turn's repaints, varied between turns, deterministic (no flicker, no jitter across concurrent renders). Working hands are animated 2-frame gestures.

Build-failure diagnosis — the Failed line now appends a concrete reason (compiler location, named test, or exit code) extracted from the captured output, with an optional ~/.config/ccbit/error-signatures override. No network.

Installer integrity — the curl|bash installer now verifies the binary's SHA-256 against the release checksums.txt and refuses to install on a mismatch.

CI — new workflow: gofmt/vet lint + build/test matrix across ubuntu/macOS/windows. (Previously tests never ran on PRs.)

Notes

  • A few face glyphs (ᕙ ᕦ ง ว, eyes ◔ ʘ, cup ) render great on mac/linux but may tofu on a poor Windows font — they're single-width so they don't break layout; the cup keeps a narrow fallback. Run ccbit demo to verify in a given terminal.
  • All packages build, vet clean, gofmt clean, tests green.

🤖 Generated with Claude Code

livlign and others added 4 commits June 14, 2026 19:29
The curl|bash installer downloaded the release tarball with no integrity
check. Fetch the release's checksums.txt and verify the asset's SHA-256
before installing, refusing to install on a mismatch. Skips gracefully
(with a warning) only when verification genuinely can't run: checksums
unreachable, asset unlisted, or no sha256 tool present.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Runs on push to main and PRs. A lint job gates gofmt and go vet; a test
matrix builds and tests on ubuntu, macOS, and windows (the three platforms
the release ships). Previously only release.yml existed, so tests never ran
on PRs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Extracts a short, glanceable reason from a failed build/test's captured
output: a compiler/linter file:line location, a named failing test, an
error: line, else the bare exit code. High-signal only, so a miss yields
nothing rather than a guess. A user-maintained error-signatures file
(pattern->message) overrides the heuristic. No network, no model call.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CLI: a dispatcher routes explicit subcommands (Claude Code still invokes
ccbit bare for the status line). `ccbit sessions` prints the full live-session
roster the heartbeat dir already holds; `ccbit demo` previews every state and
the face parts from synthetic data; `ccbit version`/`help` round it out.

Faces: the Working and Idle faces now assemble per turn from shared parts —
a pool of eye cores and a per-state pool of hands — chosen by a turn-derived
seed, so a face is steady through a turn's repaints and varies between turns.
Working hands are animated 2-frame gestures; the cup idle prop keeps its
narrow fallback.

Failure line: the Failed state appends diag's concrete reason when the build
output gives one up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@livlign livlign merged commit 1bfcb05 into main Jun 14, 2026
4 checks passed
@livlign livlign deleted the feat/status-line-improvements branch June 14, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant