You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
themes/win2k.json, the Windows 2000 "Windows Standard" scheme as a web
theme: ButtonFace grey panels, a white window well, the navy title-bar blue
as the interactive accent, and the 1px hard-edged ButtonHilight/ButtonShadow
bevels the system drew instead of soft shadows.
themes/win2k.css, that theme's chrome, which tokens cannot express: win2k's
own pixel cursors, the caption gradient on the masthead and dialog headers,
pushed-button faces with the default button's black ring, sunken text wells
and checkboxes, 16px arrow scrollbars, menu and dialog frames, and flat LED
blocks where the cabinet drew glowing lamp domes. The page links it the first
time the win2k theme is applied and never for another theme, read from the
catalog's css name; GET /webui/themes/<name>.css serves a palette's
companion sheet from themes/ the way the palettes themselves are served, so
a themed skin stays a drop-in with no host rebuild and no page weight.
Changed
Skill triggers: lookup (was research) no longer steals the research
tool; improve no longer fires on ordinary code edits; write-goal, mcp, and ponytail descriptions name the phrases that should load them. clanker gate skills-inventory now fails a frontmatter description longer
than the 220-byte prompt clip, instead of listing a truncated trigger.
GET /api/sessions/search and clanker session search go through the sessions guest, so the Search page, the CLI, and the session_search
tool share one hit shape (id, title, updated, archived, turn, role, snippet, more, truncated). The guest used to drop turn
and archived, which is what the Search page jumps on.
clanker chat --help names the subcommands (rooms, send, history, subscribe) on the usage line. Bare chat is still chat rooms.
clanker config --help names dump on the usage line. Bare config is
still a dump.
Web UI PatternFly radius and glass tokens follow the cabinet 2–4px plate
scale instead of PatternFly's 16px/24px cards and blur. Engraved labels
share --track-label; titles are untracked.
Fixed
gh_read caches GitHub responses under (url, token), not the URL
alone, so a rotated GITHUB_TOKEN is not served another identity's
body. Expired files in state/gh_cache/ are deleted on the next write.
GET /api/catalog no longer holds the catalog lock across a models.dev
fetch, and the in-process snapshot is dropped when state/models-dev.json changes, so a clanker providers refresh from
another process is visible without a restart.
clanker mcp recompiles a cached tool when its .wasm file changes,
matching the agent loop.
Creating a board card that names a goal already mirrored by a live card
returns that card instead of posting a second add. A retried HTTP POST or
two browsers mirroring the same goal used to leave two cards; the fold
now keeps the first.
clanker notify (and the peers notify tool) stamps a delivery id that is
stable for a given message within a 60-second window, so a retry after a
lost response is dropped by the inbox instead of stored twice. Pass id
to pin a longer-lived key.
note_write of a sentence already in state/learnings.md returns duplicate and does not append a second bullet.
Trimming state/autolearn.jsonl, state/reasoning.jsonl, and state/token_stats.jsonl reads a bounded tail instead of the whole file.
A log that had grown past its cap used to allocate without bound (autolearn
with an unlimited read) and then fail to trim, so the file kept growing.
Session search no longer opens every conversation database when the FTS
index already named the matching ids.
Parallel tool workers now receive the same agent sandbox extras as the
sequential path, including the conversation session_id. A parallel
kernel, debug, or jobs call used to land under "default" instead of the
run's session.
clanker run --stream was documented and parsed, then refused as not an
option for the command, so a monitor could not get the live usage lines
the flag exists to print.
clanker chat send <room> with no message said clanker notify needed
one. The two commands shared the same missing-argument token.
Session databases, their WAL sidecars, and the session full-text index are
created owner-only (0600). sqlite3's default create mode left conversation
text world-readable on a shared machine.
Trimming state/reasoning.jsonl keeps the owner-only mode; the rewrite
used to drop it to the process umask.
A failed scheduled entry logs the task's length, not the task text.
Process-global DAP session and background-job tables are released at
exit, so a debug-tool run that timed out no longer leaves a hash-map
allocation in the DebugAllocator leak report.
clanker doctor no longer treats a backup snapshot named with an impossible
calendar date (31 April, 29 February in a non-leap year) as the newest
snapshot. Those names used to overflow into a later real day and win the
lexicographic newest-name scan.
The Runs list labels a run "yesterday" on calendar day, not after 24 wall
hours. The morning after a spring-forward a Sunday run was still "23 hours
ago".