You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Proposal cards and the run view now show the survey's inventory and flag any unaccounted coverage — parts of the codebase the survey couldn't account for — so you can judge a proposal's completeness before accepting it.
Stuck and failed runs get better answers
When deliverable progress stalls at a FAILED-run or distress decision point, ducklab now suggests a measurably stronger seat for the work instead of retrying at the same level.
Gate output is now attached to the final gate event and to the failed run's record, so a run that fails at a gate shows you the actual gate output rather than just "failed".
TDD chain builds now resolve their build mode through the normal run-start path, fixing an issue where the mode wasn't applied as expected.
Prove and share what was accepted
You can now export acceptance receipts from a run and check them with the new ducklab proof verify command, so results are verifiable outside the app.
The ducklab MCP server now ships as a standard .mcpb bundle attached to each release, ready for installation and for the official MCP registry.
Settings and layout
Settings now have default build-mode and test-mode selects, so you set your preferred mode once instead of per run.
The "your team" roster section is gone from Settings.
The running section now sits at the top of the Now view.
When the advisor starts drafting an answer, you now see a live drafting animation in the question card and seat panel instead of the answer appearing silently.
Smaller changes
Renaming a task id now updates references in task body prose, not just dependency lines, so plans no longer keep stale ids after a rename.
Every process tree a run spawns is now stamped with DUCKLAB_RUN_ID and DUCKLAB_PROJECT_ID, so you can trace any spawned process back to its run and project.
What shipped
M-001
T-098 Stamp every run-spawned process tree with DUCKLAB_RUN_ID and DUCKLAB_PROJECT_ID (9389637)
T-099 Prove the per-repo worktree mutex serializes one repo and never blocks another (d9b0a91)