From e59e1c1fab38e368328debdc6cfc4a9197d2dc26 Mon Sep 17 00:00:00 2001 From: SSD DDD Date: Sun, 9 Aug 2026 06:50:43 +0700 Subject: [PATCH] ci(icarus-kat): add 6 runtime-divergence specs to the GF-T Verilog gate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unlocked by t27#1991 (test-block call temps re-materialized after a rebinding). The `st = op(st)` repeated-step pattern no longer reuses a stale CSE snapshot on the Verilog path, so these specs' test blocks now execute correctly under Icarus: congestion_control, flow_control, network_simulator, production_scenarios, quarantine_manager, traffic_animator icarus gate 99 -> 105. Only 2 runtime divergences remain out: link_quality_monitor (signed-i8 vs unsigned-const comparison lowering) and rti_security (a spec-side assertion arithmetic bug, fails under Rust/Zig/C too -- not a codegen issue). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- .github/workflows/gft-verilog-kat.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/gft-verilog-kat.yml b/.github/workflows/gft-verilog-kat.yml index 1221cdd1..d619d12f 100644 --- a/.github/workflows/gft-verilog-kat.yml +++ b/.github/workflows/gft-verilog-kat.yml @@ -16,9 +16,17 @@ on: # too, so a codegen or spec regression on the hardware side cannot land # silently. Requires t27c >= gHashTag/t27#1885 (assert lowering). # -# Sweep result (2026-08-09 wave 48): 99 specs simulate clean; every spec in the -# corpus compiles under Icarus (0 compile-error specs). The 8 out of the gate -# are runtime divergences only. After the array +# Sweep result (2026-08-09 wave 49): 105 specs simulate clean; every spec in the +# corpus compiles under Icarus (0 compile-error specs). Only 2 runtime +# divergences remain out of the gate: link_quality_monitor (Verilog does an +# unsigned comparison where a signed i8 operand meets an unsigned const -- +# needs signed-lowering) and rti_security (a spec-side arithmetic assertion bug +# that also fails under Rust/Zig/C, not a codegen issue). The batch of 6 joining +# here (congestion_control, flow_control, network_simulator, +# production_scenarios, quarantine_manager, traffic_animator) was unlocked by +# t27#1991: test-block call temps are re-materialized after a rebinding, so the +# `st = op(st)` repeated-step pattern no longer reused a stale CSE snapshot. +# After the array # chain (t27#1952/#1953), the SystemVerilog keyword class fell (t27#1957/#1958): # spec identifiers named bit/byte/priority/sequence/table reached Icarus as # keywords via raw declaration and part-select emissions. Remaining out: 31 compile-error specs (typed @@ -65,7 +73,7 @@ jobs: run: | T27C=../t27/target/release/t27c STATUS=0 - for spec in tri_gft_add tri_gft_sub tri_gft_ladder tri_gft_arith tri_a2a tri_a2a_card tri_a2a_wire tri_challenge tri_compute_account tri_compute_bitnet tri_compute_bond tri_compute_challenge tri_compute_gfvalid tri_compute_optimistic tri_compute_payout tri_compute_pool tri_compute_receipt tri_compute_reputation tri_compute_safety tri_compute_settle tri_depin tri_fec tri_ilv tri_ledger tri_merkle tri_node_identity tri_receipt_verify tri_settle tri_sha256 tri_slash adaptive_retry area_optimization compression_engine crypto_frame discovery docs_generator etx frame_buffer gf16_format hardware_validation link_statistics modem_frame network_analytics network_metrics packet_queue performance_benchmarks performance_profiler routing_etx rti_alert self_healing test_framework test_validator timer timing_closure topology_visualizer transport_tx_fsm twr_timestamp video_bridge wire access_control adaptive_routing energy_aware_routing failure_predictor health_monitoring key_management multipath_routing network_coding redundancy_management trust_manager bandwidth_allocator byte_utils crc16 fault_detection pattern_predictor power_monitoring production_deployment resource_scheduler load_predictor anomaly_detector auto_config cache_management health_dashboard local_processing network_orchestrator integration_framework api_documenter multipath_router olsr_routing fpga_synthesis_report hello integration_tests lite_crypto mesh_routing packet_loss_injection mesh_node_sim mesh_protocol_stack cross_layer_optimizer m3_multihop swarm_coordinator; do + for spec in tri_gft_add tri_gft_sub tri_gft_ladder tri_gft_arith tri_a2a tri_a2a_card tri_a2a_wire tri_challenge tri_compute_account tri_compute_bitnet tri_compute_bond tri_compute_challenge tri_compute_gfvalid tri_compute_optimistic tri_compute_payout tri_compute_pool tri_compute_receipt tri_compute_reputation tri_compute_safety tri_compute_settle tri_depin tri_fec tri_ilv tri_ledger tri_merkle tri_node_identity tri_receipt_verify tri_settle tri_sha256 tri_slash adaptive_retry area_optimization compression_engine crypto_frame discovery docs_generator etx frame_buffer gf16_format hardware_validation link_statistics modem_frame network_analytics network_metrics packet_queue performance_benchmarks performance_profiler routing_etx rti_alert self_healing test_framework test_validator timer timing_closure topology_visualizer transport_tx_fsm twr_timestamp video_bridge wire access_control adaptive_routing energy_aware_routing failure_predictor health_monitoring key_management multipath_routing network_coding redundancy_management trust_manager bandwidth_allocator byte_utils crc16 fault_detection pattern_predictor power_monitoring production_deployment resource_scheduler load_predictor anomaly_detector auto_config cache_management health_dashboard local_processing network_orchestrator integration_framework api_documenter multipath_router olsr_routing fpga_synthesis_report hello integration_tests lite_crypto mesh_routing packet_loss_injection mesh_node_sim mesh_protocol_stack cross_layer_optimizer m3_multihop swarm_coordinator congestion_control flow_control network_simulator production_scenarios quarantine_manager traffic_animator; do echo "== ${spec}" if ! $T27C icarus-simulate specs/${spec}.t27 | tee /tmp/${spec}.simlog; then echo "::error file=specs/${spec}.t27::icarus-simulate failed for specs/${spec}.t27"