Skip to content

finding(metadata-protocol): a sys_metadata row with no checksum cannot be edited or removed through the metadata door: the read hands out a computed version, and put / delete compare it against the raw null column (409 METADATA_CONFLICT) #21978

Description

@objectstack-fleet

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobsbugSomething isn't workingdomain:enginepriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions