Fission

Source Semantic Feature-Shape Canaries

manifests/feature_shape_canaries.json is a focused source-owned advisory suite for quickly checking whether semantic benchmark output still preserves important source shapes.

[!TIP] Run this suite before the full source-owned corpus when you want a fast first-pass answer to: “did this change break a recognizable semantic shape?”

It intentionally reuses checked-in source/binary pairs instead of adding new compiled artifacts. That keeps the canary cheap to review and safe to run on any checkout that already supports the source semantic benchmark corpus.

What it covers

The suite groups existing fixtures by semantic shape rather than architecture alone:

The manifest uses explicit behavior_cases so supported side-effect functions compare observable behavior through arrays or global sinks instead of relying only on static text similarity.

Run

python3 benchmark/source_semantic_benchmark/run_source_semantic_benchmark.py \
  --manifest benchmark/source_semantic_benchmark/manifests/feature_shape_canaries.json \
  --fission-bin target/release/fission_cli \
  --timeout-sec 45 \
  --jobs 1 \
  --output-dir benchmark/artifacts/source_semantic_benchmark/feature-shape-canaries-latest
Diagnosis-focused run with debug materialization Use this when a row regresses or when the summary points to a low-scoring semantic shape. It materializes the existing CLI debug surfaces next to the benchmark artifacts. ```bash python3 benchmark/source_semantic_benchmark/run_source_semantic_benchmark.py \ --manifest benchmark/source_semantic_benchmark/manifests/feature_shape_canaries.json \ --fission-bin target/release/fission_cli \ --timeout-sec 45 \ --jobs 1 \ --include-debug-decomp \ --materialize-debug-triage \ --output-dir benchmark/artifacts/source_semantic_benchmark/feature-shape-canaries-debug-latest ``` Start with: - `debug_triage/` for materialized `decomp`, `disasm`, `xrefs`, and `inventory function-facts` captures - `source_semantic_summary.md` for low-score repro commands - `source_semantic_rows.json` for row-level owner/debug fields

Reading results

Start with:

Useful first-pass signals:

[!IMPORTANT] This suite is advisory. It is intended to make regressions easy to see before promoting any source-semantic lane to a release-blocking gate.