- Preserve phase results on partial retry and keep interrupted phase context after restart. - Avoid webhook bookkeeping crashes when retention deletes stale jobs. - Add deeper unit, integration, and e2e coverage around queue seams. - Require verify job to pass before publish runs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1.5 KiB
1.5 KiB
jobqueue docs
Detailed architecture and runtime docs for jobqueue.
Doc map
| File | Purpose |
|---|---|
architecture.md |
Static architecture, module boundaries, data model, event model, state model |
runtime-lifecycle.md |
Step-by-step runtime behavior from startup through shutdown |
integration-findings.md |
Multi-agent scan results, verified bugs, fixes, and remaining behavioral notes |
jobqueue.c4 |
LikeC4 source for landscape, container, component, and runtime views |
Mental model
jobqueue is a single-process orchestrator around a SQLite-backed job table.
- Consumer code creates a
JobQueue. - Jobs are persisted immediately in SQLite.
- A pump claims runnable jobs and hands them to a concurrency-limited worker pool.
PhaseRunnerexecutes configured phases and reports progress back throughJobQueue.JobQueuepersists each state transition, emits typed events, formats SSE payloads, and optionally sends webhooks.- A retention scheduler can mark old jobs as
staleand later delete them.
Rendering LikeC4 views
The repository stores LikeC4 source in jobqueue.c4.
npx likec4 start docs/jobqueue.c4
Recommended views in the file:
index- system landscapelibrary- container view ofjobqueueruntime- internal runtime/component viewenqueue-to-complete- dynamic happy pathretry-flow- dynamic retry path