diff --git a/.trinity/seals/AspSolver.json b/.trinity/seals/AspSolver.json index 9e47d390e..cb9f5e811 100644 --- a/.trinity/seals/AspSolver.json +++ b/.trinity/seals/AspSolver.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6853fa2f0ade52dabfe66d11846ce96374ef244b644ef8bf1a49b5ded8c53d6b", + "gen_hash_c": "sha256:4dba106286231a29e844d9974750903115e273bde763cf98cdb4a8b68ea1209c", "gen_hash_rust": "sha256:2a576b0a6cd7dec310e83f2b2460ee539ad9571bc557c932655e4646c2fe9334", "gen_hash_verilog": "sha256:3522743354eff4f8f1d9f03d25b7df23bc6185c4962c82e4de79098782265cd7", "gen_hash_zig": "sha256:eceaded4f26af6e30cd424ffcc9318a85eaf61562f0c1de85d85260f4c45437f", "module": "AspSolver", "ring": 12, - "sealed_at": "2026-08-28T18:19:55Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:eca06ff812c61e2693f706b7389c71dcd769c30dfbb2cfb958e0416a5118b404", "spec_path": "specs/ar/asp_solver.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/FileOperations.json b/.trinity/seals/FileOperations.json index 1b6c6f5bd..a0d264072 100644 --- a/.trinity/seals/FileOperations.json +++ b/.trinity/seals/FileOperations.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:df784e3159cddc79035312e86ee3486c4c7d47ad76d88509fb59b01da1073427", + "gen_hash_c": "sha256:e1db9fd886f0cdab974d2769c27a2bc3b991abd30a90f740a6b3b67e9ecc48dd", "gen_hash_rust": "sha256:8b66c7252a9d76d761fd343a84841f52d745a7afa573b4174357cd8ef993eb24", "gen_hash_verilog": "sha256:4e0a34a034df3d400b316b8d3a608653a3555f6e05c92ff58cbd585543d6ba6d", "gen_hash_zig": "sha256:3eeab1e59da6b34085fb64ab88ed4c142993ee9c8bff06d0248e7e1edd13bb1d", "module": "FileOperations", "ring": 12, - "sealed_at": "2026-08-28T00:21:37Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:728883573f6c129d3a93ad10e4bc868c50a7e2e87aaf4b4889d8527fc816a9bf", "spec_path": "specs/file/operations.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/GF16.json b/.trinity/seals/GF16.json index 544df8f86..3b8663f3e 100644 --- a/.trinity/seals/GF16.json +++ b/.trinity/seals/GF16.json @@ -1,12 +1,12 @@ { "conformance_hash": null, - "gen_hash_c": "sha256:86c37c4c56fb0e9a08c001d9fe058f92fddd1da6fd78f2fd137270b2c03c90d9", + "gen_hash_c": "sha256:cc25986c230fb9be8c1d133b5c49f6390d4f4e5663f9db45b06b2b1e92b3f658", "gen_hash_rust": "sha256:1cf53ef31359cc59054b4d9901fb855b6803d61129e35f021f6411d320817f92", "gen_hash_verilog": "sha256:b375909814c58781db08e9113bf93da4b331d45e8955f04af92309e134436b64", "gen_hash_zig": "sha256:fa7ce3a6674834a2e6c9a6c86297b05393a66eed9c4709b0252f0daffa43bf53", "module": "GF16", "ring": 26, - "sealed_at": "2026-09-08T03:20:28Z", + "sealed_at": "2026-09-08T03:43:40Z", "spec_hash": "sha256:1b204a1ef4013b32da4d2c0053a89ef417770d751fb61d89e391517e4fff9974", "spec_path": "specs/numeric/gf16.t27", "tests": { diff --git a/.trinity/seals/GitDiff.json b/.trinity/seals/GitDiff.json index 7260f76cc..ccea772be 100644 --- a/.trinity/seals/GitDiff.json +++ b/.trinity/seals/GitDiff.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:0a5a227a4302c9b676ea651397a178f1cbd26da6d69674b862ccb7f053d2d2b9", + "gen_hash_c": "sha256:33de2d288889127c6c57c881daa63f0fcaa2f703a4248bf505db298d76c19c15", "gen_hash_rust": "sha256:2390964eb874e702d31804169abb6fd4306472b23d2a52a6e884a9f21f80cbc4", "gen_hash_verilog": "sha256:9fd5727e8422e60fc9d85b5c8bc393cb8dbb9901c74e1a3c264d236672307a41", "gen_hash_zig": "sha256:db9be0c99e2d95114de8cdc7d39ea037ca0c8bcd78dcd17dba807b488d0fece2", "module": "GitDiff", "ring": 12, - "sealed_at": "2026-08-28T18:19:55Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:6deb105682ed85d520e9ea126468db714fe5327c5e05ef27ebc160acdceca647", "spec_path": "specs/git/diff.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/GitStatus.json b/.trinity/seals/GitStatus.json index bdd078196..f2b4c656c 100644 --- a/.trinity/seals/GitStatus.json +++ b/.trinity/seals/GitStatus.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:13eb043e85d68f06a0538970f59cbade19eea1cf5d00a5d4deb32da98fa06819", + "gen_hash_c": "sha256:6488bc9ba2554dca854d17760235674fece6097675ca7c79cd864e7c146315c8", "gen_hash_rust": "sha256:7a368ddb342c7c8176c774c8a6085983cb0d28c7affff94bf8894016ca744c69", "gen_hash_verilog": "sha256:958a7f3e3014cb23157b2f171ddd6f09da8451b42a3f85f75fb243f11997ecea", "gen_hash_zig": "sha256:4514395de02d81404dc810c50ae08255b5e7aa9f194a5285bfffc835e688fdda", "module": "GitStatus", "ring": 12, - "sealed_at": "2026-08-28T00:21:37Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:a56255eeb15ab34b0d17caf63b58447d0783b70a185941a8408766153d1ba575", "spec_path": "specs/git/status.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/PropertyTestTemplate.json b/.trinity/seals/PropertyTestTemplate.json index eb5ab2f36..450a40c28 100644 --- a/.trinity/seals/PropertyTestTemplate.json +++ b/.trinity/seals/PropertyTestTemplate.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:884ce0da6d12cb6805e570f1a99dbeeffada5f92ace29e969646e38bf97fa25f", + "gen_hash_c": "sha256:e1494b87603c83c01abe061c499d6b9f2421dfbdd4763cd23a094866c8f0f32c", "gen_hash_rust": "sha256:33aaed851aeafeb8f31da838c2e072debd64328d1c465ac7c0ec62e459632174", "gen_hash_verilog": "sha256:d0d9df245c4a74c12cdb34fc00370554fe93cc899817b67eebfb8fdc4f3c86a3", "gen_hash_zig": "sha256:8d4f14e78a932b8b762312d2c683ae7fade682f7b9e08b6cbdc12e33d7789ba8", "module": "PropertyTestTemplate", "ring": 12, - "sealed_at": "2026-09-08T02:02:02Z", + "sealed_at": "2026-09-08T03:43:40Z", "spec_hash": "sha256:2dae7f68a5651636623154005f92a6e43432b46d72b3bdd45c164df2a38b961c", "spec_path": "specs/math/property_test_template.t27" } \ No newline at end of file diff --git a/.trinity/seals/ZeroDSP_MAC.json b/.trinity/seals/ZeroDSP_MAC.json index 8ed14553e..516cee67e 100644 --- a/.trinity/seals/ZeroDSP_MAC.json +++ b/.trinity/seals/ZeroDSP_MAC.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:7e3f058c4653e4611f676e4f64a13b829b809d2156b3b2c100660080f75897c1", + "gen_hash_c": "sha256:1a30177afec7e09784cef503b14aea5c9c2a53b4bd36cfe859a070f86641e090", "gen_hash_rust": "sha256:98f12ac7a6a7097ecc77fc7cb33283f2546b0077abb7934310c5eddae119fc86", "gen_hash_verilog": "sha256:1ddfc27a4ffbe035c37bb460f4232580acddd604abc55cbb99a36db69ba5b067", "gen_hash_zig": "sha256:6e303ec74ccaa3888d38ceea9bfdbaeff494170af22e0617ea130c30a3638ff7", "module": "ZeroDSP_MAC", "ring": 12, - "sealed_at": "2026-09-08T03:20:27Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:8de13250bacc6dfcbea6f0793bed435605fdbfdcb75e094df82ab0993de0c350", "spec_path": "specs/fpga/mac.t27" } \ No newline at end of file diff --git a/.trinity/seals/ar_AspSolver.json b/.trinity/seals/ar_AspSolver.json index 9e47d390e..cb9f5e811 100644 --- a/.trinity/seals/ar_AspSolver.json +++ b/.trinity/seals/ar_AspSolver.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6853fa2f0ade52dabfe66d11846ce96374ef244b644ef8bf1a49b5ded8c53d6b", + "gen_hash_c": "sha256:4dba106286231a29e844d9974750903115e273bde763cf98cdb4a8b68ea1209c", "gen_hash_rust": "sha256:2a576b0a6cd7dec310e83f2b2460ee539ad9571bc557c932655e4646c2fe9334", "gen_hash_verilog": "sha256:3522743354eff4f8f1d9f03d25b7df23bc6185c4962c82e4de79098782265cd7", "gen_hash_zig": "sha256:eceaded4f26af6e30cd424ffcc9318a85eaf61562f0c1de85d85260f4c45437f", "module": "AspSolver", "ring": 12, - "sealed_at": "2026-08-28T18:19:55Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:eca06ff812c61e2693f706b7389c71dcd769c30dfbb2cfb958e0416a5118b404", "spec_path": "specs/ar/asp_solver.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/ar_asp_solver.json b/.trinity/seals/ar_asp_solver.json index 01fcc2579..46f04d3ae 100644 --- a/.trinity/seals/ar_asp_solver.json +++ b/.trinity/seals/ar_asp_solver.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6853fa2f0ade52dabfe66d11846ce96374ef244b644ef8bf1a49b5ded8c53d6b", + "gen_hash_c": "sha256:4dba106286231a29e844d9974750903115e273bde763cf98cdb4a8b68ea1209c", "gen_hash_rust": "sha256:2a576b0a6cd7dec310e83f2b2460ee539ad9571bc557c932655e4646c2fe9334", "gen_hash_verilog": "sha256:3522743354eff4f8f1d9f03d25b7df23bc6185c4962c82e4de79098782265cd7", "gen_hash_zig": "sha256:eceaded4f26af6e30cd424ffcc9318a85eaf61562f0c1de85d85260f4c45437f", "module": "asp_solver", "ring": 12, - "sealed_at": "2026-09-07T21:07:02Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:eca06ff812c61e2693f706b7389c71dcd769c30dfbb2cfb958e0416a5118b404", "spec_path": "specs/ar/asp_solver.t27" diff --git a/.trinity/seals/asp_solver.json b/.trinity/seals/asp_solver.json index 2103e75a0..808267699 100644 --- a/.trinity/seals/asp_solver.json +++ b/.trinity/seals/asp_solver.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6853fa2f0ade52dabfe66d11846ce96374ef244b644ef8bf1a49b5ded8c53d6b", + "gen_hash_c": "sha256:4dba106286231a29e844d9974750903115e273bde763cf98cdb4a8b68ea1209c", "gen_hash_rust": "sha256:2a576b0a6cd7dec310e83f2b2460ee539ad9571bc557c932655e4646c2fe9334", "gen_hash_verilog": "sha256:3522743354eff4f8f1d9f03d25b7df23bc6185c4962c82e4de79098782265cd7", "gen_hash_zig": "sha256:eceaded4f26af6e30cd424ffcc9318a85eaf61562f0c1de85d85260f4c45437f", "module": "asp_solver", "ring": 12, - "sealed_at": "2026-08-28T18:19:55Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:eca06ff812c61e2693f706b7389c71dcd769c30dfbb2cfb958e0416a5118b404", "spec_path": "specs/ar/asp_solver.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/benchmarks_ternary_vs_binary.json b/.trinity/seals/benchmarks_ternary_vs_binary.json index 84fbdc4fb..c79c8efbf 100644 --- a/.trinity/seals/benchmarks_ternary_vs_binary.json +++ b/.trinity/seals/benchmarks_ternary_vs_binary.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:aaf5e51f77101b13905a58955ff83c540a8b12aecd1b22719c076eba9f50fb6a", + "gen_hash_c": "sha256:82940ed4609dfa575508b3496659fef3076fc7d2d967f4525e285999a2d2e1c2", "gen_hash_rust": "sha256:d6b6da489d959cf2a0af3f949ba18bac541b98e4f991e631842ac6055d2c3aaa", "gen_hash_verilog": "sha256:13b27afae82b9ef1f8f91667439056444fefed262b7a5f8ffa6fd791bf4488d2", "gen_hash_zig": "sha256:3317dfd402dcff77354cee10b75f49adf8bc9a6460333955b00e4e80bf8a6bfd", "module": "ternary_vs_binary", "ring": 12, - "sealed_at": "2026-09-06T04:36:42Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:5f79143e4cf0f389ef7a03a3834a044e243fd3ca3cb04e06529a73690ecb4ca3", "spec_path": "specs/benchmarks/ternary_vs_binary.t27" diff --git a/.trinity/seals/coder_igla-coder-arch.json b/.trinity/seals/coder_igla-coder-arch.json index fac1ccc83..4f2ddbd84 100644 --- a/.trinity/seals/coder_igla-coder-arch.json +++ b/.trinity/seals/coder_igla-coder-arch.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:f0e837bf1d6031326a3a69db7843b208e653a3f527266e01c3b901b41e9efc34", + "gen_hash_c": "sha256:4ecb7dc6ef2662ab66f024cb8590fc523ea046a2031724c1a2962d9172da8106", "gen_hash_rust": "sha256:d3e936ed770a65525ceb4be8fff81a1e7381f6915aa4b500f4b7626cc84c3606", "gen_hash_verilog": "sha256:68ee411594d2a8d1b0df9214fa06102bc4297f3d597e12fef90d8986b86670aa", "gen_hash_zig": "sha256:825537b84cf902a2b6ba0e18ce53cb4af39d117aefac808e3ecf8bae4cc09931", "module": "igla-coder-arch", "ring": 12, - "sealed_at": "2026-09-06T04:36:42Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:baafdfb69f57527162bec359e9439edb7e0049f421019912200889abf9386707", "spec_path": "specs/igla/coder/arch.t27" diff --git a/.trinity/seals/coder_igla-coder-bench-proxy.json b/.trinity/seals/coder_igla-coder-bench-proxy.json index 152f59089..7c3806321 100644 --- a/.trinity/seals/coder_igla-coder-bench-proxy.json +++ b/.trinity/seals/coder_igla-coder-bench-proxy.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:d200d307bb78c3d96c574bd8fea3ba5ece9289effbff7680d99a65642364e1e9", + "gen_hash_c": "sha256:78847d8fafe31f024977a69193fd8070fdea32ce34d11ec7e25b0dd6284a9299", "gen_hash_rust": "sha256:e9d666e31bb8a1d76846dfcdf3afcabba4d7119efed0f1b5f627277368e823af", "gen_hash_verilog": "sha256:1db729375b8a59f5e5abb2d657c7ca159423c02b501ad0b953b9fb7ca46bffb8", "gen_hash_zig": "sha256:506fc81ff04dc1c21f147dc026aefedf05e58d712c884361ee37c382ea64eb95", "module": "igla-coder-bench-proxy", "ring": 12, - "sealed_at": "2026-09-06T04:36:42Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:340aeb11e95050b8aab5c127f136ccb0d04be9e650f664c5a13db07feba0d70d", "spec_path": "specs/igla/coder/bench_proxy.t27" diff --git a/.trinity/seals/coder_igla-coder-benchmark.json b/.trinity/seals/coder_igla-coder-benchmark.json index b1e68d626..78426f853 100644 --- a/.trinity/seals/coder_igla-coder-benchmark.json +++ b/.trinity/seals/coder_igla-coder-benchmark.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:122057a03b203e441c19ef0c376eb9d26e17c8c869cce79c9e0cbbd821008666", + "gen_hash_c": "sha256:369615df46999744965797d115722fd602c56e5f015f0efec3be7cd264c84a01", "gen_hash_rust": "sha256:97b21ecd83ea15564c7976d865213f0dd17a5a521b6061efb9b77aed77d389a6", "gen_hash_verilog": "sha256:c39a2fe88cbbd3e877c7818e32c3a498c919102b395b35b35bda8835b4efa120", "gen_hash_zig": "sha256:c5737ad94fa6ae7cea4f66ee0c80746a56a2d2787b8c661e01309735df96047e", "module": "igla-coder-benchmark", "ring": 12, - "sealed_at": "2026-09-06T04:36:43Z", + "sealed_at": "2026-09-08T03:43:39Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:364fcad4e84a7bc2b862ef2c3845af3877da670806960f9fe845b47bffa7f641", "spec_path": "specs/igla/coder/benchmark.t27" diff --git a/.trinity/seals/coder_igla-coder-dataset.json b/.trinity/seals/coder_igla-coder-dataset.json index 629e88b9c..cd2c4ebe3 100644 --- a/.trinity/seals/coder_igla-coder-dataset.json +++ b/.trinity/seals/coder_igla-coder-dataset.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:ab229fc9c9975b7afcf89f9b2ac096ca8e43081dcabe5161f7117dbd2dd9c114", + "gen_hash_c": "sha256:ac244df8f654ca72993152c4ea934de206444670e7df7b8388439d6afb2726bf", "gen_hash_rust": "sha256:f528082591180a649a0ebb8f1e4a7b7801c41558a6c127f07ffdc6a5545d33fb", "gen_hash_verilog": "sha256:ac0750fc8f311f3d34bc9582664ff16799f372d6997e7d4f4a34c56b468ae9fc", "gen_hash_zig": "sha256:8555a411d49010bb10a4a1520dde2175dbac43f04000c973054881eaa1829159", "module": "igla-coder-dataset", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T03:43:39Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:ea96b62813533b36a3742b1587b381e4ec1566e5e8e2a9a6a8cd0a4edf716c6c", "spec_path": "specs/igla/coder/dataset.t27" diff --git a/.trinity/seals/coder_igla-coder-eval.json b/.trinity/seals/coder_igla-coder-eval.json index b4db492b6..775c85860 100644 --- a/.trinity/seals/coder_igla-coder-eval.json +++ b/.trinity/seals/coder_igla-coder-eval.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:e5a5cbee1370881da6c760045b894ab1f27bcdc51c4d8f112bff2b59e6baad8c", + "gen_hash_c": "sha256:5468da0080f6af71012fec02b33da3c4b3c3c9bdceef22b756eb847ec75c35f3", "gen_hash_rust": "sha256:d9897ffea08685af7c1f7278356d9c8b9818ef051bdb46a699d6f911fd798776", "gen_hash_verilog": "sha256:26e15c2e2e2a89bc9fbb19be86dd960c950518c4b1a57385d5ca00c5531ebd31", "gen_hash_zig": "sha256:cc88c2b3a66f72b4491ffd56e413105f1ad979ef04bf170c5cf202e46a863d6e", "module": "igla-coder-eval", "ring": 12, - "sealed_at": "2026-09-07T21:07:02Z", + "sealed_at": "2026-09-08T03:43:39Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:665636a59b59cca6f3255f7271f7507e4c49135f2c7c0d08310f3ef1e1ac708b", "spec_path": "specs/igla/coder/eval.t27" diff --git a/.trinity/seals/coder_igla-coder-pipeline.json b/.trinity/seals/coder_igla-coder-pipeline.json index d4565d955..c4d194a2e 100644 --- a/.trinity/seals/coder_igla-coder-pipeline.json +++ b/.trinity/seals/coder_igla-coder-pipeline.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:24333902a0f4d2e970600868835f0ca868a0e8d777ca5ac370bddbaae8a59e0a", + "gen_hash_c": "sha256:05c241be8371faaa71256d816ec9fb614294367626811958d625b4de29c866d8", "gen_hash_rust": "sha256:4a2fdde88384921ce6b7a29fbbbec98f3b5d4219f925dc761da9e5e14e146a8a", "gen_hash_verilog": "sha256:bb9ad9011f231784af5067aa70cd17ed4e0784000ef43d1d7381a5ce489c5982", "gen_hash_zig": "sha256:3e2a4690e81c39423645f96deb48beee2712ad92105e10e3585f2c5c76c7df08", "module": "igla-coder-pipeline", "ring": 12, - "sealed_at": "2026-09-07T21:07:02Z", + "sealed_at": "2026-09-08T03:43:39Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:304354cec12b7541a1cb98377c1f9e0f6e466d5a4d9e858e883039888957d206", "spec_path": "specs/igla/coder/pipeline.t27" diff --git a/.trinity/seals/coder_igla-coder-prm.json b/.trinity/seals/coder_igla-coder-prm.json index bf95cae81..3dfadf495 100644 --- a/.trinity/seals/coder_igla-coder-prm.json +++ b/.trinity/seals/coder_igla-coder-prm.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:a8b361c10eddea0b0e8c38331f2e2cc01be6d5821088a88deb7df48d26cb33db", + "gen_hash_c": "sha256:1ffe193b8d52777cc6eaf94142cccdf6632ee01c7abf8f777d778e54f53d7807", "gen_hash_rust": "sha256:e8c862761c5453ef13c243f61144a277da40004a90a980e46a9bfbc8a6d5d85c", "gen_hash_verilog": "sha256:680483a85d48fd7c85e55bd4cc124c243b151e70082aa9a84cf098e0d2bff60e", "gen_hash_zig": "sha256:30dca41f3aca3c26b1c41187b18650f57271007bfcc314c0567ce04378832e26", "module": "igla-coder-prm", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T03:43:39Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:ced5a24a09d61d2024c46b8b0e3a97140f471be1a8123e904a1016365dbcc9e6", "spec_path": "specs/igla/coder/prm.t27" diff --git a/.trinity/seals/coder_igla-coder-training.json b/.trinity/seals/coder_igla-coder-training.json index bba4d3dc2..d045de07f 100644 --- a/.trinity/seals/coder_igla-coder-training.json +++ b/.trinity/seals/coder_igla-coder-training.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:576af466bdfaf0cd0af72638e9aa5d162c998c8d35ac9e14e62366d9187ae9d0", + "gen_hash_c": "sha256:541adecf6164d0bfd9424494475e33c53cf9ea63f8de0822c33f5f4ccc415e93", "gen_hash_rust": "sha256:614fcbe702bb6e5b4bb71bbb28aa5e7eaecff74729465657a986fbee2da54017", "gen_hash_verilog": "sha256:e737f6217dbd2a32472d00abbd0c4e3e7bea50b376f7b37e7e3cab5b15bf3a2c", "gen_hash_zig": "sha256:be3547659a40c3c5dca614be1e805ab76ce1633e6634ccd6e606665dcd9b0007", "module": "igla-coder-training", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T03:43:39Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:8b561b77ec3526a52a396aee849be735d3bb3584ba9440a3b0b18f1ccf265f3c", "spec_path": "specs/igla/coder/training.t27" diff --git a/.trinity/seals/coder_igla-coder-weights.json b/.trinity/seals/coder_igla-coder-weights.json index 38d8d6517..92a6d5369 100644 --- a/.trinity/seals/coder_igla-coder-weights.json +++ b/.trinity/seals/coder_igla-coder-weights.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:57d10ad3e731e4f44918aa8260990007ebbe960066f1dd78885e057c3112a9ef", + "gen_hash_c": "sha256:15059287110ba7a80fdd2c4dbbdc398b21822d1b37bbbb0f3677cb9e9b8f5ed1", "gen_hash_rust": "sha256:33028fe7950ecf94098c0b646afee6d324de45d530abee909a89d273cae5e575", "gen_hash_verilog": "sha256:ccc961fff14fad2aa0ab657787fbc8ba97deacf803244f5c641daa16dc40cb99", "gen_hash_zig": "sha256:86ac85e41d346513903952c15bc89ea9cb18764e14106bc6fa4a19050ebbf132", "module": "igla-coder-weights", "ring": 12, - "sealed_at": "2026-09-06T04:36:43Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:d01f671df7e6cd43c5337cec36c44cc3f074a3a6c8b9a3010806111197cc378d", "spec_path": "specs/igla/coder/weights.t27" diff --git a/.trinity/seals/file_FileOperations.json b/.trinity/seals/file_FileOperations.json index 7f6fcbdf3..3f7b72849 100644 --- a/.trinity/seals/file_FileOperations.json +++ b/.trinity/seals/file_FileOperations.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:df784e3159cddc79035312e86ee3486c4c7d47ad76d88509fb59b01da1073427", + "gen_hash_c": "sha256:e1db9fd886f0cdab974d2769c27a2bc3b991abd30a90f740a6b3b67e9ecc48dd", "gen_hash_rust": "sha256:8b66c7252a9d76d761fd343a84841f52d745a7afa573b4174357cd8ef993eb24", "gen_hash_verilog": "sha256:4e0a34a034df3d400b316b8d3a608653a3555f6e05c92ff58cbd585543d6ba6d", "gen_hash_zig": "sha256:3eeab1e59da6b34085fb64ab88ed4c142993ee9c8bff06d0248e7e1edd13bb1d", "module": "FileOperations", "ring": 12, - "sealed_at": "2026-09-05T03:11:55Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:728883573f6c129d3a93ad10e4bc868c50a7e2e87aaf4b4889d8527fc816a9bf", "spec_path": "specs/file/operations.t27" diff --git a/.trinity/seals/fpga_ZeroDSP_MAC.json b/.trinity/seals/fpga_ZeroDSP_MAC.json index 9a469a23b..b27c4a6fb 100644 --- a/.trinity/seals/fpga_ZeroDSP_MAC.json +++ b/.trinity/seals/fpga_ZeroDSP_MAC.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:7e3f058c4653e4611f676e4f64a13b829b809d2156b3b2c100660080f75897c1", + "gen_hash_c": "sha256:1a30177afec7e09784cef503b14aea5c9c2a53b4bd36cfe859a070f86641e090", "gen_hash_rust": "sha256:98f12ac7a6a7097ecc77fc7cb33283f2546b0077abb7934310c5eddae119fc86", "gen_hash_verilog": "sha256:1ddfc27a4ffbe035c37bb460f4232580acddd604abc55cbb99a36db69ba5b067", "gen_hash_zig": "sha256:6e303ec74ccaa3888d38ceea9bfdbaeff494170af22e0617ea130c30a3638ff7", "module": "ZeroDSP_MAC", "ring": 12, - "sealed_at": "2026-09-08T03:20:27Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:8de13250bacc6dfcbea6f0793bed435605fdbfdcb75e094df82ab0993de0c350", "spec_path": "specs/fpga/mac.t27" diff --git a/.trinity/seals/git_GitDiff.json b/.trinity/seals/git_GitDiff.json index 999d444ad..6f74c50e7 100644 --- a/.trinity/seals/git_GitDiff.json +++ b/.trinity/seals/git_GitDiff.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:0a5a227a4302c9b676ea651397a178f1cbd26da6d69674b862ccb7f053d2d2b9", + "gen_hash_c": "sha256:33de2d288889127c6c57c881daa63f0fcaa2f703a4248bf505db298d76c19c15", "gen_hash_rust": "sha256:2390964eb874e702d31804169abb6fd4306472b23d2a52a6e884a9f21f80cbc4", "gen_hash_verilog": "sha256:9fd5727e8422e60fc9d85b5c8bc393cb8dbb9901c74e1a3c264d236672307a41", "gen_hash_zig": "sha256:db9be0c99e2d95114de8cdc7d39ea037ca0c8bcd78dcd17dba807b488d0fece2", "module": "GitDiff", "ring": 12, - "sealed_at": "2026-09-06T04:36:42Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:6deb105682ed85d520e9ea126468db714fe5327c5e05ef27ebc160acdceca647", "spec_path": "specs/git/diff.t27" diff --git a/.trinity/seals/git_GitStatus.json b/.trinity/seals/git_GitStatus.json index bb2ba6236..70e3e0954 100644 --- a/.trinity/seals/git_GitStatus.json +++ b/.trinity/seals/git_GitStatus.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:13eb043e85d68f06a0538970f59cbade19eea1cf5d00a5d4deb32da98fa06819", + "gen_hash_c": "sha256:6488bc9ba2554dca854d17760235674fece6097675ca7c79cd864e7c146315c8", "gen_hash_rust": "sha256:7a368ddb342c7c8176c774c8a6085983cb0d28c7affff94bf8894016ca744c69", "gen_hash_verilog": "sha256:958a7f3e3014cb23157b2f171ddd6f09da8451b42a3f85f75fb243f11997ecea", "gen_hash_zig": "sha256:4514395de02d81404dc810c50ae08255b5e7aa9f194a5285bfffc835e688fdda", "module": "GitStatus", "ring": 12, - "sealed_at": "2026-09-05T03:11:55Z", + "sealed_at": "2026-09-08T03:43:38Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:a56255eeb15ab34b0d17caf63b58447d0783b70a185941a8408766153d1ba575", "spec_path": "specs/git/status.t27" diff --git a/.trinity/seals/math_PropertyTestTemplate.json b/.trinity/seals/math_PropertyTestTemplate.json index 2b785e6f8..b49ae15de 100644 --- a/.trinity/seals/math_PropertyTestTemplate.json +++ b/.trinity/seals/math_PropertyTestTemplate.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:884ce0da6d12cb6805e570f1a99dbeeffada5f92ace29e969646e38bf97fa25f", + "gen_hash_c": "sha256:e1494b87603c83c01abe061c499d6b9f2421dfbdd4763cd23a094866c8f0f32c", "gen_hash_rust": "sha256:33aaed851aeafeb8f31da838c2e072debd64328d1c465ac7c0ec62e459632174", "gen_hash_verilog": "sha256:d0d9df245c4a74c12cdb34fc00370554fe93cc899817b67eebfb8fdc4f3c86a3", "gen_hash_zig": "sha256:8d4f14e78a932b8b762312d2c683ae7fade682f7b9e08b6cbdc12e33d7789ba8", "module": "PropertyTestTemplate", "ring": 12, - "sealed_at": "2026-09-08T02:02:02Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:2dae7f68a5651636623154005f92a6e43432b46d72b3bdd45c164df2a38b961c", "spec_path": "specs/math/property_test_template.t27" diff --git a/.trinity/seals/numeric_triformat-gf16.json b/.trinity/seals/numeric_triformat-gf16.json index 2245585c7..32e974ec6 100644 --- a/.trinity/seals/numeric_triformat-gf16.json +++ b/.trinity/seals/numeric_triformat-gf16.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:86c37c4c56fb0e9a08c001d9fe058f92fddd1da6fd78f2fd137270b2c03c90d9", + "gen_hash_c": "sha256:cc25986c230fb9be8c1d133b5c49f6390d4f4e5663f9db45b06b2b1e92b3f658", "gen_hash_rust": "sha256:1cf53ef31359cc59054b4d9901fb855b6803d61129e35f021f6411d320817f92", "gen_hash_verilog": "sha256:b375909814c58781db08e9113bf93da4b331d45e8955f04af92309e134436b64", "gen_hash_zig": "sha256:fa7ce3a6674834a2e6c9a6c86297b05393a66eed9c4709b0252f0daffa43bf53", "module": "triformat-gf16", "ring": 12, - "sealed_at": "2026-09-08T03:20:28Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:1b204a1ef4013b32da4d2c0053a89ef417770d751fb61d89e391517e4fff9974", "spec_path": "specs/numeric/gf16.t27" diff --git a/.trinity/seals/property_test_template.json b/.trinity/seals/property_test_template.json index 484670011..624bdd927 100644 --- a/.trinity/seals/property_test_template.json +++ b/.trinity/seals/property_test_template.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:884ce0da6d12cb6805e570f1a99dbeeffada5f92ace29e969646e38bf97fa25f", + "gen_hash_c": "sha256:e1494b87603c83c01abe061c499d6b9f2421dfbdd4763cd23a094866c8f0f32c", "gen_hash_rust": "sha256:33aaed851aeafeb8f31da838c2e072debd64328d1c465ac7c0ec62e459632174", "gen_hash_verilog": "sha256:d0d9df245c4a74c12cdb34fc00370554fe93cc899817b67eebfb8fdc4f3c86a3", "gen_hash_zig": "sha256:8d4f14e78a932b8b762312d2c683ae7fade682f7b9e08b6cbdc12e33d7789ba8", "module": "property_test_template", "ring": 12, - "sealed_at": "2026-09-08T02:02:02Z", + "sealed_at": "2026-09-08T03:43:40Z", "spec_hash": "sha256:2dae7f68a5651636623154005f92a6e43432b46d72b3bdd45c164df2a38b961c", "spec_path": "specs/math/property_test_template.t27" } \ No newline at end of file diff --git a/.trinity/seals/race_igla-race-eda.json b/.trinity/seals/race_igla-race-eda.json index 0ba8d1a50..38bcd4b16 100644 --- a/.trinity/seals/race_igla-race-eda.json +++ b/.trinity/seals/race_igla-race-eda.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:316a0c30d8a1f6de88d20abc2d40b1f2f7de945c6eaa482429f6765013af8558", + "gen_hash_c": "sha256:f7718b6c2383defd31b1f3335ef444a3da84c5c8e055f9f28e2e37a53a504102", "gen_hash_rust": "sha256:bfd3ae6dcbc56b2e67b9a89ad3c67b19d6cfa615769e710ee4f2896217411ca1", "gen_hash_verilog": "sha256:d13a60939f17e33ae998c9de144ad8bb97a2fd436c43d6579d7ad85562badf24", "gen_hash_zig": "sha256:4aae0184aa1ec18b0d60f9c8219a0b5b1fbe4693e9b845a6be2da84a4d3c4284", "module": "igla-race-eda", "ring": 12, - "sealed_at": "2026-09-06T04:36:44Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:c7d25ebc6fa857c980cdf55def807bc0070eabdeace37898c006ed6cafd6b303", "spec_path": "specs/igla/race/eda.t27" diff --git a/.trinity/seals/race_igla-race-formal.json b/.trinity/seals/race_igla-race-formal.json index e4df79c17..ca565d623 100644 --- a/.trinity/seals/race_igla-race-formal.json +++ b/.trinity/seals/race_igla-race-formal.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:02be0cd535462a429c67aa50bbb5a7cc9ea4b06e7471f26af69057fc22b951e2", + "gen_hash_c": "sha256:8616968af7c1b36a38bcde30478bb01c5209e38f79e039e91b0068dcfd809bab", "gen_hash_rust": "sha256:ea1f827ca19b22e3ca6891373616fe8e8616163b808484761516afd86a411bc3", "gen_hash_verilog": "sha256:7421eb4c0f42655307219fd1582d1040ef59aecbac9bce503cb7f35530f936ff", "gen_hash_zig": "sha256:15bef725b0b0ba4f612e3ca8682df6566609c308a37f8718ec95f458a6b713c7", "module": "igla-race-formal", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:948f99458634d60de75826a7ad8e6d85543f9f017c1a6dc77b6580f29699bf01", "spec_path": "specs/igla/race/formal.t27" diff --git a/.trinity/seals/race_igla-race-systolic-array.json b/.trinity/seals/race_igla-race-systolic-array.json index c3cd2a3fd..da73fbf52 100644 --- a/.trinity/seals/race_igla-race-systolic-array.json +++ b/.trinity/seals/race_igla-race-systolic-array.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:99ed1010d72a682d0aa146aa07061f5fba19822af1e2f9a45617b57e801c206f", + "gen_hash_c": "sha256:bc006f4d3a6fdf83b8b4ca0dc005e69e2125a0a3b244f6d91a7b79f8bd3bc347", "gen_hash_rust": "sha256:ba9b38992dc76c7de06ae90928a0e67cfdb98649848a77de51aa1e380ecf2aba", "gen_hash_verilog": "sha256:6bda0a419da1aa120f7afd4e6e355753829e6b4a97a975451678b4d39de71061", "gen_hash_zig": "sha256:a90a3069d7289bbb47c45d82a5e91a6a45f46c8ac1dd4dba5a9d2efa94a1408b", "module": "igla-race-systolic-array", "ring": 12, - "sealed_at": "2026-09-06T04:36:44Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:55ef8dde9d116d74e0c6e6e911893ba51116745d541532de44768b18cc3a188e", "spec_path": "specs/igla/race/systolic_array.t27" diff --git a/.trinity/seals/race_igla-race-systolic-ternary.json b/.trinity/seals/race_igla-race-systolic-ternary.json index ea6d83a9e..2327fae81 100644 --- a/.trinity/seals/race_igla-race-systolic-ternary.json +++ b/.trinity/seals/race_igla-race-systolic-ternary.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:d481219af65cf77db967dca5780c2fdba0e0956f4e8ad5652ef0133fdb559819", + "gen_hash_c": "sha256:05b88d4b6e0bf7b33177bc0146877249cf131787b95d6ed5e3f35ebfd3c72237", "gen_hash_rust": "sha256:dbc34c6545d36d0c1aa284398f8c87a22d27f9f67ca1ff1190d2083351f422cb", "gen_hash_verilog": "sha256:29244ceb3b49d238c23d8cf1f3283599058ca8953158e58b7f3d1a58692dc8b5", "gen_hash_zig": "sha256:e74bb53517a9458208fbafb2b0a3e9af0a1b67992869d2033eddd122ad34301b", "module": "igla-race-systolic-ternary", "ring": 12, - "sealed_at": "2026-09-06T04:36:44Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:968bea4fd52e44b99e900e9ae7b6e1642783a98413791edae61f450d59ead18f", "spec_path": "specs/igla/race/systolic_ternary.t27" diff --git a/.trinity/seals/race_igla-race-ternary-dot-sw.json b/.trinity/seals/race_igla-race-ternary-dot-sw.json index 23d88dc76..32ddc6703 100644 --- a/.trinity/seals/race_igla-race-ternary-dot-sw.json +++ b/.trinity/seals/race_igla-race-ternary-dot-sw.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:44fe19fb4f3089fe35a32361bf5f236146ebc087bd19ebbd6351e0bc6a43acd8", + "gen_hash_c": "sha256:5e27f2f234aa846cf25ab0e04a77a298c3989fd900b4e0a96bf9cbb50186acfd", "gen_hash_rust": "sha256:1df4da3d70d612e7cfa8445dfbc8eeafbc8cb5f6c482a0055fbfc2a583745d26", "gen_hash_verilog": "sha256:67020e89dacb3b31e5b17fdf79d8b032131a1d74964886c2e51700e05677bd9a", "gen_hash_zig": "sha256:9ccb3f4be33392ab07fe1caf6e614a147ade4b7829e6db5e00eae9f81a8a1627", "module": "igla-race-ternary-dot-sw", "ring": 12, - "sealed_at": "2026-09-05T11:22:00Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:5bf4a9567cd56ec9b8862707948c207bba85498d272b73b0fc53e20aa548cbb7", "spec_path": "specs/igla/race/ternary_dot_sw.t27" diff --git a/.trinity/seals/race_igla-race-ternary-gemm.json b/.trinity/seals/race_igla-race-ternary-gemm.json index 112377d73..d74ade3c1 100644 --- a/.trinity/seals/race_igla-race-ternary-gemm.json +++ b/.trinity/seals/race_igla-race-ternary-gemm.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:274c921d86ddbaa9387fdf2316b5178556f61a9f0993d1da3df92e830b78a2bd", + "gen_hash_c": "sha256:127e68e52d227e2c6fde1dab070dea58577893d6711863ac03a55f103bebc652", "gen_hash_rust": "sha256:e21acf29d54c8453043438495d6416747fece0299271fe66a734d2b58e181786", "gen_hash_verilog": "sha256:5b75c2bfeea653bf96764b4709b5d0f6dbaf317c1d22352b67bb29c32da2304c", "gen_hash_zig": "sha256:edafb992971106619c0a55daa802154b4fbc2f24691078d7a5c35a7c976c9bfe", "module": "igla-race-ternary-gemm", "ring": 12, - "sealed_at": "2026-09-05T11:22:00Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:78a24a2432a4f2b0d6d042140db3ad42e9f7cc795beb5959c7acee807d83e2f4", "spec_path": "specs/igla/race/ternary_gemm.t27" diff --git a/.trinity/seals/race_igla-race-ternary-inference.json b/.trinity/seals/race_igla-race-ternary-inference.json index cdf5d62a1..8ecbae55d 100644 --- a/.trinity/seals/race_igla-race-ternary-inference.json +++ b/.trinity/seals/race_igla-race-ternary-inference.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1aa16de13b19ece578f38ebe0d29165a572626770642fac6873398c43ccc8f16", + "gen_hash_c": "sha256:71947f209bd3aed0911a7316f04c639a49ad725c09d23efef4432ca49b306fd3", "gen_hash_rust": "sha256:bdb6bce75663bafa97fbe9b5ab357d77630dbb3f11a282ad2f97259be7d113ff", "gen_hash_verilog": "sha256:50d843a2afc7f132e4d991222171f159c93bb5730319e36a94ccac000d50af28", "gen_hash_zig": "sha256:37398e5e38bb440edb6f4bd3fa6950e4a89602900ee4e7a1afe91e8d1d64f57b", "module": "igla-race-ternary-inference", "ring": 12, - "sealed_at": "2026-09-05T11:22:00Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:725d060e31895d1c9856b5af05261118422ef1a82caeafe55b7e0c88df0cff33", "spec_path": "specs/igla/race/ternary_inference.t27" diff --git a/.trinity/seals/race_igla-race-ternary-mac.json b/.trinity/seals/race_igla-race-ternary-mac.json index 32f21fe39..f4b74055b 100644 --- a/.trinity/seals/race_igla-race-ternary-mac.json +++ b/.trinity/seals/race_igla-race-ternary-mac.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:997a9585643fb2982fe7b37d4725908ecdd62e9b6b1e051b6e0834038b1806af", + "gen_hash_c": "sha256:1c1b0654534764472f57877c625a38fca57db4534658245be21ed554e026a721", "gen_hash_rust": "sha256:90ff69f87239df32cfc8605b00f86c36274fe57f800f410e9f67bba6b6a69534", "gen_hash_verilog": "sha256:b7a02eb7d7dadcd739254a928c1c0b9debfa911792abfe61ec77cf9a276da22f", "gen_hash_zig": "sha256:8b1897fdf2be962713d1be10f8ac0c9e2d63e234fc659ac92ad110df3d39db0b", "module": "igla-race-ternary-mac", "ring": 12, - "sealed_at": "2026-09-06T04:36:44Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:da088b364da904b38f48394a0c471089133d86e7035315c7dc9bae189f05d4dd", "spec_path": "specs/igla/race/ternary_mac.t27" diff --git a/.trinity/seals/race_igla-race-yosys.json b/.trinity/seals/race_igla-race-yosys.json index 67399db66..e2b35b0bd 100644 --- a/.trinity/seals/race_igla-race-yosys.json +++ b/.trinity/seals/race_igla-race-yosys.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:e42c4dea80d5741f4c4c37029b6e0c395e6a8339d5c44a4036550935e06881fa", + "gen_hash_c": "sha256:7885885cf98b71e91222e236fc3d2d0f998ec1d17de184df59fd3f15b08d7b99", "gen_hash_rust": "sha256:2e89c6ed1206c8c445720f50a1ddc89d68316f93b9e0dde27aa063cdc93bf8fb", "gen_hash_verilog": "sha256:1fd376a234f0d7fdb9240c0d45a534fe76d75394f5095932bcdcfadfb7027d4e", "gen_hash_zig": "sha256:11ef5602fbe74a8e2d70c3b290b5aafc2d87e1a34ef34c2eddcc4e680f7b0dec", "module": "igla-race-yosys", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T03:43:40Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:8ef502455dfce17efe7680a65468b290bdacd95f1f445c2fee561e9482eebb10", "spec_path": "specs/igla/race/yosys.t27" diff --git a/.trinity/seals/ternary_vs_binary.json b/.trinity/seals/ternary_vs_binary.json index 91dad2a14..7c0d5484f 100644 --- a/.trinity/seals/ternary_vs_binary.json +++ b/.trinity/seals/ternary_vs_binary.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:aaf5e51f77101b13905a58955ff83c540a8b12aecd1b22719c076eba9f50fb6a", + "gen_hash_c": "sha256:82940ed4609dfa575508b3496659fef3076fc7d2d967f4525e285999a2d2e1c2", "gen_hash_rust": "sha256:d6b6da489d959cf2a0af3f949ba18bac541b98e4f991e631842ac6055d2c3aaa", "gen_hash_verilog": "sha256:13b27afae82b9ef1f8f91667439056444fefed262b7a5f8ffa6fd791bf4488d2", "gen_hash_zig": "sha256:3317dfd402dcff77354cee10b75f49adf8bc9a6460333955b00e4e80bf8a6bfd", "module": "ternary_vs_binary", "ring": 12, - "sealed_at": "2026-08-28T00:21:37Z", + "sealed_at": "2026-09-08T03:43:38Z", "spec_hash": "sha256:5f79143e4cf0f389ef7a03a3834a044e243fd3ca3cb04e06529a73690ecb4ca3", "spec_path": "specs/benchmarks/ternary_vs_binary.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/triformat-gf16.json b/.trinity/seals/triformat-gf16.json index 16376c916..65a662767 100644 --- a/.trinity/seals/triformat-gf16.json +++ b/.trinity/seals/triformat-gf16.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:86c37c4c56fb0e9a08c001d9fe058f92fddd1da6fd78f2fd137270b2c03c90d9", + "gen_hash_c": "sha256:cc25986c230fb9be8c1d133b5c49f6390d4f4e5663f9db45b06b2b1e92b3f658", "gen_hash_rust": "sha256:1cf53ef31359cc59054b4d9901fb855b6803d61129e35f021f6411d320817f92", "gen_hash_verilog": "sha256:b375909814c58781db08e9113bf93da4b331d45e8955f04af92309e134436b64", "gen_hash_zig": "sha256:fa7ce3a6674834a2e6c9a6c86297b05393a66eed9c4709b0252f0daffa43bf53", "module": "triformat-gf16", "ring": 12, - "sealed_at": "2026-09-08T03:20:28Z", + "sealed_at": "2026-09-08T03:43:40Z", "spec_hash": "sha256:1b204a1ef4013b32da4d2c0053a89ef417770d751fb61d89e391517e4fff9974", "spec_path": "specs/numeric/gf16.t27" } \ No newline at end of file diff --git a/bootstrap/src/compiler.rs b/bootstrap/src/compiler.rs index 5946c904b..94f59f25d 100644 --- a/bootstrap/src/compiler.rs +++ b/bootstrap/src/compiler.rs @@ -19943,8 +19943,19 @@ impl CCodegen { .first() .is_some_and(|c| { c.kind == NodeKind::ExprArrayLiteral - && !c.extra_type.is_empty() && !c.children.is_empty() + // The literal's own element type when it has + // one, and otherwise the type of its first + // element if that is a struct literal -- + // `[W{...}, W{...}]` carries `W` on the child, + // not on the array. Without this the array fell + // to `__auto_type x = { ... }`, which is the + // largest single error class in the generated + // corpus. + && (!c.extra_type.is_empty() + || c.children.first().is_some_and(|e| { + e.kind == NodeKind::ExprStructLit && !e.name.is_empty() + })) }) { // W699 rung 3: `const vals = [_]i32{...}` has no annotation, @@ -19953,12 +19964,19 @@ impl CCodegen { // '__auto_type' with initializer list". The literal carries // its own element type and its own length; use them. let lit = node.children.first().unwrap(); - let elem = &lit.extra_type; - let c_elem = if Self::is_primitive(elem) { - Self::type_to_c(elem).to_string() + let elem: String = if !lit.extra_type.is_empty() { + lit.extra_type.clone() } else { - elem.to_string() + // Recovered from the first element; the condition above + // established it is a named struct literal. + lit.children.first().map(|e| e.name.clone()).unwrap_or_default() }; + // W583, third instance. The `is_primitive` gate lists only + // the integer scalars, so `f32`, `f64`, `str` and `gf16` + // took the pass-through arm; `type_to_c` passes a genuinely + // custom type through unchanged, which is what a struct + // name needs anyway. + let c_elem = Self::type_to_c(&elem).to_string(); self.write(&format!("{} {}[{}]", c_elem, node.name, lit.children.len())); } else { let inferred_arr = if raw_type.is_empty() { diff --git a/bootstrap/stage0/FROZEN_HASH b/bootstrap/stage0/FROZEN_HASH index 09a93b0d2..9b192ce8a 100644 --- a/bootstrap/stage0/FROZEN_HASH +++ b/bootstrap/stage0/FROZEN_HASH @@ -1 +1 @@ -b54395593fd7b90fb2b29d8c1d8df8179583afa9a9aeefaeaea155c4c9bbe4a0 bootstrap/src/compiler.rs +cc0a3676c563d3f8e5efcacff69564fa87769c2776a016b355ad69d5912e27f1 bootstrap/src/compiler.rs diff --git a/bootstrap/tests/c_auto_type_array_literal.rs b/bootstrap/tests/c_auto_type_array_literal.rs new file mode 100644 index 000000000..4ecf13181 --- /dev/null +++ b/bootstrap/tests/c_auto_type_array_literal.rs @@ -0,0 +1,131 @@ +//! An array literal with no annotation must not become `__auto_type x = { … }`. +//! +//! error: cannot use '__auto_type' with initializer list in C +//! +//! 1729 of them: the largest single error class in the generated C corpus, +//! more than twice the next one. `__auto_type` is a GNU extension that takes +//! its type from the initialiser, and a brace list has no type to take. +//! +//! The repair for this existed (W699 rung 3) and required the array literal to +//! carry its own `extra_type`. `[W{...}, W{...}]` does not: the type sits on +//! the CHILD, because each element is a named struct literal. So the condition +//! is widened to look there, and the element type is taken from the first +//! element when the array has none. +//! +//! Every test compiles the header. The difference between `__auto_type w = {…}` +//! and `W w[2] = {…}` is invisible to a text assertion that only checks the +//! name. + +use std::process::Command; +use std::sync::atomic::{AtomicUsize, Ordering}; + +static N: AtomicUsize = AtomicUsize::new(0); + +fn cc_present() -> bool { + Command::new("cc").arg("--version").output().map(|o| o.status.success()).unwrap_or(false) +} + +fn gen_c(spec: &str, tag: &str) -> (String, std::path::PathBuf) { + let d = std::env::temp_dir().join(format!( + "t27c-cauto-{tag}-{}-{}", + std::process::id(), + N.fetch_add(1, Ordering::Relaxed) + )); + let _ = std::fs::remove_dir_all(&d); + std::fs::create_dir_all(&d).expect("dir"); + let p = d.join("in.t27"); + std::fs::write(&p, spec).expect("write"); + let out = Command::new(env!("CARGO_BIN_EXE_t27c")) + .arg("gen-c") + .arg(&p) + .output() + .expect("t27c"); + assert!(out.status.success(), "gen-c failed: {}", String::from_utf8_lossy(&out.stderr)); + (String::from_utf8_lossy(&out.stdout).to_string(), d) +} + +fn errors(h: &str, d: &std::path::Path) -> String { + let p = d.join("h.h"); + std::fs::write(&p, h).expect("write"); + let out = Command::new("cc") + .args(["-std=c11", "-Wall", "-Wextra", "-Wno-unused-parameter", + "-ferror-limit=0", "-fsyntax-only", "-x", "c"]) + .arg(&p) + .output() + .expect("cc"); + String::from_utf8_lossy(&out.stderr).to_string() +} + +const STRUCT_ELEMS: &str = r#" +module P { + struct W { code : i32, } + fn f(v: i32) -> i32 { var w = [W{.code=1}, W{.code=2}]; return 0; } +} +"#; + +#[test] +fn an_array_of_struct_literals_gets_a_real_type() { + let (h, d) = gen_c(STRUCT_ELEMS, "structelems"); + assert!(h.contains("W w[2] = {"), "the element type comes from the first element:\n{h}"); + assert!(!h.contains("__auto_type w"), "and `__auto_type` is gone:\n{h}"); + if cc_present() { + let e = errors(&h, &d); + assert!(!e.contains("error"), "and it compiles:\n{e}"); + } +} + +#[test] +fn the_annotated_form_still_works() { + // The case W699 rung 3 already handled. A widened condition could have + // taken a different path for it. + let (h, d) = gen_c( + "module P {\n fn f(v: i32) -> u8 { var x : [2]u8 = [1, 2]; return x[0]; }\n}\n", + "annotated", + ); + assert!(h.contains("uint8_t x[2] = {"), "got:\n{h}"); + if cc_present() { + assert!(!errors(&h, &d).contains("error"), "and it compiles"); + } +} + +#[test] +fn a_float_element_is_lowered_not_passed_through() { + // W583, third instance: THIS arm gated on `is_primitive`, which lists only + // the integer scalars, so `f64` would have reached C as `f64 x[2]`. + // + // The spelling matters and the first version of this test got it wrong: an + // ANNOTATED local (`var x : [2]f64 = ...`) takes a different branch + // entirely, so a mutant restoring the gate passed. `[_]f64{...}` is the + // form that reaches here -- the one the W699 note is about. + let (h, d) = gen_c( + "module P {\n fn f(v: i32) -> i32 { var x = [_]f64{1.0, 2.0}; return 0; }\n}\n", + "float", + ); + assert!(h.contains("double x[2] = {"), "got:\n{h}"); + assert!(!h.contains("f64 x["), "no t27 spelling:\n{h}"); + // And a GF16 element, which `is_primitive` also does not list. + let (g, _) = gen_c( + "module P {\n fn f(v: i32) -> i32 { var y = [_]GF16{1, 2}; return 0; }\n}\n", + "gf16elem", + ); + assert!(g.contains("uint16_t y[2] = {"), "got:\n{g}"); + if cc_present() { + assert!(!errors(&h, &d).contains("error"), "and it compiles"); + } +} + +#[test] +fn a_scalar_local_still_uses_auto_type() { + // The negative control. `__auto_type p = call();` is valid and useful -- + // the type follows the initialiser. Only a BRACE LIST has no type to + // follow, and a change that removed `__auto_type` everywhere would pass + // every other test in this file. + let (h, _d) = gen_c( + "module P {\n fn mk(v: i32) -> i32 { return 1; }\n fn f(v: i32) -> i32 { var p = mk(0); return p; }\n}\n", + "scalar", + ); + assert!( + h.contains("__auto_type p = mk(0)"), + "a call initialiser keeps __auto_type:\n{h}" + ); +} diff --git a/docs/now/2026-09-08-an-error-typed-variable-silences-its-uses.md b/docs/now/2026-09-08-an-error-typed-variable-silences-its-uses.md new file mode 100644 index 000000000..ee5d4f573 --- /dev/null +++ b/docs/now/2026-09-08-an-error-typed-variable-silences-its-uses.md @@ -0,0 +1,10 @@ +# NOW -- An error-typed variable silences its uses (2026-09-08) + +## An error-typed variable silences its uses (Closes #3459) + +- Round seven began by auditing the declarator sites the twin-hunt had exposed, and one of them held the **largest single error class in the generated C corpus**: `__auto_type x = { ... }`, **1729 errors**, more than twice the next. `__auto_type` takes its type from the initialiser and a brace list has none. Under clang's default cap the same class reads as **97**. +- The repair for it already existed (W699 rung 3) and required the array literal to carry its own `extra_type`. `[W{...}, W{...}]` does not -- the type sits on the CHILD, each element being a named struct literal. The same arm carried the `is_primitive` gate, **third instance of W583**, so `[_]f64{...}` would have emitted `f64 x[2]`. +- Measured: errors **15021 → 14738**, the class **1729 → 1401**, files that compile **302 → 303**, **15 files better**. `igla/race/ternary_gemm` 562 → 437. +- **Eight files' counts rose and all eight are unmasking, checked rather than assumed.** An error-typed variable silences every diagnostic about its USES: while `w` had no valid type, clang said nothing about `w.field` or `w[i].len`. Four of the eight name an element type absent from the header entirely -- a separate defect -- and the other four surface real downstream errors (`no member named 'len' in 'struct Item'`, `did you mean to use '->'`). This is the sharpest form of the non-monotonicity recorded yesterday: a repair that makes a declaration valid can raise a file's count by an arbitrary amount. +- **A mutant survived because my test used the wrong spelling.** Restoring the `is_primitive` gate broke nothing, because the test declared `var x : [2]f64` -- an ANNOTATED local, which takes a different branch entirely. `[_]f64{...}` is the form that reaches this arm. Rewritten, and the mutant dies. +- Residual named rather than implied: `var x = [1.0, 2.0]`, a bare list of numeric literals with no element type anywhere, still takes `__auto_type`. 1401 of the class remain and recovering a type there needs literal-kind inference.