Files
6krrt/deploy/llm-router-poller.service
adlee-was-taken e23182d873 docs: same pass on CLAUDE.md, and stop shipping units nobody else can use
CLAUDE.md claims to be the file to trust on what is currently true, which
makes staleness in it worse than staleness anywhere else. Several sections
were describing a router that no longer exists.

The proficiency section was the worst of it. It documented all 27
category/tier decisions returning a single Pareto-dominant model, and spent
several paragraphs explaining why that was correct rather than a bug. It IS
still a legitimate outcome and the explanation was worth keeping, but it is no
longer what happens: sweeping 9 categories x 3 tiers now returns 5 distinct
winners at both 50k and 120k of context. Rewritten around what a reader
actually needs -- what each outcome means as a diagnostic, and which two
corrections widened it (cost priced per request, tier no longer inferred from
price), so the section survives the next time the numbers move.

"Coding does not discriminate these models" was true of the benchmark and is
now false of the data: coding_general spans 0.86-1.00, because feedback.py
folded 29 samples of real traffic into glm-5.2-fast and crossed
self_eval_min_samples doing it. That is the intended shape of the system --
benchmark sets a floor, real traffic refines it -- so it is now stated that
way, with the per-category spread tabulated. coding_refactor and debugging are
still flat at 1.00 and that is now an open question rather than a boast.

Also stale: 207 tests across 11 files (264 across 14); "the lever is `weights`
in config.yaml", a block that no longer exists; an open question about tier-1
composites being compressed by min-max normalization, which cannot be asked
any more because there is no composite; an open question asking for a minimum
viable eval set, which has existed for some time (23 tasks, four scoring
kinds, verified by counting them rather than trusting the number).

De-personalised the same way as the README: the author's GPU is out of the
opening line, private paths are gone from the outcome-attribution finding
(the evidence survives -- a dependency's source directory inside the project
venv outranked the project being edited), and a note up front says every
measurement here came from one deployment against one account and should be
re-run before being trusted.

The systemd units were the concrete version of the same problem. All three
hardcoded %h/Sources/6krrt, so anyone else copying them per the documented
install would get status=200/CHDIR and no useful message. They now say
%h/llm-router and the install step substitutes the real path with sed.
Verified the substitution reproduces the currently-installed unit byte for
byte, so the running service is unaffected; only the templates changed.

Recorded while checking: deploy/ has five units and one Ollama drop-in, not
the three the docs claimed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WSkcSD2Jzkxo1Kw27ecfXJ
2026-08-22 13:27:31 -04:00

22 lines
656 B
Desktop File

[Unit]
Description=Refresh the NeuralWatt model catalog and re-resolve tiers
Documentation=file:%h/llm-router/CLAUDE.md
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
WorkingDirectory=%h/llm-router
EnvironmentFile=%h/llm-router/.env
# poller.py refreshes the catalog; tier.py re-resolves tiers from it. Tiers
# are derived from cost and reasoning fields the poll may have changed, so
# they always run as a pair.
ExecStart=%h/llm-router/.venv/bin/python poller.py
ExecStart=%h/llm-router/.venv/bin/python tier.py
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=%h/llm-router