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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
A terminal-editorial redesign of the whole site (owner-approved mock). Near-black paper,
JetBrains Mono everywhere, a Doto dot-matrix wordmark and numerals, square corners, film
grain, viewfinder frame — and one accent, spent only on meaning. The homepage opens on the
live axios map with merge() pre-selected and its 56-function blast radius lit in
chartreuse; the map itself went dithered (pixel-square nodes, stippled edges, HUD crosshairs).
Benchmark stats render as pixel-block meters (grep 44% vs codeweb 74%). Fonts are
self-hosted, same-origin; the social-preview card matches.
The report UI itself is redesigned to the same system. Domain bubbles became dithered
square blocks with their symbol count set inside; edges are straight stippled strokes with an
accent "blast" state, so a selection's impact reads at a glance; the selected node wears the
accent with a viewfinder frame. The masthead is a mono-caps HUD (pixel glyph, boxed tabs,
square search and buttons), findings badges are monochrome (accent = high-confidence only),
and every place a hue used to carry data — domain slots, matrix cells, treemap density — now
uses a luminance ramp, which survives every kind of color-vision deficiency by construction.
Dark is the default; light is an explicit paper mode and auto follows the OS. Labels get a
deterministic screen-space collision cull, so dense graphs stop rendering as label mush.
A README banner in the brand language (assets/brand/banner.png): Doto wordmark, pixel
glyph, caps tagline, and a dithered mini-map with one accent-selected node. The pipeline
SVGs (demo.svg, pipeline.svg) and the homepage stage illustrations are redrawn in the
same square/stipple/single-accent language.
An unlisted npm-downloads dashboard at /downloads.html: daily download counts of @ghostlygawd/codeweb over time, fetched client-side from npm's public API and drawn as a
dependency-free SVG. Built with the site but excluded from the sitemap and linked from nowhere.
Changed
One ratified identity, on every surface (CHARTER.md, new at the repo root, with a CLAUDE.md pointer so agents read it first). The job line — "Your agents break less code
and burn fewer tokens." — now leads the README, the site homepage, tagline, and og titles,
and the npm / plugin / marketplace / MCP-registry / GitHub-About listings; check-consistency
reads the line from the charter and fails any of those surfaces if it drifts. External review
is billed as a feature note, not a second mode. The support copy drops the "AI bills from
benchmarking" story, ruled fabricated in the charter's interview (C7): sponsoring supports
the project and sponsors get featured README/site placement, and the enterprise offer
softens to an email doorway — no price, no SLA claim. docs/ROADMAP.md is rewritten to the
charter's Now/Next/Not-now with dated corrections, and the two strategy documents carrying
the fabricated cost premise now open with correction banners.
The funnel leads with the trial. A "Try it on your repo" section (the npx one-liner) sits
directly under the README hero, and the homepage hero carries the same command — seeing your
own repo mapped is the pitch. The axios case study is demoted from a bold callout to a plain
link under the screenshots. The README masthead drops the hero graphic and the decorative
engine/MCP/sponsor badges: a text wordmark, the tagline, and three badges (CI, npm, license).
Every screenshot and the live demo now show the redesigned report. The demo is the same
committed axios graph re-rendered through the new template (274 product symbols, 8 domains),
the five README/site screenshots are re-shot from it, the blast-radius caption now states
what the committed graph actually contains (27 call edges into AxiosError — the old "58
users" figure doesn't match this artifact), and the injected demo nav matches the HUD
(caps, square, no pills).
Plain-language pass over the whole marketing funnel. The README, homepage, and plugin
listing now state what codeweb is instead of performing the problem — the rhetorical-question
opener and "Today…" windup are gone, and the proof bullets carry spec-sheet labels
(Correctness / Duplication / Speed at scale / Agent lift / Limits). Study apparatus left the
pitch too: the hero's grep-vs-codeweb benchmark table, the "referee"/"oracle" framing, and
the outbound vite/axios repo links are gone or moved behind the evidence ledger — the pitch
says what you get; the research page says how it was measured. The proof section is now
"Benchmarks": benefit-first bullets (callers found 44%→74%, impact answers at 1/126th the
tokens, renamed-duplicate detection text search can't do) with no meta-talk about our own
rigor — the 32/33 pre-registration story lives on the research page. Engineering properties
left the marquee: the DETERMINISTIC · READ-ONLY · ZERO-DEPENDENCY strip is gone from the hero
(README and hero.svg), and the plugin/marketplace listings say "27 MCP tools" — read-only and
zero-dep stay where the worry arises, in install and trust copy. Shorter sentences,
stats stated as outcomes ("+0.31 recall" now reads "with grep agents found 44% of a
function's callers; with codeweb, 74%. Your agents break code they don't see"), and the
MCP tool list regrouped by when agents meet each tool (which also
surfaces codeweb_explain, previously undocumented in the README). Density is now gated:
marketing paragraphs cap at ~55 words, enforced by tests/copy-density.test.mjs, with the
voice rules recorded in CONTRIBUTING.md. And the README is a landing page again: its
reference half — outputs, per-tool docs, the capability table, the full MCP tool groups, the
component tree — moved to docs/reference.md, linked per-job from the README (which drops
from ~650 to ~330 lines). Two overclaims corrected:
the homepage no longer calls 16k+ graphs "measured green" (the expand-all receipt says green:false at that scale), and the pre-registration page no longer says the full study
re-runs in CI (CI re-measures the standing budgets; the study re-runs via bench/run-all.mjs).
The stale "286-test suite" figure is dropped or time-qualified everywhere it appeared.
The regression gate is ONE verdict with a declared strictness knob.gateVerdict (graph-ops)
now backs diff/CI, simulate, the post-edit hook, codemod, and review --gate; payloads carry verdict.check (orphan-gate vs call-caller-preflight), exported symbols that lost every
in-edge are LISTED and flagged exempt instead of silently dropped, and every doc states the real
rule. simulate/codemod speak for their own check instead of borrowing the gate's.
run.mjs joins the fleet's stream contract: results (the done block, or the new --json
one-liner) on stdout, progress on stderr; wrong-path targets exit 2, not the stage-failure code.
codeweb_context: bodies: "windows"|"full" replaces full's second meaning — full is
the unabridged-list switch only. Agents wanting whole caller bodies pass bodies:"full".
One pagination dialect over MCP: offset honored on risk/hotspots/break_cycles, nextOffset beside every remaining, reading_order surfaces its truncation, and the MCP layer
now rejects unknown argument names and non-boolean booleans the way the CLI always did.
The shared parser coaches: did-you-mean on unknown flags, --flag=value accepted, and the
no-map cause+remedy is APPENDED to a tool's usage instead of replaced by it.
One name per concept: "domain" everywhere the report/brief/og said "areas"; deadcode's heading
hedges up front and shows the annotate --suppress door; "blast radius" defined at the lens,
settings, and optimize surfaces.
Fixed
find_similar.count is the true match total again (it reported the capped length), with more.remaining when capped.
Three product-page tool cards rendered the literal word "undefined" (data key drift); the site
build now fails on a desc-less tool.
The CI gate action stamped "structural regressions" over setup failures — exit 2 now names the
shallow-checkout cause and remedy, ci-gate forwards the child's stderr tail, and the quickstart
bins exit 2 (never the regression code) on old Node.
codeweb_map failures keep the extractor's escapes-first explanation instead of a beheaded
stderr tail recommending a flag the tool cannot pass.
The pre-edit hook no longer returns permissionDecision: "allow" — it is advisory context only.
The SessionStart hook says one line (once per workspace) on an unmapped repo with source,
instead of the silence that read as "the plugin doesn't work".
annotate refuses to invent a fresh .codeweb/ in an unmapped cwd; refresh/fitness/placement/
codemod resolve graphs through the one loader.
Docs that lied outside the consistency sweep (README's gitignored "bundled sample", agent-tools'
stale tool count, tests/README's Node floor, the runbook's test count, marketplace.json's
version) — corrected and swept from now on; new docs/cli.md tables every bin, flag,
environment variable, and exit code; new CONTRIBUTING.md.
site/data/product.json's (currently unrendered) elevator still said "24 deterministic MCP
query tools" — corrected to 27, and check-consistency now scans every prose string in the
site data file so this class self-catches.