feat(tri): read the competitive survey for its age, by the month its citations encode - #2979
Merged
Conversation
…citations encode Refs #2977 An arXiv identifier dates its paper: since 2007 the form is `YYMM.NNNNN`, and `YYMM` is the month of FIRST submission -- a later version does not change it. So the survey behind `specs/igla/coder/benchmark.t27` can be read for age without a network, off the file itself. reading taken as of 2026-08 newest paper CITED BY A RECORD 2026-06 2 month(s) ago newest paper mentioned anywhere 2026-06 2 month(s) ago records added per month of publication, last 12: 2026-03 20 #################### 2026-04 17 ################# 2026-05 9 ######### 2026-06 49 ######################################## 2026-07 0 2026-08 0 The command reports the gap and REFUSES to call it a defect. A table with nothing recent either stopped looking or the field published nothing, and those two are indistinguishable from inside this repository. What separates them is a counterexample -- one paper in the gap that belongs in the table -- and the output says so instead of guessing. Two exist, and they are in #2977 rather than hardcoded here, because a hardcoded example goes vacuous the day it is added. There is no `--gate`, on purpose. A gate that reddens because a month passed, with nobody having changed anything, is a gate that gets muted. The reading is pinned by `--as-of YYYY-MM`. A gap measured against the system clock is a number that changes while nobody edits anything, and cannot be asserted in a test at all; every reading in the tests supplies its own month. Two populations are printed apart and must not be summed: papers cited by a competitor RECORD -- the survey proper -- and every arXiv id in the file, including ids written into a `benchmark:` string. A test plants an id in a string and asserts it is mentioned and not cited. Four tests, one mutation-checked: emptying the `anywhere` collector turns `a_paper_named_in_a_string_is_mentioned_and_not_cited` red. 422 tests pass, clippy unchanged, `competitors.rs` carries none of its own. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
PR DashboardGenerated at: 2026-08-30 19:04:32 UTC
Summary
Seal Status
|
gHashTag
enabled auto-merge (squash)
August 30, 2026 19:13
Contributor
|
📓 NotebookLM Notebook linked to this PR
This notebook contains session context, decisions, and artifacts for this work. |
Contributor
PR DashboardGenerated at: 2026-08-30 19:13:29 UTC
Summary
Seal Status
|
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.
Refs #2977
An arXiv identifier dates its paper: since 2007 the form is
YYMM.NNNNNandYYMMisthe month of first submission, unchanged by later versions. So the survey behind
specs/igla/coder/benchmark.t27can be read for age off the file itself, no network.What it refuses to say
The command reports the gap and does not call it a defect. A table with nothing
recent either stopped looking or the field published nothing, and those two are
indistinguishable from inside this repository. What separates them is a counterexample —
one paper in the gap that belongs in the table — and the output says so rather than
guessing. Two exist and they live in #2977, not hardcoded here: a hardcoded example goes
vacuous the day somebody adds it.
No
--gate, on purpose. A gate that reddens because a month passed, with nobodyhaving changed anything, is a gate that gets muted.
Two design decisions worth the review
The reading is pinned by
--as-of YYYY-MM. A gap measured against the system clockis a number that changes while nobody edits anything, and cannot be asserted in a test
at all. Every reading in the tests supplies its own month.
Two populations, printed apart, never summed. Papers cited by a competitor record
(the survey proper) and every arXiv id in the file (including ids inside a
benchmark:string). A test plants an id in a string and asserts it is mentioned and not cited.
Verify
Mutation: emptying the
anywherecollector turnsa_paper_named_in_a_string_is_mentioned_and_not_citedred.Filed rather than fixed
#2977 —
docs/BITNET_STACK.mdclaims "no competitor has" and "unique position" abovea four-row table, while
POSITIONING_CONFORMANCE_LAYER.md:122states the banned-hyperule and
COMPETITIVE_ANALYSIS_SCIENTIFIC_FOUNDATIONS.md:337says such a claim is notestablished without an exhaustive survey. The 168-record table is a different
population — LLMs that write Verilog, not ternary spec-first compilers — so it could not
support that sentence however fresh it were.
Built, measured, and not shipped
A superlative-claim detector. Over 2149 first-party markdown files the word
onlyoccurs3437 times; the narrowed matcher scored 2 real claims in 6 hits, and two of the
false positives were the sentences that state the rule. Three false positives in six is
how a check dies, so it stayed out and the finding went in the issue instead.
🤖 Generated with Claude Code