v0.4.0 — the structure screen grows a tree, and axis 3 lands where it lives
GUI
- Structure tree lens (
map | treeswitch, persisted): an indented
directory tree over the SAME report the treemap renders. Each row rolls
its subtree's findings into a heat rail (log-ranked against the report's
own range), carries an own-findings chip, subtree/files columns under a
sticky header, and inline axis tags — the count becomes the answer.
Unary chains fold exactly like the treemap's strips; selection and the
detail aside stay shared across both lenses. - Squarified treemap (Bruls et al. 2000) replaces the slice-and-dice
layout: tiles approach unit aspect, unary chains collapse to one strip,
labels middle-truncate, and a paint-order halo keeps text legible on the
hot end of the ramp. - Three-screen polish round: brand header, alarm-ramp legend, score bar,
chips-based summary, trend endpoint marker, candidate magnitude bars,
language toggle fixes, and a window floor of 860×560.
Judgment core
- Axis 3 (misplaced) now reports its directories:
findingscarried
no axis-3 rows even though the axes strip counted them — on this
repository, 42 misplaced-file violations (46% of the judged total) were
invisible to both GUI lenses and to the report's per-directory face.
One predicate now feeds both faces (count + deduped dir list); the
structure golden and the hand-computed test assertions moved with it.
Guard / reports
- The Stop audit closes its untracked blind spot:
git diff HEAD
cannot see a brand-new file, exactly what a probe-bypassing shell write
leaves behind. The stop path now mergesls-files --others --exclude-standard(binaries count 0 lines,.ce/skipped);
ce precommitstays staged-only by design. ce graph --sites --format jsoncarries a schema id
(ce.sites-report/0.1.0) — the last bare-JSON face among the eleven
report families.
Site & docs
- codeeraser.dev: showcase screenshots (treemap, tree, candidates), an
architecture SVG shared by the README and both site pages, narrow-screen
overflow fixes (onemin()sweep), and stylesheet cache-busting so a
deploy reaches returning visitors immediately. - README (en/zh): hero screenshot, architecture diagram, tightened
install section.
CI
- The ubuntu apt step gets real armor: a pinned mirrorlist, per-try
timeouts, three attempts, and a 15-minute step budget — measured at
23s on a healthy day instead of a six-hour black hole on a bad one.
Full test surface for this train: 54-case end-to-end matrix (all report
families, ratchet lifecycle, guard modes, daemon + MCP, installed-binary
resolution), core golden suite, cli integration suite, and the dogfood
gate this repository runs on itself every push.