Skip to content

docs: add source-linked adoption census - #322

Open
1a1a11a wants to merge 18 commits into
developfrom
claude/adoption-census-versioned-repo-ep2f1z
Open

docs: add source-linked adoption census#322
1a1a11a wants to merge 18 commits into
developfrom
claude/adoption-census-versioned-repo-ep2f1z

Conversation

@1a1a11a

@1a1a11a 1a1a11a commented Aug 12, 2026

Copy link
Copy Markdown
Owner

What this adds

doc/adoption-census.md — a versioned, source-linked inventory of documented libCacheSim adoption. Because it lives in the source tree, any commit of the file is a citable snapshot; the document carries a census version (1.0.0), a snapshot date (2026-08-12), and a citation block.

Every entry records the artifact, a verbatim quote showing libCacheSim use, a source URL, the date the source was fetched, and a confidence grade (A/B/C/U).

Census v1.0.0 contents

Confirmed direct users (5) — public artifacts that build on, fork, or run libCacheSim, not merely cite it:

Adopter Relationship Independent of upstream
PolicySmith, UT Austin (arXiv:2510.08803) "Our prototype is built on libCacheSim" Yes
3L-Cache, FAST '25 (optiq-lab/3L-Cache) Fork; upstreamed via #119 Yes
DynamicAdaptiveClimb (arXiv:2511.21235) "We conduct all evaluations using libCacheSim" Yes
SCION, PingCAP (arXiv:2605.01055) Benchmark built on top of libCacheSim Yes
CacheBench (UCSC OSPO report) Core component No — author is an upstream contributor

Also included: distribution and repository signals (GitHub stars/forks, PyPI libcachesim, npm libcachesim-node); self-reported aggregate claims, attributed and graded rather than asserted as fact; algorithm-lineage adoption of S3-FIFO/SIEVE with ten per-file evidence links; and a list of candidates checked and excluded.

Design decisions worth reviewing

  • Algorithm adoption is kept strictly separate from simulator adoption. A system implementing SIEVE is not a libCacheSim user. Section 5 records that lineage with its own links but is explicitly excluded from the adoption counts — merging the two would inflate the census by an order of magnitude.
  • Negative results are recorded, not dropped. Two papers that search engines returned as libCacheSim users (RAC, 2DIO) contain no mention of libCacheSim in their full text and are listed as excluded, so future revisions don't re-investigate them.
  • The "~100 research institutes and companies" figure is graded C. It appears on two hosts but traces to one author-supplied bio with no public roster, so it is attributed rather than stated as fact.
  • Known limitations are documented in the census itself, including the largest gap: no repository-wide code search was performed, so source-level forks and vendored copies are undercounted. Section 7 lists the next revision's priorities in order of expected yield.

Other changes

Linked the census from README.md (new "Who uses libCacheSim" section) and from the doc/README.md index.

No code changes; documentation only.


Generated by Claude Code

Adds doc/adoption-census.md, a versioned inventory of documented
libCacheSim adoption. Every entry records the artifact, a verbatim
quote showing libCacheSim use, a source URL, the verification date,
and a confidence grade.

Contents of census v1.0.0 (snapshot 2026-08-12):
- 5 confirmed direct users (PolicySmith, 3L-Cache, DynamicAdaptiveClimb,
  SCION, CacheBench), 4 of which are independent of the upstream project
- distribution and repository signals (GitHub, PyPI, npm)
- self-reported aggregate claims, graded and attributed rather than
  asserted as fact
- algorithm-lineage adoption (S3-FIFO/SIEVE) kept strictly separate from
  simulator adoption
- candidates that were checked and excluded, so future revisions do not
  re-investigate the same dead ends

Also documents the census methodology, its known limitations, and the
update protocol, and links the document from both README indexes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi
@1a1a11a
1a1a11a requested a review from haochengxia as a code owner August 12, 2026 23:57
Copilot AI lite review requested due to automatic review settings August 12, 2026 23:57

1a1a11a commented Aug 12, 2026

Copy link
Copy Markdown
Owner Author

CI note: the macos / clang failure on this PR is pre-existing and not caused by this change — the diff is three markdown files.

develop is red on the same job for its last three runs, all docs-only merges: #319, #320, #321. The last green run on develop was 2026-05-04.

