Skip to content

DL-162

The board’s poll targets are durable TABLE rows, not config: a new forge_repo_subscriptions table keyed (forge_provider, forge_host, repo) with an enabled soft-disable flag, enumerated WHERE enabled at the top of every pass so add/remove is a live row op needing no restart or deploy. The --forge-repos CLI flag becomes a declarative boot SEED reconciled into the table ON CONFLICT DO NOTHING (bootstrap-only insert: the table is authoritative after first insert, a soft-disabled row stays disabled across restarts, the seed never deletes/disables/re-enables an existing row); a --forge-poll bool runs the driver with an empty seed. The dynamic add/remove mutation RPC/admin surface is a named non-goal of this slice

Status: Active (Matt, 2026-08-08)

Record: ../../server/compass-forge-poll-driver/design.md#oq-c–resolved-matt-2026-08-08-the-boards-subscription-set-is-a-table