-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Problem
When new entries are added to config/manuals.yaml, they require a manual deployment ritual to take effect: SSH into the ingest shell, navigate to terminal, and trigger extract manuals. This is error-prone and blocks vault initialization behind human intervention.
Solution
Add the manuals extraction call to AbisFanout.fanout() in packages/ingest/fanout/abis.ts. The ABI fanout already runs on a 15-minute cron and handles things discovery — manuals are just another source of things.
Tasks
-
Add manuals extraction to
AbisFanout.fanout()
At the top of the fanout method, before the ABI loop, enqueuemq.job.extract.manuals. Manuals define things that the subsequent fanout loop may need to process, so they should be extracted first. -
Update
docs/manuals.md
Keep the manual shell steps but document that manuals are now extracted automatically as part of the ABI fanout cycle.
Acceptance Criteria
- Manuals extraction runs automatically every 15 minutes as part of the ABI fanout
- Manuals are extracted before the ABI source/thing fanout loop
- Repeated runs remain safe (
upsertThingis already idempotent) - Manual terminal trigger still works as a fallback
Notes
upsertThingusesON CONFLICT ... DO UPDATEwith defaults merging, so repeated extraction is safe- The manuals extractor is trivial — just iterates entries and enqueues
load.thingjobs - Keeps the "one consolidated cycle" pattern the project has converged on