docs(spec,analytics): the #5499 freeze prose reads LIFTED (2026-08-11) at the surviving product-source sites - #13321
Merged
Merged
Conversation
…se in past tense at the surviving product-source sites
That site is claimed as a deliverable by open card #13166, which records that rewriting it to past tense without first deciding the underlying divergence would turn an actionable defect into settled-looking prose. #13166 also measures the sentence's driver-mongodb half as never having been true for this operator family, so a tense-only correction would ship a claim already measured false. Left untouched for #13166 to land with its decision.
Contributor
📓 Docs Drift Check
What this run could not see
Coarse fallback — 126 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
hotlong
marked this pull request as ready for review
August 30, 2026 05:02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The maintainer lifted the #5499 investment freeze for
driver-mongodbon 2026-08-11 and fordriver-memorylater the same day. The authority is the head note ofpackages/spec/src/data/aggregation-conformance.ts, which is already correct and is not touched here. This PR corrects product-source prose that still asserted that freeze in the present tense, at the sites that survive on the live tree.Premise re-derivation — the card's enumeration was materially stale, and most of it is already fixed
The card said so itself ("this enumeration is a hint, not an input", derived at
e84bbf6, 2026-08-28). Re-deriving at dispatch time changed the answer: PR #13196 landed 2026-08-29 09:50, roughly seven hours before this card was filed, and it already corrected five of the nine declared sites.spec/src/data/aggregation-conformance.ts:141spec/src/data/filter-comparand-type.ts:29spec/src/data/filter-comparand-shape.ts:42spec/src/data/filter-logic-conformance.ts:203,214spec/src/migrations/registry.ts:1252,1273spec/src/migrations/registry.ts:1696,2797,4049objectql/src/engine.ts:4466objectql/src/temporal-comparand-door.ts:60objectql/src/having-filter.ts:41services/service-analytics/src/read-scope-sql.ts:180So the card's premise is partly invalidated, not wholly: six real sites remained, and this PR lands five of them.
registry.tsis partly GENERATED — the three worst sites needed their producers, not the filePR #13196 skipped
packages/spec/src/migrations/registry.tson the stated ground that it "is generated". That is half right, and the half matters. Per the file's own head note and.gitattributes, each step'ssemanticlist and the two retired-* tables are concatenated intoos-generatedregions fromsrc/migrations/entries/, one file per entry; everything outside those markers — including each step'srationale— is hand-written.Measured against the marker map (
semantic:17spans lines 1437-5029)::1252and:1273sit outside every generated region ⇒ edited in place.:1696,:2797,:4049sit insidesemantic:17⇒ edited at their producers inentries/semantic/, then regenerated. A hand-edit there would have been reverted by the nextgen:migration-registryrun.This is why three files under
entries/semantic/appear in the diff. They are the producers of declared-surface content, not a scope widening;check:migration-registrypassing is the proof the propagation is correct.All five registry sentences ship
spec-changes.jsonis inpackages/spec's publishedfilesarray, anddocs/protocol-upgrade-guide.mdis generated from the same registry. Every one of the five corrected sentences propagates into both. That is why this PR carries a real changeset rather than theskip-changesetlabel: the label's own premise is that such a PR "releases nothing", which is false here.Verification readings — before/after, per site
Before, at the branch point
3322527f:After, at this branch head:
A word-diff of the two generated artifacts confirms the regeneration carried only these tense corrections and no unrelated drift: every changed token is one of
are→were,stays→stayed,has→had,frozen.→frozen at the time (…), plus the inserted lift dates.The witness pair is now closed
The card's core measurement was two sibling files in
service-analyticsdisagreeing on one fact. The test —__tests__/read-scope-undefined-comparand.test.ts, repaired by #13210 — already said the thaw arrived and the debt is DUE. Its subject module said the freeze was live. The module's wording is now brought into agreement with that already-merged sibling, in the sibling's own terms.What this PR deliberately does NOT do
CHANGELOG.mdand.changeset/**are untouched — immutable historical records, true when written.having-filter.ts:116,memory-pagination-conformance.test.ts:125).scripts/check-driver-memory-census.mjsis untouched — owned by [finding] The dissolved #5499 freeze survives in the PRESENT TENSE outside every sweep card's denominator — gate scripts, lint.yml, and a PM restart latch keyed on an issue that never closed #13211 / PR fix(tooling): re-derive the #5499 denominator over the whole tree, retire the present-tense freeze claims, and name the un-fireable-latch class #13268, which is a separate population and is not addressed here.filter-logic-conformance.ts:179is untouched. PR docs: restate the dissolved #5499 freeze prose on surviving grounds (A/B/C, generated registry and #13166's cell untouched) #13196 left that table cell alone on purpose because it is the cell for the behavioural divergence card driver-memory's reference matcher still answers $notContains / $nin the pre-ruling way on a no-value row — the #5499 freeze that excused it dissolved 2026-08-11, so the divergence is now unexcused and untracked #13166 owns; that card remains open and is not addressed here.objectql/src/having-filter.ts:41It is left byte-identical to
main, and this is the one judgement call in the PR worth a reviewer's attention.Open card #13166 (p1,
pm:queue,domain:engine, unassigned) names that exact site — together withread-scope-sql.ts:179-180— as its own deliverable, and records why a tense-only rewrite is the wrong repair:#13166 additionally measured that the sentence's
driver-mongodbhalf was never true for this operator family:translateFieldOperatorsmaps$ninstraight through and compiles$notContainsto a negated regex, both of which match a missing or null field, so that driver already agrees with the ruling. A tense-only correction would therefore have shipped a claim already measured false while appearing to settle a live defect. Left for #13166 to land with its decision.read-scope-sql.tsis kept, on the opposite evidence: its cell is theundefined-comparand refusal rather than the$notContains/$ninfamily, and its wording now mirrors the already-merged #13210 repair of its own sibling test, verbatim in substance.Tests and gates
Run in a dedicated worktree at this branch head, after merging
mainand rebuilding.pnpm --filter @objectstack/spec check:generated— All 14 generated artifacts are up to date, includingcheck:migration-registry,check:spec-changes,check:upgrade-guideandcheck:api-surface.pnpm --filter @objectstack/service-analytics test— Test Files 83 passed (83) · Tests 1805 passed (1805).pnpm --filter @objectstack/objectql test— Test Files 247 passed (247) · Tests 4273 passed (4273).pnpm --filter @objectstack/spec test— reported in the issue thread.Gate family re-derived from the real change set with
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstackrather than from the dispatch list.Fixes #13277
Generated by Claude Code