Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions .github/workflows/gft-verilog-kat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@ 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 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,
# Sweep result (2026-08-09 wave 50): 106 specs simulate clean; every spec in the
# corpus compiles under Icarus (0 compile-error specs). Only 1 spec remains out
# of the gate: rti_security -- and that is a spec-side arithmetic assertion bug
# (3*100+10*10+200 asserted == 700, should be 600) that also fails under
# Rust/Zig/C, NOT a codegen issue. link_quality_monitor joins here, unlocked by
# t27#1994 (signed-aware ordered comparison): Verilog was doing an unsigned
# comparison where a signed i8 operand met an unsigned const (-16 read as 240);
# it now compares in the signed domain with C-promotion semantics. The batch of
# 6 in wave 49 (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.
Expand Down Expand Up @@ -73,7 +75,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 congestion_control flow_control network_simulator production_scenarios quarantine_manager traffic_animator; 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 link_quality_monitor; 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"
Expand Down
Loading