Skip to content

ci_invariants: family-size invariant (gson TypeAdapter.write == Spoon oracle 55) - #1

Merged
tabladrum merged 7 commits into
mainfrom
ci/family-size-invariant
Oct 12, 2026
Merged

tabladrum merged 7 commits into
mainfrom
ci/family-size-invariant

Conversation

@tabladrum

Copy link
Copy Markdown
Contributor

The ceiling tasks score change-impact sites at file:name granularity, so 25 overrides collapsing into one file can't move them. This adds a count check: gson TypeAdapter.write declarations plus family under gson/src/main must equal the Spoon oracle's 55. On a fresh index, prism v0.87.8 gives 29 and fails. v0.87.9 gives 55. Adds the gson corpus, pinned at dae37cf0.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KXa6Cv1ZUXcdMqXcJfQFhX

tabladrum and others added 7 commits October 10, 2026 22:33
16 multi-file seeded tasks (deep__*) built by build_deep.py from per-language
recipes; wide_eval shape-mode site scoring, js_eval typecheck_cmd, and the
bench monitor/pair reporter used for the 2026-10-10 native vs prism v0.87.2
baseline (results/bench-deep-2026-10-10).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KXa6Cv1ZUXcdMqXcJfQFhX
…11 overnight runs

- 13 deephard seeded tasks (61-371 sites, per-site variance, hidden sites),
  recipes in build/deephard_recipes_*.py, validated gold/empty/partial.
- p2p_check: seeded wide tasks accept a pass_to_pass test renamed along with
  the code (group has no failure and as many passing tests); rich
  loop_helpers was a false failure in every run.
- js_eval: duplicate vitest ids are counted, so a rename onto an existing
  test name no longer looks like a deleted test (zod false failure).
- run_e2e: a wide-task score with zero tests raises ScorerRanNoTests when
  Docker is down (an outage scored an echo cell as a loss).
- bench_monitor: GAP stop rule (prism >= 1.5x native API calls and +6).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KXa6Cv1ZUXcdMqXcJfQFhX
…orced test arm

rich's agent venvs predated attrs in EXTRA_PIP and were never rebuilt, so
tests/test_pretty.py could not import and agents ran --ignore around it. The
venv stamp now includes the extra packages; black added (agents look for it).
gson's offline Maven cache was also seeded with the spotless and packaging
plugins outside the repo (46 calls across 141 sessions went to that).

prism_forced: prism_init plus a hook denying grep/rg/find and Grep/Glob with a
pointer to prism search. Test arm only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KXa6Cv1ZUXcdMqXcJfQFhX
… oracle 55)

The ceiling tasks score change-impact sites at file:name granularity, so 25
overrides collapsing into one file cannot move them. gson's TypeAdapters.java
declares 25 TypeAdapter.write overrides as anonymous classes in static field
initializers; prism <= v0.87.8 indexed 6 of 31 and still reported the family
closed. New check: declarations + family under gson/src/main must equal the
Spoon oracle's count (55). v0.87.8 on a fresh index: 29 (fails); v0.87.9
(grove v0.63.5, astkit v0.16.1): 55. Adds the gson corpus (pin dae37cf0).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KXa6Cv1ZUXcdMqXcJfQFhX
…needs it)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KXa6Cv1ZUXcdMqXcJfQFhX
@tabladrum
tabladrum merged commit 595348d into main Oct 12, 2026
1 check passed
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.

1 participant