Repository navigation
Conversation
Update binary size, test count, channel count, provider count, tool count, source file count, and lines of code to match current codebase reality. Changes across 5 files: - Binary size: 678 KB → ~2.7 MB (minimal) / ~4.1 MB (full ReleaseSmall) - Tests: 5,300+/5,640+ → 6,300+ - Channels: 19/17 → 24 (added WeChat, WeCom, Teams, Max, External) - Providers: 50+ (9+41) → 100+ (12 core + 92+ compatible) - Tools: 35+/30+ → 38+ - Source files: ~230/245 → ~260 - Lines of code: ~249K/~204K → ~237K
|
Not only numbers, also missing clear instructions on how to setup gateway and web UI when using Talescale and how to setup tunnels! |
Maintainer edits available on all branches; CI green where run; nullclaw#777/nullclaw#775/nullclaw#774 conflict (branch updates required); all PRs BLOCKED by review-required protection — first merge will test whether maintain role clears it. donprus courtesy done via Discord by user.
|
This needs an update before it can merge. The branch conflicts with current Two checks from this week, on a ReleaseSmall macOS arm64 build: the default binary is about 4.9 MB, and The toolchain pin is Zig 0.16.0. Please do not restore 0.15.2 while rebasing. #775 also edits |
Supersedes nullclaw#774. Every figure below was recomputed from source at main (5f1cade) rather than carried forward, because nullclaw#774's own numbers had themselves gone stale: it proposed 6,300+ tests against an actual 7,499, and ~2.7 MB for a binary that measures 4.66 MB. ## Scale figures - Source files 245 -> 293; src LOC ~204K -> ~290K; tests 5,640+ -> 7,499. - Providers: "50+ implementations (9 core + 41 compatible services)" -> 10 core implementations plus 110 OpenAI-compatible registry entries, counted from the `.{ .name = ... }` table in `src/providers/factory.zig`, which is the actual single source of truth for compatible providers. - Channels 17 -> 24; the architecture tables listed a partial set that omitted Teams, Max, WeChat/WeCom, and Weixin. Now labelled with the count and the omissions filled in. English and Chinese kept in sync. - Tools "30+" -> 40 registered implementations, counted from `tool_name` constants in `src/tools/`. ## Binary size — a real discrepancy, not just a stale number `README.md` and `CLAUDE.md` claimed 678 KB, and AGENTS.md set a sub-1 MB ReleaseSmall target. A host build measures 4,889,528 bytes (~4.66 MB, aarch64-macOS): zig build -Doptimize=ReleaseSmall && ls -l zig-out/bin/nullclaw That is roughly 7x the long-quoted figure and about 4.7x the stated target. All three now state the measured value, AGENTS.md marks the sub-1 MB goal as an open gap rather than a met constraint, and a verification command is included so the figure is re-checkable instead of asserted. This is a product-accuracy finding, not only a docs fix: the headline size claim has been wrong for a long time. Worth deciding separately whether to shrink the binary or restate the target. ## Keeping the numbers current The recurring failure is that these figures are hand-maintained and silently rot — nothing in CI checks them, which is also why nullclaw#774 went stale in the first place. AGENTS.md §1 now carries the exact commands used to derive each number, and all of them were confirmed to run as written. A repo-wide sweep confirms no remaining 5,640 / 5,300 / 678 KB / 0.15.x references in the touched files. Note for reviewers: the "last verified at 5f1cade" marker is the point at which these numbers stop being true. Please re-derive rather than increment them. Docs only, no code touched. `zig build test --summary all` 13/13 steps, 7490/7499 passed, 9 skipped, 0 failures, 0 leaks. `zig build -Doptimize=ReleaseSmall` and `zig fmt --check src/` both clean.
|
Closing as superseded. Full credit to @telagod for this one — auditing the documented scale figures was the right call, and the fact that it was needed at all is a criticism of the repo, not of the PR. The idea is sound and is being carried forward in #1039. The numbers, however, had to be re-derived from scratch rather than adjusted:
Six months of drift on a repo that was mostly inactive, so the delta is larger than the correction. Two further reasons it could not have landed as written:
#1039 also adds the derivation commands to |
Problem
Documentation across README.md, CLAUDE.md, AGENTS.md, and architecture docs contains outdated numbers that no longer match the actual codebase.
Changes
All numbers verified against source code:
zig build -Doptimize=ReleaseSmall && stat zig-out/bin/nullclawzig build test --summary all→ 6,337 passedChannelIdenum insrc/channel_catalog.zigcompat_providerstable + core factorysrc/tools/file countfind src/ -name '*.zig' | wc -l→ 259wc -lacross all .zig filesFiles Modified
README.md— 7+ stat locations updatedCLAUDE.md— binary size, test count, provider countAGENTS.md— source files, LOC, test count, provider count, channel countdocs/en/architecture.md— provider/channel counts and listsdocs/zh/architecture.md— provider/channel counts and lists (Chinese)