Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 25 additions & 5 deletions research/central-factor-packed/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,15 @@ python3 -I -B research/central-factor-packed/verify.py
Expected: `status` is `PASS_CENTRAL_FACTOR_PACKED`, scope is
`complete_historical_audit`, `coefficients_checked` is `6760000`, and
`receipt_sha256` is
`ffae0f0a22863718e3134a924592dcf4b05e919223323ba536c587c592bfe6a1`.
The printed duration varies. This receipt is byte-identical to the original
full audit; the benchmark/result wrapper is a new, explicitly separate record.
`2aabc7e3ed38a27902f88244b80bed579e8ec2158c6ad3253f1c654c79b299e0`.
The printed duration varies. This receipt is byte-identical to the current
`certificates/dyadic-central-factor.json`. That file differs from the
package's original receipt
`ffae0f0a22863718e3134a924592dcf4b05e919223323ba536c587c592bfe6a1`
only in three embedded `source_sha256` entries
(`scripts/exclusion_circuit.py`, `scripts/experiments/complex_centers.py`,
`scripts/experiments/disjoint_tensor.py`). `BENCHMARK.json` and
`VALIDATION.json` keep the pre-refresh measurements against `ffae0f0a`.

```sh
python3 -I -B research/central-factor-packed/test_packed.py
Expand Down Expand Up @@ -123,8 +129,22 @@ fresh-process benchmark pairs for each scope.
## Pins, integration and limitations

`SOURCES.json` pins 43 inherited source, test, proof, fixture and upstream files
to the exact base, plus the adapter implementation. All inherited pins were
compared with that base's Git blobs. It includes the original upstream commit
plus the adapter implementation. The package base remains
`47481c89fd30a43f8f882eb4b391e89c29273fd0`. On 2026-10-20 five live pins were
refreshed to canonical main `bb4bccbf42844d2801487450727c2f63e10d1d0f`, because
`admit_sources()` otherwise rejects before the audit and turns
`.github/workflows/community-batch952.yml` red for every `research/r439-*`
pull request:

| Path | Why the bytes moved |
|---|---|
| `certificates/dyadic-central-factor.json` | Embedded source hashes below; no coefficient field changed |
| `scripts/experiments/complex_centers.py` | #2194 packed `verify_factor` (`f0c58a2ca`) |
| `scripts/experiments/disjoint_tensor.py` | #2001 `frame_data` unions (`3e917c5cc`) |
| `scripts/exclusion_circuit.py` | #2001 embedding masks (`d7d8bfcb0`) |
| `scripts/shared_point_circuit.py` | #2054 frame-support cache (`ff889ccd7`); not a certificate source |

The other 38 file pins are unchanged. It includes the original upstream commit
`adc7f1241b42e322a6451854ab7e4b4c146bf78a`. Source admission happens before
imports; the replay also rejects an unlisted imported repository script.

Expand Down
10 changes: 5 additions & 5 deletions research/central-factor-packed/SOURCES.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"base_commit": "47481c89fd30a43f8f882eb4b391e89c29273fd0",
"files": {
"LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
"certificates/dyadic-central-factor.json": "ffae0f0a22863718e3134a924592dcf4b05e919223323ba536c587c592bfe6a1",
"certificates/dyadic-central-factor.json": "2aabc7e3ed38a27902f88244b80bed579e8ec2158c6ad3253f1c654c79b299e0",
"docs/research/dyadic-central-factor.md": "e97b1dfe11b5eaebacf3f910131e13bcad586ea5fc1af05db23c00ae0eea5c11",
"notes/complex-compression.tex": "10312815290c7bb8ef4db153e30fba13c032bf17ccaf991a34f1aa6340405a0d",
"notes/disjoint-tensor-compression.tex": "528cba56872313b8cd63ff11f523a399dfb3c85cae1a764110ae9d26ac9151ac",
Expand All @@ -15,16 +15,16 @@
"scripts/binary_phase_frames.py": "4148cfa313cf050ed25296e8db36d35871520b8318fd086c7d1facf0c6af67d7",
"scripts/certify.py": "2348d95008276c5d5764f7e028c3918e484582cd589bd4d9b82919161745e53e",
"scripts/complex_compression.py": "9b6f758a5985ba5d9fdd726fe6556b3d3b4bd9d98aaf8ba06a7bb58093c4c504",
"scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0",
"scripts/experiments/complex_centers.py": "3744396587d729253d80980f6310b56e7bf0ea21b165bd178d0d6d4c49faf2e2",
"scripts/experiments/disjoint_tensor.py": "102dd59bf96033f96ba0dab4c2aba77b3a7a73b67b0f96929ff8b20a98b91cd8",
"scripts/exclusion_circuit.py": "f9fbcd6e85e442cbd0926ac0887414e20735b2dc923d2d5822c803ceb46726d3",
"scripts/experiments/complex_centers.py": "39cfcf869dc4a00dd30a1e91efb986074371621dad14b390cf1053f6aeea79bf",
"scripts/experiments/disjoint_tensor.py": "23763a4b6086fb3d19f9282fff5c118f53fa52e7a7f17da1bde990bd4cf8b6ac",
"scripts/general_network_guard.py": "790a2064449afdbffd6dbd4adbcf4a28eaf41931ce7134e4a4e8766f3764270c",
"scripts/incidence_rectangles.py": "5240fd33dcc3096f5685d10ca360186cad36b355a00d55686a4ea4449417d00e",
"scripts/paired_exclusion_circuit.py": "8f05f04cf06217befd6d0ee0f2d7d0c5c5eb32cfab8c9a8ca7917fd6d620b7d2",
"scripts/paired_network.py": "991223dc3c1374284c361ed017e42bf732dd971fa0bea2be2282cfb18257b3f7",
"scripts/prepare_layers.py": "a6e2adc612f264b1c0e51d18ce6315de9ae5e2ae2420aa22e99a22d8bf304947",
"scripts/search_network.py": "3a4faa5037d9b8e7ca5828afac193a96b6966a8b114f14937921795b24ec4f6a",
"scripts/shared_point_circuit.py": "c9bb7a5df92d260a4e3ad532b53e26936730d7c93f7facfb0784957c1e81c8ba",
"scripts/shared_point_circuit.py": "360d9bffc0f55315fe294789b72c71c79e0991524555b3a5f42a2ca504d7da95",
"scripts/shared_point_network.py": "a85e7f0d8c42d6a27e3846308571ca324a1824ac5c2d59e4daa5c7673c33c697",
"tests/test_complex_centers.py": "cae650330565f0a4465029ab8a645b14e6ed7b9be6442b0db1d0914beeaeb700",
"tests/test_complex_compression.py": "e22e0a339fad8ce2f73312eb7e47a762360f8c1c78122cdd8e0dc85c5fbce99f",
Expand Down
11 changes: 10 additions & 1 deletion research/central-factor-packed/VALIDATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,20 @@ are retained in `VALIDATION.json`; benchmark samples are in `BENCHMARK.json`.
| `make selected-record-check` | PR890 exact value, original inventory and proof supplements pass |
| Source admission | All 43 inherited pins match base Git objects and refreshed main |

Every complete replay's certificate SHA256 is
Every complete replay recorded in this October 13 receipt has certificate SHA256
`ffae0f0a22863718e3134a924592dcf4b05e919223323ba536c587c592bfe6a1`.
Timing metadata belongs to the separate wrapper, not that certificate.
The three benchmarked implementation hashes still match the submitted code.

A later pin refresh, 2026-10-20 on main `bb4bccbf42844d2801487450727c2f63e10d1d0f`,
rebinds five drifted files so admission matches the tree
`community-batch952.yml` checks. The replay on CPython 3.12.3 then reports
`receipt_sha256`
`2aabc7e3ed38a27902f88244b80bed579e8ec2158c6ad3253f1c654c79b299e0`
(1.901 s, `coefficients_checked` 6760000). That digest is the current
certificate. It differs from `ffae0f0a` only in three embedded source hashes.
`VALIDATION.json` and `BENCHMARK.json` are left as the October 13 record.

Controls cover structural/type violations, wrong signs, missing first/last
gather columns, large signed scatter values, equivalent accepted factors,
wrong scalar charges despite correct products, a deliberately faulty radix,
Expand Down