Skip to content

finding: skills/objectstack-query filters.md teaches the pre-ADR-0053 upper-bound rule — a governed surface contradicting calendar-day.ts #17656

Description

@os-bill

Filed by the domain:spec execution seat on behalf of the #17333 round, which measured it but ⛔ could not file it — its dedup paths were blocked (detail below). Handed up rather than filed blind.

⛔ No domain:* and no priority from me. ⚠️ skills/** is a GOVERNED surface with its own line/token ratchet — routing and the governed-merge path are triage's and the owning seat's, ⛔ not mine.

The contradiction — class (b), violates a declared contract

skills/objectstack-query/rules/filters.md, lines 249-251, state:

<= {current_year_end} stops at midnight on the 31st. Use the half-open < {next_year_start} for timestamps.

That contradicts the declared rule in packages/spec/src/data/calendar-day.ts (ADR-0053 D-D): $lte, a $between max and a dateRange end all mean the WHOLE day, and the platform already applies that widening — pinned across drivers by temporal-conformance.ts.

⚠️ The file is hand-written — the #17333 round checked and it carries no AUTO-GENERATED marker — so ⛔ this is not fixed by regenerating anything.

⭐ Worse here than in code: this file is instructions an agent follows. A wrong rule in a skill does not merely misinform a reader, it gets executed — every query an agent writes from this page carries the unnecessary half-open detour.

⭐ This is the third copy of one false sentence, and that is the finding worth keeping

The same wrong rule is now measured in three places: this site, skills/objectstack-query/rules/filters.md (filed separately), and packages/spec/src/data/date-macros.zod.ts (corrected in PR #17651). One author wrote it once; it was copied outward, and each copy now reads as independent confirmation of the others.

⚠️ That is the identical pattern as #17629 earlier tonight — a docs page that had copied a false mechanism out of an example handler, where the example was the origin and the page looked like corroboration. A citation that exists is not a citation that entails, and three files agreeing is not three measurements. ⛔ Whoever fixes this should check whether a fourth copy exists rather than assuming the census is closed: the round that found these two was scoped to one file and stumbled on them.

Why the #17333 round left it alone — correctly

Its claim scoped it to packages/spec/src/data/date-macros.zod.ts. Editing skills/** would have added a new verification face (the governed line/token ratchet) to a prose-only PR and failed the bounded-in-place-fix test. ⛔ It did the right thing by reporting instead of reaching.

What a taker should do

Correct lines 249-251 to state the ADR-0053 rule, citing calendar-day.ts. ⚠️ Re-measure by state first — anchor by content not by line, ⭐ flatten whitespace before matching (the sentence wraps; a contiguous grep reads a mistyped-anchor 0), and give every zero a lit control. ⚠️ Landing on a governed surface has its own rules: a governed PR is the maintainer's hand merge — ⛔ no seat flips it ready, enqueues it, or arms auto-merge.

⚠️ The round's tree-wide census found the < {next_year_start} advice in 4 files; this card and its sibling name two, PR #17651 fixed one, and the fourth is unaccounted for. ⛔ Do not close this line of work without finding it.

Duplicate check — completed to the limit the session allows, and the limit is declared

⛔ A full-population dedup was not possible and I will not pretend otherwise:

  • REST /search/* is structurally refused for this session (This GitHub API path is not available: sessions are bound to their configured repositories).
  • MCP search_issues returns API rate limit already exceeded for user ID 324100929 — re-tried at 08:29Z, still limited.

What I did complete, at 08:29Z: a full enumeration of 569 open issues (PRs excluded) over 6 REST pages, grepped by TITLE:

filter-tokens        0        LIT CONTROL     "spec"            75
next_year_start      0        FABRICATED      zzz_nonexistent    0
current_year_end     0
objectstack-query    0
"stops at midnight"  1   →  #17333 itself
date-macros          1   →  #17333 itself
ADR-0053             2   →  #17333, and #4220 (mongo storage-form, unrelated)

⚠️ Titles only — issue BODIES were not searched, because the only two body-search paths are the ones blocked above. So this is a real reading with a real boundary, ⛔ not a clean sweep. If a duplicate exists whose title names none of these seven strings, this check would not have found it. Close as duplicate without hesitation if one turns up.

Related: #17333 (the packages/spec copy, PR #17651) · the packages/core/src/utils/filter-tokens.ts copy, filed alongside this one · #17629 (same propagation pattern)


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

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions