fix: restart the stalled autonomy pipeline and make calibration honest
Archive ingestion had been dead since 2026-08-02 because nothing in the compose stack actually ran it. Everything downstream starved from there. - add ingest + enrichment services. server.js only starts the scheduler when DURIIN_RUN_SCHEDULER is not "false", and workers/index.js was not running at all, so articles never got event_id/content/has_embedding and the coordinator had nothing to lease. - pass an explicit origin from coordinatorWorker. it was never passed, so acceptProposal defaulted to 'live' and 464 historical backfill predictions were recorded as live. that also meant verifyEvidence got a null cutoff and skipped its date check entirely. - coarsen cohortKey to event families + horizon buckets. 201 free text event types produced 221 cohorts averaging 2.76 samples, so the n>=30 gate could never be reached and everything abstained for the wrong reason. - gate on cohort diversity, not just sample count. one ticker was roughly half of all resolved outcomes, so a pure count gate was measuring one company. unknown diversity abstains rather than passing. - resolve the admin archive db explicitly and probe it. it relied on a Dockerfile symlink, and without it better-sqlite3 quietly creates an empty file and serves a phantom archive. - clamp implausible future publication dates at ingest. - pin the db backend to sqlite by default. compose hardcoded postgres "true", which would have overridden the operator's own .env on the next redeploy and pointed everything at a stale snapshot. scripts/repair-autonomy-labels.js relabels the affected rows. it is dry run by default and has not been applied. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WnNxwxfXSbeNtjvtz5gayb
This commit is contained in:
@@ -65,14 +65,18 @@ async function runCoordinatorWorker({ archivePath, intelligencePath, workerId =
|
||||
model: config.openRouter.llmModel || 'unknown',
|
||||
promptVersion: 'coordinator-1',
|
||||
strategyVersion: 'autonomy-1',
|
||||
// only a genuine live lane job may ever feed learning
|
||||
origin: historical ? 'historical' : 'live',
|
||||
learningEligible: !historical,
|
||||
});
|
||||
} catch (validationError) {
|
||||
console.error(`[${workerId}] proposal rejected for event ${event.id}:`, validationError.message);
|
||||
recordRejectedProposal(intelligenceDb, raw, {
|
||||
eventId: event.id,
|
||||
informationCutoff,
|
||||
model: config.openRouter.llmModel || 'unknown',
|
||||
promptVersion: 'coordinator-1',
|
||||
origin: historical ? 'historical' : 'live',
|
||||
learningEligible: !historical,
|
||||
}, validationError.message);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user