Skip to content

BACK-626 - Make task lifecycle commands local-first - #912

Open
shixi-li wants to merge 1 commit into
MrLesk:mainfrom
shixi-li:BACK-626-local-first-lifecycle
Open

BACK-626 - Make task lifecycle commands local-first#912
shixi-li wants to merge 1 commit into
MrLesk:mainfrom
shixi-li:BACK-626-local-first-lifecycle

Conversation

@shixi-li

Copy link
Copy Markdown
Contributor

Summary

  • make task archive, task complete, and task demote resolve their targets from the local working-copy task corpus
  • pass the local-only option through the mutation boundary while preserving the existing default behavior for non-CLI Core callers
  • align branch-only misses with the same actionable hint used by task view and task edit
  • preserve fail-closed AmbiguousTaskIdError behavior for active/completed ID collisions

Why

These three CLI commands still used the default cross-branch lookup twice: once during command preflight and again inside the Core mutation. That could trigger a remote fetch/full corpus load and produced different errors for tasks that exist only on another branch, despite the owner ruling that CLI task commands are local-only.

The Core methods now accept an optional third TaskReadOptions argument. Existing callers retain their current defaults; only the three CLI handlers opt into includeCrossBranch: false for both lookup stages.

Validation

  • bun test --timeout=10000 src/test/local-task-command-performance.test.ts — 9 passed
  • lifecycle/Core/MCP scoped suite — 142 passed
  • bunx tsc --noEmit
  • bun run check .
  • bun run build
  • independent diff review: P0=0, P1=0

Closes BACK-626.

Copy link
Copy Markdown
Contributor Author

Hi maintainers — the fork CI workflow for this PR is currently awaiting approval. The local validation results are included in the PR description. When convenient, could you approve the workflow so the change can be evaluated? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant