Documentation Page

Candidate-Evidence Discrepancy Triage

Audience: agent-orch maintainersAudience: release reviewers Mode: executiveMode: engineerMode: ai

id: page.candidate-evidence-discrepancy-triage title: Candidate-Evidence Discrepancy Triage visibility: public candidate_visibility: candidate-only candidate_only: true audiences: - agent-orch maintainers - release reviewers reading_modes: - executive - engineer - ai claim_refs: [] source_refs: - source.naming-decision - source.documentation-boundary - source.platform-delivery-contract


Candidate-Evidence Discrepancy Triage

Purpose

This is a read-only candidate-evidence triage for agent-orch maintainers and release reviewers. It maps declaration drift, fixture rejection cases, and the supplied platform observations to the exact manifest, model, fixture, authority owner, reproducible check, and escalation owner. It distinguishes a shape rejection from a runtime observation and a product conclusion from a platform attestation. The page is candidate-only: it creates no approval, release pointer, promotion, publication, schedule, rollback, activation, or live-directory effect. Missing recurrence, product impact, or authority is kept unresolved rather than completed with plausible prose.

Evidence Matrix

The matrix is a traceability aid, not a resolution ledger. The manifest named in every row is journeys/user_journeys_manifest.json; the pinned comparison manifest is journeys/candidate-evidence-handoff-manifest.json; and the machine-readable model is models/candidate_evidence_handoff_contract.json. The human-readable contract at docs/candidate-evidence-preflight-contract.md remains a separate five-check declaration. The three-check manifest delivered with this packet is synchronized to the executable/model route, but that synchronization does not canonize or resolve the five-versus-three declaration discrepancy.

