fix(gatorwalk-factory): no --log, and every write prints the status that follows it (swamp-club #2780) #406

Merged
seth merged 5 commits from cue/2780-gatorwalk-factory-log into main 2026-10-01 12:25:57 +00:00
Owner

Fixes swamp-club #2780. Also fixes swamp-club #2885.

Problem

The gatorwalk-factory skill required --log on every call. Under current swamp, --log prints each method's text twice: once as the method output, and once more through LogTape's console sink, quoted and joined with +. Drivers filtered that doubled text with grep and sed, and in the cue trial they threw away the rendered dispatch prompt. Writes also printed a single line and not the resulting expectation and exits, so rule 1 cost an extra status call after every write, which drivers skipped.

Change

  • No --log. It is removed from the skill (SKILL.md, driving.md, authoring.md, scenarios.md), the worked example, the example factory definition (and the generated starters.ts), claim's Start it: hint, the README and the integration harness. The skill-command check now refuses --log, and the skill tells drivers to read a method's output whole, never through grep, sed, head or tail.
  • Writes print the status that follows them. Every work-item write (start, dispatch, record_artifact/record_evidence, record_usage, approve/decline, grant_override, advance, reset, retarget) ends its text with the full status block. It is built from the run the write committed, through the same renderer status uses. dispatch prints it after the last subagent prompt. If the status cannot be built, the write still succeeds and says to run status. Rule 1 now counts a write's output as reading status, with one write per command.
  • The worked example shows each write's status, and drops the status calls that only repeated it. The status call after a refused write stays.
  • DESIGN gets an updated "Output and failure" section and a decision-log entry. The work-item model version is bumped to 2026.09.30.3.

The empty report box swamp draws after every method is swamp's to fix: swamp-club #2813.

Also: the studio bundle on main (swamp-club #2885)

main's embedded studio page predated #2792's graph.ts change, so studio_assets_test failed on origin/main and no gatorwalk PR could pass verify-build. A separate commit rebuilds it with deno task build:studio. It is generated output only.

Testing

  • Unit: each write ends with exactly what status prints next. The dispatch status comes after the prompts. A failed status build still lets the write succeed. The checker refuses --log.
  • Integration, against real swamp with no --log: status, dispatch, record_artifact and advance each print their text once, and advance shows the new expectation and exits. The worked example runs as written.
  • verify-build and verify-reviews passed. The attestation is posted for the head commit.

🤖 Generated with Claude Code

Fixes swamp-club #2780. Also fixes swamp-club #2885. ## Problem The gatorwalk-factory skill required `--log` on every call. Under current swamp, `--log` prints each method's text twice: once as the method output, and once more through LogTape's console sink, quoted and joined with `+`. Drivers filtered that doubled text with `grep` and `sed`, and in the cue trial they threw away the rendered dispatch prompt. Writes also printed a single line and not the resulting expectation and exits, so rule 1 cost an extra `status` call after every write, which drivers skipped. ## Change - **No `--log`.** It is removed from the skill (SKILL.md, driving.md, authoring.md, scenarios.md), the worked example, the example factory definition (and the generated `starters.ts`), claim's `Start it:` hint, the README and the integration harness. The skill-command check now refuses `--log`, and the skill tells drivers to read a method's output whole, never through grep, sed, head or tail. - **Writes print the status that follows them.** Every work-item write (`start`, `dispatch`, `record_artifact`/`record_evidence`, `record_usage`, `approve`/`decline`, `grant_override`, `advance`, `reset`, `retarget`) ends its text with the full status block. It is built from the run the write committed, through the same renderer `status` uses. `dispatch` prints it after the last subagent prompt. If the status cannot be built, the write still succeeds and says to run `status`. Rule 1 now counts a write's output as reading status, with one write per command. - The worked example shows each write's status, and drops the `status` calls that only repeated it. The `status` call after a refused write stays. - DESIGN gets an updated "Output and failure" section and a decision-log entry. The work-item model version is bumped to `2026.09.30.3`. The empty report box swamp draws after every method is swamp's to fix: swamp-club #2813. ## Also: the studio bundle on main (swamp-club #2885) main's embedded studio page predated #2792's `graph.ts` change, so `studio_assets_test` failed on origin/main and no gatorwalk PR could pass verify-build. A separate commit rebuilds it with `deno task build:studio`. It is generated output only. ## Testing - Unit: each write ends with exactly what `status` prints next. The dispatch status comes after the prompts. A failed status build still lets the write succeed. The checker refuses `--log`. - Integration, against real swamp with no `--log`: `status`, `dispatch`, `record_artifact` and `advance` each print their text once, and `advance` shows the new expectation and exits. The worked example runs as written. - verify-build and verify-reviews passed. The attestation is posted for the head commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
--log made swamp print every method's text twice, so drivers filtered the
output with grep and sed and dropped dispatch prompts. The skill, its worked
example, claim's "Start it:" hint, the example factory definition and the
integration suite now run methods without --log, and the skill-command check
refuses it. The skill says to read a method's output whole.

Every work-item write now ends its text with the status that follows it, built
from the run it committed, so a write's output counts as reading status. A
status that cannot be built after a committed write is reported, not thrown.
dispatch prints it after the last subagent prompt.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A logger failure is no longer logged a second time and blamed on the status
read.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
#2796 added relate and unrelate commands with --log in SKILL.md prose and the
README, outside the sh blocks the skill-command check reads.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
chore(gatorwalk-factory): rebuild the studio bundle after #2792's graph.ts change (swamp-club #2885)
All checks were successful
CI / Review Integrity (pull_request) Successful in 52s
CI / Validate Attestation (pull_request) Successful in 53s
2bd2441dbd
main's embedded studio page predated #2792, so studio_assets_test failed on
main. Rebuilt with deno task build:studio.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
seth merged commit d8ebb64af9 into main 2026-10-01 12:25:57 +00:00
seth deleted branch cue/2780-gatorwalk-factory-log 2026-10-01 12:25:58 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
swamp-club/swamp-extensions!406
No description provided.