Candidate Quarantine
v0.75 adds src/closed_world_lm/candidate_quarantine.py and a required
candidate_quarantine.json artifact for self-improvement answer cycles and
transformer answer-training runs.
The artifact is empty today because QuarkLM has not yet promoted autonomous candidate generation. That emptiness is still useful: the training plan can now prove that the candidate lane exists and that no candidate records were silently used as training data.
Candidate States
Candidate records support these lifecycle states:
proposedquarantinedneeds_human_reviewverifiedrejectedadmittedtrainedpromoted
State transitions are validated. Terminal states such as rejected and
promoted cannot move again.
Training Rule
Candidate records are not training data.
A generated lesson, probe, repair proposal, diagnosis note, or memory proposal can train weights only after it is admitted into the ledgered corpus and converted into curriculum lessons. The candidate record may preserve its history, but the candidate store itself is not a training source.
Run Artifacts
Self-improvement attempts now write:
attempts/attempt-###/candidate_quarantine.jsoncandidate_quarantine.jsonat the latest run leveltraining_plan.jsonwith the candidate quarantine path and summaryself_improvement_report.jsonwith the manifest embeddedclosed_world_verifier.jsonwith deterministic quarantine and plan checks
Transformer answer-training runs write:
candidate_quarantine.jsontraining_plan.jsonwith the candidate quarantine path and summarytransformer_answer_metrics.jsonwith the manifest embeddedclosed_world_verifier.jsonwith deterministic quarantine and plan checks
Verifier Link
v0.76 adds deterministic closed-world verifier checks. Candidate quarantine can now feed a verifier report without using an external model. Non-admitted candidates remain out of training; training-eligible candidates must link to a ledger admission id.