From 5fcc2ec90e68081236b6a26ab3021207ff4eed7b Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Wed, 21 Oct 2026 06:57:20 -0500 Subject: [PATCH] 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. --- agents/sage/work/queue-218/BUILD.md | 13 +++++++++++++ docs/case2/SETUP-SHEET.md | 7 ++++--- docs/case2/SURVEY-RUN.md | 21 ++++++++++++++++----- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/agents/sage/work/queue-218/BUILD.md b/agents/sage/work/queue-218/BUILD.md index f0a99e1bb..86fd9c9a7 100644 --- a/agents/sage/work/queue-218/BUILD.md +++ b/agents/sage/work/queue-218/BUILD.md @@ -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. diff --git a/docs/case2/SETUP-SHEET.md b/docs/case2/SETUP-SHEET.md index 8c15059b3..0eca3e1fc 100644 --- a/docs/case2/SETUP-SHEET.md +++ b/docs/case2/SETUP-SHEET.md @@ -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. diff --git a/docs/case2/SURVEY-RUN.md b/docs/case2/SURVEY-RUN.md index f00f46fe1..b9a2c1a43 100644 --- a/docs/case2/SURVEY-RUN.md +++ b/docs/case2/SURVEY-RUN.md @@ -39,7 +39,16 @@ it out, and the mirror's refs belong to the bus. If `HEAD` names no commit, stop ## Steps 1. `ssh localadmin@10.1.1.54`. -2. Run the survey without a mapping: +2. Check which `node` runs. `PATH` ends in `/usr/bin:/bin`, so a wrong `` would quietly run + another `node`: + + ```sh + cd / + sudo -u mosaic -H env PATH=":/usr/bin:/bin" sh -c 'command -v node; node --version' + ``` + + The first line must be `/node`. If it isn't, fix `` 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: is not a directory` | wrong path | Check `` | | 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 `` is the bus mirror, stop and report to Sage | | 2 | `library survey: library-git: `, such as `tree listing refused (project-git)` | git failed or ran past 100 seconds | Report to Sage | +| 2 | `library survey: library-commit: ` | 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 `` | Fix `` | | other | a Node stack trace | a fault in the survey | Stop and report the exit code to Sage |