# Row 212 build notes, C2-01 packages/library (#1713, Vikunja #416) ## Rounds - Round 1: bdf18272a on gosalyn/c2-01, base 32b54ac3b. Webby approved it in Gitea comment 29704. - Round 2: d3c7bbf839d9c3bf50f154b18e7e4472fbd005ed on gosalyn/c2-01-r2, rebased onto 9b5362018 after row 232 drifted three paths (sage-1714). Webby approved it at merge scope, rev 2666 against comment 29921 (webby-0052). - Round 3: this commit on gosalyn/c2-01-r3, one commit on the row 234 landing c771a36f4 (sage-1736, sage-1779, mos-1160). Row 234 changed scripts/mosaic, so round 3 review covers that one file. ## Round 2 merge range-diff 32b54ac3b..bdf18272a against 9b5362018..d3c7bbf83 shows one change, the context line where upstream added `credentials` to the scripts/mosaic case line. Patch-id moved from 8f80dfa3 to 175f45c6 for that reason only. All three drifted hunks keep both sides: - scripts/stack-copy.sh COPY_PATHS reads `packages/queue/src packages/library/src`. Row 232's bundle, --create, --units and instance code is unchanged. - scripts/mosaic runs the `library survey` exec block before the case line, and the case line keeps `credentials`. - packages/cli/tests/stack-copy.test.mjs adds `packages/library/src/index.mjs` to the copy file list. ## Round 2 singles, evidence for the 19 paths other than scripts/mosaic Run on d3c7bbf83 in Sage's slot (sage-1723) from 2026-10-21T05:00:09Z to 05:11:29Z. The HEAD and a clean tree were checked first. The counts are an awk sum over the 23 logs: 481 passed, 0 failed, 0 skipped, 0 cancelled, and every file exited rc=0. | Package | File | Pass | |---|---|---| | library | links | 6 | | library | mapping | 7 | | library | reader | 11 | | library | render | 11 | | library | survey | 4 | | cli | app | 30 | | cli | case2-unit | 30 | | cli | credentials | 5 | | cli | host | 42 | | cli | instances | 5 | | cli | project | 4 | | cli | stack-copy | 16 | | cli | stack-instances | 23 | | cli | stack-release-external | 25 | | cli | stack-release | 192 | | cli | tester-reads | 6 | | cli | tester-threads | 5 | | cli | usage | 2 | | queue | dispatch | 4 | | runs | task-cli | 9 | | webui | pinned-copy | 10 | | webui | service | 31 | | webui | views | 3 | The file list comes from the library tests plus every test that names scripts/mosaic or stack-copy.sh, by basename and by join() path. No 64-hex pin in the tests names a merged path. ## Round 3 scripts/mosaic The only path both row 234 and this row change is scripts/mosaic. Row 234 added `hosts` to the cli case line and changed nothing else in the file. Round 3 takes the landed blob cce1fdee4 and adds this row's six-line `library survey` block before the case line by hand, so `hosts` stays. The mode stays 100755. The other 19 paths are byte-identical to d3c7bbf83. Against d3c7bbf83 the only difference is the `hosts` context line. Round 3 runs only the tests that read scripts/mosaic, in Sage's slot. Their counts go to Sage in T3 and onto #1713, since this file can't hold them and stay one commit. Those tests are library survey, cli app, case2-unit, credentials, hosts, host, instances, project, stack-copy, stack-release, stack-release-external, stack-upgrade, tester-reads, tester-threads and usage, queue dispatch, runs task-cli, webui pinned-copy, service and views, plus scripts/test-queue.sh. hosts.test.mjs is new with row 234.