Discrepancy and observed fact Manifest Model Fixture or supplied evidence Authority owner Reproducible check Escalation owner and current status
D-1 — Declaration cardinality and route drift: the human contract names five checks and five canonical journeys, while the executable handoff route names AC-1 through AC-3 and three journeys. journeys/user_journeys_manifest.json; compare journeys/candidate-evidence-handoff-manifest.json. models/candidate_evidence_handoff_contract.json, including its three pinned journey declarations. tests/fixtures/candidate_evidence/valid.json has the three-journey evidence shape; docs/candidate-evidence-preflight-contract.md is the competing five-check declaration. The agent-orch contract owner owns product declaration reconciliation; the separate governing authority owns any control-level canonicalization. Inspect validate_manifest in tools/candidate_evidence_preflight.py against the exact pinned IDs, names, traces, commands, and review configuration. The preserved product-contract result does not resolve this declaration conflict. Escalate canonicalization to the agent-orch contract owner and governance authority; Lee decides only any human-routing question. Open; not resolved.
D-2 — Journey-name mismatch: invalid-journey-name.json substitutes a shortened name for a pinned journey name. The exact name and traces_to values in journeys/user_journeys_manifest.json. The model's journeys array pins the byte-for-byte name. tests/fixtures/candidate_evidence/invalid-journey-name.json is an intentional rejection fixture, not evidence that a live reader used the wrong name. The author or evidence producer owns the submitted evidence record; the contract owner owns the pinned declaration. Apply validate_evidence to the named fixture and compare the fixture name byte-for-byte with the manifest; do not normalize whitespace or punctuation. Return a real mismatching evidence record to its author; escalate declaration changes to the agent-orch contract owner. Fixture rejection is expected; no product defect is established.
D-3 — Command allowlist mismatch: disallowed-command.json claims a command outside the exact allowlist. The manifest allowlist contains only python3 -B tests/check_documentation_smoke.py and python3 -B -m pytest -p no:cacheprovider tests/test_product_contract.py. The model repeats that exact allowlist and the journey command bindings. tests/fixtures/candidate_evidence/disallowed-command.json is an intentional rejection fixture. The manifest/contract owner owns command declarations; platform validator authority owns any execution attestation. Apply validate_evidence to the fixture and require exact string membership; a near-match, whitespace change, or alternate test command is not equivalent. Route an actual disallowed claim to the evidence author; route allowlist changes to the agent-orch contract owner and, if they alter governed control, governance authority. Fixture rejection is expected; not resolved as execution evidence.
D-4 — Missing observed result: malformed-evidence.json omits the required command observation, so a declaration cannot be mistaken for execution evidence. The manifest's evidence schema requires observed_result for each command claim. The model requires command, exit_code, and observed_result. tests/fixtures/candidate_evidence/malformed-evidence.json is the malformed-shape fixture; valid.json is the complete shape comparator. The evidence producer owns the missing field; the product preflight contract owns the schema requirement. Apply validate_evidence to the fixture and require a non-empty observed_result; preserve the original omission when reporting the failure. Return incomplete records to the evidence producer; escalate schema changes to the contract owner. Malformed fixture is rejected; no run result is inferred.
D-5 — Independent-review path gap: missing-review-path.json omits the required review-verdict path, while the manifest requires code-reviews/content-review.verdict.json. journeys/user_journeys_manifest.json requires the path and accepted verdict shape. The model repeats the same required review path and verdict constraints. tests/fixtures/candidate_evidence/missing-review-path.json is a rejection fixture; no trusted independent-review verdict is established by the declared inputs for this handoff. The independent review owner or release reviewer owns the verdict; the author cannot self-certify it. Apply the manifest's run_preflight review-path check to a supplied record and verify the independently readable verdict separately; a named path is not proof that the file exists or passes. Escalate to the independent release reviewer for a separate verdict. Open until authoritative review evidence is supplied.
D-6 — Reader-gate command/result mismatch: the supplied platform observation records python3 tests/check_documentation_smoke.py, exit 1, and Operation not permitted, while the pinned journey declares python3 -B tests/check_documentation_smoke.py; localhost access was denied. The third journey in journeys/user_journeys_manifest.json declares the exact -B command, expected exit 1, and AC-3 trace. The model's third journey carries the same command and expected exit. artifacts/preflight/candidate-evidence-handoff.json records the platform-owned journey.resolve-reader-journey-harness-decision attempt; tests/fixtures/candidate_evidence/valid.json is only a shape example, not runtime evidence. Platform-owned evaluator/reader-gate authority owns the execution record and environment cause. Compare the exact supplied command and result with the declared command; the declared smoke command is python3 -B tests/check_documentation_smoke.py. Do not rerun or normalize the supplied no--B observation in this handoff. Route a permitted follow-up to the platform evaluator; Lee decides whether to retain this as an evidence-routing blocker. Unresolved environment-specific blocker; recurrence, affected claim, and repair target are not established.
D-7 — Preserved-validator representation boundary: the authoritative records supply python3 -m pytest -p no:cacheprovider tests/test_product_contract.py as their command array and separately record the bytecode-disabled declared command, while the journey declaration uses the exact -B form. The first two journeys in journeys/user_journeys_manifest.json declare the -B form and expected exit 0. The model carries those exact journey declarations. The attempt-3 preserved artifact contains five authoritative records: step 01 hash 2dea7afd26c8842b535b97bf1e5ed42c4de93162f5d7a67acc48dc64d409917d, step 03 attempt 1 hash b89ba70d56989ce8ede97f2564e6fd750094cc207582e74915df18cc5c27611b, step 04 attempt 1 hash 1efb151099f2b14f5d20e8f681f505f9e6bade0a82102c06194bcc5861ee553b, step 03 attempt 2 hash f5297fb304beb913b081b8db17cc38944630df52c369c943b58c51ba5c20f298, and step 04 attempt 2 hash 92c8c86f1bbc012ce4a69293c14e8a10b299c3fadf8358bd7c263a09e8a6b2c8; each records exit 0, 10 passed, 0 failed, and 0 skipped. Agent-Orch system-validator authority owns these captured results; they are not worker-generated evidence. Read the supplied artifact's five command arrays, declared commands, exact counts, summaries, durations, and hashes. The validators were not rerun, and these results do not certify a reader journey or release transition. Escalate command-identity reconciliation to the validator/contract owner; do not replace the preserved records. Captured product-contract results are accepted as supplied; command-claim distinction remains explicit.

