Symptom
On ade 1.0.1, a fresh ade extract <parse_job_id> --schema s.json --json run prints a payload with status, credits, store_dir, and fields as a bare count — no extraction key. The schema-shaped result lands only on disk at <store_dir>/extract.json.
Re-running the same command once the item is cached DOES inline extraction on stdout (verified: cached re-run payload keys include extraction, evidence, empty_fields, ungroundable, …). So the payload shape differs between the fresh-completion path and the cached path.
Why it matters
The skill/agent contract says the whole result is on stdout — "the payload's extraction key is the schema-shaped result itself — read it there, not off disk" — and downstream tooling (e.g. the build-schema skill's adapt.py) parses exactly that. Fresh runs violating the documented shape break any pipeline built on the contract, and the failure surfaces one step later as a confusing "payload has no 'extraction' key" in the consumer.
Reported from the field by a build-schema skill user (ExtractBench docs) and reproduced while triaging their report.
Expected
Fresh-run and cached-run --json payloads have the same shape, with extraction inline in both — or, if the summary shape is intentional for fresh runs, the divergence is documented in ade help extract --json and a flag opts into the full payload.
🤖 Generated with Claude Code
Symptom
On ade 1.0.1, a fresh
ade extract <parse_job_id> --schema s.json --jsonrun prints a payload withstatus,credits,store_dir, andfieldsas a bare count — noextractionkey. The schema-shaped result lands only on disk at<store_dir>/extract.json.Re-running the same command once the item is cached DOES inline
extractionon stdout (verified: cached re-run payload keys includeextraction,evidence,empty_fields,ungroundable, …). So the payload shape differs between the fresh-completion path and the cached path.Why it matters
The skill/agent contract says the whole result is on stdout — "the payload's
extractionkey is the schema-shaped result itself — read it there, not off disk" — and downstream tooling (e.g. the build-schema skill'sadapt.py) parses exactly that. Fresh runs violating the documented shape break any pipeline built on the contract, and the failure surfaces one step later as a confusing "payload has no 'extraction' key" in the consumer.Reported from the field by a build-schema skill user (ExtractBench docs) and reproduced while triaging their report.
Expected
Fresh-run and cached-run
--jsonpayloads have the same shape, withextractioninline in both — or, if the summary shape is intentional for fresh runs, the divergence is documented inade help extract --jsonand a flag opts into the full payload.🤖 Generated with Claude Code