Skip to content

T-1YQM-start-task-resolves-frontmatter-conflict

Status: closed/done · Impact: medium · Complexity: small

/sdlc:task-work Step 5b runs start_task.py, which commits the status flip on main (status: in-progress + a refreshed last_reviewed:) and then rebases the task branch onto main. The task branch already carries the verify-stamp commit from Step 5a, which refreshed readiness_verified_at:. When both commits touch adjacent frontmatter lines, the rebase surfaces a textual merge conflict (exit 3) even though the changes are semantically independent (one sets status/last_reviewed, the other sets readiness_verified_at). The spec halts on exit 3 and asks the operator to hand-resolve. The resolution is always the same trivial union of both sides’ key edits, so this is a good candidate for deterministic auto-resolution.

From the originating task’s post-mortem: “start_task.py’s rebase hit a frontmatter merge conflict (exit 3) on the task file: the start-commit (status flip + last_reviewed) and the verify-stamp commit (readiness_verified_at) edited adjacent frontmatter lines. The conflict was trivial and mechanical (keep both fields), but the spec says exit 3 should halt and surface. A deterministic frontmatter-only conflict resolver in start_task.py (union the non-conflicting key edits) would let this self-heal instead of needing a manual three-way merge.”

TBD — receiver to fill before promoting from planning/draft.

LocationRole today
plugin/skills/task-work/start_task.pyFlips task status on main, commits, then git rebase main on the task branch. Surfaces a hard exit 3 on any rebase conflict, including frontmatter-only ones that are mechanically resolvable.

TBD — receiver to fill before promoting from planning/draft.

TBD — receiver to fill before promoting from planning/draft.

TBD — receiver to fill before promoting from planning/draft.

LocationKindChange
plugin/skills/task-work/start_task.pymodifyAdd a frontmatter-only conflict-resolution path before bailing with exit 3.

TBD — receiver to fill before promoting from planning/draft.

  • AC-1: A task branch whose verify-stamp commit refreshed readiness_verified_at: rebases cleanly onto a main start-commit that set status: in-progress and last_reviewed:, with no manual conflict resolution, and the resulting frontmatter carries all three fields’ latest values.

TBD — receiver to fill before promoting from planning/draft.

  • none
  • none

Spawned by /sdlc:cross-repo-task-pr on 2026-05-25 UTC from 2026-05-19-engine-review-unify-effect-apply-paths in git@github.com:sksizer/pumice.git.

Bullet: start_task.py rebase hit a frontmatter merge conflict (exit 3) because the start-commit and the verify-stamp commit edited adjacent frontmatter lines; a deterministic frontmatter-only conflict resolver in start_task.py would let this self-heal instead of needing a manual three-way merge Keywords searched: frontmatter-only, deterministic, start-commit, verify-stamp, frontmatter, start_task, self-heal, three-way Excluded: 2026-05-19-engine-review-unify-effect-apply-paths Top candidates (score / status / headline):

  • 9 / closed/done / 2026-05-19-engine-review-running-tick-decision — Engine review P2: delete unused Running::tick and EngineEvent::IntervalTicked
  • 3 / closed/done / 2026-05-12-time-zone-boundary-helpers — Formalise UTC/local time boundaries with shared helpers
  • 2 / closed/done / 0001-timer-profiles-data-model — Timer Profiles — Data Model Change
  • 1 / closed/done / 0007c-this-month-preset-bug — Bug: “This Month” preset highlights “Last 30 days”
  • 1 / closed/done / 0034-backup-include-engine-state — Make backup/restore symmetric across all tables Decision: SPAWNED

← Back to Tasks