T-55H8-task-start-finds-nested-planning-root-tasks
State: planning/draft · Impact: high · Complexity: small
Starting a determined task fails with “task file not found on origin/main” unless --main-repo
happens to point at the subproject. task start must find the task wherever it lives while still
placing the worktree under the git root.
lib/model/entities/task/ops/start.ts sets
mainRepo = resolveMainRepo(worktree, opts.mainRepoOverride, runner) (L188; the helper calls
mainCheckoutFrom at L92, and --main-repo overrides it), the git primary checkout, then reads the
task with readTask(basename, { projectRoot: mainRepo, at: 'origin/main' }) (L210-217), which only
looks in the root docs/planning/tasks. Its flags (L298-326) have no --project-root. The old
skills/task-work/start_task.ts is gone; this op replaced it.
Proposed
Section titled “Proposed”task start keeps the git primary checkout for worktree placement and finds the task file at
origin/main through the multi-root lookup from
T-9WPJ-resolve-searches-every-planning-root.
Approach
Section titled “Approach”- Reuse T-9WPJ’s root discovery to find which root holds the task at
origin/main. - Read the task from that root; keep
mainRepofor the worktree and lease. - Add a test with a nested-root task started from the repo root.
| Area | Note |
|---|---|
solutions/ontological/lib/model/entities/task/ops/start.ts | Task read and worktree placement |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
sdlc task starton a determined task succeeds from the repo root without--main-repo. - AC-2: The worktree lands under the git root’s worktree directory (see T-8CK0).
- AC-3: A test covers a nested-root task.
Out of scope
Section titled “Out of scope”- Moving worktree-root logic into one helper (T-8CK0).
Depends on
Section titled “Depends on”T-9WPJ-resolve-searches-every-planning-root