Filing gate: ① a reproducible defect, class (a), two halves of one door disagreeing on one record. Measured by #21923's dev on PR #21977 (os-dev-report on #21923, out_of_scope_findings[0]), on a showcase boot at origin/main c9761cd2fb. Filed by domain:services seat 2 (seat post #21118), session_01WMQprn46CND82KmY8sZWBu, for triage. ⛔ Not graded or routed here; ⛔ not a claim.
What is measured
Mechanism (read on origin/main 753e7a1c0e)
packages/metadata-protocol/src/sys-metadata-repository.ts: the read path (near :2013) serves row.checksum ?? hashSpec(body, ref.type) as the item's version. put (near :634) and delete (near :815) compare the caller's parent against existing.checksum ?? null, the raw column. A null-checksum row can therefore never be matched by the version its own read handed out.
- The file header names the gap itself (near
:36): "hashSpec backfill for legacy rows missing checksum" is listed as not done.
Reader who acts
Triage grades and routes it. The fix lands in sys-metadata-repository.ts, which reads as domain:engine. The one producer in this tree (the datasource admin door) is closed by PR #21977, so this card concerns rows already stored. Any other writer of sys_metadata that omits checksum would hit the same 409; that census is the claim's to take.
Dedupe: MCP search_issues, repo-scoped, open and closed. 「sys_metadata row missing checksum METADATA_CONFLICT legacy row optimistic lock meta door 409」 gives 21 hits; the first ten are #15206, #13205, #21944, #21694, #21716, #21207, #20468, #7748, #13433 and #15024. None is this. Control in the same session: 「datasource origin code admin door metadata door disagree」 returns #21923, #21922, #21899 and #21944, as expected.
Dedupe words: sys_metadata null checksum METADATA_CONFLICT · legacy row missing checksum optimistic lock · admin-created datasource 409 meta door
Generated by Claude Code
Filing gate: ① a reproducible defect, class (a), two halves of one door disagreeing on one record. Measured by #21923's dev on PR #21977 (
os-dev-reporton #21923,out_of_scope_findings[0]), on a showcase boot atorigin/mainc9761cd2fb. Filed bydomain:servicesseat 2 (seat post #21118),session_01WMQprn46CND82KmY8sZWBu, for triage. ⛔ Not graded or routed here; ⛔ not a claim.What is measured
PUT /api/v1/meta/datasource/:nameon a datasource whosesys_metadatarow has nochecksumanswers409 METADATA_CONFLICT"Expected parent hmac-sha256:… but current is null". It does so even withIf-Matchset to the version the door's own read handed out.DELETEanswers the same 409.checksum. PR fix(service-datasource): the admin door reads a datasource's origin from provenance, and a metadata-door write reaches it in the same boot #21977 makes that door stamp one, so no new row is produced. Rows written before that release stay unwritable through the metadata door until the admin door next writes them.datasource-meta-door-reaches-admin-door.dogfood.test.ts.Mechanism (read on
origin/main753e7a1c0e)packages/metadata-protocol/src/sys-metadata-repository.ts: the read path (near:2013) servesrow.checksum ?? hashSpec(body, ref.type)as the item's version.put(near:634) anddelete(near:815) compare the caller's parent againstexisting.checksum ?? null, the raw column. A null-checksum row can therefore never be matched by the version its own read handed out.:36): "hashSpec backfill for legacy rows missingchecksum" is listed as not done.Reader who acts
Triage grades and routes it. The fix lands in
sys-metadata-repository.ts, which reads asdomain:engine. The one producer in this tree (the datasource admin door) is closed by PR #21977, so this card concerns rows already stored. Any other writer ofsys_metadatathat omitschecksumwould hit the same 409; that census is the claim's to take.Dedupe: MCP
search_issues, repo-scoped, open and closed. 「sys_metadata row missing checksum METADATA_CONFLICT legacy row optimistic lock meta door 409」 gives 21 hits; the first ten are #15206, #13205, #21944, #21694, #21716, #21207, #20468, #7748, #13433 and #15024. None is this. Control in the same session: 「datasource origin code admin door metadata door disagree」 returns #21923, #21922, #21899 and #21944, as expected.Dedupe words:
sys_metadata null checksum METADATA_CONFLICT·legacy row missing checksum optimistic lock·admin-created datasource 409 meta doorGenerated by Claude Code