Root cause of twitch + overlap: source.onmessage ran an unconditional full
board rerender (cardsEl.innerHTML=) on EVERY change event, and the enter
animation was on a global `.card` selector so it replayed on all cards each
rerender.
1+2) SSE onmessage now parses event.type and only rerenders the board on
type==='task' (message/ask/decision/memory/handoff/agent no longer
trigger a board rerender; budget still refreshes — it has its own
diff/throttle). renderBoard() rebuilt as a per-card diff-patch
(patchColumn/cardSig/cardNode): untouched cards are kept + reordered,
only new/changed cards are (re)built. Enter animation scoped to a
one-shot .card-new class. min-height added to the .card transition list
so the console-open growth is smooth. Open live consoles preserved
(reapplyConsoles unchanged; kept nodes retain their console DOM).
3) setMetric() pulses the .metric-card (.metric-flash + @keyframes metricFlash)
only when the value actually changes from a previously-seen value.
4) Donut center readout moved from a CSS top:66.7% div to SVG-native <text>
in viewBox coords (x=110, value y=102, label y=120) so it scales and sits
in the arc opening. .donut-value/.donut-label restyled with fill.
TSK-0154 politur: .cc-line.level-bridge .cc-text color.
tsc clean; vitest 36 files / 184 tests green. Visual points are Screenshot/
manual (no board.test.ts). No console regression.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
AgentHub
Local coordination layer for AI coding agents.
Install
AgentHub is not yet published to npm. Clone the repository, build it, and link it globally:
git clone https://git.rebreak.org/chahine/agenthub.git
cd agenthub
pnpm install
pnpm build
npm link
After npm link, the agenthub command is available everywhere.
Quick Start
agenthub init
agenthub task create --title "Implement DNS cache" --role implementer
agenthub handoff create --fromRole architect --toRole implementer
agenthub status --update
Supported Agents
- Claude Code
- Codex CLI
- Kimi Code CLI
Network Mode
AgentHub can expose a project to other machines on the same network. Discovery is automatic: as soon as the host broadcasts, a client can find it without knowing the IP address.
On the host machine (e.g. Mac):
cd my-project
agenthub init
agenthub server start --host 0.0.0.0 --port 3377
On another machine (e.g. Windows) run init and accept the discovered server:
cd my-project
agenthub init # asks to connect to the LAN server it found
agenthub task create --title "Windows task" --role implementer
agenthub status
For non-interactive setup, let init discover the server automatically:
agenthub init --server auto
After init, every command automatically talks to the configured server. You can still override it per command with --server http://<ip>:3377 or via the AGENTHUB_SERVER environment variable.
The init --server step only stores the server URL locally; it does not create a second project. The host machine keeps the single source of truth.
License
MIT