tracker: blank-start cleanup and foundation migration #305

Closed
opened 2026-05-11 19:18:26 +00:00 by barrettruth · 1 comment
Owner

Problem

The scope cuts are merged, but Delta still carries code and schema residue from the larger product shape. If we start adding Google sync and self-hosting polish on top of that residue, every future PR will pay for old assumptions around login, reminders, generic automations, keymap customization, public sharing, and broad provider configuration.

This tracker coordinates the next migration stack: remove more unnecessary surface, fix the settings overlay regression created by the routing simplification, clean up calendar/keybinding UI fallout, and refactor the remaining app around clearer boundaries.

Direction

The target is a small, durable single-user self-hosted app:

  • one owner account/API key model, not app-login or multi-user auth
  • task/queue/kanban/calendar as the primary product surface
  • Google provider OAuth only for Calendar/Tasks sync
  • narrow sync jobs instead of generic cron automations
  • settings as a compact operator/configuration surface
  • code organized around clear shell, task, settings, sync, and persistence seams

Execution rules

Each child issue should be implemented as one reviewable PR unless it explicitly says otherwise.

For subagent-driven work, the subagent prompt must include:

  • issue link and exact goal
  • non-goals
  • touched files or areas
  • base branch and PR target
  • required validation command
  • instruction to open a Forgejo PR with Closes #ISSUE_NUMBER

Do not keep multiple finished issues local-only in one branch. If stacking is necessary, make the base branch explicit and retarget to main before final merge.

Non-goals

  • Do not reintroduce app login, reminders, public share links, PWA/offline support, or generic automations.
  • Do not hide behavior changes inside refactor PRs.
  • Do not rewrite working calendar/task behavior just because the files are large.
  • Do not put secrets or credential values in issues, docs, logs, or PR descriptions.

Phase 0: repair obvious regressions, UI chrome, and repo debris

[ ] #306 — fix settings overlay so it opens over the current dashboard view instead of a blank background.
[ ] #317 — remove tracked editor artifacts and prevent obvious recurrence.
[ ] #326 — simplify all-day calendar row chrome and hide empty all-day lanes.
[ ] #327 — tune day/week time-grid lines while preserving 15-minute click targets.
[ ] #328 — decide the keybinding discoverability surface after customization removal.

Phase 1: align persistence with the blank-start product

[ ] #307 — compact or otherwise settle the blank-start migration baseline.
[ ] #308 — remove retired login/auth schema and setup residue.
[ ] #309 — remove reminder tables from the active schema.
[ ] #310 — remove or explicitly replace legacy share/source task fields.
[ ] #311 — delete the unused generic system config store unless it gets a concrete owner.

Phase 2: shrink settings/provider surface

[ ] #312 — collapse the static keymap provider after customization removal.
[ ] #313 — remove the empty integrations settings route unless #290 makes it real.
[ ] #314 — fix or retire the NLP recurrence provider contract.
[ ] #315 — simplify geocoding provider configuration.
[ ] #325 — centralize provider definitions before Google sync expands the surface.
[ ] #316 — prune stale CLI flags/docs so CLI contracts match the reduced app.

Phase 3: establish foundation seams

[ ] #318 — clarify dashboard provider ownership.
[ ] #319 — centralize dashboard server data loaders.
[ ] #320 — unify task input validation and normalization.
[ ] #321 — introduce a shared task mutation service boundary.
[ ] #322 — extract shared client task operations.
[ ] #323 — split task panel controller logic from rendering.
[ ] #324 — normalize keyboard scope handling.

Relationship to v0.1 work

This stack should happen before or alongside the Google sync work where it reduces risk. It should not block must-have integration issues unnecessarily, but schema/provider cleanup should land before #290, #123, or #291 start depending on more provider-specific storage.

