Skip to content

[codex] add durable inbox job pipeline - #176

Merged
h4yfans merged 2 commits into
mainfrom
codex/phase-03-inbox-jobs
Apr 8, 2026
Merged

[codex] add durable inbox job pipeline#176
h4yfans merged 2 commits into
mainfrom
codex/phase-03-inbox-jobs

Conversation

@h4yfans

@h4yfans h4yfans commented Apr 8, 2026

Copy link
Copy Markdown
Collaborator

What

Add a durable inbox job pipeline for phase 03 of the architecture reset.

Why

Inbox enrichment work was still driven by ad hoc in-memory timers and item-local status fields, which made restart/resume behavior fragile and kept background-work concerns spread across IPC handlers. This slice moves metadata scraping and voice transcription onto persisted inbox jobs so the pipeline can resume safely after app restart and expose typed job state to the renderer.

How

  • add inbox_jobs schema, migration, and typed contract/preload surfaces
  • introduce a main-process inbox job scheduler/repository that resumes pending or interrupted jobs on startup
  • route link metadata and voice transcription through durable job queueing instead of direct setImmediate/retry logic in handler code
  • add inbox:get-jobs, renderer service/query support, and a lightweight inbox job status indicator in the page shell
  • update inbox tests for capture/query behavior and add restart-resume coverage for job processing
  • manually update generated migration journal and IPC invoke map because this worktree does not have installed dependencies for the generator scripts

Type

  • feat — new feature
  • fix — bug fix
  • refactor — restructure without behavior change
  • style — visual/UI only
  • perf — performance improvement
  • test — adding or updating tests
  • chore — tooling, deps, config
  • docs — documentation only
  • ci — CI/CD changes

Test plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing (describe below)

Attempted but blocked in this worktree because node_modules is missing:

  • pnpm --filter @memry/desktop db:generate:data
  • pnpm ipc:generate
  • project typecheck and Vitest runs

Completed sanity checks:

  • git diff --cached --check
  • validated apps/desktop/src/main/database/drizzle-data/meta/_journal.json references 0021_inbox_jobs
  • manually updated the generated IPC invoke map to match the new inbox:get-jobs contract

Checklist

  • Self-reviewed the diff
  • No hardcoded secrets or credentials
  • Files stay under ~500 LOC
  • Follows immutable data patterns

@h4yfans
h4yfans marked this pull request as ready for review April 8, 2026 21:31
@h4yfans
h4yfans merged commit 233c4d9 into main Apr 8, 2026
4 checks passed
@h4yfans
h4yfans deleted the codex/phase-03-inbox-jobs branch April 8, 2026 21:31
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