oficina / docs Public

Record what running the app actually showed

The catalog question was resolved by reading rastrillo's serve.go, which
merges its base catalog under the app's rather than being replaced by
it. That was the right answer and the wrong way to be sure of it — a
source-read about a merge happening two packages away, standing in for
an observation nobody had made.

So I made it. run-dev.sh, sign in, fetch a document: the page carries
data-rst-select-filter="Type to filter" and contains zero occurrences of
any rastrillo.ui.* or docs.* key in its 34KB. The menu bar renders all
six titles, the exports are plain download links inside the File menu,
the size control opens on 12, the View pair reports infinite pressed,
and setting docs-view=paged comes back as data-view="paged" — the cookie
round-trip end to end, which no test here can reach.

Worth knowing for anyone who tries this next: the sandbox blocks
listening sockets, so run-dev.sh binds nothing and curl gets a
connection refused with the server's own log claiming it is serving.
That is the same restriction that stops Chromium starting. It needs the
sandbox turned off for that one command, and it is the only reason any
of the above could be checked.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Paul Campbell pushed by paul@keymail.dev 1776123cce2aba243ffeac0fd643933cbd38fd8d parent 3a3b493
1 file changed, +15 −7
  • internal/docs/selects_test.go +15 −7
diff --git a/internal/docs/selects_test.go b/internal/docs/selects_test.go
index 18ebb2c..1011578 100644
--- a/internal/docs/selects_test.go
+++ b/internal/docs/selects_test.go
@@ -58,13 +58,21 @@ func TestTheSelectEnhancementStringsResolve(t *testing.T) {
//
// It does not replace them. rastrillo's serve.go builds `base :=
// BaseCatalog()` and merges opts.BaseCatalog on top, so the
- // framework's strings are under the app's and both resolve. Checked
- // in the framework's source rather than inferred from this test
- // going green, because this test could not have told the difference:
- // the harness serves through app.Handler() directly and rastrillo
- // installs its locale middleware in Serve, so in a test NOTHING
- // resolves, ours included, and rastrillo.T returns every key
- // verbatim exactly as documented.
+ // framework's strings sit under the app's and both resolve.
+ //
+ // Confirmed by running the app rather than only by reading that
+ // source: `scripts/run-dev.sh`, sign in, fetch a document, and the
+ // page carries `data-rst-select-filter="Type to filter"` with zero
+ // occurrences of any `rastrillo.ui.*` or `docs.*` key anywhere in
+ // its 34KB. That is the observation this test cannot make, and it
+ // is worth having made once — the alternative was believing a
+ // source-read about a merge that happens two packages away.
+ //
+ // This test still cannot make it, because the harness serves
+ // through app.Handler() directly and rastrillo installs its locale
+ // middleware in Serve, so in a test NOTHING resolves, ours
+ // included, and rastrillo.T returns every key verbatim exactly as
+ // documented.
//
// An assertion that reports the same failure whether or not the bug
// exists is not evidence of the bug. That is AGENTS.md's "cannot