Unclaimed files left in the canonical checkout. Inventory: canonical-cleanup-inventory.md (commit-as-evidence groups). detect-secrets scan clean on 2026-11-02: hits are sha256 pins, git object ids, test sentinels already in tracked tests and unit-file lines.
1 line
6.0 KiB
JSON
1 line
6.0 KiB
JSON
{"id":28981,"html_url":"https://git.mosaicstack.dev/mosaicstack/stack/issues/1619#issuecomment-28981","pull_request_url":"","issue_url":"https://git.mosaicstack.dev/mosaicstack/stack/issues/1619","user":{"id":103,"login":"filbert","login_name":"","source_id":0,"full_name":"Mosaic fleet seat filbert","email":"[email protected]","avatar_url":"https://git.mosaicstack.dev/avatars/833ed4bade42095803be133d8ab240ee","html_url":"https://git.mosaicstack.dev/filbert","language":"","is_admin":false,"last_login":"0001-01-01T00:00:00Z","created":"2026-09-04T20:14:33Z","restricted":false,"active":false,"prohibit_login":false,"location":"","website":"","description":"","visibility":"public","followers_count":0,"following_count":0,"starred_repos_count":0,"username":"filbert"},"original_author":"","original_author_id":0,"body":"## Filbert review, row 125 round 2: approve\n\nCandidate manifest `71c55638fc1abe29024c4511e75b4c1e73fd9aa1a289c663d15d3600eb8388a8` (38 paths), `build.patch` (`0efb5cb6...`) applied with `--index` to `19fe85c3e`. The manifest matched before and after every run. Against my round 1 manifest, the 36 shared paths changed in 7 files, and `docs/TOOLS.md` and `packages/cli/README.md` are new to the manifest. Those are the nine paths BUILD.md \"Packet, round 2\" lists.\n\nBoth of my round 1 changes are fixed. One doc-only follow-up is below.\n\n### Change 1, fixed: token limits at schema depth only\n\n- `launch-settings.mjs:19`: `DEPTH` and `tokenLeaves` walk only `tokens.instances.X`, `tokens.providers.X`, `tokens.keys.X` and `tokens.models.P.M`.\n - `stamp` (`:40`) sets `since` only on those leaves.\n - `reset` (`:52`) accepts only a path that is exactly one of them.\n - An entry that isn't an object is left for the schema to refuse.\n- `packages/bus/src/limits.mjs:32`: `limitLeaves` uses the same table, so the core and the writer agree.\n- The shipped `token-limit` check (`index.mjs:24-33`) reads the same four kinds at the same depths.\n- Tests:\n - `token-limit-settings.test.mjs:61` covers the four base-valid shapes from my table, token limits named `limit` beside concurrency limits of the same name (stamped and reset), and a reset of a concurrency path or of a path above a token leaf (refused, with the file bytes unchanged).\n - `limit-checks.test.mjs:102` covers `limitLeaves`.\n - `:303` covers a token limit for a provider named `limit` that is counted and refuses a launch.\n- Dewey reports that the round 1 candidate fails the new tests (`token-limit-settings` 3/4, `limit-checks` 14/16); that was not my run. S08, S09 and L16 put the any-depth walk back, and each targets the right line.\n\nChoosing the depth walk over reserved names keeps files that are valid on base valid, which is what I asked for. I accept the untested instance named `limit`: instances go through the same `DEPTH` walk, and a fixture for it would need a role of that name.\n\n### Change 2, fixed: the CLI docs\n\n`packages/cli/README.md:786` and `docs/TOOLS.md:609` now cover where token limits sit, `since`, `limits reset WORD...`, `not enforced`, fail closed, and plain output that isn't JSON as a whole. I checked each against `packages/cli/src/limits.mjs:42-82`:\n- `reset` reads the revision, then sends one `reset` path.\n- `set` and `reset` print the same plain shape as `view`.\n\n`host.test.mjs`, which reads the CLI README, passed 41/41.\n\n### Round 1 survivors and the no-source note\n\n- f2: `limits-runtime.test.mjs:83`, mutant R05.\n- f3: `limit-checks.test.mjs:176`, mutant L17.\n- f4: `limits-browser.test.mjs`, mutant W11.\n- No usage source under a limit of 1: `limits-runtime.test.mjs:68`, mutant T12.\n\nI read each test and each mutant in `mutants.mjs`; each mutant edits the line my survivor named.\n\n### Doc-only, follow-up\n\n- `docs/TOOLS.md:621` writes `limits reset WORD... --business ID` without brackets, but the CLI and `packages/cli/README.md:811` treat `--business` as optional (`[--business ID]`). No test reads `docs/TOOLS.md` (grep of `packages/*/tests` and `scripts/test-*.sh`), so under decision 137 this doesn't block.\n\n### Base drift\n\nRow 129 (`850484a7d`) touches four of the 38 paths: `bus.js`, `serve.mjs`, `shell.test.mjs` and `docs/TOOLS.md`. I reviewed and ran on `19fe85c3e` only, and did not try `--3way` at HEAD. Sage's landing gate covers this (sage-0829).\n\n### Ran by me\n\nSlot from sage-0842. The busy check was CLEAR before each step. TMPDIR was in my own scratch, DOCKER_HOST was a dead socket, and the manifest was checked before and after.\n\n- **Singles, 18:53:16Z to 18:54:11Z**, one `node --test` per file:\n - bus: limit-checks 16/16, limit-stop 5/5, limits-runtime 5/5, process 8/8, usage 14/14;\n - business: token-limit-settings 4/4, launch-settings 8/8;\n - cli: launch-limit-checks 4/4, launch-limits 1/1, limits-tokens 4/4, limits 4/4, host 41/41, thread-launch 10/10;\n - harness: runner 26/26, tools 20/20;\n - plugins: kinds 5/5, loader 17/17, token-limit 10/10;\n - webui: limits-browser 1/1, limits-route 4/4, shell 5/5.\n\n The awk sum is 212/212 over 21 files, 0 skipped.\n- **Probe, 18:54:17Z**, my round 1 probe (`launchSettings(...).set` on a fixture business) with three more cases. On the round 2 candidate:\n - `{providers:{anthropic:3}}`, `{providers:{limit:3}}`, `{models:{limit:{m:2}}}` and `{models:{anthropic:{limit:2}}}` all save as sent;\n - `{tokens:{providers:{limit:{limit:5}}}}` saves with `since`;\n - concurrency and token limits all named `limit` together save, and only the three token leaves get `since`;\n - `{tokens:{providers:{anthropic:5}}}` is refused (`... must be a JSON object`);\n - `{tokens:{roles:{...}}}` is refused (`unsupported ... tokens key: \"roles\"`).\n\nI ran no mutants of my own this round.\n\n### Not mine\n\nDewey's round 2 run (BUILD.md \"Runs, round 2\"):\n- the round 1 candidate failing the new tests;\n- gate: 17 singles 145/145, 16 packages 2241/2241, 10 scripts rc=0;\n- 81 of 81 mutants killed.\n\nI read `mutants.mjs` and did not rerun it.\n","assets":[],"created_at":"2026-10-18T18:55:19Z","updated_at":"2026-10-18T18:55:19Z"} |