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`. is on `PATH`.
5. `vaultPrefix`: the run sheet's step 4 tells Jason to set it, because the setup sheet's full-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. 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. 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, A reply holds at most 10 items and at most 1,200 characters of item text in all. It has at most 5
finding or fact runs up to 300 characters. You or Jason can ask for lower limits. When an agent can't ideas of up to 200 characters each. A question, finding or fact runs up to 300 characters. You or
back an answer with a quote, you see "No cited answer" instead. 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. 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 ## Steps
1. `ssh [email protected]`. 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 ```sh
cd / cd /
@@ -48,8 +57,8 @@ it out, and the mirror's refs belong to the bus. If `HEAD` names no commit, stop
echo "exit $?" echo "exit $?"
``` ```
3. On exit 0, give the output to Jason. On any other exit, see "Refusals" below. 4. 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 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 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 `"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 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 | | `resolved root .., vault-prefix .., relative .., shortest .., unresolved ..` | links per resolver step. `unresolved` is the R4 count |
| `problems R1 .., ..., R7 ..` | problems per rule | | `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 Folder paths and short property names are the only words from her repo in the output. In a folder
character prints it as `\uXXXX`. 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 ## 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: <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: 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-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>` | | 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 | | other | a Node stack trace | a fault in the survey | Stop and report the exit code to Sage |