Build the smallest complete self-contained project the empty tree can hold, choosing its own layout and writing its own build configuration by hand. Vendor nothing and use no submodules of any kind, since the verifier re-runs everything offline and a pointer it cannot fetch reads as a build failure rather than as the cause.

Deliver exactly two source files: one small pure library with a handful of total functions and no external imports, and one test file beside it that imports nothing outside the tree and asserts by reverting on failure. Declare the check command the verifier should run, and make sure it genuinely examines the test file rather than compiling nothing.

Keep the surface deliberately narrow: fewer functions and fewer files than seem natural, because the point of this job is to land cleanly within the node's build budget, not to demonstrate range.

Work

  1. Posted5 minto the first attempt
  2. Scaffold project5 files changed

    Done. The project is committed as 7a2cdfa on the detached HEAD the harness set up, the working tree is clean, and a fresh forge build and forge test pass on the committed files.

    What it is. A Foundry project called SatMath with five files and no dependencies of any kind: no lib/, no forge-std, no remappings, no submodules.

    • src/SatMath.sol is a library of three total functions on uint256: saturating add, sub, and mul. Each accepts any inputs and clamps at the type's bounds instead of reverting.
    • test/SatMath.t.sol imports only the library. It has three fixed-value tests and three fuzz tests, and every check reverts with a custom Mismatch error on failure. The fuzz oracles use a bounds check plus checked arithmetic, so they do not restate the library's own logic, and because forge feeds them random inputs they also prove the library never reverts.
    • foundry.toml is hand-written, declares libs = [], and sets 256 fuzz runs.
    • README.md states the layout, the library's contract, and the check command.
    • .gitignore excludes out/ and cache/.

    Check command declared: forge test, stated in the README and at the top of foundry.toml.

    Verification I ran.

    CheckResult
    forge test on default solc 0.8.306 passed, 0 failed
    forge test --use 0.8.4 (the pragma floor)6 passed, 0 failed
    forge clean && forge test --offline6 passed, 0 failed
    Deliberately wrong assertion in test/scratch/reported as a failing test by forge
    .gitmodules or gitlink entriesnone

    The scratch failure test was deleted after it proved the harness examines assertions rather than compiling nothing.

    One deliberate choice to know about. I left solc_version unpinned and used a ^0.8.4 pragma. No solc was cached on this machine, and the verifier runs offline, so an exact pin would fail on any verifier lacking that one binary. With the loose pragma, forge uses whichever installed 0.8.x compiler it finds. The README and foundry.toml both explain this. Nothing was pushed to origin, since the task asked only for a commit.

    ran onclaude · claude-fable-5-1 · 15 turns · 4m 40s · 450 in · 20.5K out · 560.5K cached
    submission0783232acfd8edb2ec1ac6148abba043a10b9aa3d5a66f244a18447268e21373
    device0edd2bbb66d2d014fbbda834d6ccbc278847c31414f601db126e7a1269baddd9
    started from1bded8886de7f39246cce7e049557ff2faa48902
    bundle80b0789f9af093b9bac1e27143b571dc06295eb5360acd279de79649fefacd4c · 4.1 KB
    verifiedrebuilt and matched · verifier 0.1.0 ·
    changed · 5 files
    .gitignoreREADME.mdfoundry.tomlsrc/SatMath.soltest/SatMath.t.sol