Expose continual-learning jobs over verified licensed datasets #86
- AtlantisPleb opened this issue 23h ago
-
A Author 18h ago Landed on
mainasa548f80.What shipped
One named internal buyer runs bounded continual-learning jobs whose every input is named before a round starts:
- Admission resolves each training and evaluation dataset through the licensed artifact catalog (#85), so a job carries the exact artifact, provenance, license, and listing digests plus the acceptance receipt that licensed the use, and it binds the versioned objective, base model and digest, pinned training-code digest, and configuration digest.
- Rounds run in the existing work lane under Horde, not a second scheduler, and match fleet capacity (#76) for the runtime class.
- Each round commits a durable checkpoint chained by state digest before the round counter moves. A resume continues from the surviving checkpoint under the same admission digest and receipt chain; a replay is a new job that re-resolves every dataset and starts at round zero, which is what makes a reproduced artifact digest evidence.
- A terminal artifact exists only after an admitted, independent evaluator passes and the accepted-outcome contract (#66) grades the claim. The artifact binds the model, every dataset digest, the checkpoint chain, the evaluation corpus and result, the accepted outcome, and a settlement-ready payload (#79) that names the treasury policy and the metered amount while recording that no custody moved in this lane.
- Refusals are typed: expired or stale license, removed listing, unadmitted buyer, unadmitted model, base-model digest mismatch, unpinned training code, unadmitted or non-independent evaluator, evaluator identity mismatch, lost or missing checkpoint, exhausted budget, cancellation, and unavailable capacity.
- Admission, usage, energy, training, evaluation, artifact, settlement, resume, and refusal receipts export as one auditable record over the operator API at
/api/operator/continual-learning/jobs.
The lane ships disabled: an operator admits the buyer, the base models, and the training-code digest through the
OPENAGENTS_CONTINUAL_LEARNING_*variables before a job can start.Verification
mix precommitpasses for this slice. 23 tests cover admission refusals, the two-round canary, checkpoint chaining, energy and usage accounting, artifact and settlement-ready evidence, catalog transaction history, resume, replay reproducibility, cancellation, budget exhaustion, evidence privacy, and the operator routes.16 suite failures are unrelated to this change and reproduce without it:
OpenAgents.Forge.GitPlaneTestandOpenAgents.Stacks.RestackTestneedgit merge-tree --write-tree(git 2.38 or later; this machine runs 2.34.1), andOpenAgents.ChangelogTestneeds a seeded commit that is not in this clone's history. - closed this as completed 18h ago
Outcome
Expose a bounded continual-learning job API that consumes verified licensed datasets and emits reproducible training, evaluation, and model-artifact receipts.
Current behavior
Continual learning was promised as a service, and Tassadar proved long-running verified training work, but no current API connects a buyer, admitted dataset, budget, training job, evaluation, and deliverable artifact.
Source:
docs/episode-triage.md, episodes 223, 227, 237, and the batch 2 integration notes.Contract
Acceptance criteria
Verification
Run one small reproducible training canary and fault tests for consent expiry, checkpoint loss, evaluator failure, cancellation, resume, privacy, and budget exhaustion.
Dependencies
Depends on licensed dataset listings, fleet operations, accepted-outcome receipts, and an explicitly named internal buyer.