## Problem The scope cuts are merged, but Delta still carries code and schema residue from the larger product shape. If we start adding Google sync and self-hosting polish on top of that residue, every future PR will pay for old assumptions around login, reminders, generic automations, keymap customization, public sharing, and broad provider configuration. This tracker coordinates the next migration stack: remove more unnecessary surface, fix the settings overlay regression created by the routing simplification, clean up calendar/keybinding UI fallout, and refactor the remaining app around clearer boundaries. ## Direction The target is a small, durable single-user self-hosted app: - one owner account/API key model, not app-login or multi-user auth - task/queue/kanban/calendar as the primary product surface - Google provider OAuth only for Calendar/Tasks sync - narrow sync jobs instead of generic cron automations - settings as a compact operator/configuration surface - code organized around clear shell, task, settings, sync, and persistence seams ## Execution rules Each child issue should be implemented as one reviewable PR unless it explicitly says otherwise. For subagent-driven work, the subagent prompt must include: - issue link and exact goal - non-goals - touched files or areas - base branch and PR target - required validation command - instruction to open a Forgejo PR with `Closes #ISSUE_NUMBER` Do not keep multiple finished issues local-only in one branch. If stacking is necessary, make the base branch explicit and retarget to main before final merge. ## Non-goals - Do not reintroduce app login, reminders, public share links, PWA/offline support, or generic automations. - Do not hide behavior changes inside refactor PRs. - Do not rewrite working calendar/task behavior just because the files are large. - Do not put secrets or credential values in issues, docs, logs, or PR descriptions. ## Phase 0: repair obvious regressions, UI chrome, and repo debris [ ] #306 — fix settings overlay so it opens over the current dashboard view instead of a blank background. [ ] #317 — remove tracked editor artifacts and prevent obvious recurrence. [ ] #326 — simplify all-day calendar row chrome and hide empty all-day lanes. [ ] #327 — tune day/week time-grid lines while preserving 15-minute click targets. [ ] #328 — decide the keybinding discoverability surface after customization removal. ## Phase 1: align persistence with the blank-start product [ ] #307 — compact or otherwise settle the blank-start migration baseline. [ ] #308 — remove retired login/auth schema and setup residue. [ ] #309 — remove reminder tables from the active schema. [ ] #310 — remove or explicitly replace legacy share/source task fields. [ ] #311 — delete the unused generic system config store unless it gets a concrete owner. ## Phase 2: shrink settings/provider surface [ ] #312 — collapse the static keymap provider after customization removal. [ ] #313 — remove the empty integrations settings route unless #290 makes it real. [ ] #314 — fix or retire the NLP recurrence provider contract. [ ] #315 — simplify geocoding provider configuration. [ ] #325 — centralize provider definitions before Google sync expands the surface. [ ] #316 — prune stale CLI flags/docs so CLI contracts match the reduced app. ## Phase 3: establish foundation seams [ ] #318 — clarify dashboard provider ownership. [ ] #319 — centralize dashboard server data loaders. [ ] #320 — unify task input validation and normalization. [ ] #321 — introduce a shared task mutation service boundary. [ ] #322 — extract shared client task operations. [ ] #323 — split task panel controller logic from rendering. [ ] #324 — normalize keyboard scope handling. ## Relationship to v0.1 work This stack should happen before or alongside the Google sync work where it reduces risk. It should not block must-have integration issues unnecessarily, but schema/provider cleanup should land before #290, #123, or #291 start depending on more provider-specific storage.
barrettruth added this to the v0.1.0 milestone 2026-05-11 19:18:26 +00:00
Author
Owner

Completed: all child issues listed in this blank-start cleanup tracker have landed and the closing PRs have merged into main. Closing the tracker; broader v0.1, Google sync, self-hosting, README, release, and CLI roadmap issues remain tracked separately.

Completed: all child issues listed in this blank-start cleanup tracker have landed and the closing PRs have merged into main. Closing the tracker; broader v0.1, Google sync, self-hosting, README, release, and CLI roadmap issues remain tracked separately.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta#305
No description provided.