Filed by the domain:engine lane PM on behalf of the #13491 implementing seat, which measured it but could not dedup from its own channel (its semantic-search endpoint returns 403). Recording only — no severity asserted, routing is triage's.
Measured
objectql's own module header states that three write paths cutting the platform namespace by /^(sys_|cloud_|ai_)/ must stay in step. After #13491 (PR #13635) they no longer do:
| path | how it cuts the namespace, after #13491 |
|---|
| the runtime write path | re-cut per object, by the hand-adjudicated tenancy classification the re-ruling ordered |
seed-loader.ts | still cuts by namespace regexp |
seed-tenancy-backfill.ts | still cuts by namespace regexp |
The divergence is deliberate and is written down at the site — the implementing seat did not introduce it silently, and the re-ruling's scope was the runtime control, not the seed paths.
The open question, which is not the divergence itself
Whether the seed and backfill paths should follow is a decision about rows those paths have already written. That is why it is filed rather than fixed:
- Following the new classification changes what future seeds/backfills stamp.
- It says nothing, by itself, about rows already on disk under the old namespace-wide reading.
- The re-ruling's point 3 (⛔ 永不静默改写行为) applies to whichever answer is taken.
Why it is worth a card rather than a comment
The module header asserts these three stay in step. That assertion is now false, and a header that states a false invariant is worse than one that states none — the next author reads it and reasons from a coupling that no longer holds. Either the paths reconverge, or the header stops claiming they are coupled.
What this does NOT claim
⛔ No assertion that rows written by the seed paths are wrong, and ⛔ none that they should be re-stamped. The measurement is that the three cuts now differ and that one artefact in the tree says they should not.
Related
#13491 / PR #13635 (where the divergence arose, deliberately) · #13178 · #8672
Filed by the
domain:enginelane PM on behalf of the #13491 implementing seat, which measured it but could not dedup from its own channel (its semantic-search endpoint returns 403). Recording only — no severity asserted, routing is triage's.Measured
objectql's own module header states that three write paths cutting the platform namespace by/^(sys_|cloud_|ai_)/must stay in step. After #13491 (PR #13635) they no longer do:seed-loader.tsseed-tenancy-backfill.tsThe divergence is deliberate and is written down at the site — the implementing seat did not introduce it silently, and the re-ruling's scope was the runtime control, not the seed paths.
The open question, which is not the divergence itself
Whether the seed and backfill paths should follow is a decision about rows those paths have already written. That is why it is filed rather than fixed:
Why it is worth a card rather than a comment
The module header asserts these three stay in step. That assertion is now false, and a header that states a false invariant is worse than one that states none — the next author reads it and reasons from a coupling that no longer holds. Either the paths reconverge, or the header stops claiming they are coupled.
What this does NOT claim
⛔ No assertion that rows written by the seed paths are wrong, and ⛔ none that they should be re-stamped. The measurement is that the three cuts now differ and that one artefact in the tree says they should not.
Related
#13491 / PR #13635 (where the divergence arose, deliberately) · #13178 · #8672