Fixed-topology, discovery-only extension for Gaia curation. Atomically checkpoints each candidate transition, retries only the failed field, and stops at human L4 review.
Install
npx skillscat add gaia-research/gaia-skill-tree/gaia-curate-chain Install via the SkillsCat registry.
Gaia Curate Chain
Read ../gaia-curate/CURATION-CORE.md; it owns the lifecycle and packet. Use this extension when recoverability matters more than throughput.
Checkpoint contract
Persist a run ledger under generated-output/curate-discovery/<run-id>/run.json containing the core contract digest, generic snapshot digest, source cursor, active candidate ID, completed candidate IDs, deferred rows, and next instruction. Write to a temporary file, validate it, then atomically rename it; never leave a partially written checkpoint.
Process exactly one candidate at a time. Validate its discovery-packet-v2 after every transition and persist each final review packet to Core's registry-for-review/discovery-packets/ path. V1 remains readable only for compatibility. Advance only when the current transition validates and its input digest matches the checkpoint. On resume, revalidate contract and generic snapshot digests; preserve raw source records but move stale mappings to DEFER.
Bounded repair
Route only the failing candidate and field back to its worker. Allow at most two retries for transient fetch failure and one Luna High/equivalent repair for invalid structured output. A deterministic schema, hash, or generic-reference failure is not blindly retried.
If retries are exhausted or output remains invalid/ambiguous, emit DEFER with the stable core reason code and exact resume instruction: candidate ID, failed field, validator code, source cursor, and required operator action. Never synthesize or infer a decision.
The chain ends at L4 human review. It does not collect evidence, calculate trust, mutate the registry, regenerate docs, create intake batches, commit, push, or open a PR.
Explicit downstream handoff
After an L4 decision, write a handoff record; do not silently end the caller:
- New external discoveries: after L4 human approval, ratify the packet via
gaia dev ratifywith mandatory human review attestation flags (--assessment,--reviewed-by,--approval-ref,--reason,--acknowledge-human-review), which attaches the schema-definedl4Resolution, then rungaia push --from-file <packet.json>. Do not manually translate packets toskills.ymlor fabricate resolutions; the adapter owns that deterministic translation and refuses unresolved identity or non-blob provenance. - Rows that already came from
/gaia-draft-curate: preservebatchIdand issue/PR links, return them asneeds-evidenceto/ev-pipeline, then hand verified rows to a maintainer onreview/meta/*for the CLI-only meta-shift inCONTRIBUTING.md§1C. Do not submit the same intake twice.
Record the route, artifact path, remaining gate, and exact next command. This compatibility handoff is data only; the chain remains discovery-only.