Skip to content

Merge the HOA olympiad repositories into hoa-qed - #1

Merged
futrime merged 139 commits into
mainfrom
monorepo
Oct 5, 2026
Merged

futrime merged 139 commits into
mainfrom
monorepo

Conversation

@futrime

@futrime futrime commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Turns humanfia/hoa-qed into the HOA monorepo. The PutnamBench release moves into putnambench/, and seven other repositories join it, each with its full history.

What changes

  • History. putnambench/ is a git mv of the existing root, so its history is this repository's own. imo2026, ioi2026, ipho2026, icho2026, ibo2024, chemlib and lean-qit-qlg were rewritten with git filter-repo --to-subdirectory-filter <name> and merged with --allow-unrelated-histories. Every source commit is kept, so git log -- <dir> and git blame work per directory. Commit hashes in those histories are new; the one hash a README cited (IOI provenance b1c4c8bd…) now gives its monorepo equivalent too.
  • Docs. The repeated "RSI Effort" note is removed from each sub-README and stated once at the root. Cross-competition links now point at subdirectories, clone instructions and the Chemlib Lake dependency use humanfia/hoa-qed (subDir = "chemlib/chemlib"), and humanize2 links are fixed. Instructions that said "repository root" now name the subdirectory.
  • Manifests. Paths in every manifest are relative to their own directory, so the move did not break them. The README.md lines in putnambench/MANIFEST.sha256 and ioi2026/MANIFEST.sha256, and the canonical README hash in ibo2024/scripts/validate.py, were already stale on the source repos. They now match the edited READMEs. No solution or proof hash changed.
  • Root files. README with a results table, LICENSE (Apache-2.0), LICENSE-CC-BY-4.0 for prose, NOTICE for third-party material, CITATION.cff, .github/CODEOWNERS and dependabot.yml for Actions.
  • CI. check.yml checks relative Markdown links, runs putnambench/reproduce.sh check and ioi2026/verify.sh, checks the IChO checksums and the IBO solution manifest, and runs ibo2024/scripts/build.py --check. lean.yml builds each changed Lake project with the Mathlib cache (10 projects, path-filtered; a manual run builds all of them). It replaces chemlib/.github/workflows/lean.yml, which would not run from a subdirectory. Every action is pinned to a full commit SHA.

Not covered

  • imo2026/base declares lean_lib MathFlowBench with no MathFlowBench.lean root, because the run harness writes one into each workspace. A bare lake build there fails with "bad imports", as the README's instructions already did. CI builds MathFlowBench.CacheWarm and then checks all 12 solution files with lake env lean.
  • The 136 per-target Lake projects under icho2026/*-native-goal68/jobs/ are not built in CI.
  • putnambench/humanize/ is a vendored snapshot of PolyArch/humanize, which declares no license. NOTICE says it stays under that project's terms.

🤖 Generated with Claude Code

codex and others added 24 commits September 10, 2026 14:16
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…/32 runs.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ory items.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imported with git filter-repo --to-subdirectory-filter imo2026, so every
commit of humanfia/imo2026 is reachable here with its files under imo2026/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imported with git filter-repo --to-subdirectory-filter ioi2026, so every
commit of humanfia/ioi2026 is reachable here with its files under ioi2026/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imported with git filter-repo --to-subdirectory-filter ipho2026, so every
commit of humanfia/ipho2026 is reachable here with its files under ipho2026/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imported with git filter-repo --to-subdirectory-filter ibo2024, so every
commit of humanfia/ibo2024 is reachable here with its files under ibo2024/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imported with git filter-repo --to-subdirectory-filter chemlib, so every
commit of humanfia/chemlib is reachable here with its files under chemlib/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imported with git filter-repo --to-subdirectory-filter lean-qit-qlg, so every
commit of humanfia/lean-qit-qlg is reachable here with its files under lean-qit-qlg/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imported with git filter-repo --to-subdirectory-filter icho2026, so every
commit of humanfia/icho2026 is reachable here with its files under icho2026/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drop the repeated RSI Effort note from each README (the root README
states it once), link sibling competitions by subdirectory, move clone
instructions and the chemlib Lake dependency to humanfia/hoa-qed, and
fix humanize2 links.

The README lines in putnambench/MANIFEST.sha256 and
ioi2026/MANIFEST.sha256, and ibo2024's canonical README hash, were
already stale before this change; they now match the edited READMEs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The root README introduces HOA once, summarizes every result with a link
to its directory and write-up, and keeps each project's caveats. Code and
Lean proofs are Apache-2.0, prose is CC-BY-4.0, and NOTICE lists the
third-party material that keeps its owner's terms.

CI has two workflows. Check verifies relative Markdown links, each
project's integrity manifests and its offline verifiers. Lean builds the
Lake projects whose files changed, with the Mathlib cache; it replaces
chemlib's own lean.yml, which no longer runs from a subdirectory.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 5, 2026 09:19

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

futrime and others added 2 commits October 5, 2026 17:21
The project ships no lake-manifest.json, which lean-action requires.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
imo2026/base declares lean_lib MathFlowBench without a MathFlowBench.lean
root (the run harness writes one into each workspace), so a bare
lake build reports bad imports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@futrime
futrime merged commit 7175d12 into main Oct 5, 2026
15 checks passed
@futrime
futrime deleted the monorepo branch October 5, 2026 10:02
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.

6 participants