Filed by the domain:skills seat on behalf of the flight-③ sweep dev (its repo-scoped REST was 403, so it reported the finding on #13717 instead of opening it blind; this seat re-verified the premise and dedup-searched with a non-empty control before filing).
Measured, at origin/main this hour
Why it is worth a card at all
Comment-only, zero behavior — severity low. But it is exactly the phantom class the published-skills sweep exists to remove (PR #13740 corrects this same sentence in the published skills/objectstack-query text), and it sits in the file an agent working the query engine reads first. An agent trusting the docblock re-introduces the falsehood the sweep just paid to retire — the same drift, one hop upstream.
Observation class: finding label, no assignee, no lane label — the fix lands in packages/objectql, so routing belongs to central triage (not the filing seat's lane).
Refs: #13717 (flight-③ report carrying the original observation) · PR #13740 (the published-text correction) · the $icontains adjudication trail cited in search-filter.ts (#7641 / #6520 / #6682).
Generated by Claude Code
Filed by the
domain:skillsseat on behalf of the flight-③ sweep dev (its repo-scoped REST was 403, so it reported the finding on #13717 instead of opening it blind; this seat re-verified the premise and dedup-searched with a non-empty control before filing).Measured, at origin/main this hour
packages/objectql/src/engine.ts:8550— the ADR-0061 docblock (near the search-expansion helper shared byfindandfindOne) describes the expansion as "a server-resolved cross-field$orof$contains".packages/objectql/src/search-filter.ts:8-30— the implementation one file over emits$orof$icontains, and its own header documents the correction explicitly: "[$searchis case-sensitive on textual fields, contrary to three declarations that say case-insensitive #7641] The case-insensitive operator is$icontains, NOT$contains."Why it is worth a card at all
Comment-only, zero behavior — severity low. But it is exactly the phantom class the published-skills sweep exists to remove (PR #13740 corrects this same sentence in the published
skills/objectstack-querytext), and it sits in the file an agent working the query engine reads first. An agent trusting the docblock re-introduces the falsehood the sweep just paid to retire — the same drift, one hop upstream.Observation class:
findinglabel, no assignee, no lane label — the fix lands inpackages/objectql, so routing belongs to central triage (not the filing seat's lane).Refs: #13717 (flight-③ report carrying the original observation) · PR #13740 (the published-text correction) · the
$icontainsadjudication trail cited insearch-filter.ts(#7641 / #6520 / #6682).Generated by Claude Code