Skip to content

Delphi on Postgres: queue runs, run-bound results, readers behind a switch - #3004

Closed
colinmegill wants to merge 6 commits into
edgefrom
dynamo-on-postgres
Closed

colinmegill wants to merge 6 commits into
edgefrom
dynamo-on-postgres

Conversation

@colinmegill

Copy link
Copy Markdown
Member

Stacked on #3003 (Release B).

Observable changes: none by default. The reader switch defaults to DynamoDB; Delphi's queue path and the importer are present but inactive until turned on.

What it adds: Delphi through the queue as dependent per-step jobs (embeddings, clusters, topics, narrative); results stored in Postgres tied to their run; server routes and the report able to read them behind the switch; an importer command for existing DynamoDB results.

Proof (work box): the end-to-end scenario passes with DynamoDB stopped (math verified, per-step retries, nine result families bound to four runs, three report routes in a browser, importer 34 imported / 5 archived / 1 quarantined); default replay 272/272 byte-exact. The full server unit suite was flaky on the box (varying failures, a native Jest crash); hosted CI is the witness here, and the box flakiness is tracked separately.

🤖 Generated with Claude Code

https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s

colinmegill and others added 6 commits October 10, 2026 03:24
…3, 24, 27)

The migration runner returns with the deploy sequence production needs:
a one-time reconcile records the existing schema, then apply adds only
the release's migrations (the job queue, Delphi job records, the large-job
lane, and per-step job runs). Migrations run before old services stop, so
a refusal leaves the previous version serving. The server refuses to start
while a migration in the release is pending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
…ind a switch

Delphi runs through the job queue as dependent per-step jobs; each step's
result is stored in Postgres tied to its run. Readers (server routes, the
report) can read from Postgres behind a switch that defaults to DynamoDB,
so merging changes nothing until the switch is turned on. An importer
command copies existing DynamoDB results into the new tables; it is not
run automatically.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
…d at the default)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NVGBuYCk4EZmiz4csUv9s
Base automatically changed from release-b-migration-runner to edge October 10, 2026 18:51
@colinmegill

Copy link
Copy Markdown
Member Author

Superseded by the rebuild on edge.

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