Scope
Problem
Today vibesift CLI is purely serial.
Today vibesift CLI is purely serial. Every mutation auto-commits with no preview-before-commit option (gap surfaced in the v0.1 session). The landing sessions list is hand-maintained and goes stale. Ship-phase tasks have no way to attribute work to a specific agent or capture parallel-team execution. Block-level commenting is also queued but is significantly more work (needs a worker + auth) and is deferred to v0.3.
Approach
Three features in parallel: (1) --no-commit flag for preview-before-commit; (2) vibesift index command that auto-regenerates docs/index.html sessions list; (3) ship-phase agent attribution. Block-level commenting deferred to v0.3.
2026-05-09 19:29 UTCConstraints
Each feature ships as its own independently-mergeable PR.
Each feature ships as its own independently-mergeable PR. No bundled mega-PR; one PR per work-stream so we can demo the parallel-shipping pattern.All 22 existing tests must keep passing on every CI matrix entry.
All 22 existing tests must keep passing on every CI matrix entry. New features add tests; nothing regresses.Zero new runtime dependencies.
Zero new runtime dependencies. The 'pure Node CLI, no deps' brand promise stands.HTML state schema may extend (new optional fields are fine) but the v0.1 roun…
HTML state schema may extend (new optional fields are fine) but the v0.1 round-trip test must keep passing — old sessions stay readable.The session must demonstrate parallel-agent execution as the meta-result.
The session must demonstrate parallel-agent execution as the meta-result. We use the pattern to ship the pattern. Ship-phase tasks track which agent owns each work-stream.
Sift
Options considered
Chose
2026-05-09 19:29 UTC
Option B. Three worktrees, three parallel agents, three PRs. Each agent works on src/cli.js in its own worktree.
Option B. The user explicitly asked for agent teams + a working session.
Option B. The user explicitly asked for agent teams + a working session. Worktrees give each agent an isolated src/cli.js to edit; PR-time merge conflicts in CLI command-routing are mechanical and quick to resolve. Option A is safer but boring. Option C breaks the audit trail — if three agents auto-commit to the same branch in the same worktree, git races and the recorded session loses fidelity.
Ship
Tasks
- ✓ Create 3 worktrees: feat/v0-2-no-commit, feat/v0-2-index-command, feat/v0-2-agent-attribution
- ✓ Dispatch Agent A: implement --no-commit / preview-before-commit flag across CLI mutations
- ✓ Dispatch Agent B: implement vibesift index command that auto-regenerates docs/index.html sessions list from docs/sessions/
- ✓ Dispatch Agent C: implement ship-phase agent attribution (--agent flag on task add, agent badge in template, summary in status)
- ✓ Merge each PR as it lands; resolve src/cli.js conflicts at merge-time
- ✓ Re-render existing sessions with any template changes (vibesift render)
- ✓ Tag v0.2.0 + npm publish (release.yml fires on tag push)
- ✓ Hot-fix vibesift-com-landing diffUrl regression via PR #11 (out-of-band; not part of v0.2 release tag)
- ✓ Dispatch Agent D: proper fix for diffUrl regression — capture merge commit SHA on decide --phase ship; add 'vibesift ship <slug> diff <url>' for manual override
Decision log
- Scope Three features in parallel: (1) --no-commit flag for preview-before-commit; (2) vibesift index command that auto-regenerates docs/index.html sessions list; (3) ship-phase agent attribution. Block-level commenting deferred to v0.3. 2026-05-09 19:29 UTC
- Sift Option B. Three worktrees, three parallel agents, three PRs. Each agent works on src/cli.js in its own worktree. 2026-05-09 19:29 UTC