Files
portal/runs/rehab-entreprenor-no-2026-09-21/README.md
T
Bendik Aagaard LynghaugandClaude Fable 5.1 b53e7e6aca generate: a Norwegian run on a local model, and what it took to read it
Every prompt and reply is now kept under <out>/llm/. An empty reply is
a retry, not a fatal error; a spec that never parses stops the run
before the structure phase; --visitor-llm lets a different model play
the visitor. The file-block parser finds markers anywhere in a line,
accepts a short END and lets a new FILE close an open one, after a
reply glued two files together with `<<<END>></think>`. The reference
gains a language section: copy in the intake's language, identifiers
in ASCII.

runs/rehab-entreprenor-no-2026-09-21: nemotron-3.5-lightning:30b-a3b
did not produce a loadable site. Written up with the reason and the
way forward: structure from needs.yaml deterministically, words from
the model.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
2026-09-21 20:21:46 +02:00

1.6 KiB

Norwegian contractor, generated by a local model: failed

Intake: intakes/rehab-entreprenor-no.yaml. Generator: nemotron-3.5-lightning:30b-a3b on ergo's Ollama, six rounds per phase, about 16 minutes. It never produced a site that loads.

  • The spec parsed on the fourth try, after nesting personas inside each need once and returning no files at all twice.
  • Structure went 11 failures, 1, then a YAML syntax error it could not get past in four rounds: an end marker came out as <<<END>></think> with the next file glued to it, so two files were written as one. The parser now tolerates that; the model did not notice it when shown the file back.
  • It copied the reference's English example into its desk page (bucket: leads, "Quote sent") instead of writing its own, never wrote aggregates.yaml, and one reply was 40 KB of empty code fences (truncated here).
  • The Norwegian is mixed: "Hva trenger du hjelp med?" is fine, "kvalifisert mandskap" is Danish spelling, and it kept å in a state name against the reference's rule.

A Sonnet-class model did the English contractor in one round per phase. What this run says is that a 3B-active model cannot hold the whole content reference and write a dozen interlocking files at once, in any language. The way to make small local models useful is to give them less to do: generate aggregates.yaml, desks and followup pages deterministically from needs.yaml (stages, done_when, handled_by already say everything those files contain), and ask the model only for words - the page question, headings, descriptions and field labels, one page at a time.