Discrepancy Triage

Triage starts by classifying the row, not by assigning a repair. D-1 is a declaration conflict between the five-check human contract and the pinned three-check executable/model route. The delivery keeps the user manifest on the pinned three-check route because the executable preflight explicitly pins that shape, while leaving the human-contract conflict open for its owner. D-2 through D-5 are intentionally negative fixtures: they show how the preflight rejects altered identity, unallowlisted commands, missing observations, and a missing review path. Their rejection shape must not be reported as a live reader failure or a resolved product defect.

D-6 is the only supplied runtime-style discrepancy. One platform-owned reader-gate attempt exited 1 with Operation not permitted because the evaluator environment denied localhost socket access. The command in that record lacks the manifest's -B spelling, so the record must be preserved as observed rather than silently rewritten. One denied attempt does not establish recurrence, a retry count, an affected claim, a product harness defect, or a repair target. D-7 records the same kind of boundary for the five preserved validator results: each is authoritative captured evidence, but each command array and declared command must not be conflated with the manifest's reader claim. No discrepancy in this report is called resolved without current owner-supplied evidence that proves the relevant fact.

Ownership and Escalation

The author owns only this product-side packet: the candidate page, its registry identity, the candidate change record, and the reader-journey manifest. The author may describe evidence and unresolved gaps, but may not change sources/authority.json, private governance, the validator authority, the governing contract, or a platform-owned reader record. The agent-orch contract owner owns reconciliation of the five-check versus three-check declarations, exact journey identity, and allowlist changes. A change that would alter governing authority, routing, validator authority, activation, or publication policy requires the separate governance authority; it is not an authoring decision.

The platform evaluator owns the reader-gate execution, environment cause, and any permitted follow-up result. The system-validator authority owns the preserved product-contract record and its evidence hash. The independent release reviewer owns the verdict at the required review path; the presence of a path in a manifest is not a verdict. Lee's bounded human decision is whether to retain the unresolved environment-specific blocker and route a permitted follow-up evaluation. Lee is not being asked by this page to approve, promote, publish, schedule, activate, roll back, create or change a release pointer, or write a live directory. Until the named owner supplies the missing evidence, the candidate stays parked and the discrepancy stays open.

Acceptance Checks

  • AC-1 — Traceability: A maintainer or release reviewer can start at this page and map every listed discrepancy to journeys/user_journeys_manifest.json, the pinned handoff manifest, models/candidate_evidence_handoff_contract.json, the named fixture or preserved artifact, the three public-safe source IDs, and an explicit owner without treating a declaration as a run result.
  • AC-2 — Reproducibility: A reviewer can replay the exact non-empty commands declared by the user manifest, compare names and commands byte-for-byte, and preserve the supplied exit status, output, counts, and evidence hashes. All five preserved validator results are read as authoritative evidence and are not rerun or replaced in this handoff.
  • AC-3 — Authority ownership: Each discrepancy has a named authority and escalation route; Lee and governance authority decisions are distinguished from author work, independent review, platform evaluation, and validator attestations. The reader retains the candidate-only boundary and leaves recurrence, affected claims, repair targets, approval, promotion, publication, scheduling, rollback, pointers, and live-directory actions unresolved unless separately proved.

This report is complete as a candidate-only triage record, not as a repair, review verdict, release decision, or publication authorization. A later owner may add evidence to the relevant route, but may not rewrite the original observation to make the matrix appear closed.

Provenance: Candidate packet candidate-evidence-discrepancy-triage (candidate-evidence-discrepancy-triage.json, step: step_03_author_triage_report)
Registry Source: content/public/candidate-evidence-discrepancy-triage.md