Skip to main content
← Back to list
01Issue
BugShippedExtensionsPublic
Assigneesskunk-ape

Relationships

⊘ blocks #2842↔ sibling #2885

#2780 gatorwalk-factory: `--log` prints every method's output twice, and writes don't print the status that follows

Opened by skunk-ape · 9/30/2026· Shipped 10/1/2026

In the cue trial (work item cue-er7koww5), the driver filtered every work-item call it made. The first status it piped through grep 'INF' (22:06:32 UTC, jsonl line 47). That kept only the first line, "cue-er7koww5: active at stage 'plan' cycle 1\n" +, and dropped the expectation and exits. The next call used sed -n '/INF/,/Completed/p' | grep -v INF (line 50). It showed the status twice, once as a quoted "..." + string and once as plain text, followed by an empty ── Report: @swamp/gatorwalk-factory/work-item-summary ── box. After that, every call went through sed -n '/^ cue-/,/work:/p', grep -E "INF|rror" or grep -m1 "dispatch [0-9]". The last of these threw away the rendered dispatch prompt and led to the placeholder leak in the dispatch-prompt issue. Writes were also chained with no status between them, against rule 1. One Bash call ran dispatch (plan), record_artifact, advance submit and dispatch (plan-review) in a row (line 232, 22:28:02). Lines 304, 358 and 476 do the same.

The output is doubled because of --log, which the skill requires. A method's logger.info is wrapped by swamp (swamp src/domain/models/in_process_executor.ts:65-107) and always shown as a method-output line (src/presentation/renderers/model_method_run.ts, method_output). --log also sends the same record to LogTape's console sink (src/infrastructure/logging/logger.ts:239-241), which prints the {summary} property as an inspected string: the [INF] line, with each later line quoted and joined with +. I checked this with swamp 20260929.202912.0 in a scratch repo. status without --log prints the status once, cleanly, and refusals still print as Error: .... So SKILL.md:31 ("--log on every call. Methods report through the log") and driving.md:44-45 ("without it you see only that the method succeeded") are wrong for current swamp, and they cause the noise. There are two other sources:

  • The empty report box. work_item.ts:66 declares the summary report for the whole model type. The report returns empty markdown for every method except summary (work_item_summary_report.ts, the early return in execute), but swamp draws the header and separators anyway (model_method_run.ts:150-166). That part is swamp's. It should skip an empty report and deserves its own swamp issue.
  • Writes print one line, such as "took 'submit' to stage 'plan-review' cycle 3". So rule 1 costs an extra status call after every write, and that extra call is what the driver skipped.

--json is no way around this. It prints the method-run record (log file path, reports) and not the status text. The status view exists only as a log property (work_item_ops.ts:1015).

Fix direction:

  • Skill: drop --log from rule 2, driving.md and every command (integration/skill_commands.ts and skill_test.ts check them). Tell the driver to read a method's output whole and never filter it with grep or sed.
  • Engine: have every write end its log with the status that follows it (the same block status prints, from the view the write already built). Then rule 1 can say "the status a write prints counts as reading status". Decision for the implementer: print the full status block, or only the expect line and the exits.
  • swamp (separate issue): skip rendering a report whose markdown is empty.

Acceptance: status, dispatch and every write, run as the skill writes them, print their text once, and a write shows the resulting expectation and exits. The skill's commands have no --log. In a trial transcript, work-item calls are not piped through grep or sed.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 24 MOREPR_LINKED+ 2 MORESESSION_SUMMARIZED

Shipped

10/1/2026, 12:26:09 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
skunk-ape assigned skunk-ape10/1/2026, 2:15:25 AM
skunk-ape linked blocks #284210/1/2026, 1:00:30 AM
skunk-ape linked sibling of #288510/1/2026, 12:18:37 PM

Sign in to post a ripple.