Theme
Vibe Kanban — lessons from failures
Repository: https://github.com/BloopAI/vibe-kanban
This note focuses on issue history because the most useful lessons for Forge are lifecycle edge cases.
Worktree representation
Issue #287: https://github.com/BloopAI/vibe-kanban/issues/287
A Git-worktree environment commonly has .git as a file that points to metadata elsewhere, not a directory. Code that assumes normal-checkout layout can break.
Forge lesson: use the real Git executable and test against real worktrees.
Branch checked out elsewhere
Issue #1897: https://github.com/BloopAI/vibe-kanban/issues/1897
Direct merge can fail when the target branch is checked out in another worktree.
Forge lesson: integration operations re-check Git reality and surface actionable conflicts; do not swallow failures.
Stable filesystem identity
Issue #2993: https://github.com/BloopAI/vibe-kanban/issues/2993
Changing a workspace/worktree path can invalidate provider session-resume state keyed to that path.
Forge lesson: use immutable Project/Task IDs for worktree paths, not mutable titles.
Long histories/memory
Issue #3352: https://github.com/BloopAI/vibe-kanban/issues/3352
Long-running agent/workspace use can create very large event/session memory pressure.
Forge lesson: raw logs stream to disk; history is paged; live deltas are coalesced; do not keep/replay the entire firehose in memory.
Migrations
Issue #2972: https://github.com/BloopAI/vibe-kanban/issues/2972
A migration failure around expected schema columns shows how upgrade paths can break startup.
Forge lesson: immutable migrations, old-DB fixtures, and upgrade tests from released schema states.