row 218 r2: setup sheet gives the 1,200 character reply total, survey sheet escapes, library-commit refusal and node check (#1719)

Webby round 1 N1 by mos-1165, and N2-N4.
This commit is contained in:
jason.woltje committed 2026-10-21 06:57:20 -05:00
1 parent fc0d9c26fc
commit 5fcc2ec90e
3 files changed
+33 -8

No files matched your search

+13
View File
@@ -127,3 +127,16 @@ except reads, greps and `git merge-base --is-ancestor 29ce1e360 HEAD`.
is on `PATH`.
5. `vaultPrefix`: the run sheet's step 4 tells Jason to set it, because the setup sheet's full-path
link advice depends on it.
## Round 2 (2026-10-21), from Webby's round 1 notes (webby-0075, rev 2848)
- N1, by Mos's ruling mos-1165 (fix before landing): SETUP-SHEET.md now gives the 1,200 character
total of item text per reply (design M5, step 8). The word "Today" is gone. No code enforces these
caps until C2-06 lands, so my ruling is that the sheet goes to Melanie only after C2-06 lands, and
then only on Jason's go (#419). The wording stays as is, because by then it holds.
- N2: SURVEY-RUN.md says tab, newline, carriage return, backspace and form feed print as `\t`, `\n`,
`\r`, `\b` and `\f`, and other control and bidi characters as `\uXXXX` (survey.mjs quote()).
- N3: SURVEY-RUN.md has a refusal row for `library-commit:` (reader.mjs listTree). survey.mjs turns
every LibraryError into exit 2 with its message.
- N4: SURVEY-RUN.md's new step 2 checks `command -v node` under the same sudo and PATH before the
survey runs.
+4 -3
View File
@@ -106,9 +106,10 @@ from your repo or from a web page the agent read for you.
They don't write passages. If you ask for prose, you get a question or an idea instead.
Today a reply holds at most 10 items. It has at most 5 ideas of up to 200 characters each. A question,
finding or fact runs up to 300 characters. You or Jason can ask for lower limits. When an agent can't
back an answer with a quote, you see "No cited answer" instead.
A reply holds at most 10 items and at most 1,200 characters of item text in all. It has at most 5
ideas of up to 200 characters each. A question, finding or fact runs up to 300 characters. You or
Jason can ask for lower limits. When an agent can't back an answer with a quote, you see "No cited
answer" instead.
Each book world stays separate. One item can't mix quotes from two worlds.
+16 -5
View File
@@ -39,7 +39,16 @@ it out, and the mirror's refs belong to the bus. If `HEAD` names no commit, stop
## Steps
1. `ssh [email protected]`.
2. Run the survey without a mapping:
2. Check which `node` runs. `PATH` ends in `/usr/bin:/bin`, so a wrong `<node dir>` would quietly run
another `node`:
```sh
cd /
sudo -u mosaic -H env PATH="<node dir>:/usr/bin:/bin" sh -c 'command -v node; node --version'
```
The first line must be `<node dir>/node`. If it isn't, fix `<node dir>` before going on.
3. Run the survey without a mapping:
```sh
cd /
@@ -48,8 +57,8 @@ it out, and the mirror's refs belong to the bus. If `HEAD` names no commit, stop
echo "exit $?"
```
3. On exit 0, give the output to Jason. On any other exit, see "Refusals" below.
4. When Jason has a draft mapping, run it again with `--mapping`. The file holds the library entry
4. On exit 0, give the output to Jason. On any other exit, see "Refusals" below.
5. When Jason has a draft mapping, run it again with `--mapping`. The file holds the library entry
alone, `{"kind": "library", "remote": ..., "branch": ..., ...}`, without the business file or the
`"projects"` wrapper around it. `remote` and `branch` are required even though the survey doesn't
fetch. `mosaic` must be able to read the file. Set `vaultPrefix` to her books repo's folder name
@@ -87,8 +96,9 @@ With `--mapping` three lines follow:
| `resolved root .., vault-prefix .., relative .., shortest .., unresolved ..` | links per resolver step. `unresolved` is the R4 count |
| `problems R1 .., ..., R7 ..` | problems per rule |
Folder paths and short property names are the only words from her repo in the output. A folder name with a control or bidi
character prints it as `\uXXXX`.
Folder paths and short property names are the only words from her repo in the output. In a folder
name, tab, newline, carriage return, backspace and form feed print as `\t`, `\n`, `\r`, `\b` and `\f`.
Any other control or bidi character prints as `\uXXXX`.
## Refusals
@@ -104,6 +114,7 @@ repo, so a bad mapping gives exit 3 even when the repo path is wrong too.
| 2 | `library survey: library-git: <repo> is not a directory` | wrong path | Check `<repo>` |
| 2 | `library survey: library-git: repository has no readable HEAD commit (project-git)` | not a repo, a folder inside one, another owner, no commits, a `HEAD` with no commit, or no `git` on `PATH` | Check each. If `<repo>` is the bus mirror, stop and report to Sage |
| 2 | `library survey: library-git: <other reason>`, such as `tree listing refused (project-git)` | git failed or ran past 100 seconds | Report to Sage |
| 2 | `library survey: library-commit: <reason>` | the commit `HEAD` named couldn't be read as a commit, for example because `HEAD` moved during the survey | Run it again once. If it repeats, report to Sage |
| 127 | a line ending `exec: node: not found` | `node` isn't in `<node dir>` | Fix `<node dir>` |
| other | a Node stack trace | a fault in the survey | Stop and report the exit code to Sage |