Status: active protocol from 2026-07-13
This document operationalizes the Human Evidence Recovery Design for the supporting IPKE evaluation corpus. The method-paper design remains the authority for experimental gates and claims.
The current datasets/paper/gold/ files are model-assisted, agent-audited candidates.
They are not production gold and cannot become paper evidence through a status change or
signature marker alone.
frozen source and bounded procedure
-> immutable model or agent candidate
-> agent source-to-candidate audit and decision packet
-> independent human complete source pass
-> exact item anchors and annotation log
-> source-only blind second pass for at least 25%
-> frozen pre-adjudication agreement
-> independent human adjudication
-> PI escalation only for unresolved scientific decisions
-> production annotation and paper-evidence gate
The roles are deliberately separate. Models and agents reduce mechanical work. Humans make production annotation decisions. A person who annotated a procedure cannot adjudicate that procedure.
Before drafting or reviewing, record:
- stable source URL and retrieval date;
- source version or revision;
- SHA-256 of the authoritative committed text;
- redistribution status and any third-party-content exception;
- page range and section identifier;
- exact Unicode
char_startand end-exclusivechar_endfor one complete procedure.
The normal scope is one coherent procedure with roughly 15 to 40 atomic steps. A shorter complete procedure may be accepted through a logged human scope decision. Do not expand the boundary merely to meet a target count.
annotate_assisted.py and other model tools may propose steps, constraints, attachments,
relations, and metadata. Their outputs remain candidates with complete model, prompt,
seed, temperature, and source provenance.
An agent audit may:
- compare every proposed item with the frozen source;
- identify omissions, duplicates, unsupported actions, type errors, and bad attachments;
- calculate candidate and source hashes;
- propose exact evidence offsets;
- create an uncertainty ledger and compact human decision packet.
An agent audit may not sign, adjudicate as a human, or promote the candidate. Candidate
JSON and agent decision history remain immutable evidence of how assistance behaved.
adjudicate.py replay reproduces a historical candidate transformation only. It is not a
route to production gold.
One named human reviews the entire frozen source span. Candidate assistance is allowed, but the reviewer must inspect source regions with and without suggestions and add omitted content. Accepting or rejecting a prefilled list without a complete source pass is not eligible.
The reviewer decides:
- procedure scope;
- step identity, granularity, order, and relations;
- constraint identity, text, type, and enforcement;
- every constraint-to-step attachment;
- exact evidence offsets for every accepted step and constraint;
- whether uncertain or implicit content needs escalation.
The primary pass is separately attributable to that human. A provenance marker may record completion, but the marker is not evidence without the primary-pass record and annotation log.
Every primary pass records:
- candidate SHA-256 and frozen-source SHA-256;
- reviewer handle and role;
- active review minutes, excluding breaks;
- candidate steps accepted, edited, rejected, and added;
- candidate constraints accepted, edited, rejected, and added;
- candidate relations accepted, edited, rejected, and added;
- unresolved decisions and evidence locations;
- final annotation SHA-256.
Use separate step, constraint, and relation counts. For each item class:
edit_rate = (edited + rejected) / candidate_items
omission_rate = added / final_items
These measurements describe the assistance workflow. They are not a human-effort or automation-bias claim until the study design is frozen and sufficiently powered.
The sidecar contract is now
schemas/ipke_annotation_evidence.schema.json; packages live under
datasets/paper/evidence/. assess_production_evidence verifies exact source and
annotation byte hashes, the bounded-span hash, Unicode item offsets, primary decision
coverage against the loaded candidate, unresolved decisions, role records, canonical
artifact paths, and hashes for primary, blind, agreement, adjudication, and final
artifacts. It also requires complete source identity, rejects duplicate IDs, broken
links, incomplete relation decisions, invalid decision spans, and invalid timing.
Candidate validation remains backward-compatible and does not imply production
eligibility.
At least 25% of experiment-eligible procedures are selected before model results are inspected. Selection is source-family aware and stored in the frozen IAA subset.
The second annotator receives only:
- the frozen source span;
- the locked taxonomy and annotation guidelines;
- a blank,
unreviewedscaffold with no first-pass items.
Both primary and blind outputs must retain the frozen procedure document ID and exact source-window offsets. A different source window invalidates the evidence package even when every item anchor remains in bounds.
The second annotator must not view the candidate, primary pass, audit packet, or another annotator's work. Accidental exposure invalidates the assignment and requires a different annotator. Both passes are frozen before reveal.
Compute step, constraint, attachment-edge, relation, type, enforcement, evidence-span, and token-label agreement on every preregistered pair. Preserve the raw annotations, hashes, and complete pre-adjudication report.
Attachment-edge F1 of at least 0.70 is the current G0 protocol gate. Cohen's kappa and the other measures are diagnostics. A low-agreement pair remains in the aggregate and triggers investigation; it is never discarded for failing a threshold.
The production validator recomputes each pair's attachment TP/FP/FN from the frozen primary and blind artifacts, checks those counts and F1 against the hashed report, then applies the threshold once to the counts aggregated across the preregistered subset.
A third named human who did not annotate the procedure resolves every disagreement against the source. The adjudicator also reviews:
- prohibitions and emergency actions;
- rare type and enforcement classes;
- implicit and cross-sentence attachments;
- a seeded sample of agreements;
- a seeded sample of source regions with no annotation.
Routine disagreement belongs to the adjudicator. Escalate only unresolved taxonomy, implicit-evidence, scope, or safety-critical decisions to the principal investigator. Record the evidence, alternatives, adjudicator recommendation, final decision, and decision maker.
The agreement report assigns stable IDs to every disagreement, seeded agreement, and seeded empty-region audit. The evidence sidecar stores typed adjudication decisions for exactly those IDs; a final output hash without this decision coverage is ineligible. Disagreement IDs are derived from the frozen step, constraint, explicit-relation, and attachment symmetric differences, and every adjudication evidence span is checked against the frozen procedure span.
A production annotation is experiment eligible only when all applicable evidence is present and passes:
- frozen source, rights, scope, and split membership;
- declared JSON Schema and structural validation;
- exact grounding for every step and constraint;
- complete primary-human pass and annotation log;
- blind-pass, raw-agreement, and independent-adjudication records for selected files;
- logged principal-investigator escalations, if any;
- frozen manifest and experiment configuration.
review_status = "reviewed", a non-placeholder annotator, or
+ human-verified:<handle> is insufficient without these records.
As of 2026-07-13, the retained candidate directory contains eight JSON files with 256 steps and 231 constraints. The provisional manifest selects five development candidates: three EPA and two USGS. NASA is excluded as the wrong genre; OLSK and NIOSH are excluded pending rebuild. No file has completed the primary human protocol or an eligible blind second pass.
The older 43-step, 117-constraint bounded-excerpt annotations are preserved under
datasets/paper/gold_v1_bounded_excerpt_archive/. Historical counts and agent decision
records are diagnostic provenance, not semantic-correctness evidence.
# Structural checks over all retained legacy candidates. This is not paper eligibility.
make eval-validate
# Manifest, human-evidence, and release gate. Expected to fail today.
make eval-paper-gate
# Historical candidate drafting. Output remains a candidate.
make gold-draft DOC=<doc_id> SEG=<segments.json> CAND=<candidate_id>
# Historical deterministic candidate replay. It cannot produce human evidence.
make gold-adjudicate DOC=<doc_id>
# Blind subset preparation and agreement reporting after the subset is frozen.
make iaa-setup
make iaaSee also:
docs/annotation/independent-annotator-workflow.mddocs/annotation/guidelines.mddocs/annotation/constraint-types.md