Fix bare-Potato material identity and preserve mapping-refresh provenance - #1239
Conversation
|
Independent adversarial review approved exact head Executed on this head: 35 focused offline tests passed. The separate 19 native-pair/predicate tests passed against the byte-identical committed candidate. The actual mapping refresh and second cycle agree on SHA-256 Review evidence: This is independent source/mapping review, not completed release acceptance. The actual isolated replay/comparison, full repository gates and CI are still pending; a fresh all-source production rebuild and candidate KG review remain subsequent work. No umbrella issue closure or publication is implied. |
|
All required local gates now pass at exact PR head
The original full-pytest receipt is preserved at Terminal retry receipt: Independent source/mapping review and actual isolated MediaDive replay passed This is bounded PR acceptance, not the final combined materials correction, |
Scope
Addresses #1236 and #1237. This does not close the broader #286 CAS-curation or
#650 MicrobeDecoder work, and it does not certify a production KG release.
Bare
Potatodoes not establish the extract-specific identity represented bycas:93348-51-7. Apply the narrow reviewed name/target exclusion across unified,strict/hydrate, embedded-CAS and nested solution-name routes. Preserve the recipe
observations and their source-local ingredient identity; do not infer another
chemical, registry or botanical target. Explicit extract names, direct registry
queries and distinct preparations such as Potato flour are not blanket-excluded.
The MediaDive producer retains original mapping claims separately in a mandatory,
producer-bound material-scope audit. It preserves full claim rows, source recipe
JSON, input hashes and record locators, distinguishing explicit starting-material
form from insufficient specificity. Finalization/admission verify the audit and
its actual consumed inputs; they do not invent a registry assertion in the recipe.
Mapping candidate and provenance
Potato lexical row. All other mapping row bytes and order remain unchanged.
09c44642ab13b234e89ce113f7510aa9efb56969e4b539cb7843b43dcb425ba7:591,949 rows, 120,183 targets, 336,050 exact matches and 255,899 close matches.
this is not a new upstream MIM release or export.
description preservation, one policy fingerprint, and fail-closed malformed
metadata handling. Unrelated metadata stays byte-identical. Original
reconstruction provenance remains bound to the saved baseline review.
removals/relabelings. Fresh lookup checks reject the reviewed bare-Potato
variants and retain four CAS controls plus Potato flour.
The accepted candidate is staged only in the isolated worktree. The production
checkout has not been promoted by this change. See
docs/reviews/mediadive-potato-scope-20260929/PROMOTION.mdfor exact hashes,retained evidence and the remaining gates.
Review and validation
complete; review findings Identity-only SSSOM refresh corrupts writer provenance and YAML description metadata #1237 were addressed before regenerating the accepted
candidate.
existing focused checks, passed.
an independent rerun. Historical invalid-CAS/native-category controls and their
immutable fixtures remain intact. Ruff and
git diff --checkpassed for theseupdates.
passed. This is helper verification, not acceptance of an actual replay.
was rediscovered from its exact raw recipe witnesses, not assumed from a
historical count.
Actual isolated MediaDive replay and its full-row comparison have now passed.
The real producer exited zero, native finalization/fingerprint checks passed,
and all protected inputs/outputs remained unchanged. Both versions contain
32,134 nodes and 113,926 edges. Exactly nine raw-bound Potato assertions change
only their object to the source-local ingredient; all 113,917 unrelated edges
are identical. Eighteen complete strict/hydrate mapping claims remain in the
producer/finalizer-bound audit. Explicit review accepted the sole node
replacement as source-local material retention, without invented equivalence.
Execution receipt SHA-256:
ee9c6861e6c7523441fd538bc0b2d0d54977523345a02253743e6034784388b5.Full comparison SHA-256:
a190d364ced27310741cef657b5d5c0edf81f86dd2011af325b900c7d61485f5.Evidence is under
data/issue1224-quarantine-20260929.xjuS9H/issue1236-review/, summarized inACTUAL-REPLAY-ACCEPTANCE.md. These checks prove the finite source change, notuniversal scientific correctness or merged-KG acceptance.
Full CI at reviewed head
99a35c93c1b5155a6584a5b7823630b5999efae8exposeda test-fixture integration omission, tracked as #1240: three inert MediaDive
fixture setups omit the new mandatory producer audit. Python 3.10 and 3.12
pytest logs each report 17 failures and 13 errors with that same cause. The
already-failing local full suite was deliberately interrupted before editing;
it is not a passing gate. The fixture-only repair at
df7fb08a95a8724a6fe5aa791bf4d117bc183aa4now exercises the real audit writerwithout weakening runtime admission. All 174 focused cases pass; independent
review passed 81 selected cases and separate missing/unrecorded/tampered-audit
rejection probes. Only three test files changed; the production runtime,
mapping pair, pin and actual replay outputs are unchanged. This addresses
#1240 but does not turn the earlier failed run into a passing one.
CI passed on all three versions at
df7fb08a95a8724a6fe5aa791bf4d117bc183aa4.Its local full pytest nevertheless exposed a second test-isolation defect,
#1244: two category tests constructed MediaDive using unrelated default bulk
inputs when local production ontology files existed; CI had skipped them.
That local result was two failed, 4,926 passed and 15 skipped, not acceptance.
The test-only repair at
03dd4bc918566ceffd43692ef1ed865419a441aaexercisesthe real BacDive/MediaDive category loaders on an immutable three-node fixture,
with unrelated defaults both absent and populated. Constructors, unrelated I/O
and network calls are guarded; there are no production-existence skips. All
34 authored tests and four independent adversarial probes pass. Runtime,
mapping/pin and accepted actual replay files remain unchanged.
Fresh full repository gates and all three CI versions are now running at
03dd4bc918566ceffd43692ef1ed865419a441aa(QC run36561435972).Do not merge before those checks pass. Fresh production
transforms, merge admission and KG model/path/release checks remain separate
after integration.