diff --git a/.trinity/seals/BrainSummaries.json b/.trinity/seals/BrainSummaries.json index 26027a744..48a317d00 100644 --- a/.trinity/seals/BrainSummaries.json +++ b/.trinity/seals/BrainSummaries.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:a85cf8ba3d1f9630a97cfd9d7c939702e03d275920718671be1db4b7d26faa51", + "gen_hash_c": "sha256:8ba59261aa33be46030741b87f8757a32f80447a6692dfcb0ed3aa3348bde792", "gen_hash_rust": "sha256:c8e21df34db0667e21536ba17e59e79415d6d545953f90fc72f7ef33e96b09e4", "gen_hash_verilog": "sha256:5f0eeac7d2fc87ac99baac9abca6f06613a2fe91bd707a93d45f021c7ee5796b", "gen_hash_zig": "sha256:c0a97aa69f74c2ed33618d54002291bb2ec13d5685ff85abf50012cf1bea79bd", "module": "BrainSummaries", "ring": 12, - "sealed_at": "2026-08-28T21:20:51Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:25ecc916082e749bfdc5d1df0e0e0c7a48082630dd2ce02b2525b400045daab5", "spec_path": "specs/queen/brain_summaries.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/E8LieAlgebra.json b/.trinity/seals/E8LieAlgebra.json index defb1b740..9f8a43fee 100644 --- a/.trinity/seals/E8LieAlgebra.json +++ b/.trinity/seals/E8LieAlgebra.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:cb8497575a302748bfd2ef8b2a3606ce2f414666fc67854e59aff7d0c94d7e41", + "gen_hash_c": "sha256:08086383fac200f1bfaabb008799306c4ff9ced29c1d94e2d3f3c6dd083a8c58", "gen_hash_rust": "sha256:262232feeeedfe3fd61d3defd568c6fcce8c4f77d03f55a1b35e2f5bbec3eee0", "gen_hash_verilog": "sha256:de6b36e7e014614b0c0afd4b4b7abc926fe74e51fa9de9e3b03ba6f766ecb6f4", "gen_hash_zig": "sha256:7c8754b500775e01f279ac2e78b320677f4d51564036ac6d60ebefc05fe4f419", "module": "E8LieAlgebra", "ring": 12, - "sealed_at": "2026-08-28T18:19:55Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:da771c66524714c3a8c48aa095e71a5928cfa1cc82f2f819664493e042e9a698", "spec_path": "specs/math/e8_lie_algebra.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/EmitterXDC.json b/.trinity/seals/EmitterXDC.json index 441e6c73a..b7fe8c94b 100644 --- a/.trinity/seals/EmitterXDC.json +++ b/.trinity/seals/EmitterXDC.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:abc296b807658edc06618aa910b2497d202c4e57f803c7671c8dfd4343264ec9", + "gen_hash_c": "sha256:0a9c6ca4a97e7424f084906b9e0fe21eac727b544b05fbb96422110f4b6a2f7d", "gen_hash_rust": "sha256:445307cb10e5a9b35dec8b19e4ba5b135b46d3b16127b47073eb57df52bed379", "gen_hash_verilog": "sha256:bfe2ff478056fe9cc4120103330557f7516fe8c825fc7c1ce2f7769c8546a163", "gen_hash_zig": "sha256:96626a210203243192606f51dcd9e0985597ff57ff21ba86055e99d94cc7f66e", "module": "EmitterXDC", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:d9954ca190ee3e748ef8df7ce32bd183096f7f97003651aede1ccabe5c1b0e19", "spec_path": "specs/pins/emitter_xdc.t27" } \ No newline at end of file diff --git a/.trinity/seals/File.json b/.trinity/seals/File.json index 75581759f..6fd238271 100644 --- a/.trinity/seals/File.json +++ b/.trinity/seals/File.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3a7dc233b53603c07f1fca8a16d6fc7f87a1410a59088ea75a679c0c88c3c6eb", + "gen_hash_c": "sha256:950b8c6fff4465947db13323b75663197288e1acfad21be51874f056d998abbf", "gen_hash_rust": "sha256:97336488664cac3dac142cea0ef69226e6707c015a78b3153ecc5682d185d404", "gen_hash_verilog": "sha256:0babdbe3cc3ecc8e207e1050d75feb08dfe12474ecadae7fd1977f05363ffdd3", "gen_hash_zig": "sha256:43f63862cb275701dfd13e29ba461c2896f92cd7d513b00299ad0e0e4746135f", "module": "File", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:468c0d05fb6430308005b43d183c3070421c754cdf83fef8e76f36c8ed0ed2f9", "spec_path": "specs/file/schema.t27" } \ No newline at end of file diff --git a/.trinity/seals/FormulaEmbed.json b/.trinity/seals/FormulaEmbed.json index 6aad30d44..740e4e3bb 100644 --- a/.trinity/seals/FormulaEmbed.json +++ b/.trinity/seals/FormulaEmbed.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:9bfaacf34822362fafb26b570a455ce23f20585bec6d6e26e5667d08bea25f77", + "gen_hash_c": "sha256:35baa5a829294530078ca9b481bc6cee60a4a02c113d7e672953c6bea314b02e", "gen_hash_rust": "sha256:bcc1e8a68138f609277c99d31eae302b9ce54c5b31e06935393d399f4dda018d", "gen_hash_verilog": "sha256:d566d7e55f20adf13e5abcfd439ca4f6f5beecda2846d59d1a3baf3d03d863e6", "gen_hash_zig": "sha256:a37ca47480e538a91fcf9d5140c939ba8792fa381fbc84511cee6deffd513d58", "module": "FormulaEmbed", "ring": 12, - "sealed_at": "2026-08-28T20:32:32Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:cd00efe30f02866b622344a58fd1bc8f5904edbbb0d457d2081ee87ad273a94d", "spec_path": "specs/memory/formula_embed.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/HSLM.json b/.trinity/seals/HSLM.json index 28e4aa970..e3143210b 100644 --- a/.trinity/seals/HSLM.json +++ b/.trinity/seals/HSLM.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:a4e4b401a924301d6a7f4a3d8aee167a9df58c6ececb01ae61b5c6a92e6c4cab", + "gen_hash_c": "sha256:700c64e5be00db51ac30b9da47466b94a31dc394f14918954a94df1ed91be8f6", "gen_hash_rust": "sha256:77c0564db10be29afcc6dda0eab695afdb56acf295b08700ee82bbf58b457772", "gen_hash_verilog": "sha256:f8a956019cea253548cd3f3eee38d2405cea113b8ee5e66e3d387be41810c697", "gen_hash_zig": "sha256:51d88b507c315ec746ec177be352377540d8989ae03666f57d9db787201c57b9", "module": "HSLM", "ring": 12, - "sealed_at": "2026-09-07T22:05:58Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:8ea0766984db7775c474eab25dfb14965fa835ce0a56b33173df319fad342182", "spec_path": "specs/nn/hslm.t27" } \ No newline at end of file diff --git a/.trinity/seals/Hir.json b/.trinity/seals/Hir.json index a49275a3c..3905c87af 100644 --- a/.trinity/seals/Hir.json +++ b/.trinity/seals/Hir.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:206df44d0ec2596f758e7a69787d91098b2876260764fcb15c04761027ee0a38", + "gen_hash_c": "sha256:0af6a42478d57b6cb0daeced0348d50079485d4c6902ddef2b73ead5f0c5d78d", "gen_hash_rust": "sha256:5f21cbd15f2394a20862021e7b9d08f5f3fbe965496d6d7da8e78ba8f20532a9", "gen_hash_verilog": "sha256:a2e7e00795ff068d8e811fbf1797823fbec303250ad1ec6b956749cc55c3a933", "gen_hash_zig": "sha256:fe55742c00a812da273af4fc42d601c475ec456341e2979102e271f3063f8082", "module": "Hir", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:0a8c8fb8b35a2791fbab26a8a95f310c75edeff390902cda5972dabee26abcaa", "spec_path": "specs/fpga/hir.t27" } \ No newline at end of file diff --git a/.trinity/seals/Lexing.json b/.trinity/seals/Lexing.json index 856c1a839..2d61e9a95 100644 --- a/.trinity/seals/Lexing.json +++ b/.trinity/seals/Lexing.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1f3450288dfac5e866202a2d14e640ba60cc7229a789bf5a3eb42e8f8de3d179", + "gen_hash_c": "sha256:ddeb4f38c96263894b56229472687a4594ac6873c51cc0f4533f9d54520eaf90", "gen_hash_rust": "sha256:75c215f43f42be9020c6a16ddbfcc68a89e96cd791c9dac9d1f6e1ea458c2fb4", "gen_hash_verilog": "sha256:b1e3406afec1ded152930087077d1b4367abd8116c8ece06710a43c3aa252519", "gen_hash_zig": "sha256:7da42e5e458cb1a4fe300a2001f5edeb792cc9ff8278efd87ab589562ebbb2ee", "module": "Lexing", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:4bc5143fba34174835090dd6b44f8b82feeb5462e3c52407d60d85efb3d6988a", "spec_path": "specs/compiler/lexer.t27" } \ No newline at end of file diff --git a/.trinity/seals/NotebookLM.json b/.trinity/seals/NotebookLM.json index c4249aa19..62b1b9cc4 100644 --- a/.trinity/seals/NotebookLM.json +++ b/.trinity/seals/NotebookLM.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1363497601bffd09dd3ee2c619f834af65869e1e4f2ed21dcc9a03ebbec9b21c", + "gen_hash_c": "sha256:16011b6e8f886652fa5a40a3de81be702e83025704ba15080614cc8857ae2fd0", "gen_hash_rust": "sha256:434bb37d28764e16d4421b428010cb86f794bb20dc7cf67ba6fc6a21cd0fe009", "gen_hash_verilog": "sha256:7716f39dc3d0baf658917208a7c294da3ed66d8d849778e3a0d170e7083115b4", "gen_hash_zig": "sha256:534abb99380c2bc0decab8ee239edaac260e956b20891b17728a337b40ba104c", "module": "NotebookLM", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:dc5b054f79d747598c75190379fe4a36400bb27af13dffe06d438f145c1af96f", "spec_path": "specs/memory/notebooklm.t27" } \ No newline at end of file diff --git a/.trinity/seals/PinsIR.json b/.trinity/seals/PinsIR.json index 9216aae6d..bbda567c9 100644 --- a/.trinity/seals/PinsIR.json +++ b/.trinity/seals/PinsIR.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:2747831674dd06e25e0f2c491db8888633d5ae4d0d18be3683bb7cefb71e6b16", + "gen_hash_c": "sha256:00551331de394a2c1822efe66e02ec05592faee728eee5534dada12209dff0c4", "gen_hash_rust": "sha256:3b820f7288f40e93770c0d06b6f1c51ee1f42425ba6f49067bbcf757b7637a3b", "gen_hash_verilog": "sha256:7e0fde52a4497ab30050954ee68bc8c635682738301cbc7ee1f2dd4a299d4d44", "gen_hash_zig": "sha256:429d12c0654390cbbb260136060ee78dbffe59c7ffc486f23841f77ad8bdbf58", "module": "PinsIR", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:8f46ba7ad0a214121f9f767a1d34411f435bf8fa19f3368b3182021b738bd4de", "spec_path": "specs/pins/ir.t27" } \ No newline at end of file diff --git a/.trinity/seals/Project.json b/.trinity/seals/Project.json index 08b1fb4f8..d1241672a 100644 --- a/.trinity/seals/Project.json +++ b/.trinity/seals/Project.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:b748e5d0871271299e397d0935166617dc753430f7e2406b1765cfc207f34a81", + "gen_hash_c": "sha256:6d2a01169920615dec97327ba4c79223974c84508d2157a88a67480f53788da4", "gen_hash_rust": "sha256:6cebebc8bc4ed8eb337d91e8c3e510a73e104e01cfe309b740d53a01a54284fc", "gen_hash_verilog": "sha256:f2dcd7403dcddee26003dff4fb86269525fa9bb478e0f3bc1dce50eec3360a8f", "gen_hash_zig": "sha256:19da7584421cb0cdcd1d6a223fd2256fc506b1963fcb43d6c5648d53f85f61c9", "module": "Project", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:20fcb88dc7cbe68d71676487adce5aaee365541aa7fcc16fbccc56b2405c2c2c", "spec_path": "specs/server/project.t27" } \ No newline at end of file diff --git a/.trinity/seals/QueenLotus.json b/.trinity/seals/QueenLotus.json index 9a530a4e1..69339d2d6 100644 --- a/.trinity/seals/QueenLotus.json +++ b/.trinity/seals/QueenLotus.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1f44f5bce3f507d9725e735e400cb653c47fb6a84ed8e07fa41ade76f363805f", + "gen_hash_c": "sha256:8d76609f52e81631129cb054e4c7eadd1c30d3a6497bc05ab703afc757c46af4", "gen_hash_rust": "sha256:52f5a56689b47378339bd92c8d4a7d91ca5d1184a7b63e446131a9edabc0bf4d", "gen_hash_verilog": "sha256:04b632aa441fe627113a46fa103e4bc8adf64523238f04960d0ea737b54fae8d", "gen_hash_zig": "sha256:fe65321a25cd30568372c17d88944f22a4b2dd9905b37142f5f3204305fdfb50", "module": "QueenLotus", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:be1fcb56b7c1f569d9717245eb321e512ba8e19bbf711f386557de51b33fdbf5", "spec_path": "specs/queen/lotus.t27" } \ No newline at end of file diff --git a/.trinity/seals/SacredAttention.json b/.trinity/seals/SacredAttention.json index 6b223beb3..2a9921d57 100644 --- a/.trinity/seals/SacredAttention.json +++ b/.trinity/seals/SacredAttention.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:f48f48d3f0815081c9df3e506ef5aeb2a5080fd5161312b18885fec9ee07b5d9", + "gen_hash_c": "sha256:a82a6b2b5da331b625e8b81a335d1cc7741fb56d3a3b1c8bf58eab2d65e2ad08", "gen_hash_rust": "sha256:0a4064c4d5ae45dda501198128042849e7b9f0b1b598012ddf8ff34367df1b72", "gen_hash_verilog": "sha256:495b48a5c98b7c1fccab460f017fcc48da428a1789ba23eaa7691edc1d0d9e13", "gen_hash_zig": "sha256:187bc0b9346fcc3d35ae53a9bad1be0fab2cfe59ddedbf8f61fe4a2856f4cd36", "module": "SacredAttention", "ring": 12, - "sealed_at": "2026-09-08T01:03:29Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:be83d2a916a15957502d6afa4d6eff7ab07d0373e81555704ee842500db47187", "spec_path": "specs/nn/attention.t27" } \ No newline at end of file diff --git a/.trinity/seals/SacredVerification.json b/.trinity/seals/SacredVerification.json index 7189ec10f..713f15997 100644 --- a/.trinity/seals/SacredVerification.json +++ b/.trinity/seals/SacredVerification.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:bcaac65863aefb19d05ba83698564c9f79a26a89b6b4c69d21d95bfc2724bb60", + "gen_hash_c": "sha256:1dd3cd09cc16a6c8d64c93958fc7de9c418c2ae95285ec14e1912bfcc49603eb", "gen_hash_rust": "sha256:cd01259b3081abf9024cf3f53b4690090c96446db7f3108c95026daf0a7424d8", "gen_hash_verilog": "sha256:1817097113f09289d7a347bb8b743faa39a9c6b82ab0c158a2058b0ac03e82ec", "gen_hash_zig": "sha256:e366439ab8d4fe966acf421937ab0091f28785ea3406b523dc3a56976e54c79c", "module": "SacredVerification", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:fe6ff2cc8fb17534f6cbd181a4af31750729533339cbf99889aff1a06bd09151", "spec_path": "specs/physics/sacred_verification.t27" } \ No newline at end of file diff --git a/.trinity/seals/SemanticSearch.json b/.trinity/seals/SemanticSearch.json index a9502905c..11a0ce902 100644 --- a/.trinity/seals/SemanticSearch.json +++ b/.trinity/seals/SemanticSearch.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6e2525df8bb57fbbd6fcb8580d3a52fb6d50d595038f925db8b7a7c59b7d350a", + "gen_hash_c": "sha256:a9880ebdb51408bb2d952994bfa9815df2ee2c35eb73d4b0aef5dd32a2db23f3", "gen_hash_rust": "sha256:bc9719a6aecfa4fa223008fcd185c323f5146d55e7b78855b751f1df87f0a2b8", "gen_hash_verilog": "sha256:b61c003f24955daa6eda2f075c52c3f38a1ae9febcd0aec01a197ee30c6582a0", "gen_hash_zig": "sha256:3ecedbf4e0cd2a1f0e1475fe00cf420f3bd6af6ada69ea53e60c0e4bc50bb463", "module": "SemanticSearch", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:513b6a22de6436f9269e7422c67954b6836990fa5ddeb147df0c992e698e56ee", "spec_path": "specs/memory/semantic_search.t27" } \ No newline at end of file diff --git a/.trinity/seals/Session.json b/.trinity/seals/Session.json index 78cd0a065..2d234f7b2 100644 --- a/.trinity/seals/Session.json +++ b/.trinity/seals/Session.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:5674ed07d3841043545c7bd4c26df086e2ff5ac1050435bce951260d57719f35", + "gen_hash_c": "sha256:0153bac664fae40f00b6e6182e700ec9521bfeb7f603ab94b0e029788bdffa3e", "gen_hash_rust": "sha256:a9009673213c6d6947ef252f7b1dce9797571a590131a01400ea60bf605cee2d", "gen_hash_verilog": "sha256:c7900e4b259e1b747b45c081f656647617649a9f2f535fbaf67fa0ed7a78c0cf", "gen_hash_zig": "sha256:98e044866cd80df02f1fe206fbfb6af7613c81202c079d9b54d17db960933e3f", "module": "Session", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:2b70d19f6f5d4f13e880a395590a03a48b83d77c4e32cebf62216cbe82ec8d52", "spec_path": "specs/server/session.t27" } \ No newline at end of file diff --git a/.trinity/seals/SimilaritySearch.json b/.trinity/seals/SimilaritySearch.json index 0d9c0db02..322507e78 100644 --- a/.trinity/seals/SimilaritySearch.json +++ b/.trinity/seals/SimilaritySearch.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:206ea9d69d20e1c99bcb0ad5e52fbc7b73b381e8fa5f2012548a6d835e9b4071", + "gen_hash_c": "sha256:6ec993f79ea7b855ecbd78137a0a521790f03c70027d7583b5d34bcf5bec28ef", "gen_hash_rust": "sha256:d9a8bc48b6093a3cfc731ebc173bcfb09b92a4674f737caf3096f9b4697db4c8", "gen_hash_verilog": "sha256:2f4eb6fa80e5fc5bf0d3a991c45a1f45646c9e8e3d3df69ce778ed7ad3afc10f", "gen_hash_zig": "sha256:5e1650631219e9101f17848b6326087685f4df42326921d318c26d7c426f8186", "module": "SimilaritySearch", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:49d1e8ddabc30e6cc9e852ea156510b928d618264e25737e12cd57a2eb4d3de7", "spec_path": "specs/vsa/similarity_search.t27" } \ No newline at end of file diff --git a/.trinity/seals/Stdlib.json b/.trinity/seals/Stdlib.json index cc6c8f9e9..f07dc5ad3 100644 --- a/.trinity/seals/Stdlib.json +++ b/.trinity/seals/Stdlib.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:ca8b88854e9eacd52d798cec8b9883b35ee7868abd376eea4bc40573b7e1ffe9", + "gen_hash_c": "sha256:40817ee4b42ac5b882da76be0c8d210a06f5c86d894103bddd051afe7afd2a8a", "gen_hash_rust": "sha256:118667fa0da22d4375f83ed803b097b4ce33b6e3e0574c79609998fbef4f3a3f", "gen_hash_verilog": "sha256:6eb37271d46236f73d0ad37ccae34ec1aafd808093bf4a68dc17fcd05977d3c7", "gen_hash_zig": "sha256:99eee2f4f0af6652443127fcd49ce1624528daa7f58c1c156d28b8d35d242a01", "module": "Stdlib", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:52736507c4760db8b38d73a53705947930521587ea2203c25b60d9c13da41a91", "spec_path": "specs/fpga/stdlib.t27" } \ No newline at end of file diff --git a/.trinity/seals/TernaryArithmetic.json b/.trinity/seals/TernaryArithmetic.json index 5c2f15ac7..8802d2618 100644 --- a/.trinity/seals/TernaryArithmetic.json +++ b/.trinity/seals/TernaryArithmetic.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:e60a6bdb584f53f3a80c834e6ff446490f2663914d947f7ab626296c03e39200", + "gen_hash_c": "sha256:0d1bb35d6086f8aa2e41d3178aa5b7af64cbe0a87005294d29cb6a9c046c2367", "gen_hash_rust": "sha256:48ca59da9077cd249a6d8256b6fcfddb3e2a61368c67a43b853b0df6bcf4412c", "gen_hash_verilog": "sha256:1bb36c06921de71ffa3f05dfefb13f946d7c6c53dd445702c5ca31003644fe63", "gen_hash_zig": "sha256:e7f267bf3725d3d4f640efa3b4b93d759b22e5cbe1fc3c21f207e8083cadfb04", "module": "TernaryArithmetic", "ring": 12, - "sealed_at": "2026-08-28T21:20:51Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:1044d178fb800ee5aedbcc28ffb09b84ce0b85c8eb8982827c0073c523d23a84", "spec_path": "specs/isa/ternary_arithmetic.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/TernaryBigInt.json b/.trinity/seals/TernaryBigInt.json index 940f71e66..3dd6dfd76 100644 --- a/.trinity/seals/TernaryBigInt.json +++ b/.trinity/seals/TernaryBigInt.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:4799650feb8bfb2553d9acc8e6d2bcf60ac277f56fda778dbed559ddd8761e9a", + "gen_hash_c": "sha256:5198b9a7b51ea5c85aecacdc56dcdc35014d6bd9e9ffa26106e8f8eecbb783bd", "gen_hash_rust": "sha256:99351cb6dfefbc0d0c4ae21caa5c7fca1b1bc9f96705679d9a46e40d661075d8", "gen_hash_verilog": "sha256:d69196a2c685063c5fd97228ca47a6ec22c07b49f5f4ebee7d25ff8ed00e970a", "gen_hash_zig": "sha256:5ff58f15038b0cfc0247275587e271144bb43f22375b25f80364198b8fbf2180", "module": "TernaryBigInt", "ring": 12, - "sealed_at": "2026-08-28T18:19:55Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:eb850a68fc9ad4fd3031a1b25f81409fb81d07252387a3beec05a2da63119d05", "spec_path": "specs/ternary/bigint.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/TernaryGates.json b/.trinity/seals/TernaryGates.json index a983347ce..95ad23c04 100644 --- a/.trinity/seals/TernaryGates.json +++ b/.trinity/seals/TernaryGates.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3a15042f60161d5df2011403a589f3a71fb57cb7b4a60d5c325fc43ea266ab7b", + "gen_hash_c": "sha256:e54d6008b539bf013a6fe3e11c4bae39d8d249ab4c71abc98e9ce5d53c77ba0c", "gen_hash_rust": "sha256:d50d3454f51312df8ae97f8885d1ef89eccf26835aab641ec4a7d131a94556a4", "gen_hash_verilog": "sha256:a0ecc024bbf108bf40c663321efaadc401dc9e22f8d45323eae4913dc08738bc", "gen_hash_zig": "sha256:64a63107dcc3633db230f785581c8ac92a01ee6eb4178c6d92d6ef643502356e", "module": "TernaryGates", "ring": 12, - "sealed_at": "2026-08-28T21:20:51Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:b4ea36c976d78efe1add7b0ec95018c0f01877755c257dac8482eeb7576f1909", "spec_path": "specs/isa/ternary_gates.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/TernaryMemory.json b/.trinity/seals/TernaryMemory.json index 211304deb..2dfcc3524 100644 --- a/.trinity/seals/TernaryMemory.json +++ b/.trinity/seals/TernaryMemory.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:656599617930f341fa85bed0034163994c714ea5edb132d372de548161e08264", + "gen_hash_c": "sha256:4f2f9d7a8a596f8bb215fcdfc336e1849bf8d426c763d822c5aa8c40b3322a5f", "gen_hash_rust": "sha256:d185665ab252b453542767908ee6f343b587539dace8f59c50de1fd73a904b18", "gen_hash_verilog": "sha256:1efd07e76df1ef8cf318fb8bcba5e02fa3ce32177798fa109110a0e2a1ed550e", "gen_hash_zig": "sha256:3055a586a783d55f0c842b10c1319a0219bbdc7fc2c878123168435b89052774", "module": "TernaryMemory", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:9a7a252b0234051663b7a9a6f9712ceb2b15501140378ef156612ab574aec6ae", "spec_path": "specs/base/ternary_memory.t27" } \ No newline at end of file diff --git a/.trinity/seals/TriAhoCorasick.json b/.trinity/seals/TriAhoCorasick.json index 6807ba320..ceb13973f 100644 --- a/.trinity/seals/TriAhoCorasick.json +++ b/.trinity/seals/TriAhoCorasick.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:09a563bedcbd38a6574bcfa72d61d3f3954870a30bedc9da7be94d97f8a02c66", + "gen_hash_c": "sha256:5a86d2c0594d34eda7d122b6d24f1927f3fe65d30957fb71345c5b0b4a83cc2e", "gen_hash_rust": "sha256:2fe3e33c1c9c340a77f82efda7ea26bf896d2bfd9f0b60b5bf5676be8cde78ea", "gen_hash_verilog": "sha256:063f6d75c93f8ef99989a513dc878c5bb9046504113671ce746145d5c5263124", "gen_hash_zig": "sha256:d1d76e201a1f7e6e823a3c239045888eea20abfea28d53c93d0ae53658faedde", "module": "TriAhoCorasick", "ring": 12, - "sealed_at": "2026-09-07T22:05:59Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:8ba19bb8f83184f5d2ae0610a45c8b4292896654b4396bfbff77229d296cb997", "spec_path": "specs/tri/search/aho_corasick.t27" } \ No newline at end of file diff --git a/.trinity/seals/TriArray.json b/.trinity/seals/TriArray.json index b9ea863c2..7b34b4462 100644 --- a/.trinity/seals/TriArray.json +++ b/.trinity/seals/TriArray.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:b9fcfb8fd370feab2664d53c02544721f4e778d84462094c4549e7de7a51455a", + "gen_hash_c": "sha256:c3a6fe3b5e00bb59d95d479cb19353915561e698080428663cafe3c91e3ec20d", "gen_hash_rust": "sha256:bccd29ac3fed64b294e858ede8693d78314919ed86ca89a2cf3ec64d8e770e4d", "gen_hash_verilog": "sha256:b9a0c37dc409df444aeeaa105ef0514ee6c526075d2742a82f104293e51af3c9", "gen_hash_zig": "sha256:c60d2c46a5fe2df68032b4ab03af4df19ea556d80f8c64ee396a30ed71df8415", "module": "TriArray", "ring": 12, - "sealed_at": "2026-08-28T20:32:32Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:60653d3f4d6594d26519e2a2da5fb21c191c1e6c5823d192a0d0518df6010f87", "spec_path": "specs/tri/collections/array.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/TriBoyerMoore.json b/.trinity/seals/TriBoyerMoore.json index bd6103300..c3a72fe6c 100644 --- a/.trinity/seals/TriBoyerMoore.json +++ b/.trinity/seals/TriBoyerMoore.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:924eae0109a7b5467c2fb06b2ebe18e43c561da06b417b14598bdda36e4ec2e2", + "gen_hash_c": "sha256:c6720cd2e4f5b7ce17f3ec84a306604988c3dbdb42f979630b336bbc98a63329", "gen_hash_rust": "sha256:e8e291d0ad9c573f5ba2223935700f0d7bb8d0d3390a02cdbbceeff986860ac7", "gen_hash_verilog": "sha256:106c31f6afd886aed6f497a2ba1c8bb16c4d07521086dd07e0614e9022b8806d", "gen_hash_zig": "sha256:0ebaed2c4f6fba66525631fb9b277c8251662c856ff1c314ad0207f1e5b3772e", "module": "TriBoyerMoore", "ring": 12, - "sealed_at": "2026-08-28T20:32:32Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:949befe08d74fbddd4b1f79be2e36be09900c171edf1361e97ebf4973c682edb", "spec_path": "specs/tri/search/boyer_moore.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/TriHmac.json b/.trinity/seals/TriHmac.json index 2377d3578..3e0d4bb01 100644 --- a/.trinity/seals/TriHmac.json +++ b/.trinity/seals/TriHmac.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:dd0802dcda2f6c02b5c28751214dc5bb5f8c47fd7cd4fe38ef278d0eaac24f27", + "gen_hash_c": "sha256:571a2410ffd803d99d0f80ae466e866b0500a9697f839f5334c78386b8344d9a", "gen_hash_rust": "sha256:7df96a445b13d90a8874365a6db13285612c1c13ab0e28ccba2ea29615a9beff", "gen_hash_verilog": "sha256:a56a85f72bcf0ea5d2281014919a9ac23b8961a4e05241d5ccfa1ca3ffe62f28", "gen_hash_zig": "sha256:feeddfe4666e0e5c0c98614e8ed0ba9cff7ee779f4ef7ff00dec38d325367e83", "module": "TriHmac", "ring": 12, - "sealed_at": "2026-09-07T22:05:58Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:c9c294acdc2a491ad74598e51c3b2137b1b51b970d326765ce489445e76df2a8", "spec_path": "specs/tri/crypto/hmac.t27" } \ No newline at end of file diff --git a/.trinity/seals/TriNet.json b/.trinity/seals/TriNet.json index 670e24e47..93fc362c2 100644 --- a/.trinity/seals/TriNet.json +++ b/.trinity/seals/TriNet.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:81951a3660e9cdda743d886ac88da89106490c2f8205e902d14858263b83c2df", + "gen_hash_c": "sha256:b829d5e528f2f5c7a39c04e07f5fdfab6bf9b8443da801adf8c9dc2ac2eeaeba", "gen_hash_rust": "sha256:780e5619e1983491f227543776fa0817106996c3ac5da105b1228135abee9087", "gen_hash_verilog": "sha256:64b363d0d8c918cbcd72f3da0024a73e36ae2bcaebc640329fdf263d49b51355", "gen_hash_zig": "sha256:ba9e425069866871c9337ed7adc0824033da785ac218c42a392b8fbddd23e317", "module": "TriNet", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:249105154a42777f5e4f32a1e565d18565c1268a054515e331a1f83fee04fdbe", "spec_path": "specs/tri/net/net.t27" } \ No newline at end of file diff --git a/.trinity/seals/TriOctree.json b/.trinity/seals/TriOctree.json index 0e4ddcd14..2b9e5000c 100644 --- a/.trinity/seals/TriOctree.json +++ b/.trinity/seals/TriOctree.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:0bedc286e426f126d811665fd97147dc6ebfba4f96958a522fb9d779d982cfa0", + "gen_hash_c": "sha256:cdba177a3c8b2df5135807f24eec53de4d63e878d2e78c1fc8e98a6e06577793", "gen_hash_rust": "sha256:887ed6ce0c9705279745e0ab49da5a0c2c3d8ff87ec3b47556d6e2423b221d43", "gen_hash_verilog": "sha256:bfdd79ebab78682b40028db81ce198b51da58b7c5cb959580165fc9fa01f276d", "gen_hash_zig": "sha256:01938d9fbbfc4d9f5e19ad941071b5a303b8c7b87e336157ce928c26c34d18eb", "module": "TriOctree", "ring": 12, - "sealed_at": "2026-09-07T22:05:59Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:63216e4dbe843da95dd62bfc13b7741e6bf343e3bcf3d407e084d6be61e84dfe", "spec_path": "specs/tri/trees/octree.t27" } \ No newline at end of file diff --git a/.trinity/seals/TriQuadtree.json b/.trinity/seals/TriQuadtree.json index dd8595b5a..63868ed2e 100644 --- a/.trinity/seals/TriQuadtree.json +++ b/.trinity/seals/TriQuadtree.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3f1b5f372579e92827fa9a413eb3136abc5272daee917df4dcfd9b2fae31ae82", + "gen_hash_c": "sha256:915e8d379da3651dadccda3c217201c62959411b254210ae1f6387bbfc2b41ec", "gen_hash_rust": "sha256:6bafa1b3afae056967fea020587a7bf5154d1fb1eda8c7bd7fbf99e4edfce610", "gen_hash_verilog": "sha256:d13d947ba9e73a5be25d64aa717c5d3f1138396f77674ffdc56a0dfef150fe77", "gen_hash_zig": "sha256:01514daa510c982d521d72b36552a8ef68f946957d0351799bfad2073128ea4d", "module": "TriQuadtree", "ring": 12, - "sealed_at": "2026-09-07T22:05:59Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:974e62d1cdcc28189ff5fddbf9405c9e02f8bb01325bc2f9860f0578a053b345", "spec_path": "specs/tri/trees/quadtree.t27" } \ No newline at end of file diff --git a/.trinity/seals/TriSha256.json b/.trinity/seals/TriSha256.json index a141e43de..67425809b 100644 --- a/.trinity/seals/TriSha256.json +++ b/.trinity/seals/TriSha256.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:627a2c75837396557c5ebfd9da777c96e04dd33ab7eacb34c078ea132253fb20", + "gen_hash_c": "sha256:23850cfc1d59b546431b154ff4b7c873e3bd0f0c5517147122f1207020e04d22", "gen_hash_rust": "sha256:a4e33f8c912b861237321eafd6dd104435a50d790fb652b92f2ac423838dc121", "gen_hash_verilog": "sha256:79c6967edb8898c2cea006c689a2fcc6ee574649d8afb213e7e9255ef992ba28", "gen_hash_zig": "sha256:9686282945419d10b25b6f213e2573fda367c8ab3b6d29dfa739b337b6a815d7", "module": "TriSha256", "ring": 12, - "sealed_at": "2026-09-07T22:05:58Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:cd90917937862636ffbcfab0896cb640ea0e6e439fcd7a4280333872f4e5abae", "spec_path": "specs/tri/crypto/sha256.t27" } \ No newline at end of file diff --git a/.trinity/seals/TriUtf8.json b/.trinity/seals/TriUtf8.json index 804370288..8b8ff19ee 100644 --- a/.trinity/seals/TriUtf8.json +++ b/.trinity/seals/TriUtf8.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:c101ac4ccbcbec0bfe92ccb62b7f0b3cbb56b070b93cf5559c45fe88b672b6b0", + "gen_hash_c": "sha256:13899d3dd8ced7a1b0d3d28bfc5ae1de53d0295ae61b3eca43b8a73e20942784", "gen_hash_rust": "sha256:2e9ab8a952fec6ed0a2c2e89acd0c24ce446563e33fcbbcdd0233bb437f784c3", "gen_hash_verilog": "sha256:4d62608c3550c6d196ab0d46b1376d0bc0a33e5f68a2ef27b3d478dfd04adabd", "gen_hash_zig": "sha256:9b5f82a946f3621f9952dc1b5f7c49608b68a2d824c3c4eb3a24f4a2dcad4606", "module": "TriUtf8", "ring": 12, - "sealed_at": "2026-08-28T20:32:32Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:5e3cef83fe71fa8bdec4c2ef91200565a5461f4de0225a11d9544c366afdc65d", "spec_path": "specs/tri/utils/utf8.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/VSASimilaritySearch.json b/.trinity/seals/VSASimilaritySearch.json index c3eba979f..55b45858b 100644 --- a/.trinity/seals/VSASimilaritySearch.json +++ b/.trinity/seals/VSASimilaritySearch.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:206ea9d69d20e1c99bcb0ad5e52fbc7b73b381e8fa5f2012548a6d835e9b4071", + "gen_hash_c": "sha256:6ec993f79ea7b855ecbd78137a0a521790f03c70027d7583b5d34bcf5bec28ef", "gen_hash_rust": "sha256:d9a8bc48b6093a3cfc731ebc173bcfb09b92a4674f737caf3096f9b4697db4c8", "gen_hash_verilog": "sha256:2f4eb6fa80e5fc5bf0d3a991c45a1f45646c9e8e3d3df69ce778ed7ad3afc10f", "gen_hash_zig": "sha256:5e1650631219e9101f17848b6326087685f4df42326921d318c26d7c426f8186", "module": "VSASimilaritySearch", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:49d1e8ddabc30e6cc9e852ea156510b928d618264e25737e12cd57a2eb4d3de7", "spec_path": "specs/vsa/similarity_search.t27" } \ No newline at end of file diff --git a/.trinity/seals/Zamolodchikov4DConjecture.json b/.trinity/seals/Zamolodchikov4DConjecture.json index f65281b6b..a1dbbeee5 100644 --- a/.trinity/seals/Zamolodchikov4DConjecture.json +++ b/.trinity/seals/Zamolodchikov4DConjecture.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3c1cfed43199d09db274a88e7438faec00f7190e7874e5ee82529450fd88a92a", + "gen_hash_c": "sha256:992c9d8ec9ef70840464678a33688b334faa5f7d7d1658e447ef53ea981cb661", "gen_hash_rust": "sha256:398ffbf27dbe05dead6277d7dfc727e5eff61e844815e487021a4d6e0c062971", "gen_hash_verilog": "sha256:d99979f3ddde4755153c6ff49aea121b76d574cb8e4b61789f6cc35eb2fe5f4e", "gen_hash_zig": "sha256:9baf398fbd307e192722bf6640cfa14bab57851ffaa76eb2e54f1b4a93b21b18", "module": "Zamolodchikov4DConjecture", "ring": 12, - "sealed_at": "2026-08-28T18:19:55Z", + "sealed_at": "2026-09-08T01:34:16Z", "spec_hash": "sha256:e805c111cc8f7dcdf826ad23f9ba35bc8d9426a9341cb6d084ad86a5b5afaaac", "spec_path": "specs/physics/zamolodchikov_4d_conjecture.t27" -} +} \ No newline at end of file diff --git a/.trinity/seals/ZeroDSP_MAC.json b/.trinity/seals/ZeroDSP_MAC.json index f9a0ecd8e..2afab5a7c 100644 --- a/.trinity/seals/ZeroDSP_MAC.json +++ b/.trinity/seals/ZeroDSP_MAC.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:036e3198c279cbc6fbb0caf2ae0f295a5b1cb1ee632329e96c790ee56023498b", + "gen_hash_c": "sha256:a8cb36cb849ce5c23cb0ccc805504f4ea28909139774e234f865e7ac6187e47a", "gen_hash_rust": "sha256:98f12ac7a6a7097ecc77fc7cb33283f2546b0077abb7934310c5eddae119fc86", "gen_hash_verilog": "sha256:1ddfc27a4ffbe035c37bb460f4232580acddd604abc55cbb99a36db69ba5b067", "gen_hash_zig": "sha256:6e303ec74ccaa3888d38ceea9bfdbaeff494170af22e0617ea130c30a3638ff7", "module": "ZeroDSP_MAC", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:8de13250bacc6dfcbea6f0793bed435605fdbfdcb75e094df82ab0993de0c350", "spec_path": "specs/fpga/mac.t27" } \ No newline at end of file diff --git a/.trinity/seals/base_TernaryMemory.json b/.trinity/seals/base_TernaryMemory.json index 4068ae203..a8977f2ac 100644 --- a/.trinity/seals/base_TernaryMemory.json +++ b/.trinity/seals/base_TernaryMemory.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:656599617930f341fa85bed0034163994c714ea5edb132d372de548161e08264", + "gen_hash_c": "sha256:4f2f9d7a8a596f8bb215fcdfc336e1849bf8d426c763d822c5aa8c40b3322a5f", "gen_hash_rust": "sha256:d185665ab252b453542767908ee6f343b587539dace8f59c50de1fd73a904b18", "gen_hash_verilog": "sha256:1efd07e76df1ef8cf318fb8bcba5e02fa3ce32177798fa109110a0e2a1ed550e", "gen_hash_zig": "sha256:3055a586a783d55f0c842b10c1319a0219bbdc7fc2c878123168435b89052774", "module": "TernaryMemory", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:9a7a252b0234051663b7a9a6f9712ceb2b15501140378ef156612ab574aec6ae", "spec_path": "specs/base/ternary_memory.t27" diff --git a/.trinity/seals/collections_TriArray.json b/.trinity/seals/collections_TriArray.json index 4588f1903..fca631887 100644 --- a/.trinity/seals/collections_TriArray.json +++ b/.trinity/seals/collections_TriArray.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:b9fcfb8fd370feab2664d53c02544721f4e778d84462094c4549e7de7a51455a", + "gen_hash_c": "sha256:c3a6fe3b5e00bb59d95d479cb19353915561e698080428663cafe3c91e3ec20d", "gen_hash_rust": "sha256:bccd29ac3fed64b294e858ede8693d78314919ed86ca89a2cf3ec64d8e770e4d", "gen_hash_verilog": "sha256:b9a0c37dc409df444aeeaa105ef0514ee6c526075d2742a82f104293e51af3c9", "gen_hash_zig": "sha256:c60d2c46a5fe2df68032b4ab03af4df19ea556d80f8c64ee396a30ed71df8415", "module": "TriArray", "ring": 12, - "sealed_at": "2026-09-06T04:36:45Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:60653d3f4d6594d26519e2a2da5fb21c191c1e6c5823d192a0d0518df6010f87", "spec_path": "specs/tri/collections/array.t27" diff --git a/.trinity/seals/compiler_Lexing.json b/.trinity/seals/compiler_Lexing.json index 0c493186c..01c7b33f8 100644 --- a/.trinity/seals/compiler_Lexing.json +++ b/.trinity/seals/compiler_Lexing.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1f3450288dfac5e866202a2d14e640ba60cc7229a789bf5a3eb42e8f8de3d179", + "gen_hash_c": "sha256:ddeb4f38c96263894b56229472687a4594ac6873c51cc0f4533f9d54520eaf90", "gen_hash_rust": "sha256:75c215f43f42be9020c6a16ddbfcc68a89e96cd791c9dac9d1f6e1ea458c2fb4", "gen_hash_verilog": "sha256:b1e3406afec1ded152930087077d1b4367abd8116c8ece06710a43c3aa252519", "gen_hash_zig": "sha256:7da42e5e458cb1a4fe300a2001f5edeb792cc9ff8278efd87ab589562ebbb2ee", "module": "Lexing", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:4bc5143fba34174835090dd6b44f8b82feeb5462e3c52407d60d85efb3d6988a", "spec_path": "specs/compiler/lexer.t27" diff --git a/.trinity/seals/compiler_Stdlib.json b/.trinity/seals/compiler_Stdlib.json index 4fa82880e..c72da164e 100644 --- a/.trinity/seals/compiler_Stdlib.json +++ b/.trinity/seals/compiler_Stdlib.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:4e87877890050fd21be008f685409202696e2f70f060fcd17b27c0a0eabc493a", + "gen_hash_c": "sha256:12338848f16f7c529a420ac9bc7806bdf40d68ca7f4a67e202cb822ce9a0d97d", "gen_hash_rust": "sha256:9d3ba95e05100f2d33d92780b9e4bb9d9b41bf0161856689df506d7f0c8cb8ab", "gen_hash_verilog": "sha256:0fbe2562d41ec62b770dd7063579c83c185574c9b2f0c273e5628b513135c29d", "gen_hash_zig": "sha256:bcca39bc747284afd1becdace3115c9ab45b9843e48952268898400cf92d498a", "module": "Stdlib", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:fb78ae12983cc5b08cc552910a1088eec6c5b078c40053f127f75b516b3a0c8d", "spec_path": "specs/compiler/stdlib.t27" diff --git a/.trinity/seals/crypto_TriHmac.json b/.trinity/seals/crypto_TriHmac.json index def860050..b4218d3f8 100644 --- a/.trinity/seals/crypto_TriHmac.json +++ b/.trinity/seals/crypto_TriHmac.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:dd0802dcda2f6c02b5c28751214dc5bb5f8c47fd7cd4fe38ef278d0eaac24f27", + "gen_hash_c": "sha256:571a2410ffd803d99d0f80ae466e866b0500a9697f839f5334c78386b8344d9a", "gen_hash_rust": "sha256:7df96a445b13d90a8874365a6db13285612c1c13ab0e28ccba2ea29615a9beff", "gen_hash_verilog": "sha256:a56a85f72bcf0ea5d2281014919a9ac23b8961a4e05241d5ccfa1ca3ffe62f28", "gen_hash_zig": "sha256:feeddfe4666e0e5c0c98614e8ed0ba9cff7ee779f4ef7ff00dec38d325367e83", "module": "TriHmac", "ring": 12, - "sealed_at": "2026-09-07T22:05:58Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:c9c294acdc2a491ad74598e51c3b2137b1b51b970d326765ce489445e76df2a8", "spec_path": "specs/tri/crypto/hmac.t27" diff --git a/.trinity/seals/crypto_TriSha256.json b/.trinity/seals/crypto_TriSha256.json index e1ef135a3..77396cabf 100644 --- a/.trinity/seals/crypto_TriSha256.json +++ b/.trinity/seals/crypto_TriSha256.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:627a2c75837396557c5ebfd9da777c96e04dd33ab7eacb34c078ea132253fb20", + "gen_hash_c": "sha256:23850cfc1d59b546431b154ff4b7c873e3bd0f0c5517147122f1207020e04d22", "gen_hash_rust": "sha256:a4e33f8c912b861237321eafd6dd104435a50d790fb652b92f2ac423838dc121", "gen_hash_verilog": "sha256:79c6967edb8898c2cea006c689a2fcc6ee574649d8afb213e7e9255ef992ba28", "gen_hash_zig": "sha256:9686282945419d10b25b6f213e2573fda367c8ab3b6d29dfa739b337b6a815d7", "module": "TriSha256", "ring": 12, - "sealed_at": "2026-09-07T22:05:58Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:cd90917937862636ffbcfab0896cb640ea0e6e439fcd7a4280333872f4e5abae", "spec_path": "specs/tri/crypto/sha256.t27" diff --git a/.trinity/seals/file_File.json b/.trinity/seals/file_File.json index fa85a7524..b5259a32d 100644 --- a/.trinity/seals/file_File.json +++ b/.trinity/seals/file_File.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3a7dc233b53603c07f1fca8a16d6fc7f87a1410a59088ea75a679c0c88c3c6eb", + "gen_hash_c": "sha256:950b8c6fff4465947db13323b75663197288e1acfad21be51874f056d998abbf", "gen_hash_rust": "sha256:97336488664cac3dac142cea0ef69226e6707c015a78b3153ecc5682d185d404", "gen_hash_verilog": "sha256:0babdbe3cc3ecc8e207e1050d75feb08dfe12474ecadae7fd1977f05363ffdd3", "gen_hash_zig": "sha256:43f63862cb275701dfd13e29ba461c2896f92cd7d513b00299ad0e0e4746135f", "module": "File", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:468c0d05fb6430308005b43d183c3070421c754cdf83fef8e76f36c8ed0ed2f9", "spec_path": "specs/file/schema.t27" diff --git a/.trinity/seals/fpga_FpgaStdlib.json b/.trinity/seals/fpga_FpgaStdlib.json index 46415622d..f9a2cd16a 100644 --- a/.trinity/seals/fpga_FpgaStdlib.json +++ b/.trinity/seals/fpga_FpgaStdlib.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:ca8b88854e9eacd52d798cec8b9883b35ee7868abd376eea4bc40573b7e1ffe9", + "gen_hash_c": "sha256:40817ee4b42ac5b882da76be0c8d210a06f5c86d894103bddd051afe7afd2a8a", "gen_hash_rust": "sha256:118667fa0da22d4375f83ed803b097b4ce33b6e3e0574c79609998fbef4f3a3f", "gen_hash_verilog": "sha256:6eb37271d46236f73d0ad37ccae34ec1aafd808093bf4a68dc17fcd05977d3c7", "gen_hash_zig": "sha256:99eee2f4f0af6652443127fcd49ce1624528daa7f58c1c156d28b8d35d242a01", "module": "FpgaStdlib", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:52736507c4760db8b38d73a53705947930521587ea2203c25b60d9c13da41a91", "spec_path": "specs/fpga/stdlib.t27" } \ No newline at end of file diff --git a/.trinity/seals/fpga_Hir.json b/.trinity/seals/fpga_Hir.json index 17d47f781..6e3a7ec82 100644 --- a/.trinity/seals/fpga_Hir.json +++ b/.trinity/seals/fpga_Hir.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:206df44d0ec2596f758e7a69787d91098b2876260764fcb15c04761027ee0a38", + "gen_hash_c": "sha256:0af6a42478d57b6cb0daeced0348d50079485d4c6902ddef2b73ead5f0c5d78d", "gen_hash_rust": "sha256:5f21cbd15f2394a20862021e7b9d08f5f3fbe965496d6d7da8e78ba8f20532a9", "gen_hash_verilog": "sha256:a2e7e00795ff068d8e811fbf1797823fbec303250ad1ec6b956749cc55c3a933", "gen_hash_zig": "sha256:fe55742c00a812da273af4fc42d601c475ec456341e2979102e271f3063f8082", "module": "Hir", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:0a8c8fb8b35a2791fbab26a8a95f310c75edeff390902cda5972dabee26abcaa", "spec_path": "specs/fpga/hir.t27" diff --git a/.trinity/seals/fpga_Memory.json b/.trinity/seals/fpga_Memory.json index ced5fa8f8..f9a1268b8 100644 --- a/.trinity/seals/fpga_Memory.json +++ b/.trinity/seals/fpga_Memory.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1da37da4c12ee01f61043ca537bf70de2451e467afde2c416350be0e56d27497", + "gen_hash_c": "sha256:e79305e3f92af919cb42d05a5b50cd5d986901b4f982d14492aefe0e7e53a869", "gen_hash_rust": "sha256:c8049c9fbffabcebf2b823cca65ead76ad4e5475f8f215ef48a72104b6f02867", "gen_hash_verilog": "sha256:ce130ab5a3d7abea02ddd7f612f542254d75866e1dd23c1cc11b3972dc93e4d3", "gen_hash_zig": "sha256:737eb4f693c0b6fe95ea22231376c66ab01455e820dd4dfe118fab1704bc26da", "module": "Memory", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:5847d80ee4a4f2fc5b812078febf793a17aa56e2e4ad3bd6ea158c2d218f0b84", "spec_path": "specs/fpga/memory.t27" diff --git a/.trinity/seals/fpga_Stdlib.json b/.trinity/seals/fpga_Stdlib.json index cd7d831b8..114ad2837 100644 --- a/.trinity/seals/fpga_Stdlib.json +++ b/.trinity/seals/fpga_Stdlib.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:ca8b88854e9eacd52d798cec8b9883b35ee7868abd376eea4bc40573b7e1ffe9", + "gen_hash_c": "sha256:40817ee4b42ac5b882da76be0c8d210a06f5c86d894103bddd051afe7afd2a8a", "gen_hash_rust": "sha256:118667fa0da22d4375f83ed803b097b4ce33b6e3e0574c79609998fbef4f3a3f", "gen_hash_verilog": "sha256:6eb37271d46236f73d0ad37ccae34ec1aafd808093bf4a68dc17fcd05977d3c7", "gen_hash_zig": "sha256:99eee2f4f0af6652443127fcd49ce1624528daa7f58c1c156d28b8d35d242a01", "module": "Stdlib", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:52736507c4760db8b38d73a53705947930521587ea2203c25b60d9c13da41a91", "spec_path": "specs/fpga/stdlib.t27" diff --git a/.trinity/seals/fpga_ZeroDSP_MAC.json b/.trinity/seals/fpga_ZeroDSP_MAC.json index 29d8f8af1..5c1c4a301 100644 --- a/.trinity/seals/fpga_ZeroDSP_MAC.json +++ b/.trinity/seals/fpga_ZeroDSP_MAC.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:036e3198c279cbc6fbb0caf2ae0f295a5b1cb1ee632329e96c790ee56023498b", + "gen_hash_c": "sha256:a8cb36cb849ce5c23cb0ccc805504f4ea28909139774e234f865e7ac6187e47a", "gen_hash_rust": "sha256:98f12ac7a6a7097ecc77fc7cb33283f2546b0077abb7934310c5eddae119fc86", "gen_hash_verilog": "sha256:1ddfc27a4ffbe035c37bb460f4232580acddd604abc55cbb99a36db69ba5b067", "gen_hash_zig": "sha256:6e303ec74ccaa3888d38ceea9bfdbaeff494170af22e0617ea130c30a3638ff7", "module": "ZeroDSP_MAC", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:8de13250bacc6dfcbea6f0793bed435605fdbfdcb75e094df82ab0993de0c350", "spec_path": "specs/fpga/mac.t27" diff --git a/.trinity/seals/isa_TernaryArithmetic.json b/.trinity/seals/isa_TernaryArithmetic.json index ac5e4c843..eee8c30a3 100644 --- a/.trinity/seals/isa_TernaryArithmetic.json +++ b/.trinity/seals/isa_TernaryArithmetic.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:e60a6bdb584f53f3a80c834e6ff446490f2663914d947f7ab626296c03e39200", + "gen_hash_c": "sha256:0d1bb35d6086f8aa2e41d3178aa5b7af64cbe0a87005294d29cb6a9c046c2367", "gen_hash_rust": "sha256:48ca59da9077cd249a6d8256b6fcfddb3e2a61368c67a43b853b0df6bcf4412c", "gen_hash_verilog": "sha256:1bb36c06921de71ffa3f05dfefb13f946d7c6c53dd445702c5ca31003644fe63", "gen_hash_zig": "sha256:e7f267bf3725d3d4f640efa3b4b93d759b22e5cbe1fc3c21f207e8083cadfb04", "module": "TernaryArithmetic", "ring": 12, - "sealed_at": "2026-09-07T21:07:03Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:1044d178fb800ee5aedbcc28ffb09b84ce0b85c8eb8982827c0073c523d23a84", "spec_path": "specs/isa/ternary_arithmetic.t27" diff --git a/.trinity/seals/isa_TernaryGates.json b/.trinity/seals/isa_TernaryGates.json index 1dd1c6aa3..883a3d004 100644 --- a/.trinity/seals/isa_TernaryGates.json +++ b/.trinity/seals/isa_TernaryGates.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3a15042f60161d5df2011403a589f3a71fb57cb7b4a60d5c325fc43ea266ab7b", + "gen_hash_c": "sha256:e54d6008b539bf013a6fe3e11c4bae39d8d249ab4c71abc98e9ce5d53c77ba0c", "gen_hash_rust": "sha256:d50d3454f51312df8ae97f8885d1ef89eccf26835aab641ec4a7d131a94556a4", "gen_hash_verilog": "sha256:a0ecc024bbf108bf40c663321efaadc401dc9e22f8d45323eae4913dc08738bc", "gen_hash_zig": "sha256:64a63107dcc3633db230f785581c8ac92a01ee6eb4178c6d92d6ef643502356e", "module": "TernaryGates", "ring": 12, - "sealed_at": "2026-09-06T04:36:44Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:b4ea36c976d78efe1add7b0ec95018c0f01877755c257dac8482eeb7576f1909", "spec_path": "specs/isa/ternary_gates.t27" diff --git a/.trinity/seals/jit.json b/.trinity/seals/jit.json index 6924b3f58..a63ad1c18 100644 --- a/.trinity/seals/jit.json +++ b/.trinity/seals/jit.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:03c8879dd7e265441d607ccec00731404ef27b4158b922228befc8ec032e09dd", + "gen_hash_c": "sha256:1f14d281f0951699f4c816f655d03deebd31471e66996ddb8fab98a192b3b845", "gen_hash_rust": "sha256:18029c52d661a2a49c9a92e8334a4bc18c9c73f17d7ee60ff8aedba9b054c0d6", "gen_hash_verilog": "sha256:5a2bd07b3b0c4fb91375b2a31e0a91ec8eddc3586c9a0e979c83286f595c0a47", "gen_hash_zig": "sha256:0701476250a7c9138d86453e9771e1d39f35458fde75074ae19985d91ad2c058", "module": "jit", "ring": 12, - "sealed_at": "2026-09-07T22:05:57Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:da90f8dbf59c63115a11e0d473a963a568df10e6c88fb06bfa264215c08bfd26", "spec_path": "specs/jit/jit.t27" } \ No newline at end of file diff --git a/.trinity/seals/jit_jit.json b/.trinity/seals/jit_jit.json index e24832b53..6a2763bf3 100644 --- a/.trinity/seals/jit_jit.json +++ b/.trinity/seals/jit_jit.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:03c8879dd7e265441d607ccec00731404ef27b4158b922228befc8ec032e09dd", + "gen_hash_c": "sha256:1f14d281f0951699f4c816f655d03deebd31471e66996ddb8fab98a192b3b845", "gen_hash_rust": "sha256:18029c52d661a2a49c9a92e8334a4bc18c9c73f17d7ee60ff8aedba9b054c0d6", "gen_hash_verilog": "sha256:5a2bd07b3b0c4fb91375b2a31e0a91ec8eddc3586c9a0e979c83286f595c0a47", "gen_hash_zig": "sha256:0701476250a7c9138d86453e9771e1d39f35458fde75074ae19985d91ad2c058", "module": "jit", "ring": 12, - "sealed_at": "2026-09-07T22:05:57Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:da90f8dbf59c63115a11e0d473a963a568df10e6c88fb06bfa264215c08bfd26", "spec_path": "specs/jit/jit.t27" diff --git a/.trinity/seals/math_E8LieAlgebra.json b/.trinity/seals/math_E8LieAlgebra.json index e5d1f1f1a..39e2bdf61 100644 --- a/.trinity/seals/math_E8LieAlgebra.json +++ b/.trinity/seals/math_E8LieAlgebra.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:cb8497575a302748bfd2ef8b2a3606ce2f414666fc67854e59aff7d0c94d7e41", + "gen_hash_c": "sha256:08086383fac200f1bfaabb008799306c4ff9ced29c1d94e2d3f3c6dd083a8c58", "gen_hash_rust": "sha256:262232feeeedfe3fd61d3defd568c6fcce8c4f77d03f55a1b35e2f5bbec3eee0", "gen_hash_verilog": "sha256:de6b36e7e014614b0c0afd4b4b7abc926fe74e51fa9de9e3b03ba6f766ecb6f4", "gen_hash_zig": "sha256:7c8754b500775e01f279ac2e78b320677f4d51564036ac6d60ebefc05fe4f419", "module": "E8LieAlgebra", "ring": 12, - "sealed_at": "2026-09-06T04:36:44Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:da771c66524714c3a8c48aa095e71a5928cfa1cc82f2f819664493e042e9a698", "spec_path": "specs/math/e8_lie_algebra.t27" diff --git a/.trinity/seals/memory_FormulaEmbed.json b/.trinity/seals/memory_FormulaEmbed.json index 7f753fe25..6360deafe 100644 --- a/.trinity/seals/memory_FormulaEmbed.json +++ b/.trinity/seals/memory_FormulaEmbed.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:9bfaacf34822362fafb26b570a455ce23f20585bec6d6e26e5667d08bea25f77", + "gen_hash_c": "sha256:35baa5a829294530078ca9b481bc6cee60a4a02c113d7e672953c6bea314b02e", "gen_hash_rust": "sha256:bcc1e8a68138f609277c99d31eae302b9ce54c5b31e06935393d399f4dda018d", "gen_hash_verilog": "sha256:d566d7e55f20adf13e5abcfd439ca4f6f5beecda2846d59d1a3baf3d03d863e6", "gen_hash_zig": "sha256:a37ca47480e538a91fcf9d5140c939ba8792fa381fbc84511cee6deffd513d58", "module": "FormulaEmbed", "ring": 12, - "sealed_at": "2026-09-07T21:07:03Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:cd00efe30f02866b622344a58fd1bc8f5904edbbb0d457d2081ee87ad273a94d", "spec_path": "specs/memory/formula_embed.t27" diff --git a/.trinity/seals/memory_NotebookLM.json b/.trinity/seals/memory_NotebookLM.json index b34a12c4a..bfb159607 100644 --- a/.trinity/seals/memory_NotebookLM.json +++ b/.trinity/seals/memory_NotebookLM.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1363497601bffd09dd3ee2c619f834af65869e1e4f2ed21dcc9a03ebbec9b21c", + "gen_hash_c": "sha256:16011b6e8f886652fa5a40a3de81be702e83025704ba15080614cc8857ae2fd0", "gen_hash_rust": "sha256:434bb37d28764e16d4421b428010cb86f794bb20dc7cf67ba6fc6a21cd0fe009", "gen_hash_verilog": "sha256:7716f39dc3d0baf658917208a7c294da3ed66d8d849778e3a0d170e7083115b4", "gen_hash_zig": "sha256:534abb99380c2bc0decab8ee239edaac260e956b20891b17728a337b40ba104c", "module": "NotebookLM", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:dc5b054f79d747598c75190379fe4a36400bb27af13dffe06d438f145c1af96f", "spec_path": "specs/memory/notebooklm.t27" diff --git a/.trinity/seals/memory_SemanticSearch.json b/.trinity/seals/memory_SemanticSearch.json index 2a6bcf9ff..0a8dd339f 100644 --- a/.trinity/seals/memory_SemanticSearch.json +++ b/.trinity/seals/memory_SemanticSearch.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6e2525df8bb57fbbd6fcb8580d3a52fb6d50d595038f925db8b7a7c59b7d350a", + "gen_hash_c": "sha256:a9880ebdb51408bb2d952994bfa9815df2ee2c35eb73d4b0aef5dd32a2db23f3", "gen_hash_rust": "sha256:bc9719a6aecfa4fa223008fcd185c323f5146d55e7b78855b751f1df87f0a2b8", "gen_hash_verilog": "sha256:b61c003f24955daa6eda2f075c52c3f38a1ae9febcd0aec01a197ee30c6582a0", "gen_hash_zig": "sha256:3ecedbf4e0cd2a1f0e1475fe00cf420f3bd6af6ada69ea53e60c0e4bc50bb463", "module": "SemanticSearch", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:513b6a22de6436f9269e7422c67954b6836990fa5ddeb147df0c992e698e56ee", "spec_path": "specs/memory/semantic_search.t27" diff --git a/.trinity/seals/net_TriNet.json b/.trinity/seals/net_TriNet.json index 70f3425df..a09e8b26c 100644 --- a/.trinity/seals/net_TriNet.json +++ b/.trinity/seals/net_TriNet.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:81951a3660e9cdda743d886ac88da89106490c2f8205e902d14858263b83c2df", + "gen_hash_c": "sha256:b829d5e528f2f5c7a39c04e07f5fdfab6bf9b8443da801adf8c9dc2ac2eeaeba", "gen_hash_rust": "sha256:780e5619e1983491f227543776fa0817106996c3ac5da105b1228135abee9087", "gen_hash_verilog": "sha256:64b363d0d8c918cbcd72f3da0024a73e36ae2bcaebc640329fdf263d49b51355", "gen_hash_zig": "sha256:ba9e425069866871c9337ed7adc0824033da785ac218c42a392b8fbddd23e317", "module": "TriNet", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:249105154a42777f5e4f32a1e565d18565c1268a054515e331a1f83fee04fdbe", "spec_path": "specs/tri/net/net.t27" diff --git a/.trinity/seals/nn_GatedLinearAttention.json b/.trinity/seals/nn_GatedLinearAttention.json index 84a1d0b43..07aacf99a 100644 --- a/.trinity/seals/nn_GatedLinearAttention.json +++ b/.trinity/seals/nn_GatedLinearAttention.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:520fc115f78c7ed2c4cbedbeb1caab560149296168ec1936e0711e8321d1f638", + "gen_hash_c": "sha256:f2b8abe37edeb699fb0de21cefaef92830b1e7d7dcc60c24ec44cd7b372f7fb1", "gen_hash_rust": "sha256:d1757f40cd640b9bf9972c98be121986bea2e7b091186e875520e556f3217e14", "gen_hash_verilog": "sha256:112cbe0bb8e1936e213bbacb14d084dfd3730661dde5b43b12870b2ad2092c1f", "gen_hash_zig": "sha256:f4769fec50bf2bf0bca08e4d8d2080dffafa73ec7ab29f80c8c95b83d6ecdaa9", "module": "GatedLinearAttention", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:004529e85abd9c48919785e32e065358c561574356ddff82ef9bdf5c387fa195", "spec_path": "specs/nn/gla.t27" diff --git a/.trinity/seals/nn_HSLM.json b/.trinity/seals/nn_HSLM.json index 8662330bf..5aca051d2 100644 --- a/.trinity/seals/nn_HSLM.json +++ b/.trinity/seals/nn_HSLM.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:a4e4b401a924301d6a7f4a3d8aee167a9df58c6ececb01ae61b5c6a92e6c4cab", + "gen_hash_c": "sha256:700c64e5be00db51ac30b9da47466b94a31dc394f14918954a94df1ed91be8f6", "gen_hash_rust": "sha256:77c0564db10be29afcc6dda0eab695afdb56acf295b08700ee82bbf58b457772", "gen_hash_verilog": "sha256:f8a956019cea253548cd3f3eee38d2405cea113b8ee5e66e3d387be41810c697", "gen_hash_zig": "sha256:51d88b507c315ec746ec177be352377540d8989ae03666f57d9db787201c57b9", "module": "HSLM", "ring": 12, - "sealed_at": "2026-09-07T22:05:58Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:8ea0766984db7775c474eab25dfb14965fa835ce0a56b33173df319fad342182", "spec_path": "specs/nn/hslm.t27" diff --git a/.trinity/seals/nn_SacredAttention.json b/.trinity/seals/nn_SacredAttention.json index cfa4316d2..c17dd1ee6 100644 --- a/.trinity/seals/nn_SacredAttention.json +++ b/.trinity/seals/nn_SacredAttention.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:f48f48d3f0815081c9df3e506ef5aeb2a5080fd5161312b18885fec9ee07b5d9", + "gen_hash_c": "sha256:a82a6b2b5da331b625e8b81a335d1cc7741fb56d3a3b1c8bf58eab2d65e2ad08", "gen_hash_rust": "sha256:0a4064c4d5ae45dda501198128042849e7b9f0b1b598012ddf8ff34367df1b72", "gen_hash_verilog": "sha256:495b48a5c98b7c1fccab460f017fcc48da428a1789ba23eaa7691edc1d0d9e13", "gen_hash_zig": "sha256:187bc0b9346fcc3d35ae53a9bad1be0fab2cfe59ddedbf8f61fe4a2856f4cd36", "module": "SacredAttention", "ring": 12, - "sealed_at": "2026-09-08T01:03:29Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:be83d2a916a15957502d6afa4d6eff7ab07d0373e81555704ee842500db47187", "spec_path": "specs/nn/attention.t27" diff --git a/.trinity/seals/parser_trilexer.json b/.trinity/seals/parser_trilexer.json index c19fe27b5..fc930c570 100644 --- a/.trinity/seals/parser_trilexer.json +++ b/.trinity/seals/parser_trilexer.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:e0063e5c22cb0e01130edf80c41e70cef19d4c2088164e94e787d977df56644e", + "gen_hash_c": "sha256:69f580de78f67756b8c071b194185c7103b1d4bf90b2925a138cbd0bdb4b3c2d", "gen_hash_rust": "sha256:20200a8145390a8d6456a528cadffdd4bce1b5449cfec3607bd5bd0c94742456", "gen_hash_verilog": "sha256:954dd0061982280c269c73c9c64a5287ca0b5e0e6af872efcb77a2fd2182645a", "gen_hash_zig": "sha256:6667e1fe7c9916490e6d574942a5035a2113b14101895f81a6ca0a5462e26658", "module": "trilexer", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:cf665b400e73091057d195296506e68e8c16acff3adc70a1756b58cd88e30afc", "spec_path": "compiler/parser/lexer.t27" diff --git a/.trinity/seals/physics_SacredVerification.json b/.trinity/seals/physics_SacredVerification.json index 2069f5141..fded9b559 100644 --- a/.trinity/seals/physics_SacredVerification.json +++ b/.trinity/seals/physics_SacredVerification.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:bcaac65863aefb19d05ba83698564c9f79a26a89b6b4c69d21d95bfc2724bb60", + "gen_hash_c": "sha256:1dd3cd09cc16a6c8d64c93958fc7de9c418c2ae95285ec14e1912bfcc49603eb", "gen_hash_rust": "sha256:cd01259b3081abf9024cf3f53b4690090c96446db7f3108c95026daf0a7424d8", "gen_hash_verilog": "sha256:1817097113f09289d7a347bb8b743faa39a9c6b82ab0c158a2058b0ac03e82ec", "gen_hash_zig": "sha256:e366439ab8d4fe966acf421937ab0091f28785ea3406b523dc3a56976e54c79c", "module": "SacredVerification", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:fe6ff2cc8fb17534f6cbd181a4af31750729533339cbf99889aff1a06bd09151", "spec_path": "specs/physics/sacred_verification.t27" diff --git a/.trinity/seals/physics_Zamolodchikov4DConjecture.json b/.trinity/seals/physics_Zamolodchikov4DConjecture.json index c38eae3a2..1d7d26cc3 100644 --- a/.trinity/seals/physics_Zamolodchikov4DConjecture.json +++ b/.trinity/seals/physics_Zamolodchikov4DConjecture.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3c1cfed43199d09db274a88e7438faec00f7190e7874e5ee82529450fd88a92a", + "gen_hash_c": "sha256:992c9d8ec9ef70840464678a33688b334faa5f7d7d1658e447ef53ea981cb661", "gen_hash_rust": "sha256:398ffbf27dbe05dead6277d7dfc727e5eff61e844815e487021a4d6e0c062971", "gen_hash_verilog": "sha256:d99979f3ddde4755153c6ff49aea121b76d574cb8e4b61789f6cc35eb2fe5f4e", "gen_hash_zig": "sha256:9baf398fbd307e192722bf6640cfa14bab57851ffaa76eb2e54f1b4a93b21b18", "module": "Zamolodchikov4DConjecture", "ring": 12, - "sealed_at": "2026-09-06T04:36:45Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:e805c111cc8f7dcdf826ad23f9ba35bc8d9426a9341cb6d084ad86a5b5afaaac", "spec_path": "specs/physics/zamolodchikov_4d_conjecture.t27" diff --git a/.trinity/seals/pins_EmitterXDC.json b/.trinity/seals/pins_EmitterXDC.json index 21c9443db..7ff1be563 100644 --- a/.trinity/seals/pins_EmitterXDC.json +++ b/.trinity/seals/pins_EmitterXDC.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:abc296b807658edc06618aa910b2497d202c4e57f803c7671c8dfd4343264ec9", + "gen_hash_c": "sha256:0a9c6ca4a97e7424f084906b9e0fe21eac727b544b05fbb96422110f4b6a2f7d", "gen_hash_rust": "sha256:445307cb10e5a9b35dec8b19e4ba5b135b46d3b16127b47073eb57df52bed379", "gen_hash_verilog": "sha256:bfe2ff478056fe9cc4120103330557f7516fe8c825fc7c1ce2f7769c8546a163", "gen_hash_zig": "sha256:96626a210203243192606f51dcd9e0985597ff57ff21ba86055e99d94cc7f66e", "module": "EmitterXDC", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:d9954ca190ee3e748ef8df7ce32bd183096f7f97003651aede1ccabe5c1b0e19", "spec_path": "specs/pins/emitter_xdc.t27" diff --git a/.trinity/seals/pins_PinsIR.json b/.trinity/seals/pins_PinsIR.json index 6c10855a1..c9d1a0f93 100644 --- a/.trinity/seals/pins_PinsIR.json +++ b/.trinity/seals/pins_PinsIR.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:2747831674dd06e25e0f2c491db8888633d5ae4d0d18be3683bb7cefb71e6b16", + "gen_hash_c": "sha256:00551331de394a2c1822efe66e02ec05592faee728eee5534dada12209dff0c4", "gen_hash_rust": "sha256:3b820f7288f40e93770c0d06b6f1c51ee1f42425ba6f49067bbcf757b7637a3b", "gen_hash_verilog": "sha256:7e0fde52a4497ab30050954ee68bc8c635682738301cbc7ee1f2dd4a299d4d44", "gen_hash_zig": "sha256:429d12c0654390cbbb260136060ee78dbffe59c7ffc486f23841f77ad8bdbf58", "module": "PinsIR", "ring": 12, - "sealed_at": "2026-09-08T00:32:46Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:8f46ba7ad0a214121f9f767a1d34411f435bf8fa19f3368b3182021b738bd4de", "spec_path": "specs/pins/ir.t27" diff --git a/.trinity/seals/queen_BrainSummaries.json b/.trinity/seals/queen_BrainSummaries.json index aa0446aca..068baf87c 100644 --- a/.trinity/seals/queen_BrainSummaries.json +++ b/.trinity/seals/queen_BrainSummaries.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:a85cf8ba3d1f9630a97cfd9d7c939702e03d275920718671be1db4b7d26faa51", + "gen_hash_c": "sha256:8ba59261aa33be46030741b87f8757a32f80447a6692dfcb0ed3aa3348bde792", "gen_hash_rust": "sha256:c8e21df34db0667e21536ba17e59e79415d6d545953f90fc72f7ef33e96b09e4", "gen_hash_verilog": "sha256:5f0eeac7d2fc87ac99baac9abca6f06613a2fe91bd707a93d45f021c7ee5796b", "gen_hash_zig": "sha256:c0a97aa69f74c2ed33618d54002291bb2ec13d5685ff85abf50012cf1bea79bd", "module": "BrainSummaries", "ring": 12, - "sealed_at": "2026-09-07T21:07:03Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:25ecc916082e749bfdc5d1df0e0e0c7a48082630dd2ce02b2525b400045daab5", "spec_path": "specs/queen/brain_summaries.t27" diff --git a/.trinity/seals/queen_QueenLotus.json b/.trinity/seals/queen_QueenLotus.json index a5c1767ec..300ed9410 100644 --- a/.trinity/seals/queen_QueenLotus.json +++ b/.trinity/seals/queen_QueenLotus.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:1f44f5bce3f507d9725e735e400cb653c47fb6a84ed8e07fa41ade76f363805f", + "gen_hash_c": "sha256:8d76609f52e81631129cb054e4c7eadd1c30d3a6497bc05ab703afc757c46af4", "gen_hash_rust": "sha256:52f5a56689b47378339bd92c8d4a7d91ca5d1184a7b63e446131a9edabc0bf4d", "gen_hash_verilog": "sha256:04b632aa441fe627113a46fa103e4bc8adf64523238f04960d0ea737b54fae8d", "gen_hash_zig": "sha256:fe65321a25cd30568372c17d88944f22a4b2dd9905b37142f5f3204305fdfb50", "module": "QueenLotus", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:be1fcb56b7c1f569d9717245eb321e512ba8e19bbf711f386557de51b33fdbf5", "spec_path": "specs/queen/lotus.t27" diff --git a/.trinity/seals/runtime_triruntime.json b/.trinity/seals/runtime_triruntime.json index 4686b3404..62ad88735 100644 --- a/.trinity/seals/runtime_triruntime.json +++ b/.trinity/seals/runtime_triruntime.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6dcf5c047a260499881acf884f1fb827595c8f70c3a844703585ed812426a965", + "gen_hash_c": "sha256:fc0575565e13bb46ce5261638d94987d8bd636c13b5d86d21a6722eb24ff9e08", "gen_hash_rust": "sha256:ff7b1aae377cba3e1fbd67f7db4ba028a5650fb080f6fd3e1e182355d60688f7", "gen_hash_verilog": "sha256:c31bcbc0a16190a79d870079d85134306891fffffe3624ff818ad119f5048ae4", "gen_hash_zig": "sha256:4cd65db1abe106eed5726b91c38c0d5e30e2ca39406a4041af7c7c53ba4d7387", "module": "triruntime", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:83969c01bc42ca48ab841ba4e77ce26d08e9b23a0922dcc33dffee3b69cdab74", "spec_path": "compiler/runtime/runtime.t27" diff --git a/.trinity/seals/search_TriAhoCorasick.json b/.trinity/seals/search_TriAhoCorasick.json index 539f55986..385a140fe 100644 --- a/.trinity/seals/search_TriAhoCorasick.json +++ b/.trinity/seals/search_TriAhoCorasick.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:09a563bedcbd38a6574bcfa72d61d3f3954870a30bedc9da7be94d97f8a02c66", + "gen_hash_c": "sha256:5a86d2c0594d34eda7d122b6d24f1927f3fe65d30957fb71345c5b0b4a83cc2e", "gen_hash_rust": "sha256:2fe3e33c1c9c340a77f82efda7ea26bf896d2bfd9f0b60b5bf5676be8cde78ea", "gen_hash_verilog": "sha256:063f6d75c93f8ef99989a513dc878c5bb9046504113671ce746145d5c5263124", "gen_hash_zig": "sha256:d1d76e201a1f7e6e823a3c239045888eea20abfea28d53c93d0ae53658faedde", "module": "TriAhoCorasick", "ring": 12, - "sealed_at": "2026-09-07T22:05:59Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:8ba19bb8f83184f5d2ae0610a45c8b4292896654b4396bfbff77229d296cb997", "spec_path": "specs/tri/search/aho_corasick.t27" diff --git a/.trinity/seals/search_TriBoyerMoore.json b/.trinity/seals/search_TriBoyerMoore.json index ccabd8282..3e9182eff 100644 --- a/.trinity/seals/search_TriBoyerMoore.json +++ b/.trinity/seals/search_TriBoyerMoore.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:924eae0109a7b5467c2fb06b2ebe18e43c561da06b417b14598bdda36e4ec2e2", + "gen_hash_c": "sha256:c6720cd2e4f5b7ce17f3ec84a306604988c3dbdb42f979630b336bbc98a63329", "gen_hash_rust": "sha256:e8e291d0ad9c573f5ba2223935700f0d7bb8d0d3390a02cdbbceeff986860ac7", "gen_hash_verilog": "sha256:106c31f6afd886aed6f497a2ba1c8bb16c4d07521086dd07e0614e9022b8806d", "gen_hash_zig": "sha256:0ebaed2c4f6fba66525631fb9b277c8251662c856ff1c314ad0207f1e5b3772e", "module": "TriBoyerMoore", "ring": 12, - "sealed_at": "2026-09-06T04:36:45Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:949befe08d74fbddd4b1f79be2e36be09900c171edf1361e97ebf4973c682edb", "spec_path": "specs/tri/search/boyer_moore.t27" diff --git a/.trinity/seals/server_Project.json b/.trinity/seals/server_Project.json index 24545c48f..25e00c00e 100644 --- a/.trinity/seals/server_Project.json +++ b/.trinity/seals/server_Project.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:b748e5d0871271299e397d0935166617dc753430f7e2406b1765cfc207f34a81", + "gen_hash_c": "sha256:6d2a01169920615dec97327ba4c79223974c84508d2157a88a67480f53788da4", "gen_hash_rust": "sha256:6cebebc8bc4ed8eb337d91e8c3e510a73e104e01cfe309b740d53a01a54284fc", "gen_hash_verilog": "sha256:f2dcd7403dcddee26003dff4fb86269525fa9bb478e0f3bc1dce50eec3360a8f", "gen_hash_zig": "sha256:19da7584421cb0cdcd1d6a223fd2256fc506b1963fcb43d6c5648d53f85f61c9", "module": "Project", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:20fcb88dc7cbe68d71676487adce5aaee365541aa7fcc16fbccc56b2405c2c2c", "spec_path": "specs/server/project.t27" diff --git a/.trinity/seals/server_Session.json b/.trinity/seals/server_Session.json index 123fee9b4..624705b84 100644 --- a/.trinity/seals/server_Session.json +++ b/.trinity/seals/server_Session.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:5674ed07d3841043545c7bd4c26df086e2ff5ac1050435bce951260d57719f35", + "gen_hash_c": "sha256:0153bac664fae40f00b6e6182e700ec9521bfeb7f603ab94b0e029788bdffa3e", "gen_hash_rust": "sha256:a9009673213c6d6947ef252f7b1dce9797571a590131a01400ea60bf605cee2d", "gen_hash_verilog": "sha256:c7900e4b259e1b747b45c081f656647617649a9f2f535fbaf67fa0ed7a78c0cf", "gen_hash_zig": "sha256:98e044866cd80df02f1fe206fbfb6af7613c81202c079d9b54d17db960933e3f", "module": "Session", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:2b70d19f6f5d4f13e880a395590a03a48b83d77c4e32cebf62216cbe82ec8d52", "spec_path": "specs/server/session.t27" diff --git a/.trinity/seals/ternary_TernaryBigInt.json b/.trinity/seals/ternary_TernaryBigInt.json index 831c78bbd..f6df3bdd6 100644 --- a/.trinity/seals/ternary_TernaryBigInt.json +++ b/.trinity/seals/ternary_TernaryBigInt.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:4799650feb8bfb2553d9acc8e6d2bcf60ac277f56fda778dbed559ddd8761e9a", + "gen_hash_c": "sha256:5198b9a7b51ea5c85aecacdc56dcdc35014d6bd9e9ffa26106e8f8eecbb783bd", "gen_hash_rust": "sha256:99351cb6dfefbc0d0c4ae21caa5c7fca1b1bc9f96705679d9a46e40d661075d8", "gen_hash_verilog": "sha256:d69196a2c685063c5fd97228ca47a6ec22c07b49f5f4ebee7d25ff8ed00e970a", "gen_hash_zig": "sha256:5ff58f15038b0cfc0247275587e271144bb43f22375b25f80364198b8fbf2180", "module": "TernaryBigInt", "ring": 12, - "sealed_at": "2026-09-05T03:46:00Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:eb850a68fc9ad4fd3031a1b25f81409fb81d07252387a3beec05a2da63119d05", "spec_path": "specs/ternary/bigint.t27" diff --git a/.trinity/seals/trees_TriOctree.json b/.trinity/seals/trees_TriOctree.json index 209e6fdad..b8787ccad 100644 --- a/.trinity/seals/trees_TriOctree.json +++ b/.trinity/seals/trees_TriOctree.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:0bedc286e426f126d811665fd97147dc6ebfba4f96958a522fb9d779d982cfa0", + "gen_hash_c": "sha256:cdba177a3c8b2df5135807f24eec53de4d63e878d2e78c1fc8e98a6e06577793", "gen_hash_rust": "sha256:887ed6ce0c9705279745e0ab49da5a0c2c3d8ff87ec3b47556d6e2423b221d43", "gen_hash_verilog": "sha256:bfdd79ebab78682b40028db81ce198b51da58b7c5cb959580165fc9fa01f276d", "gen_hash_zig": "sha256:01938d9fbbfc4d9f5e19ad941071b5a303b8c7b87e336157ce928c26c34d18eb", "module": "TriOctree", "ring": 12, - "sealed_at": "2026-09-07T22:05:59Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:63216e4dbe843da95dd62bfc13b7741e6bf343e3bcf3d407e084d6be61e84dfe", "spec_path": "specs/tri/trees/octree.t27" diff --git a/.trinity/seals/trees_TriQuadtree.json b/.trinity/seals/trees_TriQuadtree.json index a03cb1cba..fa619fc0e 100644 --- a/.trinity/seals/trees_TriQuadtree.json +++ b/.trinity/seals/trees_TriQuadtree.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:3f1b5f372579e92827fa9a413eb3136abc5272daee917df4dcfd9b2fae31ae82", + "gen_hash_c": "sha256:915e8d379da3651dadccda3c217201c62959411b254210ae1f6387bbfc2b41ec", "gen_hash_rust": "sha256:6bafa1b3afae056967fea020587a7bf5154d1fb1eda8c7bd7fbf99e4edfce610", "gen_hash_verilog": "sha256:d13d947ba9e73a5be25d64aa717c5d3f1138396f77674ffdc56a0dfef150fe77", "gen_hash_zig": "sha256:01514daa510c982d521d72b36552a8ef68f946957d0351799bfad2073128ea4d", "module": "TriQuadtree", "ring": 12, - "sealed_at": "2026-09-07T22:05:59Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:974e62d1cdcc28189ff5fddbf9405c9e02f8bb01325bc2f9860f0578a053b345", "spec_path": "specs/tri/trees/quadtree.t27" diff --git a/.trinity/seals/trilexer.json b/.trinity/seals/trilexer.json index 6e27705aa..2ddad33ee 100644 --- a/.trinity/seals/trilexer.json +++ b/.trinity/seals/trilexer.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:e0063e5c22cb0e01130edf80c41e70cef19d4c2088164e94e787d977df56644e", + "gen_hash_c": "sha256:69f580de78f67756b8c071b194185c7103b1d4bf90b2925a138cbd0bdb4b3c2d", "gen_hash_rust": "sha256:20200a8145390a8d6456a528cadffdd4bce1b5449cfec3607bd5bd0c94742456", "gen_hash_verilog": "sha256:954dd0061982280c269c73c9c64a5287ca0b5e0e6af872efcb77a2fd2182645a", "gen_hash_zig": "sha256:6667e1fe7c9916490e6d574942a5035a2113b14101895f81a6ca0a5462e26658", "module": "trilexer", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:cf665b400e73091057d195296506e68e8c16acff3adc70a1756b58cd88e30afc", "spec_path": "compiler/parser/lexer.t27" } \ No newline at end of file diff --git a/.trinity/seals/triruntime.json b/.trinity/seals/triruntime.json index ccad52189..72fe4014a 100644 --- a/.trinity/seals/triruntime.json +++ b/.trinity/seals/triruntime.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:6dcf5c047a260499881acf884f1fb827595c8f70c3a844703585ed812426a965", + "gen_hash_c": "sha256:fc0575565e13bb46ce5261638d94987d8bd636c13b5d86d21a6722eb24ff9e08", "gen_hash_rust": "sha256:ff7b1aae377cba3e1fbd67f7db4ba028a5650fb080f6fd3e1e182355d60688f7", "gen_hash_verilog": "sha256:c31bcbc0a16190a79d870079d85134306891fffffe3624ff818ad119f5048ae4", "gen_hash_zig": "sha256:4cd65db1abe106eed5726b91c38c0d5e30e2ca39406a4041af7c7c53ba4d7387", "module": "triruntime", "ring": 12, - "sealed_at": "2026-09-08T00:32:45Z", + "sealed_at": "2026-09-08T01:34:15Z", "spec_hash": "sha256:83969c01bc42ca48ab841ba4e77ce26d08e9b23a0922dcc33dffee3b69cdab74", "spec_path": "compiler/runtime/runtime.t27" } \ No newline at end of file diff --git a/.trinity/seals/utils_TriUtf8.json b/.trinity/seals/utils_TriUtf8.json index 32a356d33..f814b6e1e 100644 --- a/.trinity/seals/utils_TriUtf8.json +++ b/.trinity/seals/utils_TriUtf8.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:c101ac4ccbcbec0bfe92ccb62b7f0b3cbb56b070b93cf5559c45fe88b672b6b0", + "gen_hash_c": "sha256:13899d3dd8ced7a1b0d3d28bfc5ae1de53d0295ae61b3eca43b8a73e20942784", "gen_hash_rust": "sha256:2e9ab8a952fec6ed0a2c2e89acd0c24ce446563e33fcbbcdd0233bb437f784c3", "gen_hash_verilog": "sha256:4d62608c3550c6d196ab0d46b1376d0bc0a33e5f68a2ef27b3d478dfd04adabd", "gen_hash_zig": "sha256:9b5f82a946f3621f9952dc1b5f7c49608b68a2d824c3c4eb3a24f4a2dcad4606", "module": "TriUtf8", "ring": 12, - "sealed_at": "2026-09-06T04:36:45Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:5e3cef83fe71fa8bdec4c2ef91200565a5461f4de0225a11d9544c366afdc65d", "spec_path": "specs/tri/utils/utf8.t27" diff --git a/.trinity/seals/vsa_VSASimilaritySearch.json b/.trinity/seals/vsa_VSASimilaritySearch.json index 75d96f102..aa95ebad8 100644 --- a/.trinity/seals/vsa_VSASimilaritySearch.json +++ b/.trinity/seals/vsa_VSASimilaritySearch.json @@ -1,11 +1,11 @@ { - "gen_hash_c": "sha256:206ea9d69d20e1c99bcb0ad5e52fbc7b73b381e8fa5f2012548a6d835e9b4071", + "gen_hash_c": "sha256:6ec993f79ea7b855ecbd78137a0a521790f03c70027d7583b5d34bcf5bec28ef", "gen_hash_rust": "sha256:d9a8bc48b6093a3cfc731ebc173bcfb09b92a4674f737caf3096f9b4697db4c8", "gen_hash_verilog": "sha256:2f4eb6fa80e5fc5bf0d3a991c45a1f45646c9e8e3d3df69ce778ed7ad3afc10f", "gen_hash_zig": "sha256:5e1650631219e9101f17848b6326087685f4df42326921d318c26d7c426f8186", "module": "VSASimilaritySearch", "ring": 12, - "sealed_at": "2026-09-08T00:32:47Z", + "sealed_at": "2026-09-08T01:34:16Z", "sealed_by": "t27c-bootstrap@0.2.0", "spec_hash": "sha256:49d1e8ddabc30e6cc9e852ea156510b928d618264e25737e12cd57a2eb4d3de7", "spec_path": "specs/vsa/similarity_search.t27" diff --git a/bootstrap/src/compiler.rs b/bootstrap/src/compiler.rs index 4aadc3e7a..551061d39 100644 --- a/bootstrap/src/compiler.rs +++ b/bootstrap/src/compiler.rs @@ -19228,6 +19228,62 @@ impl CCodegen { out } + /// A `[N]T` STRUCT FIELD, rendered as C storage rather than a pointer. + /// + /// `struct Holder { f : [4]u8, g : i32 }` reached C as `uint8_t* f;`, so + /// the field held no storage at all -- `h.f[0] = 1` wrote through an + /// uninitialised pointer -- and the same struct measured 16 bytes in C + /// against 8 in Rust and Zig, which both store the four bytes inline. + /// 65 fields across 31 specs. + /// + /// The array-field path already existed for fields whose size the parser + /// puts in `extra_size`; this spelling never reached it. + /// + /// Returns None for anything it must not rewrite, leaving the pointer: + /// a slice `[]T`, the Rust spelling `[T; N]` (which has its own by-value + /// struct), and a zero length, since `uint8_t f[0]` inside a struct is a + /// GCC extension rather than standard C. + /// + /// FIELD POSITION ONLY. In parameter position `T x[static N]` is the + /// spelling that carries a check (#3435), and in return position C cannot + /// return an array at all (#3445) -- three positions, three answers. + fn c_array_field(ty: &str, fname: &str) -> Option { + let t = ty.trim(); + // The `;` test is REDUNDANT today and kept as intent: a mutant deleting + // it survives the whole test file, because `[u8; 4]` reaches the + // emptiness check below anyway (`find(']')` lands on the last char, so + // the element comes out empty). Written down rather than left as a + // guard that looks load-bearing -- and + // `the_rust_spelling_field_keeps_its_own_by_value_struct` is what + // actually pins that spelling's behaviour. + if !t.starts_with('[') || t.contains(';') { + return None; + } + let close = t.find(']')?; + let size = t[1..close].trim(); + let elem = t[close + 1..].trim(); + if size.is_empty() || elem.is_empty() || size == "0" { + return None; + } + // A nested `[2][3]u8` becomes `uint8_t f[2][3]`, which is ordinary C. + let mut dims = vec![size.to_string()]; + let mut rest = elem; + while rest.starts_with('[') && !rest.contains(';') { + let c = rest.find(']')?; + let d = rest[1..c].trim(); + if d.is_empty() || d == "0" { + return None; + } + dims.push(d.to_string()); + rest = rest[c + 1..].trim(); + } + if rest.is_empty() { + return None; + } + let suffix: String = dims.iter().map(|d| format!("[{}]", d)).collect(); + Some(format!("{} {}{};", Self::param_type_to_c(rest), fname, suffix)) + } + fn gen_c_struct(&mut self, node: &Node) { // Tagged, because the forward declaration above names the tag. An // anonymous `typedef struct { ... } Name;` cannot be forward-declared @@ -19237,6 +19293,16 @@ impl CCodegen { for field in &node.children { self.write_indent(); + // A `[N]T` field is STORAGE, not a pointer: see `c_array_field`. + // Asked before the mapping below, because that one lowers every + // array spelling to `T*` and a field is the one position where + // that is not merely lossy but wrong. + if field.extra_size.is_empty() { + if let Some(decl) = Self::c_array_field(&field.extra_type, &field.name) { + self.write_line(&decl); + continue; + } + } // W582: struct fields used `type_to_c`, which passes anything it // does not recognise through verbatim -- so a slice was `[]u8` and // an optional `?[]u8`, neither of which is C. `param_type_to_c` diff --git a/bootstrap/stage0/FROZEN_HASH b/bootstrap/stage0/FROZEN_HASH index 8f24d58e9..5eb10ffc1 100644 --- a/bootstrap/stage0/FROZEN_HASH +++ b/bootstrap/stage0/FROZEN_HASH @@ -1 +1 @@ -fed7c39574198b5976fbe4c60351dfd3fff77ba81a3a37445e6da370a75bf49e bootstrap/src/compiler.rs +7ca9bc868124840670ac04c1173056ef70c5a6f4850fae5c533039c31534e974 bootstrap/src/compiler.rs diff --git a/bootstrap/tests/c_struct_array_fields.rs b/bootstrap/tests/c_struct_array_fields.rs new file mode 100644 index 000000000..8d3bee3f4 --- /dev/null +++ b/bootstrap/tests/c_struct_array_fields.rs @@ -0,0 +1,211 @@ +//! A `[N]T` struct field must be STORAGE in C, not a pointer. +//! +//! `struct Holder { f : [4]u8, g : i32 }` reached C as `uint8_t* f;`. The field +//! held nothing: `h.f[0] = 1` wrote through an uninitialised pointer, and the +//! same struct measured 16 bytes in C against 8 in Rust and Zig, which both +//! store the four bytes inline. Three backends agreed and C was alone. +//! +//! A wrong SIZE is a missing check; this was a missing object. So the test +//! below does not read the emitted text alone -- it compiles a program that +//! prints `sizeof` and compares the number, because the text can look right +//! while the layout does not. +//! +//! Three positions, three different answers, and that is the point of the +//! narrowing here: a parameter wants `T x[static N]` (#3435), a field wants +//! `T f[N]`, and a return cannot be an array in C at all (#3445). + +use std::process::Command; +use std::sync::atomic::{AtomicUsize, Ordering}; + +static N: AtomicUsize = AtomicUsize::new(0); + +fn dir(tag: &str) -> std::path::PathBuf { + let d = std::env::temp_dir().join(format!( + "t27c-cfield-{tag}-{}-{}", + std::process::id(), + N.fetch_add(1, Ordering::Relaxed) + )); + let _ = std::fs::remove_dir_all(&d); + std::fs::create_dir_all(&d).expect("create temp dir"); + d +} + +fn gen(sub: &str, spec: &str, d: &std::path::Path) -> String { + let p = d.join("in.t27"); + std::fs::write(&p, spec).expect("write spec"); + let out = Command::new(env!("CARGO_BIN_EXE_t27c")) + .arg(sub) + .arg(&p) + .output() + .expect("run t27c"); + assert!(out.status.success(), "{sub} failed: {}", String::from_utf8_lossy(&out.stderr)); + String::from_utf8_lossy(&out.stdout).to_string() +} + +fn cc_present() -> bool { + Command::new("cc").arg("--version").output().map(|o| o.status.success()).unwrap_or(false) +} + +const HOLDER: &str = r#" +module P { + struct Holder { f : [4]u8, g : i32, } + fn probe(h: Holder) -> i32 { return h.g; } +} +"#; + +#[test] +fn a_fixed_array_field_is_storage_not_a_pointer() { + let d = dir("text"); + let h = gen("gen-c", HOLDER, &d); + assert!( + h.contains("uint8_t f[4];"), + "the field must declare four bytes of storage:\n{h}" + ); + assert!( + !h.contains("uint8_t* f;"), + "and must not be a pointer:\n{h}" + ); +} + +#[test] +fn the_c_struct_is_the_size_the_other_backends_give_it() { + // The assertion that the text one cannot make. `uint8_t* f` and + // `uint8_t f[4]` both LOOK like a four-byte field in a diff; only the + // number distinguishes them, and it was 16 against 8. + if !cc_present() { + eprintln!("SKIP the_c_struct_is_the_size_the_other_backends_give_it: no cc on PATH"); + return; + } + let d = dir("size"); + let h = gen("gen-c", HOLDER, &d); + let hp = d.join("h.h"); + std::fs::write(&hp, &h).expect("write header"); + let cp = d.join("m.c"); + std::fs::write( + &cp, + format!( + "#include \"{}\"\n#include \nint main(void){{ printf(\"%zu\\n\", sizeof(Holder)); return 0; }}\n", + hp.display() + ), + ) + .expect("write main"); + let bin = d.join("m.bin"); + let out = Command::new("cc") + .args(["-std=c11", "-o"]) + .arg(&bin) + .arg(&cp) + .output() + .expect("run cc"); + assert!( + out.status.success(), + "the generated struct must compile:\n{}", + String::from_utf8_lossy(&out.stderr) + ); + let run = Command::new(&bin).output().expect("run"); + let size: usize = String::from_utf8_lossy(&run.stdout).trim().parse().expect("a number"); + assert_eq!( + size, 8, + "four inline bytes plus an i32 is 8; a pointer plus an i32 was 16" + ); +} + +#[test] +fn a_slice_field_stays_a_pointer() { + // The negative control. `[]u8` has no compile-time length, so a pointer IS + // the intended lowering -- and a rewrite that turned every array-looking + // field into storage would pass the positive test above. + let d = dir("slice"); + let h = gen( + "gen-c", + "module P {\n struct S { f : []u8, g : i32, }\n fn probe(s: S) -> i32 { return s.g; }\n}\n", + &d, + ); + assert!( + h.contains("uint8_t* f;"), + "a slice field must keep the pointer lowering:\n{h}" + ); +} + +#[test] +fn a_zero_length_field_stays_a_pointer() { + // `uint8_t f[0];` inside a struct is a GCC extension, not standard C. + let d = dir("zero"); + let h = gen( + "gen-c", + "module P {\n struct S { f : [0]u8, g : i32, }\n fn probe(s: S) -> i32 { return s.g; }\n}\n", + &d, + ); + assert!(!h.contains("f[0];"), "a zero-length array field must not be emitted:\n{h}"); + if cc_present() { + let hp = d.join("z.h"); + std::fs::write(&hp, &h).expect("write"); + let out = Command::new("cc") + .args(["-std=c11", "-Wall", "-Wextra", "-Wno-unused-parameter", "-fsyntax-only", "-x", "c"]) + .arg(&hp) + .output() + .expect("cc"); + assert!( + !String::from_utf8_lossy(&out.stderr).contains("error"), + "and the header must still compile:\n{}", + String::from_utf8_lossy(&out.stderr) + ); + } +} + +#[test] +fn a_nested_array_field_keeps_both_dimensions() { + // `[2][3]u8` used to emit `[3]u8* f` -- t27 syntax inside a C header, + // which does not parse at all (#3443). Two dimensions is ordinary C. + let d = dir("nested"); + let h = gen( + "gen-c", + "module P {\n struct S { f : [2][3]u8, g : i32, }\n fn probe(s: S) -> i32 { return s.g; }\n}\n", + &d, + ); + assert!( + h.contains("uint8_t f[2][3];"), + "both dimensions must survive:\n{h}" + ); +} + +#[test] +fn the_parameter_position_is_untouched() { + // The narrowing is load-bearing: a parameter wants `T x[static N]`, which + // is what carries the caller-side check (#3435). A field rewrite that + // leaked into parameters would silently undo it. + let d = dir("param"); + let h = gen( + "gen-c", + "module P {\n fn f(a: [4]u8) -> u8 { return a[0]; }\n}\n", + &d, + ); + assert!( + h.contains("uint8_t a[static 4]"), + "a parameter keeps [static N]:\n{h}" + ); +} + +#[test] +fn the_rust_spelling_field_keeps_its_own_by_value_struct() { + // `[u8; 4]` in a field already had an answer -- the hoisted + // `t27_arr_uint8_t_4` value struct -- and this change must not take it + // over. The position was uncovered: a mutant deleting the `;` guard in + // `c_array_field` SURVIVED the rest of this file, because the emptiness + // check happens to catch that spelling too. The guard is therefore + // redundant TODAY and kept as intent; this test is what actually pins the + // behaviour. + let d = dir("rustspelling"); + let h = gen( + "gen-c", + "module P {\n struct S { f : [u8; 4], g : i32, }\n fn probe(s: S) -> i32 { return s.g; }\n}\n", + &d, + ); + assert!( + h.contains("t27_arr_uint8_t_4 f;"), + "the Rust spelling keeps its by-value struct field:\n{h}" + ); + assert!( + !h.contains("uint8_t f[4];"), + "and must not be rewritten as a raw array by the [N]T path:\n{h}" + ); +} diff --git a/docs/now/2026-09-08-a-field-that-held-no-storage.md b/docs/now/2026-09-08-a-field-that-held-no-storage.md new file mode 100644 index 000000000..86198cdb2 --- /dev/null +++ b/docs/now/2026-09-08-a-field-that-held-no-storage.md @@ -0,0 +1,10 @@ +# NOW -- A field that held no storage (2026-09-08) + +## A field that held no storage (Closes #3446, Refs #3445, #3443) + +- The parity table covered PARAMETER position only. Extending it to return and field position found two more defects in one run, and both were invisible to the first table. `struct Holder { f : [4]u8, g : i32 }` reached C as `uint8_t* f;` -- the field held **no storage at all**, so `h.f[0] = 1` wrote through an uninitialised pointer, and the same struct measured **16 bytes in C against 8 in Rust and Zig**. Measured by compiling and printing `sizeof`, not inferred. Three backends agreed and C was alone. **65 fields across 31 specs.** +- Return position is the second, and it is worse in kind: `fn probe(v: i32) -> [4]u8` emits `uint8_t* probe(...)` returning a stack local -- `warning: address of stack memory associated with local variable 'a' returned`, **18 sites in 14 files**. Filed as #3445 rather than fixed, because the obvious repair was tried and MEASURED WORSE: normalising `[N]T` to the `[T; N]` machinery took errors 3849 → **3878** and compiling files 296 → **287**, since the type moves to a struct while the indexing and the call sites do not. Built, measured, reverted; the numbers are in the issue. +- The field repair is the narrow one and it holds: errors **3849 → 3825**, files that compile **296 → 301**. Per file: **six better, one worse**. The one regression is named rather than netted away -- `zamolodchikov_4d_conjecture` gains one error because a field that is now a real array is initialised from a function returning `double*`, which is #3445 becoming visible. Five files go from failing to clean. +- Three positions, three answers, and the narrowing is the design: a parameter wants `T x[static N]` (the spelling that checks the caller, #3435), a field wants `T f[N]`, and a return cannot be an array in C at all. +- **A mutant survived and is written down rather than papered over.** Deleting the `;` guard in `c_array_field` changes nothing any test catches: `[u8; 4]` reaches the emptiness check anyway. The guard is redundant TODAY, is kept as intent, and the position now has its own test. Four other mutants died. +- Two candidates were refuted before publication, one per pass now: enum width in Verilog is 32 in BOTH Verilog paths, so `HwType::Enum`'s 1-bit computation is not a disagreement between them and there is no finding. The other was `[]const u8` last pass. diff --git a/tools/backend_parity_table.py b/tools/backend_parity_table.py index 040735609..eff6796a5 100755 --- a/tools/backend_parity_table.py +++ b/tools/backend_parity_table.py @@ -27,7 +27,8 @@ mapping for its key type. A table proposes; it does not conclude. Usage: - tools/backend_parity_table.py print the table + tools/backend_parity_table.py all three positions + tools/backend_parity_table.py return field only those positions tools/backend_parity_table.py --self-check negative control Exit codes: @@ -43,6 +44,8 @@ ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +POSITIONS = ("param", "return", "field") + # One row per declaration form. Kept deliberately small and hand-chosen: the # point is a page a person reads, not exhaustive coverage of the type surface. FORMS = [ @@ -86,32 +89,78 @@ def t27c() -> str: sys.exit(2) -def row(binary: str, form: str) -> dict: +BODY = { + "param": " fn probe(x: {t}) -> i32 {{ return 0; }}\n", + "return": " fn probe(v: i32) -> {t} {{ return 0; }}\n", + "field": (" struct Holder {{ f : {t}, g : i32, }}\n" + " fn probe(h: Holder) -> i32 {{ return h.g; }}\n"), +} + +# One pattern per (position, backend). Three positions, because the same +# declaration gets three different answers and the parameter table alone hid +# two defects: a fixed-array RETURN gave `uint8_t*` to a stack local +# (-Wreturn-stack-address, 18 sites in 14 files, #3445) and a fixed-array FIELD +# gave a pointer with no storage, making one struct 16 bytes in C and 8 in Rust +# (65 fields in 31 specs, #3446). +POS_PATTERNS = { + "param": PATTERNS, + "return": { + "C": r"^([\w \*]+?)\s+probe\(", + "Rust": r"^pub fn probe\([^)]*\)\s*->\s*([^{\n]+)", + "Zig": r"^(?:pub )?fn probe\([^)]*\)\s*([^{\n]+)", + "Verilog": r"function\s+([^;\n]*?)\s*\bprobe;", + }, + "field": { + "C": r"struct Holder \{[^}]*?\n\s*([^\n;]*\bf(?:\[[^\]]*\])*)\s*;", + "Rust": r"pub struct Holder \{[^}]*?\n\s*(pub f:[^,\n]*)", + "Zig": r"(?:pub )?const Holder = (?:extern |packed )?struct \{[^}]*?\n\s*(f:[^,\n]*)", + # A struct has TWO Verilog shapes and the first pattern only knew one. + # When every field is lowerable the struct becomes one packed vector and + # a comment states its width; otherwise each field gets its own `reg`, + # under a comment saying the struct is unsupported. Matching only the + # packed form printed "(NOT MATCHED)" for six rows -- which reads as a + # finding and was a gap in this file. + # `(?im)` may not appear mid-pattern -- Python raises + # "global flags not at the start of the expression". re.M is already + # passed at the call site, and nothing here needs case folding. + "Verilog": (r"^\s*//\s*struct Holder (lowered[^\n]*)$" + r"|^\s*(reg[^\n;]*\bholder_f\b[^\n;]*);"), + }, +} + + +def row(binary: str, form: str, position: str = "param") -> dict: d = tempfile.mkdtemp() p = os.path.join(d, "p.t27") with open(p, "w", encoding="utf-8") as fh: - fh.write(HEAD + f" fn probe(x: {form}) -> i32 {{ return 0; }}\n}}\n") + fh.write(HEAD + BODY[position].format(t=form) + "}\n") out = {} for label, cmd in BACKENDS: text = subprocess.run([binary] + cmd + [p], capture_output=True, text=True).stdout if not text.strip(): out[label] = "(no output)" continue - m = re.search(PATTERNS[label], text, re.M) - out[label] = m.group(1).strip() if m else "(NOT MATCHED)" + m = re.search(POS_PATTERNS[position][label], text, re.M | re.S) + got = next((g for g in m.groups() if g), None) if m else None + out[label] = re.sub(r"\s+", " ", got).strip() if got else "(NOT MATCHED)" return out def self_check(binary: str) -> int: - """Every backend must answer for a plain `u8`, and each answer must differ - from the others' spelling. Without this, a table of "(NOT MATCHED)" reads - exactly like a table of real findings.""" - r = row(binary, "u8") + """Every backend must answer for a plain `u8`, in every position. + + Without this a table of "(NOT MATCHED)" reads exactly like a table of real + findings -- and it did: the first Verilog column was empty in every row + because the declaration ends `probe; // -> i32` and the pattern demanded a + newline right after `probe;`. A failure of this file, printed as a fact + about the backend.""" ok = True - for label, _ in BACKENDS: - good = r[label] not in ("(no output)", "(NOT MATCHED)") - print(f" {label:8} on u8 -> {r[label]!r} {'PASS' if good else 'FAIL'}") - ok &= good + for position in POSITIONS: + r = row(binary, "u8", position) + for label, _ in BACKENDS: + good = r[label] not in ("(no output)", "(NOT MATCHED)") + print(f" {position:7} {label:8} on u8 -> {r[label]!r} {'PASS' if good else 'FAIL'}") + ok &= good return 0 if ok else 2 @@ -120,16 +169,20 @@ def main() -> int: if "--self-check" in sys.argv: return self_check(binary) - rows = [(f, row(binary, f)) for f in FORMS] + wanted = [a for a in sys.argv[1:] if a in POSITIONS] or list(POSITIONS) + widths = {"C": 26, "Rust": 22, "Zig": 18, "Verilog": 30} w = max(len(f) for f in FORMS) - widths = {"C": 26, "Rust": 22, "Zig": 18, "Verilog": 26} - header = "t27 form".ljust(w) + " | " + " | ".join(l.ljust(widths[l]) for l, _ in BACKENDS) - print(header) - print("-" * len(header)) - for form, r in rows: - cells = [r[l][: widths[l]].ljust(widths[l]) for l, _ in BACKENDS] - print(form.ljust(w) + " | " + " | ".join(cells)) - print() + for position in wanted: + header = f"{position} position".ljust(w) + " | " + " | ".join( + l.ljust(widths[l]) for l, _ in BACKENDS + ) + print(header) + print("-" * len(header)) + for form in FORMS: + r = row(binary, form, position) + cells = [r[l][: widths[l]].ljust(widths[l]) for l, _ in BACKENDS] + print(form.ljust(w) + " | " + " | ".join(cells)) + print() print("A reader, not a gate. A row whose columns disagree is a QUESTION;") print("three of the five known divergences needed a real compiler to settle,") print("and one candidate was refuted by reading the compiler's own comments.")