Metadata
| Status | done |
|---|---|
| Assigned | agent-1310 |
| Agent identity | f51439356729d112a6c404803d88015d5b44832c6c584c62b96732b63c2b0c7e |
| Created | 2026-05-01T00:16:18.629486880+00:00 |
| Started | 2026-05-01T00:38:48.512755379+00:00 |
| Completed | 2026-05-01T00:49:43.964725680+00:00 |
| Tags | priority-high,fix,naming,cleanup, eval-scheduled |
| Eval score | 0.97 |
| └ blocking impact | 1.00 |
| └ completeness | 1.00 |
| └ constraint fidelity | 0.85 |
| └ coordination overhead | 0.95 |
| └ correctness | 1.00 |
| └ downstream usability | 0.95 |
| └ efficiency | 0.85 |
| └ intent fidelity | 0.76 |
| └ style adherence | 1.00 |
Description
Description
Safety task that runs after wg-publish-easy lands. Verifies the new rsync-deployment feature was namespaced correctly (under wg html publish) and that the existing wg publish <task-id> command remained untouched. If wg-publish-easy shipped a refactor that broke wg publish <task-id>, this task corrects it.
Background
wg-publish-easy was originally specced to use wg publish add/list/run/... as the new command surface, which conflicted with the existing wg publish <task-id> (releases paused tasks). The agent's design note proposed renaming the existing command to wg publish task <task-id> to free up the verb.
User redirect via wg msg send 2026-04-30 (after design note posted): NOT acceptable. The existing wg publish <task-id> is everywhere (CLAUDE.md, agent-guide, every chat agent's batch-publish flow, muscle memory). The new feature should live under wg html publish — it's logically a sub-action of wg html anyway.
The redirect message may or may not have been picked up by the agent before commit. This task ensures the right outcome regardless.
What to do
Step 1: verify current state
After wg-publish-easy is done:
- Run
wg publish <some-task-id>against a paused task. Pre-this-task: it should EITHER work like always (if redirect was honored) OR error / route towg publish task(if not). - Run
wg html publish list(or whatever subcommand surface shipped). Pre-this-task: should exist if redirect was honored.
Step 2 (only if needed): correct the naming
If wg publish <task-id> was renamed to wg publish task <task-id>:
- Move the new add/list/run/show/remove/edit subcommands from
wg publishtowg html publish - Restore
wg publish <task-id>to its original behavior (release paused task) — exactly as it was before wg-publish-easy - Update any caller sites in src/ (the agent identified add.rs and quickstart.rs as the 4 caller sites; revert those)
- Update docs (CLAUDE.md, COMMANDS.md, agent-guide bundle, SKILL.md if needed) to reflect both old behavior preserved AND new
wg html publishsurface
If wg publish <task-id> is unchanged AND the new feature is under wg html publish already: this task does nothing substantive — just verifies and exits clean.
Step 3: smoke
Regardless of whether step 2 was needed:
wg add 'smoke-test' --paused && wg publish smoke-test— should publish (legacy behavior preserved)wg html publish add testing --rsync /tmp/testdest --schedule '*/15 * * * *'— should register a deployment under the html publish surfacewg html publish list— should show 'testing'wg html publish run testing— should executewg html publish remove testing— cleanup
Validation
-
wg publish <task-id>works exactly as it did before wg-publish-easy (paused-task release) -
wg html publish add/list/show/run/remove/editare all present and functional -
No subcommand structure under
wg publishother than the original<task-id>argument form - Docs reflect the final state (CLAUDE.md, COMMANDS.md, agent-guide if affected)
- cargo build + cargo test pass
- cargo install --path . was run before claiming done
- No regression of any wg publish callers across the codebase
Process note
This is the kind of safety task that should ideally not be needed — but the message-injection mechanism (wg msg send) is best-effort and the agent may already be past the point where the redirect could change behavior. The cost of this task is small if the redirect was honored (it verifies + exits); the cost is medium if it wasn't (it un-does the rename). Either way the user ends up with the right state.
Depends on
Required by
- (none)
Log
- 2026-05-01T00:16:18.568784915+00:00 Task paused
- 2026-05-01T00:16:18.735459342+00:00 Task published
- 2026-05-01T00:17:00.273290456+00:00 Lightweight assignment: agent=Careful Programmer (f5143935), exec_mode=full, context_scope=task, reason=Careful Programmer fits verification + correction of CLI naming (code reading, testing, potential fixes, exhaustive validation); Careful tradeoff aligns with correctness-critical task; strong score (0.79/455 tasks).
- 2026-05-01T00:38:48.512759757+00:00 Spawned by coordinator --executor claude --model opus
- 2026-05-01T00:38:58.563059654+00:00 Starting verification of wg-publish-easy naming. Per user redirect: existing 'wg publish <task-id>' must stay, new feature must live under 'wg html publish'.
- 2026-05-01T00:49:03.380560550+00:00 Verification complete. wg-publish-easy honored the user redirect: 'wg publish <task-id>' is unchanged (positional-arg form, dispatches to commands::resume::publish), new feature lives under 'wg html publish add/list/show/run/remove/edit' as a subcommand of 'wg html'.
- 2026-05-01T00:49:07.380413+00:00 Code-level checks: src/cli.rs:725 has Publish{id,only} (legacy form, no subcommand wrapper); HtmlCommands::Publish wraps HtmlPublishCommands at src/cli.rs:2634+; main.rs:1226 dispatches legacy publish to commands::resume::publish; main.rs:2890+ dispatches html-publish subcommands to commands::publish::run_*; src/commands/add.rs:786 + quickstart.rs:409,810 reference legacy 'wg publish <id>' (no 'task' subcommand).
- 2026-05-01T00:49:11.222863417+00:00 Live smoke (after cargo install --path .): 'wg publish smoke-test' on a paused task → published (status open). 'wg html publish add testing --rsync /tmp/wgtest-rsync-target/ --schedule */15 * * * *' → registered, scheduled .html-publish-testing task created. list / show / run --dry-run / run / remove all work end-to-end. The wg-publish-easy smoke scenario (tests/smoke/scenarios/publish_run_against_local_rsync_target.sh) passes — it already includes a regression guard at line 100 asserting 'wg publish --help' advertises legacy paused-task semantics.
- 2026-05-01T00:49:14.317777129+00:00 Docs: docs/COMMANDS.md:531 documents 'wg publish <TASK>' (legacy paused-task release); docs/COMMANDS.md:560 documents 'wg html publish' subcommand surface. CLAUDE.md and src/commands/agent_guide.rs have no publish references (no updates needed). cargo test --bin wg --lib publish: 16/16 publish tests pass. No corrective changes required — task verifies clean and exits.
- 2026-05-01T00:49:43.964733965+00:00 Task pending eval (agent reported done; awaiting `.evaluate-*` to score)
- 2026-05-01T00:51:24.688932722+00:00 PendingEval → Done (evaluator passed; downstream unblocks)