Skip to content

refactor: one file per ticket with 8-char hex IDs, remove branch protection#2

Open
YamiDaisuke wants to merge 1 commit into
mainfrom
claude/review-ticket-branch-logic-1hUgy
Open

refactor: one file per ticket with 8-char hex IDs, remove branch protection#2
YamiDaisuke wants to merge 1 commit into
mainfrom
claude/review-ticket-branch-logic-1hUgy

Conversation

@YamiDaisuke
Copy link
Copy Markdown
Owner

Each ticket is now stored as its own .todo/tickets/.yaml file using a
random 8-char hex ID from crypto/rand. Two parallel agents touching different
tickets now write different files, so git merges cleanly without conflicts.

  • Replace sequential integer IDs with collision-free hex IDs (store.NewID)
  • Replace tickets.yaml bulk file with per-ticket files in tickets/ directory
  • Remove entire branch override system (state.go, GlobalState, BranchTicket,
    IsMainBranch) — tickets are always written directly, regardless of branch
  • Add store.MigrateIfNeeded() for automatic one-time migration of old
    tickets.yaml / deleted.yaml to per-file format on first run
  • Add hooks.ReinstallIfPresent() to update hook regex ([0-9]+ → [0-9a-f]{8})
    automatically when migration runs
  • Update all format strings, sort order (CreatedAt), and store API calls
  • Update all docs (README, architecture, data-model, ui-reference, developer-guide)

https://claude.ai/code/session_01LMnKB6C66GCGoRSwAAWXpr

…ection

Each ticket is now stored as its own .todo/tickets/<id>.yaml file using a
random 8-char hex ID from crypto/rand. Two parallel agents touching different
tickets now write different files, so git merges cleanly without conflicts.

- Replace sequential integer IDs with collision-free hex IDs (store.NewID)
- Replace tickets.yaml bulk file with per-ticket files in tickets/ directory
- Remove entire branch override system (state.go, GlobalState, BranchTicket,
  IsMainBranch) — tickets are always written directly, regardless of branch
- Add store.MigrateIfNeeded() for automatic one-time migration of old
  tickets.yaml / deleted.yaml to per-file format on first run
- Add hooks.ReinstallIfPresent() to update hook regex ([0-9]+ → [0-9a-f]{8})
  automatically when migration runs
- Update all format strings, sort order (CreatedAt), and store API calls
- Update all docs (README, architecture, data-model, ui-reference, developer-guide)

https://claude.ai/code/session_01LMnKB6C66GCGoRSwAAWXpr
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.

2 participants