Two distinct macOS breakages are visible, both environmental rather than change-related:

  1. Compile error (the failure on develop): libCacheSim/mrcProfiler/mrcProfiler.cpp:216min_value_map.get_max_value() * 1.0 / UINT64_MAX errors under the Xcode 26.6 SDK, where the implicit uint64_tdouble conversion is now diagnosed as an error.
  2. Dependency install failure (the failure on this PR's first run): scripts/install_dependency.sh exits 1 because Homebrew no longer has a formula named google-perftools.

Both look worth fixing, but they're outside the scope of a documentation PR, so I haven't touched them here. Happy to open a separate PR for either if that's useful.


Generated by Claude Code

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new, versioned “adoption census” document to the doc/ tree and links it from the main README and the docs index so readers can find source-linked evidence of libCacheSim adoption.

Changes:

  • Add doc/adoption-census.md with a versioned snapshot, methodology, and source-linked evidence tables.
  • Link the census from README.md (“Who uses libCacheSim” section).
  • Add the census to the doc/README.md documentation index.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
README.md Adds a “Who uses libCacheSim” section linking to the adoption census.
doc/README.md Adds the adoption census to the docs index under a new “Project” section.
doc/adoption-census.md Introduces the versioned, source-linked adoption census document and citation guidance.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread doc/adoption-census.md Outdated
Comment on lines +272 to +275
version = {1.0.0},
howpublished = {\url{https://github.com/1a1a11a/libCacheSim/blob/develop/doc/adoption-census.md}},
note = {Snapshot dated 2026-08-12; cite the commit permalink for an immutable version},
year = {2026}

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — fixed in d519fe5.

The example now models the immutable form (blob/<commit-sha>/doc/adoption-census.md) and includes the command to get the SHA: git log -1 --format=%H -- doc/adoption-census.md. The blob/develop URL is kept but relabeled as the read-latest link, explicitly separated from the citation form.


Generated by Claude Code

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Follow-up: the review comments on Section 5.2 (grades, Pelikan link) and the SCION date are addressed in 449ffd2 and 64ed72c. Summary in the thread replies below.


Generated by Claude Code

The BibTeX example used a blob/develop URL while the surrounding text
told readers to cite a commit permalink. A branch moves, so the example
did not identify the snapshot a reader actually consulted.

The example now models the immutable form with a <commit-sha>
placeholder and gives the git command that prints the SHA. The branch
URL is kept, but labeled explicitly as the read-latest link rather than
the citation form.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8a48cb83d0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
### 3.4 SCION (PingCAP)

- **Artifact:** *SCION: Size-aware Policy Orchestration for Nonstationary Object Caches*,
[arXiv:2605.01055v1](https://arxiv.org/html/2605.01055) (2026-03-27). Qizhi Wang, PingCAP

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the SCION arXiv date

An arXiv identifier beginning with 2605 was assigned in May 2026, so 2026-03-27 cannot be the submission date for arXiv:2605.01055v1. This makes the source-linked artifact metadata inaccurate and inconsistent with the dates used for the other arXiv entries; use the v1 submission date, or explicitly label this as a separate manuscript date if that is what it represents.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reasoning about arXiv identifiers is sound, but the primary source disagrees, so I kept the date and documented the conflict instead of "correcting" it.

The submission history on arxiv.org/abs/2605.01055 reads "Fri, 27 Mar 2026 23:56:50 UTC" for v1 — that is arXiv's own stated v1 date, not an inference of mine, and the paper's HTML gives the same date. So the 2605 prefix and the stated submission date genuinely disagree at the source.

449ffd2 cites the abstract page rather than the HTML, and adds: "Submission history on the arXiv abstract page reads 'Fri, 27 Mar 2026'; note that this does not match the 2605 (May 2026) identifier prefix. The date above is arXiv's own stated submission date, not an inference from the identifier." A reader who spots the same mismatch now finds it already flagged.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
Comment on lines +205 to +206
| System | Evidence link |
| --- | --- |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add confidence grades to the named adopter entries

The census introduction and README promise a confidence grade for every entry, and the methodology defines those grades, but this table has no grade column for any of its ten adopter claims. Readers therefore cannot tell whether these claims are primary-source confirmations or merely inherited from the SIEVE authors' list; add a grade per row or narrow the document's advertised grading guarantee.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 449ffd2 — and the check turned up more than a missing column.

Rather than grade the rows as inherited from the SIEVE authors' list, I fetched all ten links individually. Eight resolve to a primary artifact naming SIEVE and are now Grade A, each with the quoted evidence in a new "What the fetch showed" column (immudb's PR title, TiDB's type Sieve[K comparable, V any] struct, Ceph's "based on SIEVE [0]", PostgREST's docs sentence, the Go/Rust/Python imports, and Dragonfly's comment linking the NSDI '24 paper).

Two are downgraded to U: Pelikan (see the adjacent thread) and SkiftOS, whose linked path now returns HTTP 404 — link rot since the entry was added. The verification protocol now states that third-party lists are treated as leads, not evidence, which is exactly how those two surfaced.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
| --- | --- |
| immudb | [PR #1971](https://github.com/codenotary/immudb/pull/1971) |
| TiDB | [`pkg/infoschema/sieve.go`](https://github.com/pingcap/tidb/blob/master/pkg/infoschema/sieve.go) |
| Pelikan | [pelikan-io/pelikan](https://github.com/pelikan-io/pelikan) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Link Pelikan to direct implementation evidence

The text immediately above the table says every entry links to a specific implementing file or pull request, but the Pelikan entry links only to the repository root. That target does not identify where Pelikan implements SIEVE and thus does not independently substantiate this adoption claim under the census's stated evidence standard; replace it with an exact file, commit, or PR.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, and I couldn't find a replacement link. Searching for Pelikan's SIEVE implementation turns up only the claim that a variant of SIEVE is used in Segcache — no specific file, commit, or PR.

Since the evidence doesn't exist to meet the stated standard, 449ffd2 downgrades Pelikan to Grade U and records why ("upstream list links only the repository root; no specific implementing file located") rather than relaxing the standard to fit the entry. It stays in the table as a lead — it may well be a genuine adopter — but it no longer counts as substantiated.


Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d519fe534e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
| Claim (quoted) | Source | Grade |
| --- | --- | --- |
| "S3-FIFO and SIEVE are adopted for production at Google, VMware, Redpanda, and several others, with over 60 open-source libraries and packages in 18 programming languages available on GitHub." | [junchengyang.com](https://junchengyang.com/) | C |
| "These algorithms have seen broad industry adoption — including in Android, the TiDB database, and many others — and have been implemented in dozens of open-source systems and libraries, including over 60 across more than 16 programming languages on GitHub." | [Harvard SEAS news, 2025-10-27](https://seas.harvard.edu/news/2025/10/juncheng-yang-winner-acm-award-dissertation-most-impact) | B |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Downgrade the aggregate Harvard claim to Grade C

The linked Harvard news article is not a primary source for adoption by Android, TiDB, or the unnamed systems, and this is an aggregate claim without a public per-entry roster—the document's own definition of Grade C. Labeling it Grade B overstates the evidence strength; either provide primary implementation evidence for the claimed relationships or grade the aggregate statement C.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed — downgraded to C in 64ed72c.

The B came from reasoning about editorial independence: a university news office isn't the researcher's own bio page. But the rubric grades auditability, not who vouches for the claim, and by that definition an aggregate with no per-entry roster is C regardless of publisher. The doc now says so explicitly so the next revision doesn't relitigate it, and notes that TiDB — one of the systems the claim names — is independently verified at Grade A in Section 5.2, while the aggregate figures around it are not.


Generated by Claude Code

claude added 2 commits August 13, 2026 00:02
Review flagged that Section 5.2 promised per-entry confidence grades but
carried none, and that the Pelikan row linked a repository root while the
text claimed every row linked a specific implementing file.

Rather than relax the claim, every one of the ten links was fetched:

- 8 resolve to a primary artifact naming SIEVE and are graded A, with the
  quoted evidence recorded per row (immudb PR title, TiDB type
  declaration, Ceph/Dragonfly paper citations, PostgREST docs sentence,
  and the Go/Rust/Python imports)
- Pelikan is downgraded to U: the upstream list links only the repo root
  and no specific implementing file was located
- SkiftOS is downgraded to U: the linked path now returns HTTP 404

The upstream adopters list is now treated as a lead rather than as
evidence, and the verification protocol says so.

Also cites SCION by its arXiv abstract page and records that arXiv's
stated submission date (27 Mar 2026) disagrees with the 2605 identifier
prefix — the stated date is kept, since it is what the primary source
says, but the discrepancy is now visible to readers rather than silently
passed along.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi
Review noted the row was graded B while matching the document's own
definition of C: an aggregate claim with no public per-entry roster.

The B grade was reasoning from editorial independence — a university news
office is not the researcher's own bio page. But the rubric grades
auditability, not who vouches for the claim, so the row is now C and the
distinction is stated explicitly so the next revision does not re-raise
it. TiDB, one of the systems the claim names, remains independently
verified at Grade A in Section 5.2.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 64ed72c8f9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
| System | Evidence link | What the fetch showed | Grade |
| --- | --- | --- | --- |
| immudb | [PR #1971](https://github.com/codenotary/immudb/pull/1971) | "Replace LRU with SIEVE replacement policy", merged 2024-05-17 | A |
| TiDB | [`pkg/infoschema/sieve.go`](https://github.com/pingcap/tidb/blob/master/pkg/infoschema/sieve.go) | `type Sieve[K comparable, V any] struct`; comment cites the SIEVE paper | A |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Pin implementation evidence to immutable revisions

The TiDB evidence URL uses blob/master, and most other file-level evidence in this table similarly uses main or master. When those branches change, a cited census snapshot may link to content different from what was verified—or to another 404—so its Grade A claims are no longer reproducible. Pin these evidence links to the commit revisions fetched on 2026-08-13, just as the census itself requires a commit permalink.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, and it's the sharpest finding in this review — it's the same rule the census imposes on its own citation, applied to its evidence, and the SkiftOS row is that failure already realized rather than hypothetical.

I tried to pin them and couldn't from this environment:

  • api.github.com/repos/pingcap/tidb/commits?path=...&per_page=1HTTP 403 (proxy-blocked here)
  • the blob page renders the commit SHA client-side, so nothing readable comes back from a fetch
  • the GitHub tools in this session are scoped to this repository, so they can't query pingcap/tidb, ceph/ceph, etc.

Rather than fabricate revisions or quietly leave the weakness unstated, f092eec records it as limitation 5 with the exact command to close it (git ls-remote, or GET /repos/{owner}/{repo}/commits?path={file}&per_page=1, rewriting blob/main/...blob/{sha}/...), promotes it to second place in the next-revision priority list, and adds the caveat that Section 5.2's Grade A entries are verified as of 2026-08-13 rather than permanently reproducible.

Worth noting for whoever picks this up: limitations 4 and 5 are both blocked by the environment, not the sources. One re-run from a host with unrestricted access to api.github.com, pypistats.org and usenix.org closes three open items at once — that's now in the doc too.


Generated by Claude Code

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update — this is now actually done, not deferred. I was wrong that the environment blocked it: api.github.com is 403 here, but git ls-remote works, and that's sufficient to resolve branch heads.

55bb261 pins six of the seven GitHub file links to commit SHAs:

System Pinned revision
TiDB d5f9ca5690c0a53cac36002f9d2d2bdcba25f4fc
Nyrkiö f17320128b357c1d18c7f7b889a3f3d2b3115120
Dragonfly f4019d7fec0ddcd1e6484dd6eeade7d52b146af6
dnscrypt-proxy 1a3ace9ac88461f76e1e66d1270ae645cbe2993b
encrypted-dns-server 3754243bf96db5873ab49b58c057f00ef3a16a52
Ceph 5995d21863b3992bd9f463b5a0f774869351be36

I re-fetched the pinned TiDB and Ceph URLs afterwards to confirm the quoted text is actually present at those revisions, rather than assuming the pin is faithful.

Limitation 5 now covers only what genuinely remains: the PostgREST link tracks docs.postgrest.org/en/latest/, so it needs a versioned docs URL. The immudb link is a merged PR and needs no pin, and SkiftOS keeps its branch URL because reproducing the 404 is the evidence for its U grade. Pinning is now a standing rule in the update protocol.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
Comment on lines +199 to +202
| Claim (quoted) | Source | Grade |
| --- | --- | --- |
| "S3-FIFO and SIEVE are adopted for production at Google, VMware, Redpanda, and several others, with over 60 open-source libraries and packages in 18 programming languages available on GitHub." | [junchengyang.com](https://junchengyang.com/) | C |
| "These algorithms have seen broad industry adoption — including in Android, the TiDB database, and many others — and have been implemented in dozens of open-source systems and libraries, including over 60 across more than 16 programming languages on GitHub." | [Harvard SEAS news, 2025-10-27](https://seas.harvard.edu/news/2025/10/juncheng-yang-winner-acm-award-dissertation-most-impact) | C |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add verification dates to the aggregate algorithm claims

When this snapshot is audited or refreshed, these two rows have neither a Date checked column nor a surrounding statement giving their verification date. They therefore violate the document and README guarantee that every entry records when its evidence was checked, and an updater cannot distinguish a source verified for this snapshot from one merely carried forward. Record the fetch date for each claim, as Section 4 does.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in f092eec — Section 5.1 now carries a Date checked column (2026-08-12 for both rows), matching Section 4.

You're right that the omission was the kind that bites an updater rather than a reader: without it, a carried-forward source is indistinguishable from one verified for this snapshot, which is exactly the failure mode rule 3 of the update protocol exists to prevent.


Generated by Claude Code

claude added 2 commits August 13, 2026 00:07
Review raised two issues, both correct.

Section 5.1 was missing the Date checked column that the introduction
promises for every entry, and that Section 4 already has. Added.

The second is the more serious one: Section 5.2's evidence links point at
main/master, so they can drift away from what was verified — precisely
the failure this document warns about for its own citation, and exactly
what already happened to the SkiftOS row (HTTP 404 on re-check).

Pinning those links to commit SHAs was attempted and could not be
completed from the environment that produced this snapshot:
api.github.com returns 403 here, and GitHub blob pages render the commit
SHA client-side, so no SHA was readable. Rather than leave the weakness
unstated or fabricate revisions, it is now limitation 5, with the exact
method for closing it and a note that Grade A entries in that section are
verified as of a date rather than permanently reproducible.

Limitations 4 and 5 are both environment-blocked rather than
source-blocked, so the update protocol now points out that re-running
from an unrestricted host closes three open items at once.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi
The previous commit documented unpinnable evidence links as a limitation
after api.github.com returned 403 and blob pages proved to render SHAs
client-side. git ls-remote works from here, which makes the limitation
solvable rather than merely reportable.

Six of the seven GitHub file links in Section 5.2 are now pinned to the
commit SHA of their branch head, so each link keeps showing the revision
that was actually verified. The pinned TiDB and Ceph URLs were re-fetched
afterwards to confirm the quoted text is present at those exact
revisions, closing the loop rather than assuming the pin is faithful.

Limitation 5 now covers only what genuinely remains: the PostgREST link
tracks docs.postgrest.org/en/latest/. The immudb link is a merged pull
request and needs no pin.

Pinning is also added to the update protocol as a standing rule, since a
branch URL is not evidence — the SkiftOS 404 is what that decay looks
like once it has happened.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 55bb2611c1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
Comment on lines +268 to +269
| Candidate | Why it surfaced | Finding | Disposition |
| --- | --- | --- | --- |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Record when excluded candidates were checked

The Section 6 rows have no verification-date field, even though the README and lines 7–9 promise a date for every entry and this section exists specifically to prevent future re-investigation. When a later census is refreshed, maintainers cannot distinguish a recently verified dead end from a stale result carried forward from an earlier snapshot; add a Date checked column for these excluded and deferred candidates.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 34a995c. Section 6 now carries a Date checked column (2026-08-12 for all six rows).

It was the last table with neither a column nor a surrounding date statement, so coverage is now complete: Sections 2, 3 and 5.2 carry the date in the sentence introducing each table, and Sections 4, 5.1 and 6 carry a per-row column.

I also added a line on why the date matters most in this particular section — a stale exclusion is worse than no exclusion, since a paper that didn't mention libCacheSim in one snapshot may cite it in a later version. Without a date, a future maintainer can't tell whether re-checking is warranted, which defeats the section's whole purpose.


Generated by Claude Code

Section 6 was the last table with neither a Date checked column nor a
surrounding statement giving one, so the introduction's promise that
every entry records when its evidence was checked did not hold there.

Added the column. Also noted why dates matter most in this section
specifically: an excluded candidate is only trustworthy as of its last
check, and a paper that did not mention libCacheSim in one snapshot may
cite it in a later version — so a stale exclusion is worse than no
exclusion.

Coverage is now complete. Sections 2, 3 and 5.2 carry their verification
date in the sentence introducing each table; Sections 4, 5.1 and 6 carry
a per-row column.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 34a995cec1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
Comment on lines +72 to +73
- The **immudb** entry links a merged pull request, whose title and merge state are already
immutable; no pin is needed.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Pin the mutable merged-PR evidence

The new post-fix rationale says the merged PR's title is immutable, but GitHub PR titles can still be edited after merge. If that happens, PR #1971 will no longer reliably display the quoted “Replace LRU with SIEVE replacement policy” evidence, so this Grade A entry can drift despite the census's snapshot guarantee; link to an immutable commit or file revision that demonstrates the implementation instead.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, and this also invalidates the claim I made in the previous round that the PR link needed no pin. Fixed in 2f20988.

The immudb row now cites embedded/cache/cache.go at 1a5f54e, verified at that revision to read "Cache implements the SIEVE cache replacement policy", with a hand pointer and per-entry visited flags. That's stronger evidence than the PR title was — it shows the algorithm itself rather than a description of a change to it.

Applying the same reasoning outward, one more link had the same exposure: the 3L-Cache entry in Section 3.2 quotes README text through a repository-root link. It's now pinned at 134cd15, and the quote is corrected to match that revision verbatim — the README says "3L Cache" unhyphenated there, where I'd written "3L-Cache".

Section 5.2 now has no unpinned GitHub links at all. Only the PostgREST docs URL remains mutable, and limitation 5 records why. The update protocol gains the rule that falls out of this: cite the code, not the pull request, with refs/pull/{n}/head noted for when a specific PR revision is genuinely the right target.


Generated by Claude Code

Review pointed out that a merged pull request is not an immutable
citation: GitHub titles stay editable after merge, so the immudb row's
quoted evidence could silently change. That is correct, and it also
invalidated the previous commit's claim that the PR link needed no pin.

The immudb row now cites embedded/cache/cache.go pinned at 1a5f54e,
verified at that revision to read "Cache implements the SIEVE cache
replacement policy" with a hand pointer and per-entry visited flags —
stronger evidence than the PR title anyway, since it shows the algorithm
rather than a description of a change to it.

Applying the same reasoning elsewhere: the 3L-Cache entry quotes README
text through a repository-root link, which is mutable for the same
reason, so it is now pinned at 134cd15. The quote is corrected to match
that revision verbatim ("3L Cache", unhyphenated there).

Section 5.2 now has no unpinned GitHub links. Only the PostgREST docs
URL remains mutable, and limitation 5 records why. The update protocol
gains the rule that follows from all this: cite the code, not the pull
request.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2f20988f16

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
Comment on lines +66 to +68
5. **One evidence link remains unpinned.** Every GitHub link in
[Section 5.2](#52-named-sieve-adopters-with-direct-source-links) is pinned to a commit SHA, so
none of them can drift. The exception is **PostgREST**, whose link points at

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Scope the pinning claim to the links actually pinned

The final tree still contains two unpinned GitHub links in this table: Pelikan links to a repository root and SkiftOS uses blob/main (lines 249–250), so the statement that every GitHub link is commit-pinned and cannot drift is false. This is fresh evidence after the earlier pinning fix, and it also makes the claim that PostgREST is the sole exception inaccurate; qualify it as applying only to the Grade A GitHub evidence, or pin/relocate the two Grade U leads.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct — I overclaimed. Fixed in f1ef04c.

The claim is now scoped to what it actually covers: every GitHub link backing a Grade A row in Section 5.2 is pinned. The three exceptions are listed with the reason each is exempt rather than pending:

  • PostgREST (Grade A) — not a GitHub link at all; it tracks docs.postgrest.org/en/latest/. This is the one genuinely worth fixing.
  • Pelikan (Grade U) — links a repository root because no implementing file was located. Pinning the root would manufacture false precision around an entry whose whole point is that it isn't substantiated.
  • SkiftOS (Grade U) — deliberately keeps blob/main, because reproducing the 404 is the evidence for its grade. A pinned SHA would resolve to a revision where the file still existed, hiding the link rot the row documents.

So two of the three aren't a backlog item — pinning them would make the census less accurate, and the doc now says so rather than leaving them looking overlooked.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated

| Grade | Meaning |
| --- | --- |
| **A** | Primary source, quoted verbatim, states use of libCacheSim unambiguously. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Define Grade A for the relationship being assessed

Grade A is defined specifically as evidence that a project uses libCacheSim, yet Section 5 assigns A to projects whose evidence only establishes adoption of SIEVE and explicitly says they are not libCacheSim users. Readers applying this rubric would therefore interpret those grades as confirming the exact relationship the document warns against conflating; define A in terms of unambiguous primary evidence for the relevant claimed relationship, or introduce a separate algorithm-lineage rubric.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the best finding in the whole review — the rubric contradicted the document's central rule. Fixed in f1ef04c.

Grade A said "states use of libCacheSim unambiguously", while Section 5.2 assigns A to projects the same document explicitly says are not libCacheSim users. A reader applying the rubric literally would have drawn precisely the conclusion Section 1 forbids, which is worse than an ungraded table: it would have lent false precision to the conflation.

Grades are now defined against the relationship each section claims, with the split stated outright:

  • Sections 2–4 claim use of libCacheSim.
  • Section 5 claims adoption of an algorithm designed in libCacheSim, so an A there certifies a SIEVE implementation and says nothing about libCacheSim use.

I chose this over a second rubric because two grade scales invite mixing them up, and the fix is really that the grades were always about "the claimed relationship" — the definition just named the wrong one. Section 5.2 now repeats the caveat above its table, so a reader landing there from a deep link doesn't need to have read Section 1 to avoid the trap.


Generated by Claude Code

Two review findings, the first structural.

Grade A was defined as evidence stating "use of libCacheSim
unambiguously", but Section 5.2 assigns A to projects the document
explicitly says are not libCacheSim users. A reader applying the rubric
literally would read those grades as confirming exactly the relationship
Section 1 forbids conflating — the rubric contradicted the document's
central rule.

Grades are now defined against the relationship each section claims, with
the split stated: Sections 2-4 claim use of libCacheSim, Section 5 claims
adoption of an algorithm designed in it. Section 5.2 repeats the point at
the table, so a reader landing there does not need to have read Section 1.

Second, limitation 5 claimed every GitHub link in Section 5.2 was pinned.
Two are not: Pelikan links a repository root because no implementing file
exists to pin, and SkiftOS keeps its branch URL because reproducing the
404 is the evidence for its grade. Pinning either would misrepresent
them. The claim is now scoped to the Grade A GitHub links it actually
covers, and each exception says why it is exempt rather than pending.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f1ef04c55f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
**A grade measures evidence strength for the relationship its own section claims — never for
libCacheSim adoption in general.** The two relationships differ by section:

- Sections 2–4 claim **use of libCacheSim**, so a grade there speaks to that.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Give distribution signals their own relationship

Section 2 records publication and repository signals, not use of libCacheSim: a GitHub star, package publication, or existence of a binding repository does not establish that anyone uses the simulator. Declaring that Sections 2–4 all claim use makes those Grade A rows read as unambiguous adoption evidence and recreates the category inflation the methodology is intended to prevent; define Section 2's graded relationship separately and reserve the use claim for Sections 3–4.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right — my 1.0.6 fix re-created the same problem one layer up. Fixed in 2d1dba6.

Section 2 now has its own claim: the value was measured as stated on the date given. Stars, package releases and dependency counts describe how libCacheSim is distributed, not that anyone runs it, so an A there means the number was read correctly and nothing more. The section header says the same thing so a reader skimming the table isn't misled by the A column.

I also added the corollary your point implies: grades are not comparable across sections. Counting every A in the document as an adopter would inflate the census with star counts and SIEVE ports — which is the exact failure the rubric exists to prevent, so it's worth stating rather than leaving to inference.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
Comment on lines +304 to +306
2. For every new entry, record: artifact identity, a verbatim quote showing libCacheSim use, the
source URL, the verification date, a confidence grade, and whether the adopter is independent
of the upstream project.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Parameterize the checklist for Section 5 entries

This checklist applies to every new entry but still requires a quote showing libCacheSim use and an upstream-independence assessment. A legitimate Section 5 entry is specifically an algorithm adopter that need not use libCacheSim, so it cannot satisfy this update rule without contradicting the census's central separation; make the required quote describe the relationship claimed by the target section and limit the independence field to direct-user entries.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct — the checklist made a valid Section 5 entry impossible to add without breaking rule 5. Fixed in 2d1dba6.

Rule 2 now asks for a quote establishing the relationship the target section claims: libCacheSim use for Sections 3–4, an algorithm implementation for Section 5, the measured value for Section 2. It says explicitly not to demand a libCacheSim-use quote from a Section 5 entry, since an algorithm adopter need not be a libCacheSim user and requiring one would force exactly the conflation the rules forbid.

Upstream independence is now recorded for Section 3 entries only. That field exists to separate third-party validation from the project's own work — it's what makes the CacheBench caveat meaningful — and it has no meaning for a SIEVE port or a package release.


Generated by Claude Code

Two follow-on defects from the 1.0.6 rubric change, both correct.

Section 2 was grouped with 3-4 as claiming "use of libCacheSim", but
stars, package releases and dependency-graph counts are distribution
signals — availability, not usage. Grouping them re-created the category
inflation the rubric exists to prevent, one layer up. Section 2 now has
its own claim: the value was measured as stated on the date given. The
section header says the same thing, so a reader skimming the table is
not misled by the A column. Added the corollary the reviewer's point
implies: grades are not comparable across sections, and counting every A
in the document as an adopter would inflate the census with star counts
and SIEVE ports.

The update checklist had the same shape of bug: it required a quote
showing libCacheSim use and an independence assessment for every new
entry, which a legitimate Section 5 algorithm adopter cannot supply
without contradicting rule 5. The required quote is now the one
establishing the relationship the target section claims, and independence
is recorded for Section 3 entries only, where it actually distinguishes
third-party validation from the project's own work.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2d1dba6d14

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
Comment on lines +7 to +9
A source-linked inventory of documented libCacheSim adoption. Every entry below carries a
public URL, the quoted evidence that supports it, the date the evidence was checked, and a
confidence grade. Entries that could not be verified are recorded as such rather than dropped

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exempt excluded candidates from the grading promise

The fresh remaining case after Section 5.2 was graded is Section 6: its table has no confidence-grade column, four rows are only marked Excluded or Deferred (which are not A/B/C/U grades), and only the two Trovi rows embed U in their disposition. Because this promise expressly includes entries that could not be verified, readers are still told every candidate has a grade when several do not; either add an explicit grade field there or narrow the guarantee to the sections where the rubric applies.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 795ff8c, by narrowing the guarantee rather than adding grades.

Grading a refuted candidate would be a category error: the A/B/C/U rubric measures how well a source supports an entry that belongs in the census, and nothing in Section 6 does. Assigning RAC a grade would imply it's an adopter with weak evidence, when the actual finding is that its full text never mentions libCacheSim.

So the header now scopes the grade promise to Sections 2–5 and says Section 6 is different by design, and Section 6 carries a defined disposition vocabulary instead:

Disposition Meaning
Excluded Checked and refuted; the source does not support the claim
Unverified Could not be checked at all; neither confirmed nor refuted
Deferred Blocked by the snapshot environment, not by the source
Substituted Primary unreachable; an equivalent source was used

You also caught a vocabulary collision I'd left in: the two Trovi rows used a bare U in the disposition column, mixing grade letters with disposition words. They're now Unverified. The Excluded/Unverified distinction is worth having on its own — "refuted" and "couldn't check" are very different signals for whoever picks up the next revision.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
| 1.0.3 | 2026-08-13 | Pinned six of the seven GitHub evidence links in Section 5.2 to commit SHAs via `git ls-remote`, closing most of limitation 5 rather than deferring it; re-fetched the pinned TiDB and Ceph URLs to confirm the quoted text is present at those revisions. Limitation 5 now covers only the PostgREST `latest` docs URL. Added pinning to the update protocol as a standing rule. |
| 1.0.2 | 2026-08-13 | Added the missing `Date checked` column to Section 5.1. Recorded a new limitation 5: Section 5.2's evidence links are branch URLs, not commit permalinks, so they can drift from what was verified — the SkiftOS 404 is that failure already realized. Pinning was attempted and blocked by the snapshot environment (`api.github.com` returned 403; blob pages render SHAs client-side), so the method is documented for the next revision instead of being left implicit. |
| 1.0.1 | 2026-08-13 | Individually fetched all ten Section 5.2 adopter links instead of inheriting them: 8 graded A against primary artifacts, Pelikan and SkiftOS downgraded to U (repo-root-only link; HTTP 404 link rot). Added grades to Section 5.2 so every entry carries one, as the introduction promises. Cited SCION by its arXiv abstract page and flagged that arXiv's stated submission date disagrees with its identifier prefix. Citation example now uses a commit permalink rather than a branch URL. Downgraded the Harvard SEAS aggregate claim from B to C: editorial independence does not make an aggregate claim auditable, and the rubric grades auditability. |
| 1.0.0 | 2026-08-12 | Initial census: 5 confirmed direct users, 6 distribution signals, 2 self-reported aggregate claims, 10 named algorithm-lineage adopters, 6 excluded or deferred candidates. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the initial distribution-signal count

The v1.0.0 summary reports six distribution signals, but that version's Section 2 already contains seven data rows: stars, forks, PyPI package, PyPI maintainers, npm package, Python binding repository, and dependency-graph dependents. This leaves the census's compact baseline inventory inconsistent with its detailed table, so the count should be changed to seven.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed and corrected in 795ff8c. I counted the rows rather than taking it on faith — stars, forks, PyPI package, PyPI maintainers, npm package, Python binding repository, dependency-graph dependents — seven, as you say. The changelog said six.


Generated by Claude Code

Two findings, both correct.

The header promised a confidence grade for every entry, but Section 6
has no grade column: four rows read only "Excluded", "Deferred" or
"Substituted", and two embedded a bare U in the disposition. Rather than
bolt grades onto refuted candidates — which would imply they belong in
the census — Section 6 is now explicitly exempt and carries a defined
disposition vocabulary instead:

  Excluded    checked and refuted; the source does not support the claim
  Unverified  could not be checked; neither confirmed nor refuted
  Deferred    blocked by the snapshot environment, not by the source
  Substituted primary unreachable; an equivalent source was used

The two Trovi rows move from a bare U to Unverified, so grade letters and
disposition words are no longer mixed in one column.

Second, the v1.0.0 changelog said six distribution signals where Section
2 has seven rows: stars, forks, PyPI package, PyPI maintainers, npm
package, Python binding repository, dependency-graph dependents.
Counted and corrected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 795ff8c077

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
Comment on lines +11 to +14
**Section 6 is different by design.** It holds candidates that were investigated and *rejected*,
so it records a **disposition** instead of a grade — grading a paper that turned out not to
mention libCacheSim would imply it belongs in the census. Rejected candidates are kept rather than
deleted, so a later revision does not re-investigate them.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Do not describe every Section 6 candidate as rejected

Section 6 also contains the two Unverified Trovi leads, a Deferred statistics task, and a Substituted source, all of which are unresolved or explicitly intended for later retry. Calling the entire section “investigated and rejected” and saying its entries should not be reinvestigated can cause maintainers to skip the priority follow-up work listed later in the document; reserve that description for the Excluded rows or describe the section more generally as checked candidates.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — the wording could have caused real harm, not just imprecision. Fixed in a1fc7bd.

"Investigated and rejected" is true of the two Excluded papers only. The Trovi leads are Unverified (never checked, because the pages are client-rendered) and the PyPI statistics are Deferred (blocked by an HTTP 429, not by the source) — both are explicitly on the next-revision priority list. Telling a maintainer not to re-investigate the section would have steered them away from the exact work the document asks for two sections later.

The header now says candidates that were checked but did not enter the census, marks only Excluded as settled, and links Unverified and Deferred straight to the priorities. That distinction is the reason the disposition vocabulary earns its keep: "refuted" and "couldn't check" imply opposite next actions.


Generated by Claude Code

Comment thread README.md Outdated
Comment on lines +386 to +387
adoption of algorithms designed in it. Every entry carries its evidence, source URL, verification
date, and confidence grade.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exempt disposition-only entries in the README promise

After the Section 6 fix, the fresh remaining inconsistency is this README guarantee: the census now deliberately gives Section 6 entries dispositions rather than confidence grades. Readers entering through the project README are therefore still promised a grade for entries such as the deferred PyPI task and the unverified Trovi artifacts; scope this sentence to Sections 2–5 or mention the disposition exception.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in a1fc7bd — the README carried the unscoped version of the same promise the census header just corrected.

It now reads: every census entry carries its evidence, source URL, verification date and confidence grade; candidates that were checked but did not qualify are kept in a separate section with a disposition instead, so they are not silently dropped.

That keeps the README's summary honest without dragging the full grade-versus-disposition rubric into it — a reader who wants the detail follows the link.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
Comment on lines +7 to +9
A source-linked inventory of documented libCacheSim adoption. Every entry in
**Sections 2–5** carries a public URL, the quoted evidence that supports it, the date the evidence
was checked, and a confidence grade.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Narrow the quoted-evidence guarantee for Section 2

Section 2's seven rows record measured values and source links, but none supplies a verbatim quotation, so including Section 2 in the guarantee that every entry carries “quoted evidence” overstates what the census contains. This also conflicts with the update checklist's verbatim-quote requirement for new Section 2 measurements; describe those rows as carrying a measured value instead, or add the promised quotations.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, and it was internally inconsistent too — the update checklist asked for "a verbatim quote … the measured value for Section 2", which is a contradiction in one sentence. Fixed in a1fc7bd.

The promise now names what each section actually carries: a verbatim quote in Sections 3–5, and in Section 2 the measured value, since a star count or release date is a number to read rather than a sentence to quote. Rule 2 of the update checklist says the same, asking Section 2 entries for the value plus the page it was read from.

I went this way rather than adding quotations because a manufactured quote around "339" would be ceremony, not evidence — the auditable facts for that row are the number, the source page, and the date.


Generated by Claude Code

Three findings from the same review, all consequences of the 1.0.8
disposition change.

Section 6 was described as candidates "investigated and rejected" whose
entries need not be re-investigated. That is true only of the Excluded
rows. The Unverified Trovi leads and the Deferred download statistics
are open work that the next-revision priority list explicitly calls for,
and the old wording invited a maintainer to skip them. The header now
says checked-but-not-admitted, marks only Excluded as settled, and links
Unverified and Deferred to the priorities.

The header also promised "quoted evidence" for every entry in Sections
2-5, but Section 2 rows are measured values — a star count is a number to
read, not a sentence to quote. The promise now names what each section
actually carries, and the update checklist matches instead of asking for
a verbatim quote of a number.

The README carried the same unscoped grade promise; it now mentions that
checked-but-unqualified candidates are kept separately with a
disposition.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a1fc7bd7f4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
### 3.4 SCION (PingCAP)

- **Artifact:** *SCION: Size-aware Policy Orchestration for Nonstationary Object Caches*,
[arXiv:2605.01055v1](https://arxiv.org/abs/2605.01055). Qizhi Wang, PingCAP

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Pin the SCION evidence to arXiv v1

The link is labeled v1 but points to the unversioned /abs/2605.01055 endpoint, and unlike the other arXiv entries there is no versioned full-text link attached to the quoted evidence. If arXiv publishes a later revision, this Grade A source can silently show different text from the snapshot; link the artifact/evidence to the explicit v1 abstract or full text.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 3eb26f6 — and the same exposure existed on three other links, so I swept them all.

  • SCION → /abs/2605.01055v1
  • PolicySmith → /abs/2510.08803v1
  • DynamicAdaptiveClimb → /abs/2511.21235v1
  • 2DIO → /pdf/2603.19971v1

Each is pinned to the version I actually read, not just labelled with one.

The RAC row is the honest exception: I didn't record which version I fetched, so rather than assume v1 the row now says the check was against the version current on the date, version unrecorded. That matters more in Section 6 than elsewhere — the section explicitly warns that a paper not mentioning libCacheSim in one version may cite it in a later one, so an unpinned exclusion is exactly the kind of claim that quietly goes stale.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated

| Grade | Meaning |
| --- | --- |
| **A** | Primary source, quoted verbatim, establishes the relationship claimed by that section unambiguously. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow measured evidence in the Grade A definition

After the new Section 2 carve-out, this rubric still defines every A as evidence that was “quoted verbatim,” while all seven Section 2 rows receive A based only on measured values and lines 49–51 explicitly say that is sufficient. The grade definition therefore still declares those rows ineligible for the grade assigned to them; make the quotation requirement conditional on the section's evidence type.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 3eb26f6. The definition now reads: primary source establishes the relationship claimed by that section unambiguously — quoted verbatim where the source is prose, or read directly where it is a measured value (Section 2).

You're right that it was self-refuting as written: the carve-out three lines below said a measured value earns an A, while the rubric line said only quoted evidence could. Making the quotation requirement conditional on the evidence type fixes it without adding a second grade scale.


Generated by Claude Code

Comment thread doc/adoption-census.md
Comment on lines +9 to +10
itself — a **verbatim quote** in Sections 3–5, and in Section 2 the **measured value**, since a
star count or release date is a number to read rather than a sentence to quote.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exempt Grade U leads from the verbatim-quote promise

The revised guarantee now carves out Section 2 but still promises a verbatim quote for every Section 3–5 entry. The Pelikan and SkiftOS rows in Section 5.2 deliberately have no substantiating source text—the former links only a repository root and the latter is a 404—so neither carries the promised quote; scope this guarantee to substantiated entries or describe U-row evidence separately.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, and it's the one case where the missing quote is the point. Fixed in 3eb26f6.

The header now carves out Grade U explicitly: those rows have no substantiating quote because the absence of one is the finding. Pelikan's link resolves to a repository root with no implementing file; SkiftOS's returns 404. Manufacturing a quote for either would erase exactly what the row exists to record.

That completes the promise's shape — a verbatim quote in Sections 3–5, a measured value in Section 2, a documented absence for Grade U, and a disposition in Section 6.


Generated by Claude Code

Three findings, all correct.

The SCION entry was labelled v1 but linked the unversioned /abs endpoint,
so a later revision could silently change the text behind a Grade A
quote. Fixed — and the same exposure existed on the PolicySmith,
DynamicAdaptiveClimb and 2DIO links, which are now pinned to the version
actually read. The RAC row is the honest exception: its version was not
recorded at fetch time, so the row says that rather than guessing v1.
That matters most for excluded candidates, since the section already
warns that a later version may cite libCacheSim where an earlier one did
not.

Grade A still required evidence "quoted verbatim" while Section 2 rows
are measured values graded A — the definition declared those rows
ineligible for the grade they carry. The quotation requirement is now
conditional on the evidence being prose.

The header likewise promised a verbatim quote for every Section 3-5
entry, but the two Grade U rows deliberately have none: a repository root
with no implementing file, and a 404. For those the absence of a quote is
the finding, and the header now says so.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3eb26f674d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
absence of one is the finding. Those rows record what the source *failed* to show — a repository
root with no implementing file, or a link that now returns 404.

**Section 6 is different by design.** It holds candidates that were checked but did not enter the

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Do not describe unverified candidates as checked

This description still includes the two Trovi leads even though rows 326–327 mark them Unverified, which the final tree explicitly defines as “Could not be checked at all.” Calling every Section 6 candidate checked overstates the snapshot's verification coverage; describe the section as containing investigated or unresolved candidates instead. The fresh evidence after the earlier wording fix is the new disposition definition at line 318, which directly contradicts this sentence.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right — "checked" and "could not be checked at all" can't both be true of the same rows. Fixed in 708dd96.

Section 6 now holds candidates that were investigated but did not enter the census: some refuted, some never reachable at all. "Investigated" covers an attempt that failed, which is exactly what the two Trovi rows are.

I also tightened the column's meaning in the same pass, since it had the same problem in miniature: Date checked is now stated to be when the check was made or attempted. For an Unverified row, the date records when someone last tried and hit a client-rendered page — still useful, but not the same claim as having read the source.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
Comment on lines +347 to +348
4. Move anything that fails re-verification into [Section 6](#6-checked-and-excluded) with the
reason, rather than deleting it.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify the failed-reverification move rule

When a source fails re-verification, this rule unconditionally moves it to Section 6, but the current SkiftOS 404 is exactly such a failure and is deliberately retained in Section 5.2 as a Grade U lead. A maintainer following the checklist would therefore undo the document's stated U-row policy; limit this move to previously substantiated entries that no longer support the relationship, or explicitly say where Grade U leads belong.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one had teeth — the checklist would have told a maintainer to undo a deliberate decision. Fixed in 708dd96.

Rule 4 now splits by failure mode instead of moving everything:

  • Refuted (source reachable, doesn't support the claim) → move to Section 6 as Excluded.
  • Unreachable (404, paywall, withdrawn) → downgrade to Grade U in place and record what failed, when the entry sits in a named list where its absence is informative. Move to Section 6 only when the candidate has no place in a census table to begin with.

SkiftOS is named as the worked example, since the reasoning isn't obvious from the rule alone: the 404 is evidence that a published adopters list has rotted, and filing it under "checked and excluded" would bury that. Never delete under either branch.


Generated by Claude Code

Two contradictions, both correct.

The header called every Section 6 candidate "checked", while the
disposition table defines Unverified as "could not be checked at all" —
the two Trovi rows are exactly that. They are now described as
investigated, and the Date checked column is stated to mean the date the
check was made or attempted, which is what it has always held for those
rows.

More consequential: rule 4 moved anything failing re-verification into
Section 6, unconditionally. The SkiftOS 404 is such a failure and is
deliberately kept in Section 5.2 as a Grade U lead, because the 404 is
the evidence that a published adopters list has rotted. A maintainer
following the checklist would have undone that. The rule now splits by
failure mode: refuted sources move to Section 6 as Excluded; unreachable
ones are downgraded to U in place when the entry sits in a named list
where its absence is informative, with SkiftOS named as the worked
example.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi
The previous edit left three em-dashes in one sentence. No change in
meaning.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a04817130a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated

---

## 6. Checked and excluded

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Rename the section that includes unchecked candidates

The fresh remaining text after the earlier wording fix is the section heading itself: it still labels the entire section “Checked and excluded,” although the table includes two Unverified candidates that line 323 defines as never checked, plus Deferred and Substituted rows that are not excluded. A maintainer navigating by headings could therefore mistake the section for settled dead ends and skip the open follow-up work; use a neutral heading such as “Investigated candidates.”

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 5940bef — renamed to "6. Investigated candidates".

The heading was the last place the old framing survived after the body was corrected twice, and it's the part most likely to mislead: two of the six rows were never checked, and three aren't excluded. Someone scanning the table of contents would reasonably write the whole section off as settled dead ends, which is precisely the skip you flagged.

"Investigated" covers all four dispositions — refuted, unreachable, deferred, substituted — without asserting an outcome the rows don't share.

I also updated the internal anchors and verified that every ](#...) link in the document still resolves to a real heading, so the rename didn't leave dangling references.


Generated by Claude Code

The heading still said "Checked and excluded" after the body was
corrected twice. Two of its rows were never checked, and three of the
six are not excluded — Unverified, Deferred and Substituted all mean
something else. A maintainer navigating by headings could write the
section off as settled dead ends and skip the follow-up work the
priority list asks for.

Renamed to "Investigated candidates", which covers refuted, unreachable
and deferred alike. Internal anchors updated; all internal links verified
to resolve.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5940bef75e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md Outdated
Comment on lines +387 to +388
verification date, and confidence grade; candidates that were checked but did not qualify are kept
in a separate section with a disposition instead, so they are not silently dropped.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Stop calling every disposition candidate checked

The fresh evidence after the earlier README wording change is the finalized Section 6 vocabulary: Unverified explicitly means “Could not be checked at all,” and the two Trovi rows have that disposition (doc/adoption-census.md lines 323 and 331–332). Describing all disposition-bearing candidates here as “checked” therefore still overstates the census's verification coverage; use “investigated” or otherwise include candidates whose checks could not be completed.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in e15b82c — the README now says "investigated but did not qualify", matching the Section 6 vocabulary.


Generated by Claude Code

Comment thread doc/adoption-census.md Outdated
| 1.0.8 | 2026-08-13 | Exempted Section 6 from the grading promise and gave it a defined disposition vocabulary (Excluded / Unverified / Deferred / Substituted) — grading a refuted candidate would imply it belongs in the census, and four rows carried no grade at all. Corrected the v1.0.0 changelog entry: Section 2 has seven distribution signals, not six. |
| 1.0.7 | 2026-08-13 | Split Section 2 out of the "claims use of libCacheSim" grouping introduced in 1.0.6: stars, package releases and dependency counts are distribution signals, so an A there certifies only that the value was read correctly. Added that grades are not comparable across sections. Parameterized the update checklist by target section — a Section 5 entry cannot supply a libCacheSim-use quote without committing the conflation the rules forbid, and upstream independence is now recorded for Section 3 only. |
| 1.0.6 | 2026-08-13 | Redefined the grade rubric in terms of *the relationship each section claims* rather than "use of libCacheSim". The old wording made a Section 5.2 Grade A read as certifying libCacheSim adoption, which is the exact conflation Section 1 forbids; grades there certify a SIEVE implementation and nothing more. Also scoped the pinning claim to the Grade A GitHub links it actually covers — the two Grade U rows are unpinned on purpose, and SkiftOS keeps a branch URL because reproducing its 404 is the evidence. |
| 1.0.5 | 2026-08-13 | Pinned the 3L-Cache README quote to revision `134cd15`, since that quote is also repository text that can change. Replaced the immudb evidence link: a merged pull request is not immutable, since GitHub titles stay editable after merge, so quoting a PR title is not a durable citation. The row now cites `embedded/cache/cache.go` pinned at `1a5f54e`, verified to read "Cache implements the SIEVE cache replacement policy" with a `hand` pointer and per-entry `visited` flags. Every GitHub link in Section 5.2 is now pinned; only the PostgREST docs URL remains mutable. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the stale all-links-pinned changelog claim

The fresh remaining instance after the earlier pinning fix is this v1.0.5 changelog entry: it says every GitHub link in Section 5.2 was pinned, but Pelikan still used a repository-root URL and SkiftOS still used blob/main in that revision, just as the current rows and limitation 5 acknowledge. Because this changelog is intended to audit exactly what each census revision established, scope the statement to the Grade A GitHub evidence links rather than preserving the false all-links claim.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, and it matters more in the changelog than it would elsewhere. Fixed in e15b82c.

The v1.0.5 entry now reads: every GitHub link backing a Grade A row in Section 5.2 is pinned; the two Grade U rows stay unpinned by design and the PostgREST docs URL remains mutable.

The distinction you're drawing is the right one — the changelog audits what each revision established, so an overstated entry there misrepresents the historical record, not just the current state. Someone reading back through the versions to see when pinning landed would have concluded v1.0.5 closed something it didn't.


Generated by Claude Code

The v1.0.5 entry claimed every GitHub link in Section 5.2 had been
pinned. It had not: the Pelikan and SkiftOS rows were unpinned in that
revision and still are, deliberately. A changelog exists to audit what
each revision actually established, so an overstated entry there is worse
than elsewhere — it misrepresents the historical record rather than the
current state. Scoped to the Grade A links it really covered.

The README also still said "checked" where Section 6 says "investigated";
two of those candidates were never checked at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e15b82c93d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread doc/adoption-census.md Outdated
| Version | Date | Change |
| --- | --- | --- |
| 1.0.13 | 2026-08-13 | Corrected the v1.0.5 changelog entry, which claimed every GitHub link in Section 5.2 was pinned — the two Grade U rows were not, then or now. A changelog that audits what each revision established has to be accurate about it. Also changed the README from "checked" to "investigated", matching the Section 6 vocabulary. |
| 1.0.12 | 2026-08-13 | Renamed Section 6 from "Checked and excluded" to "Investigated candidates". Two of its rows were never checked and three are not excluded, so a maintainer navigating by heading could have written the whole section off as settled and skipped the open follow-up work. Internal anchors updated to match. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Count all four non-excluded rows

Section 6 contains two Excluded rows, two Unverified rows, one Deferred row, and one Substituted row, so four—not three—are not excluded. Because this changelog is intended to audit what each revision established, the incorrect count omits the Substituted row and leaves the v1.0.12 history inaccurate.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed by counting the table — two Excluded, two Unverified, one Deferred, one Substituted, so four of six. Fixed in 939052f.


Generated by Claude Code

Section 6 holds two Excluded, two Unverified, one Deferred and one
Substituted row, so four of six are not excluded — the entry said three,
dropping the Substituted row. Counted from the table.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7pawpqGUA7tKoaQQ3beMi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants