fix(skill-workshop): preserve proposal terminal newline#100293
Conversation
Preserve proposal_content exactly at the agent tool boundary and make renderProposalMarkdown defensively emit a terminal newline. Add focused regressions for the tool write path and markdown renderer.
e94d56b to
865212b
Compare
|
Codex review: needs maintainer review before merge. Reviewed July 5, 2026, 8:38 AM ET / 12:38 UTC. Summary PR surface: Source +5, Tests +64. Total +69 across 4 files. Reproducibility: yes. by source inspection. Current main trims Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Next step before merge
Security Review detailsBest possible solution: Merge the focused tool-boundary and renderer fix after normal required checks complete, keeping whitespace-only rejection and avoiding any new config or migration surface. Do we have a high-confidence way to reproduce the issue? Yes by source inspection. Current main trims Is this the best way to solve the issue? Yes. The fix is at the narrow owner boundary: preserve raw valid markdown in the tool, reject whitespace-only input explicitly, and make the shared renderer terminal-newline-safe. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against deac98eb7204. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +5, Tests +64. Total +69 across 4 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
@clawsweeper re-review Current-head update for #100293. What changed:
Current-head validation on
No live Gateway/runtime state was used. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper re-review Current-head update for #100293. What changed:
Validation on current head
Earlier current-head proof showed whitespace-only No live Gateway/runtime state was used. |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Summary
proposal_contentexactly at the Skill Workshop tool boundary by disabling string trimming for that parameter.proposal_contentbefore the raw string reaches proposal persistence.What Problem This Solves
Skill Workshop proposal content is markdown supplied through an agent tool boundary. Trimming the raw string can remove a meaningful terminal newline before the proposal is rendered to
PROPOSAL.md. The fix preserves raw valid markdown, while retaining the existing safety behavior that blank or whitespace-only proposal content is rejected instead of persisted as a frontmatter-only proposal.Evidence
Current-head terminal proof from a disposable test state:
Current-head validation after merging latest
main:pnpm check:test-types: passed.pnpm tsgo:core: passed.oxlint: passed.git diff --check: clean.Boundary
dist/*.jshotpatch.