{"slug": "new-results-in-square-packing-problem-by-a-hobbyist", "title": "New results in square packing problem by a hobbyist", "summary": "A hobbyist researcher using AI agents has improved the lower bound for the square packing problem s(11) to 381/100 = 3.81, surpassing Walter Stromquist's 1984 bound of 3.7888543, marking the first recorded improvement for this open case. The results, published in a GitHub repository, also provide new bounds for n = 12, 20, and 21, and revise values for n = 17 through 21, with seven lower bounds proved by the automated workflow.", "body_md": "This repository contains:\n\n- **[New results](#new-results).** The lower bound on`s(11)` has moved.\nIt improves Stromquist’s`3.7888543…` bound, stated in[1984, Memo III, p. 10](/jlevy/squares/blob/main/packing/resources/papers/stromquist-1984-packing-unit-squares-inside-squares-iii-cases-through-65-and-gardner-conjecture.pdf) and published in 2003; no intervening improvement was found by the recorded search.\nWith it come the first bounds located in the public record for twelve, twenty and\ntwenty-one squares, and values from`n = 17` through`n = 21` that displace what was\nin print.\n- **[A survey of the whole problem](#survey).** Every case`n = 1…100` , the primary\nliterature retained and transcribed, and the bound a source*reports* kept apart from\nthe bound this repository has*verified* . Seven of the lower bounds it shows were\nproved here.\n- **[An automated research workflow](#autonomous-research-process).** The results and\nthe survey are produced and checked by AI agents running a recorded process:\nhypotheses registered before measurement, every claim graded, every defect logged.\n\nThe [**explainer page**](https://jlevy.github.io/squares/) is the best introduction to\nthe proof: the `s(11)` bound and its five conditions in one page, with every figure\ndrawn from the certificate it explains.\n\n*The retained `n = 1…100` atlas, with each packing normalized to its own container and\nlabeled by its best-known side upper bound.\nFor open cases, the strongest lower bound independently verified here appears beneath\nit. A crimson star marks a lower bound proved here.\nThe image is available in [**SVG**](/jlevy/squares/blob/main/packing/atlas/known-best/known-best-1-100.svg),\n[**PDF**](https://jlevy.github.io/squares/known-best-1-100.pdf), and\n[**high-resolution PNG**](/jlevy/squares/blob/main/packing/atlas/known-best/known-best-1-100@2x.png).*\n\nThe register now runs to `n = 324`, the end of the catalogue’s audited range, and a\nsecond, poster-sized composite draws all of it:\n[**`known-best-1-324`**](/jlevy/squares/blob/main/packing/atlas/known-best/known-best-1-324.png), an 18-by-18\ngrid with the same cards, badges and legend, available as\n[**SVG**](/jlevy/squares/blob/main/packing/atlas/known-best/known-best-1-324.svg) and\n[**PDF**](/jlevy/squares/blob/main/packing/atlas/known-best/known-best-1-324.pdf) (44 by 51 inches).\nThe first figure is unchanged; the [atlas README](/jlevy/squares/blob/main/packing/atlas/known-best/README.md)\ndescribes both.\n\n`s(n)` is the side of the smallest square that holds `n` non-overlapping unit squares.\nThe problem is elementary to state and remains open even at small `n`.\n\n[New Results](#new-results) · [Survey](#survey) · [Repository Guide](#repository-guide)\n· [Getting Started](#getting-started) · [Reports](#reports) ·\n[Autonomous Research Process](#autonomous-research-process) ·\n[Conventions](#conventions) · [Layout](#layout)\n\nThe [results register](/jlevy/squares/blob/main/packing/frontier/RESULTS.md) collects first-party and\nload-bearing whole results.\nEach result has a `T-NNN` ID and the classifications defined in\n[`epistemics.md`](/jlevy/squares/blob/main/epistemics.md): **V**, the highest verification rung supported by its\ncited evidence, and **C**, what this repository has recorded or performed itself.\nThe gate checks the structural support for both classifications.\n`apparently-novel` means a recorded source search did not find the named contribution;\nit is not a claim of priority.\n\nEach result also carries **S**, a significance score from `1` to `5` against the same\nfile’s rubric. The two groups below are split on it rather than on taste: `S4` is its\nanchor for a reusable technique, bound family or resolved disputed value, and `S5` for\nmovement on a central open case.\n\nResults first established here, as far as the recorded source searches show:\n\n- **[T-018](/jlevy/squares/blob/main/packing/frontier/RESULTS.md): `s(11) ≥ 381/100 = 3.81`, improving the lower\nbound for the smallest open case (`S5`).**[` s(11)`](/jlevy/squares/blob/main/packing/frontier/n-011.md) is the\ncase this project exists for, and the recorded public search found no stronger lower\nbound after Stromquist stated`2 + 4/√5 = 3.788854…` in 1984 and published it in 2003.\nThe[memo review](/jlevy/squares/blob/main/docs/project/research/research-2026-09-07-stromquist-memos-and-helper-arguments.md) distinguishes that early statement from the later published presentation.\nA first-party[weighted fractional unavoidable-set certificate](/jlevy/squares/blob/main/packing/cases/n11_fractional_certificate) —1121 weighted atoms, total mass`434547/40000` , every placement of a shrunken square\ncovering mass at least`1` —proves that eleven unit squares do not fit in a container\nof side`381/100 = 3.81` . This narrows the interval from`0.088230` to about`0.067084` ; the gap is not closed.\nTwo certificate rungs are retained below`381/100` :`19/5` , the value that first\npassed Stromquist, and`189/50` , the calibration rung below him that was run first on\npurpose and proves nothing new.\nScored`S5` , the rubric’s anchor for movement on a central open case.\nThe shortest complete statement of the proof, with the certificate’s hash and the one\ncommand that checks it from the standard library alone, is the[proof card](/jlevy/squares/blob/main/packing/cases/n11_fractional_certificate/t-018-proof-card.md) .\nA[self-contained package for third-party checking](/jlevy/squares/blob/main/packing/cases/n11_fractional_certificate/thirdparty) ships with it, so the`19/5` rung can be decided without trusting anything else here.\nA small refinement, recorded in the[T-022 proof packet](/jlevy/squares/blob/main/packing/cases/n11_fractional_certificate/t-022-dilation-limit-proof.md) ,\ngives`s(11) ≥ 3.810025723614703…` as a weak limit bound; it does not decide fit at\nthat endpoint. The certificate at`3.81` supplies the proof explained here.\n- **T-019: `s(17), s(18), s(19) ≥ 459/100`, improving the register (` S4`).** The adopted\nbound for[these](/jlevy/squares/blob/main/packing/frontier/n-017.md) three cases was Massaccesi’s`4.5058` ,\ntaken from a source rather than proved here.\nThe same generator returns`4.59` , on 1184 atoms with total mass`423327/25000 = 16.9331` against`n = 17` and least covered mass`200009/200000` , so\nthe repository now carries a first-party certificate`0.0842` above the number it had\nadopted, with the`229/50` and`451/100` rungs it climbed through retained below.\nA stronger public candidate at`9141/2000 = 4.5705` , posted to GitHub on 16 August\n2026 and neither peer reviewed nor replayed here, was outside the search corpus when\nthis was registered; against it the movement is`0.0195` at`n = 17,18` . The DS7 audit\nnow records a stronger reported`n = 19` bound, approximately`4.6172815` , with an\nunresolved source caveat; T-019 does not improve that report.\nThe bounds that came closest, each archived here with its source and replayed where\nthe tools allowed: anabologyco-maker’s`4.5705` and`4.57` (16 and 13 August),\nMassaccesi’s`4.5058` (21 August), Burns’s`4.4811` (6 August), Mira’s`4.468292` and`4.450837` (11 and 10 August), Fort’s`4.456575` (11 August), and Brandwijk’s`89/20 = 4.45` (18 July); Mira’s, Fort’s and Brandwijk’s are exact sixteen-point\ncertificates and the rest weighted ones, and every 2026 author but Brandwijk discloses\na model-written proof.\nOne certificate covers all three sizes without a monotonicity step: only`Condition 2` mentions`n` , so an atom set certifies its side for every integer above its own mass.`T-020` has since carried`n = 19` past it;`n = 17` and`n = 18` are this result’s\nalone, being too small for the heavier atom set that moved the other three.\n- **T-020: `s(19), s(20), s(21) ≥ 24/5`, improving the verified register (` S4`).** The\nverified fields for twenty and twenty-one squares previously carried Nagamochi’s 2005\ngeneral formula,`1 + √13 = 4.6055…` and`1 + √14 = 4.7416…` . The[DS7 source audit](/jlevy/squares/blob/main/packing/frontier/README.md#source-coverage-and-freshness) now\nrecords stronger external reports separately, with missing proofs and source caveats\nexplicit. A[certificate at `4.80`](/jlevy/squares/blob/main/packing/cases/n20_fractional_certificate) —2260\natoms, total mass`946131/50000` , least covered mass`50007/50000` —moves[`n = 20`](/jlevy/squares/blob/main/packing/frontier/n-020.md) by` 0.194449` ,`n = 21` by`0.058343` , and`n = 19` by`0.21` , the largest single-case movement in the register.\nThe three sizes again come out of`Condition 2` alone.\nFrom this`4.80` rung the method had`0.1885` of room at`n = 20` and`n = 21` before[its own ceiling](/jlevy/squares/blob/main/packing/frontier/CERTIFICATE-REACH.md) , and`0.0856` at`n = 19` before it would contradict the best-known packing.`T-021` has since raised the`n = 20` and`n = 21` bounds to`97/20` , leaving`0.1385` of room there; this`24/5` rung remains current for`n = 19` .\n- **T-017: `s(12) ≥ 99/25`, from nothing case-specific at all (` S4`).**[` n = 12`](/jlevy/squares/blob/main/packing/frontier/n-012.md) had only the`n = 11` bound inherited by\nmonotonicity; the frontier record said in as many words that nothing specific to`n = 12` had ever been proved.\nAn eight-rung ladder—`19/5` ,`77/20` ,`97/25` ,`39/10` ,`393/100` ,`197/50` ,`79/20` ,`99/25` —is retained, all from one generator that applies at every`n` , which is why\nthis is scored`S4` as a bound family rather than a case result.\nAt`99/25 = 3.96` it also separates the cases:`s(12) > s(11)` , since Trump’s 1979\npacking puts`s(11) ≤ 3.877084` . That did not follow from anything on record before.\nThe case is now`0.04` from its conjectured optimum of`4` . On the retained\n181-direction net, the proved ceiling for twelve squares is approximately`3.990816` ;\nrefining the net can raise that ceiling.\nEvery finite net still has a ceiling strictly below`4` , so no single certificate of\nthis shape can close the case.\nA family of certificates approaching`4` is not ruled out; whether one exists is a\nquestion about the covering value.\n- **T-010: `s(11) ≥ 2 + 4/√5`, repaired (` S4`).** The printed 2003 Figure 14\nunavoidability claim has a strict counterexample, so the literature’s standing`s(11)` bound rested on a broken step.\nThe[case report](/jlevy/squares/blob/main/docs/project/research/research-2026-08-22-packing-11-unit-squares.md) walks through what survived it.\nA preregistered, source-distinct replacement point set restores the full lower-bound\nargument and certifies exactly.`T-018` has since passed the repaired value, but the repair is what made it a value\nworth passing.\n\nThese checked results have narrower scope: a single case, a catalogue refinement, or an erratum.\n\n- \n**T-021: `s(20), s(21) ≥ 97/20` (`S3`).** A[certificate at `4.85`](/jlevy/squares/blob/main/packing/cases/n20_fractional_certificate/certificate.json) has\ntotal mass`19848723/1000000 = 19.848723` , so the same exact object proves both cases\nwithout a monotonicity step.\nIt raises each bound by`0.05` above`T-020` ; the heavier atom set does not apply to`n = 19` .\n- \n**T-001 / T-002: `s(17) ≥ 4.426213` and `s(18) ≥ 4.426213`.** A sixteen-point\nunavoidable set is certified by exact rational cover verification and an independent\ninterval branch-and-bound over the full pose space.\nBoth are superseded as the verified lower bound: first by the source-backed`4.5058` adopted on 2026-09-03, and now by`T-019` , which proves more than either.\n- \n**T-009: `s(29) ≤ 5.93383346267692918974379895098`.** A Krawczyk interval certificate\nencloses a unique exact solution around a rational witness.\n- \n**T-012 / T-013: exact rigidity determinations.** The retained`n = 5` optimum is not\ninfinitesimally rigid but is second-order rigid.\nThe retained`n = 40` packing is infinitesimally flexible, with every recorded\nfirst-order flex refused at second order.\nBoth refine catalogue annotations that say only “Rigid.”\n- \n**T-014: Goebel’s `n = 5` optimum is locally rigid at fixed side.** At the exact side`2 + √2/2` the labeled pose is an isolated point of the feasible set: no nonconstant\ncontinuous feasible path leaves it and no sequence of distinct feasible poses\nconverges to it. Proved exactly over`Q(√2)` from a complete accounting of all 400\nlocal inequalities, by curve selection and an order-`2m` coefficient induction, and\nindependently reviewed.\nThe side is fixed throughout; nothing is claimed about an isolation radius, about any\nother`n = 5` optimum, or about global uniqueness, and nothing follows for the side as\na variable: with the side free the obstruction fails, which X-007 measured.\n- \n**T-005: an erratum in Bentz 2010.** Lemma 10’s middle replacement point is transposed\nin print. An exact escape certificate refutes the printed point, and the corrected\nreading certifies exactly against the journal page image.\n\nIn each case, the theorem belongs to the source; this repository adds an exact machine check.\n\n- **T-004 / T-008:** Bentz 2010, Theorem 8, including both halves of`s(46) = 7` .\n- **T-011:** exact verification of Trump’s 1979`n = 11` record witness over its\ndegree-eight field, including the zero-gap contacts that finite precision cannot\ncertify.\n\nThe complete statements, scopes, evidence, limitations, classifications, and next actions live in the register. Results that still rest on a source read rather than a machine check are labeled there accordingly.\n\nThe survey records the best-known packing and strongest lower bound independently\nverified here for every `n ≤ 324`, with provenance and separate reported and verified\nfields. Its source is one schema-validated case file under\n[`packing/frontier/`](/jlevy/squares/blob/main/packing/frontier/README.md); the generated\n[status table](/jlevy/squares/blob/main/packing/frontier/STATUS.md) is the reader view, and the atlas above\nrenders every retained known-best packing.\n\nThe [literature archive](/jlevy/squares/blob/main/packing/resources/README.md) retains each primary source, a\ncleaned Markdown transcription, and the unedited extraction used to check it.\nThe generated [evidence inventory](/jlevy/squares/blob/main/packing/frontier/INVENTORY.md) shows what each\nrecorded claim rests on, who performed the work, and how far it has been checked.\n\nThe survey audits rather than merely transcribes.\nFor example, the earliest published proof of `s(7) = 3` carries four recorded defects in\nits printed route, so the case’s proved status rests on independent later proofs.\nThe [`n = 7` case](/jlevy/squares/blob/main/packing/frontier/n-007.md) states that disposition and links the\nrelevant source audit.\n\n| Where | What | \n|---|---|\n| [**Tutorial**](/jlevy/squares/blob/main/TUTORIAL.md) | First-principles introduction to the objects, bounds, cells, stationary branches, search, and proof obligations | \n| [**Synopsis**](/jlevy/squares/blob/main/SYNOPSIS.md) | Current technical state, established results, terminology, experiment roll-up, and handoff | \n| [**Results register**](/jlevy/squares/blob/main/packing/frontier/RESULTS.md) | Whole-result bounds, audits, structural theorems, and errata graded under [`epistemics.md`](/jlevy/squares/blob/main/epistemics.md) | \n| [**Frontier**](/jlevy/squares/blob/main/packing/frontier/STATUS.md) | One record per case for `n = 1…324` , with reported and verified bounds kept separate | \n| [**Atlas**](/jlevy/squares/blob/main/packing/atlas/README.md) | Known-best and prospective packings, contact-scaffold enumeration, and deterministic renderings | \n| [**Literature**](/jlevy/squares/blob/main/packing/resources/README.md) | Retained primary sources, cleaned transcriptions, and raw extractions | \n| [**Reports**](#reports) | Research reports on the mathematics, algorithms, infrastructure, formal proof, and search strategy | \n| [**Code and development guide**](/jlevy/squares/blob/main/development.md) | Exact verification, search, promotion, and the [validation tiers and behavioral lanes](/jlevy/squares/blob/main/development.md#validation-tiers) that gate every change | \n| [**Campaign record**](/jlevy/squares/blob/main/packing/campaign/README.md) | Hypotheses, preregistered experiments, session records, agendas, and generated ledger | \n| [**Defect log**](/jlevy/squares/blob/main/defects.md) | Generated record of defects, detection methods, fixes, and regressions | \n\nLong-lived tests and runs retain detailed timing evidence under\n[OR-14](/jlevy/squares/blob/main/operating-rules.md#or-14-a-development-cycle-is-never-artificially-slow).\nThe\n[validation efficiency and checkpoints plan](/jlevy/squares/blob/main/docs/project/specs/active/plan-2026-09-06-validation-efficiency-and-checkpoints.md)\ntracks improvements to everyday feedback and full final checkpoints, with measurements\nand preserved coverage required before accepting a speedup.\n\n[`SYNOPSIS.md`](/jlevy/squares/blob/main/SYNOPSIS.md) is the technical root and current-state document.\nThe generated day-to-day views are the frontier\n[status table](/jlevy/squares/blob/main/packing/frontier/STATUS.md),\n[results register](/jlevy/squares/blob/main/packing/frontier/RESULTS.md),\n[campaign ledger](/jlevy/squares/blob/main/packing/campaign/ledger.md), and\n[agenda map](/jlevy/squares/blob/main/packing/campaign/agenda-map.md).\nTo resume work, use the synopsis’s [current handoff](/jlevy/squares/blob/main/SYNOPSIS.md#current-handoff), which\nnames the owning work item and next bounded slice.\n\nRead [`TUTORIAL.md`](/jlevy/squares/blob/main/TUTORIAL.md) once for the mathematical orientation, then\n[`SYNOPSIS.md`](/jlevy/squares/blob/main/SYNOPSIS.md) for current results and open work.\nRun commands from `packing/`; the project uses Python 3.14 through `uv`.\n\nThese are the terms a reader encounters most often.\nThe [synopsis terminology](/jlevy/squares/blob/main/SYNOPSIS.md#terminology) gives the full definitions.\n\n| Term | Meaning | \n|---|---|\n| **configuration** | A placement of all `n` squares plus the container side:`3n + 1` coordinates | \n| **cell** | A separating axis and order for every pair of squares; with angles fixed, one cell is one linear program | \n| **quench** | Deterministic refinement from a configuration to a local optimum | \n| **basin** | The preimage of one returned pose under a fixed deterministic quench; one connected terminal component may contain several point-basins | \n| **polish** | Refinement within the current basin | \n| **exploration** | Work intended to reach a different basin; the term implies no assurance level | \n| **standing best** | The best published side for that `n` , hence an upper bound rather than known optimality in open cases | \n| **gap** | `best_side − standing_best` , always signed | \n| **assurance** | `reported` ,`numerically-checked` , or`verified` ; method, arithmetic, origin, limitations, and novelty are recorded separately | \n\nOne ID names one durable thing, and IDs are not reused.\nThe prefix identifies the record’s layer; [`conventions.md`](/jlevy/squares/blob/main/conventions.md#1-identity)\nis the definitive registry.\n\n| ID | Names | \n|---|---|\n| `n-NNN` | One frontier case, such as `n-011` | \n| `T-NNN` | One whole result in the results register; the synopsis also has older local `T-N` shorthand | \n| `X-NNN` | One exploration report from which hypotheses may be derived | \n| `H-NNN` | One falsifiable hypothesis or open question | \n| `exp-NNN` | One durable experiment record; a lower-level run is one command invocation or seed trial | \n| `series-NNN` | One campaign-wide tooling and comparability regime | \n| `agenda-NNN` | One ordered queue of bounded commitments | \n| `BC-NNN` | One bounded commitment in an agenda; other agendas may declare another two-letter prefix | \n| `session-NNN` | One escalated agent-session record containing ordered workflow phases | \n| `D-NNN` | One defect and its detection, consequence, fix, and regression | \n| `think-xxxx` | One git-native `tbd` bead: durable work and dependency state | \n| `W1` –`W10` | A workflow entry point, not a durable artifact ID | \n\nOther rules needed to read the repository:\n\n- Structured values live in YAML or frontmatter; prose supplies explanation and judgment. A consumer does not scrape prose for fields.\n- Declared paths are repository-relative. Generated views are regenerated from their source records and are not edited by hand.\n- Evidence assurance, method, origin, precision, limitations, and novelty are separate facts. Whole-result V/C classifications do not replace evidence-level fields.\n- Source-faithful archive material is not cleaned up as project prose. Reconstructed source text is marked and counted.\n- Corrections preserve the original record and add a dated statement of what remains valid. IDs and scientific outcomes are not silently rewritten.\n\nThe project keeps numerical exploration, symbolic reconstruction, exact verification, and research records as separate layers.\n\n| Layer | Tools | Role here | \n|---|---|---|\n| Work and issue state | [`tbd`](https://github.com/jlevy/tbd) | Git-native beads, dependencies, specs, guidelines, and handoffs | \n| Structured research records | [`softschema`](https://github.com/jlevy/softschema) ,[PyYAML](https://github.com/yaml/pyyaml) ,[Python `jsonschema`](https://github.com/python-jsonschema/jsonschema) , and[` jsonschema-rs`](https://github.com/Stranger6667/jsonschema) | Mixed prose-and-data artifacts, JSON Schema contracts, in-process checks, and fast repository-wide validation | \n| Documentation | [Flowmark](https://github.com/jlevy/flowmark) and[Practical Prose](https://github.com/jlevy/practical-prose) | Semantic Markdown formatting and the common documentation guidelines | \n| High-precision numerics | [mpmath](https://github.com/mpmath/mpmath) | Arbitrary-precision refinement, interval endpoints, and decimal-to-exact promotion | \n| Arrays and optimization | [NumPy](https://github.com/numpy/numpy) and[SciPy](https://github.com/scipy/scipy) | Geometry arrays, nonlinear refinement, and fixed-cell linear programs | \n| Symbolic mathematics | [SymPy](https://github.com/sympy/sympy) | Contact-system assembly, elimination probes, minimal-polynomial recovery, and independent symbolic checks | \n| Exact mathematics | `sqpack.field` ,`sqpack.verify` , and the case-specific certifiers | Rational and algebraic sign decisions, unavoidable-set certificates, Krawczyk enclosures, and proof replay | \n| Parallel search | The local `sqsearch` crate,[Rayon](https://github.com/rayon-rs/rayon) , and the[Rust toolchain](https://github.com/rust-lang/rust) | Multicore `f64` screening and annealing; formal promotion remains on the Python side | \n| Python environment and QA | [uv](https://github.com/astral-sh/uv) ,[Ruff](https://github.com/astral-sh/ruff) ,[BasedPyright](https://github.com/DetachHead/basedpyright) , and[pytest](https://github.com/pytest-dev/pytest) | Locked environments, linting, formatting, type checking, and behavioral tests | \n| Git hooks | [lefthook](https://github.com/evilmartians/lefthook) | Runs the pinned Markdown formatter and re-stages its changes before commit | \n\nThe dependency and tool versions are owned by\n[`packing/pyproject.toml`](/jlevy/squares/blob/main/packing/pyproject.toml),\n[`packing/uv.lock`](/jlevy/squares/blob/main/packing/uv.lock),\n[`packing/sqsearch/Cargo.toml`](/jlevy/squares/blob/main/packing/sqsearch/Cargo.toml), and the root `Makefile`\nand hook configuration.\n[`development.md`](/jlevy/squares/blob/main/development.md) explains how the layers interact.\n\n```\nuv sync --frozen --all-extras --group dev\nuv run --frozen packing-witness inspect witnesses/schadt-n029-2025-decimal.yaml\nuv run --frozen packing-witness check witnesses/schadt-n029-2025-decimal.yaml \\\n  --method numerical-multiprecision --precision 300 --tolerance 1e-100\nuv run --frozen packing-witness verify witnesses/schadt-n029-2025-rational.yaml\nuv run --frozen python -m cases.trump11.verify_exact\nuv run --frozen --all-extras --group dev packing-validate --edit\n```\n\n`--edit` is the smallest of five validation tiers.\nWhich steps each tier runs, what it costs, and which of the three behavioral lanes a\ntest lands in are tabulated in\n[**development.md → Validation Loops**](/jlevy/squares/blob/main/development.md#validation-tiers); the ceilings\nthemselves are data the gate reads, in\n[`packing/devtools/gate-budgets.yaml`](/jlevy/squares/blob/main/packing/devtools/gate-budgets.yaml).\nIn short: a contributor runs `--edit` while editing and `--push` before pushing, every\npull request runs `--fast`, and the complete gate runs on `main` and at the end of a\nresearch block.\n\n[`Witness/v2`](/jlevy/squares/blob/main/packing/witnesses/witness.schema.yaml) is the interchange format for\nsupported rational, algebraic, and decimal witnesses.\nExact verification covers rational witnesses and algebraic witnesses whose field\npreconditions the tool can certify.\nRecovering exact geometry from arbitrary decimal input remains the hard step;\n[`development.md`](/jlevy/squares/blob/main/development.md) and the module docstrings under\n[`packing/src/sqpack/`](/jlevy/squares/blob/main/packing/src/sqpack) define the supported APIs and limits.\n\n[`sqpack.render`](/jlevy/squares/blob/main/packing/atlas/rendering/README.md) creates deterministic,\nself-contained SVG figures while preserving the input’s evidence tier in captions and\nmetadata. The rendering guide owns the CLI, gallery, contact annotations, portability\ncontract, and Motion Lab.\nThe Motion Lab is an exploratory instrument, not a citable research result.\n\nThese ten research reports are the durable topical syntheses:\n\n| Report | Scope | \n|---|---|\n| [Packing 11 Unit Squares in a Square](/jlevy/squares/blob/main/docs/project/research/research-2026-08-22-packing-11-unit-squares.md) | What is proved for `s(11)` , what remains conjectural, and why the available proof techniques do not close the gap | \n| [Algorithms and Tooling for Square Packing](/jlevy/squares/blob/main/docs/project/research/research-2026-08-22-square-packing-algorithms-and-tooling.md) | Search, numerical-to-exact promotion, verification, and the record landscape | \n| [FrankenSim as a Rust Toolkit for Square Packing](/jlevy/squares/blob/main/docs/project/research/research-2026-08-22-frankensim-rust-toolkit-for-square-packing.md) | Assessment of certified-arithmetic and determinism components in a larger Rust framework | \n| [Infrastructure for Square-Packing Exploration](/jlevy/squares/blob/main/docs/project/research/research-2026-08-22-infrastructure-for-packing-exploration.md) | Build order, latency tiers, language boundaries, and symbolic tooling | \n| [Lean for Square-Packing Proofs and Validation](/jlevy/squares/blob/main/docs/project/research/research-2026-08-22-lean-for-packing-proofs-and-validation.md) | Where proof assistants fit and which certificate layers are suitable first targets | \n| [A Search Philosophy for Square Packing](/jlevy/squares/blob/main/docs/project/research/research-2026-08-23-search-philosophy-and-landscape-cartography.md) | Basin cartography, structural diversity, relaxation ladders, and search strategy | \n| [Public Sources Beyond n = 100](/jlevy/squares/blob/main/docs/project/research/research-2026-09-07-square-packing-sources-beyond-100.md) | Which catalogues carry geometry above 100, their reuse terms, and why 324 is a source boundary | \n| [Stromquist’s 1984 Memos and Systematic Dots Proofs](/jlevy/squares/blob/main/docs/project/research/research-2026-09-07-stromquist-memos-and-helper-arguments.md) | Historical corrections, the three memo arguments, and a reusable conditional counting control | \n| [Stromquist’s Twenty-Six-Square Packing](/jlevy/squares/blob/main/docs/project/research/research-2026-09-07-stromquist-n26-verification.md) | Exact verification, comparison with the current record, source attribution, and bounded follow-up | \n| [The Best-Known n = 26 Packing](/jlevy/squares/blob/main/docs/project/research/research-2026-09-07-n26-best-known-audit.md) | Dated literature and source search, exact score normalization, and the limits of the best-known claim | \n\nThe reports distinguish formal proof, finite numerical checks, and source reports.\nThe [document map](/jlevy/squares/blob/main/SYNOPSIS.md#document-map) identifies every maintained guide, dated\nrecord, generated view, and superseded document.\n\nThe repository supports autonomous research without making process a substitute for\nevidence. This section gives the operating model at a glance.\nThe [operating rules](/jlevy/squares/blob/main/operating-rules.md),\n[workflow contracts](/jlevy/squares/blob/main/SYNOPSIS.md#workflow-entry-contracts), and\n[campaign runbook](/jlevy/squares/blob/main/packing/campaign/README.md) own the full rules.\n\nEvidence uses three assurance labels:\n\n- **reported** for a named source claim not checked here;\n- **numerically-checked** for finite-precision calculations with their precision,\nrounding, and tolerance recorded; and\n- **verified** for an exact check, rigorous interval certificate, or complete proof that\ncovers the claim and its preconditions.\n\nWhole results use the separate V/C classifications in [`epistemics.md`](/jlevy/squares/blob/main/epistemics.md).\nA verified feasible witness proves an upper bound; it does not prove global optimality\nwithout a matching verified lower bound.\n\nFinite precision is not enough for a packing with exact contacts.\nFloating-point arithmetic can establish a strict positive gap, but a tolerance that\naccepts a true zero-gap contact also accepts a smaller overlap.\nExact algebraic signs or outward-rounded intervals are therefore required before a\ncontact-heavy witness becomes formally verified.\nThe synopsis explains the full argument in\n[Why Exactness Is Not Optional](/jlevy/squares/blob/main/SYNOPSIS.md#why-exactness-is-not-optional).\n\nTwo retained examples show the boundary.\nThe Schadt `n = 29` decimal pose passes its declared 300-digit numerical check, while\nthe separately promoted interval witness establishes a slightly weaker side rigorously.\nTrump’s `n = 11` witness is verified exactly over a degree-eight number field, including\nfourteen zero-gap contacts.\nThe per-case records ([`n = 29`](/jlevy/squares/blob/main/packing/frontier/n-029.md),\n[`n = 11`](/jlevy/squares/blob/main/packing/frontier/n-011.md)) state exactly which bound each artifact proves.\n\nVerification answers whether a proposed packing is valid.\nProving it optimal is a different problem and requires a matching lower bound.\nThe synopsis’s [capability ladder](/jlevy/squares/blob/main/SYNOPSIS.md#verification-capability-ladder)\ndistinguishes what is built, what is ordinary engineering, and what remains\nmathematically contingent.\n\n| Principle | Focus | Goal | \n|---|---|---|\n| **Correctness** | Soundness | Formal validation that third parties can inspect, plus cross-validation of claims and source summaries | \n| **Process** | Discipline | The minimum effective structure that keeps consequential decisions, evidence, and handoffs reconstructible | \n| **Insight** | Creativity | Freedom to understand the problem, form varied hypotheses, and use all available information and tools | \n| **Efficiency** | Infrastructure | Faster iteration through measured improvement of algorithms, systems, tools, and research surfaces | \n\nCorrectness is the veto: no result advances beyond its evidence, however costly the required check may be. Process is proportional infrastructure, not a second mathematical standard; missing evidence can block promotion, while a preferred form or checkpoint cannot block useful work merely because it looks more disciplined. Insight remains free to propose. Efficiency may simplify process but cannot lower the assurance bar.\n\nThe system separates the kind of effort, the lens used to judge it, and the bounded action being executed:\n\n| Layer | Question | Recorded as | \n|---|---|---|\n| Operating principle / focus | What quality dimension is preeminent for this phase? | `correctness` ,`process` ,`insight` , or`efficiency` | \n| Workflow | What durable result is this phase meant to produce? | One of W1–W10, or the narrow maintenance fallback | \n| Slice | What bounded action is being performed now, and how will it be checked? | Objective, intended artifact, focused validation, and stop condition | \n\nFocus and workflow are independent. A W6 experiment may emphasize correctness, insight, or efficiency without changing its promise to execute a preregistered measurement; an efficiency-focused phase does not become W5 unless its durable result is a measured performance decision. A slice is smaller than either: it is one action inside the declared phase.\n\nThe durable work objects also have different lifetimes:\n\n| Unit | Lifetime and role | \n|---|---|\n| Packing exploration | The self-contained repository: sources, research, code, records, and tools | \n| Campaign | The multi-session research program and its shared record contract | \n| Series | A campaign-wide tooling regime and comparability boundary | \n| Bead ( `think-xxxx` ) | A durable work item and dependency node, open until the work is settled | \n| Bounded commitment ( `BC-NNN` ) | A planned attempt with entry conditions, acceptable exits, owner, and budget | \n| Agent session | An escalated interval of coordinated work containing one or more workflow phases | \n| Workflow phase | One declared purpose and focus within a session | \n| Slice | One bounded, immediately checkable action within a phase | \n| Exploration / hypothesis | A recorded source of ideas / one falsifiable claim with its criterion fixed before measurement | \n| Experiment / run | One durable measured round / one lower-level invocation or seed trial | \n| Result / ledger | One typed observation or whole-result claim / a generated view over source records | \n\nA bead says what needs doing.\nA bounded commitment says what would count as settling one attempt.\nA workflow phase says what kind of move is being executed now.\nOne bead may require several commitments, one commitment may span several phases, and\none phase may produce zero or several scientific records.\nThe [work-unit definitions](/jlevy/squares/blob/main/SYNOPSIS.md#work-units-and-records),\n[campaign runbook](/jlevy/squares/blob/main/packing/campaign/README.md), and\n[agent-session guide](/jlevy/squares/blob/main/packing/campaign/agent-sessions/README.md) own the exact\ncontracts.\n\nChoose the workflow whose durable result matches the task.\nThe [synopsis](/jlevy/squares/blob/main/SYNOPSIS.md#workflow-entry-contracts) owns the complete entry, exit, and\ntransition contracts.\n\n| ID | Workflow | Enter when | Durable result | Usual handoff | \n|---|---|---|---|---|\n| W1 | `research-survey` | The sourced state of knowledge is incomplete | A sourced survey, source notes, conflicts, and explicit gaps | W2 | \n| W2 | `factual-review` | Existing claims need a correctness-only audit | Findings, authorized bounded corrections, or defects; no new theory smuggled into the review | W3 or W4 | \n| W3 | `insight-iteration` | Current evidence needs new explanations or hypotheses | Candidate `X-NNN` /`H-NNN` items with mechanisms, falsifiers, and information value | W6 | \n| W4 | `process-review` | Work is hard to reconstruct or the discipline itself needs review | Process findings, beads, and narrowly scoped contract or check changes | W5 or the next owning workflow | \n| W5 | `efficiency-loop` | A measured bottleneck limits useful iterations | A baseline, profile, equivalence-safe change, and measured decision | W6 | \n| W6 | `research-loop` | A registered hypothesis has a fixed criterion, regime, budget, and instrument contract | A frozen instrument and one or more `exp-NNN` records, raw evidence, verdicts, and a current ledger | W2 for promoted or high-risk claims; otherwise W3 or another W6 slice | \n| W7 | `pipeline-improvement` | A named packing-pipeline surface or research consumer needs a new, stronger, simpler, or repaired capability | A bounded implementation or refactor, executable controls, explicit evidence limits, cost receipt, and readiness decision; no scientific verdict | W2 before a materially changed trust boundary reaches W6; otherwise W5 or W6 | \n| W8 | `documentation-pass` | A period of research has left the reader-facing documents behind what the record now says | Reconciled root documents—README, tutorial, synopsis—checked against the artifacts and against each other, with every drift either fixed or logged as a defect; no new claim introduced | W2 for any claim the pass could not verify; otherwise the next owning workflow | \n| W9 | `remediation` | Confirmed defects or issue backlogs need a systematic repair wave | Risk-ranked dispositions, bounded repairs, regression checks, updated defect records, and rerouted blockers; no scientific verdict | W10 | \n| W10 | `review-planning-oversight` | An agenda or consequential session has ended and its results must change the plan | Result and stop-reason classifications, actionable dispositions, reader-document review, a reprioritized candidate set, and one selected next entry | The selected workflow; W9 or W8 when remediation or documentation work wins | \n\nUse `general-improvement` only for repository maintenance that fits none of W1–W10.\nRoutine work records a workflow, bounded objective, intended artifact, and focused\ncheck. Use a versioned [agent-session record](/jlevy/squares/blob/main/packing/campaign/agent-sessions/README.md)\nonly when work crosses multiple workflow phases, coordinates independent delegates, or\nneeds durable recovery state.\n\n[`defects.md`](/jlevy/squares/blob/main/defects.md) is generated from\n[`packing/defects.yaml`](/jlevy/squares/blob/main/packing/defects.yaml).\nIt records every known defect in this toolchain, what caught it, the consequence, the\ncorrection, and the regression that now guards it.\nTwo lessons govern review:\n\n- Results that look unusually good receive the strongest challenge because many soundness defects have pointed in that direction.\n- The automated gate checks only rules someone encoded. No soundness defect in the log was caught by it.\n\nCurrent counts and detector statistics belong only in the generated defect log and the\n[synopsis defect section](/jlevy/squares/blob/main/SYNOPSIS.md#the-defect-record).\nCorrections follow [`conventions.md` §7](/jlevy/squares/blob/main/conventions.md#7-corrections): preserve the\noriginal record, add a dated correction that states what remains valid, and route any\nchanged conclusion to the artifact that owns it.\n\nW6 is the measured experiment loop rather than an umbrella for every session:\n\n```\nW3 insight iteration → registered hypothesis → W6 measured round → evidence and verdict\n          ↑                                                        │\n          └──────── successor questions ← W2 factual review ←──────┘\n```\n\nThe hypothesis, criterion, regime, budget, and stop rule are fixed before measurement. The round records every outcome and stops at the criterion or clock. Promoted, novel, disputed, or otherwise high-risk claims receive an independent W2 pass before they move forward; routine rounds whose recorded guards already decide the criterion may return directly to W3 or another W6 slice.\n\nThe `tbd` queue owns durable work and dependencies.\nCampaign agendas order bounded commitments; hypothesis and experiment records own\nscientific claims and measurements; commits own code; escalated agent-session records\nown phase and recovery state.\nThe key record IDs are `X-NNN` for explorations, `H-NNN` for hypotheses, `exp-NNN` for\nexperiments, `BC-NNN` for bounded commitments, `T-NNN` for registered results, and\n`D-NNN` for defects.\n[`conventions.md`](/jlevy/squares/blob/main/conventions.md#1-identity) owns the complete ID registry.\n\nThe campaign’s\n[bounded research cycle](/jlevy/squares/blob/main/packing/campaign/README.md#the-bounded-research-cycle) defines\nclocks, result routing, budgets, and stop rules.\nChanging agents changes the driver, not the record or the evidence required for a claim.\n\n| Document | Definitive responsibility | \n|---|---|\n| This README | High-level orientation and the relationship among the layers | \n| [`SYNOPSIS.md`](/jlevy/squares/blob/main/SYNOPSIS.md) | Current technical state, full workflow contracts, work-unit vocabulary, and handoff | \n| [`epistemics.md`](/jlevy/squares/blob/main/epistemics.md) | Whole-result V/C/S/N classifications and their executable boundary | \n| [`conventions.md`](/jlevy/squares/blob/main/conventions.md) | IDs, filenames, artifact shape, evidence fields, provenance, and corrections | \n| [`operating-rules.md`](/jlevy/squares/blob/main/operating-rules.md) | How sessions choose, divide, validate, and hand off work | \n| [Campaign runbook](/jlevy/squares/blob/main/packing/campaign/README.md) | Hypothesis and experiment mechanics, clocks, budgets, verdicts, and routing | \n| [W9 remediation pass](/jlevy/squares/blob/main/packing/campaign/remediation-pass.md) | Systematic defect and issue-backlog triage, repair waves, and terminal dispositions | \n| [W10 review, planning, and oversight](/jlevy/squares/blob/main/packing/campaign/review-planning-oversight.md) | Post-agenda result classification, document review, reprioritization, and next-entry selection | \n| [Agent-session guide](/jlevy/squares/blob/main/packing/campaign/agent-sessions/README.md) | Escalation threshold, workflow phases, recovery state, and session closeout | \n| [Agendas](/jlevy/squares/blob/main/packing/campaign/agendas) | Mutable ordering and readiness of bounded commitments | \n| [`development.md`](/jlevy/squares/blob/main/development.md) | Engineering boundaries, commands, tests, and validation tiers | \n\n[`conventions.md`](/jlevy/squares/blob/main/conventions.md) owns identifiers, filenames, artifact discipline,\nevidence fields, provenance, corrections, and the boundary between machine checks and\nreview. [`epistemics.md`](/jlevy/squares/blob/main/epistemics.md) owns whole-result classifications.\n[`operating-rules.md`](/jlevy/squares/blob/main/operating-rules.md) owns how sessions are conducted, and\n[`development.md`](/jlevy/squares/blob/main/development.md) owns the engineering and validation workflow.\n\n```\n.\n├── TUTORIAL.md             First-principles orientation for a newcomer\n├── SYNOPSIS.md             Current technical state, results, terminology, and handoff\n├── conventions.md          Artifact, identifier, evidence, and correction rules\n├── epistemics.md           Whole-result verification and confirmation rubric\n├── operating-rules.md      Session conduct and workflow rules\n├── development.md          Python setup, engineering boundaries, and validation\n├── defects.md              Generated view of packing/defects.yaml\n├── docs/project/           Reports, reviews, specs, postmortems, and dated handoffs\n├── docs/project/research/  The research reports listed above\n├── packing/                Code, data, and the research record\n│   ├── campaign/           Hypotheses, experiments, sessions, agendas, and ledger\n│   ├── frontier/           Per-case claims, evidence, generated views, and results\n│   ├── witnesses/          Witness/v2 interchange and retained examples\n│   ├── golden/             Calibration endpoint snapshots\n│   ├── atlas/              Known-best, prospective, enumerated, and rendering artifacts\n│   ├── resources/          Retained literature and source-faithful transcriptions\n│   ├── src/                Maintained sqpack package\n│   ├── cases/              Case- and theorem-specific retained code\n│   ├── devtools/           Checkers, adapters, generators, and mutation controls\n│   ├── benchmarks/         Explicit performance probes\n│   ├── tests/              Behavior, command, and architecture contracts\n│   ├── sqsearch/           Rust screening annealer\n│   ├── defects.yaml        Structured defect log\n│   ├── defects.schema.yaml Defect-log contract\n│   └── frankensim-probe/   Focused experiments against FrankenSim\n├── vendor/kpress/          Vendored kpress submodule: the page's rendering layer\n├── AGENTS.md               Project instructions for agents\n├── CLAUDE.md               Bridge to AGENTS.md\n├── Makefile                Markdown formatting, hooks, and skill mirroring\n├── lefthook.yml            Pre-commit Markdown formatter hook\n├── package.json            Tooling-only lefthook package\n└── package-lock.json       Tooling lockfile\n```\n\nAn optional, Git-ignored `attic/` holds intake and scratch files.\nSources used by durable research are retained under `packing/resources/`.", "url": "https://wpnews.pro/news/new-results-in-square-packing-problem-by-a-hobbyist", "canonical_source": "https://github.com/jlevy/squares", "published_at": "2026-09-09 14:35:25+00:00", "updated_at": "2026-09-09 14:43:50.484073+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-research"], "entities": ["Walter Stromquist", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/new-results-in-square-packing-problem-by-a-hobbyist", "markdown": "https://wpnews.pro/news/new-results-in-square-packing-problem-by-a-hobbyist.md", "text": "https://wpnews.pro/news/new-results-in-square-packing-problem-by-a-hobbyist.txt", "jsonld": "https://wpnews.pro/news/new-results-in-square-packing-problem-by-a-hobbyist.jsonld"}}