Skip to content

Go: package-level constants and variables become nodes - #3098

Open
ehrlichandreas wants to merge 1 commit into
Graphify-Labs:v8from
ehrlichandreas:go-value-nodes
Open

Go: package-level constants and variables become nodes#3098
ehrlichandreas wants to merge 1 commit into
Graphify-Labs:v8from
ehrlichandreas:go-value-nodes

Go: package-level constants and variables become nodes

7ebde5b
Select commit
Loading
Failed to load commit list.
Graphify Labs / Graphify Formal Verification completed Aug 25, 2026 in 0s

Behavior change detected in 2 function(s)

Compared 91f4d120b630ee35c79bf3c75ccd186870a808f9 (base) against 7ebde5bc6c98f6820279d2e542b2e240f32f763e (head).

Covered 9/88 changed functions (16 abstained, 63 never run)

equivalent (proved) distinguished may-equivalent (sampled) unsupported error
0 2 7 16 0

63 function(s) beyond the cap and 0 skipped when the budget ran out.

  • graphify/\_\_init\_\_\.py · __getattr__: distinguished (reproduced) — CrossHair found a concrete input where the versions differ (sound counterexample — verified by actually running both) · input \{"name":"'save\_query\_result'"\}raises AttributeError vs \<function save\_query\_result at 0x7f0a88d89620\>
  • graphify/analyze\.py · _is_file_node: unsupported — non-vacuity: domain too small (only 1 distinct inputs exercised, need 3) — 'no divergence' would be near-vacuous
  • graphify/analyze\.py · _surprise_score: unsupported — not verifiable: all 200 sampled inputs raised on both versions — the function never executed, so 'no divergence' would be vacuous (mostly TypeError — names the real obstacle, not a sampling gap)
  • graphify/analyze\.py · graph_diff: unsupported — not verifiable: the input domain has 25 values but only 5 distinct were tested — a small finite domain must be EXHAUSTED, not sampled (an untested input could invert the result)
  • graphify/analyze\.py · suggest_questions: unsupported — not verifiable: all 200 sampled inputs raised on both versions — the function never executed, so 'no divergence' would be vacuous (mostly ValueError — names the real obstacle, not a sampling gap)
  • graphify/benchmark\.py · print_benchmark: unsupported — not verifiable: all 6 sampled inputs raised on both versions — the function never executed, so 'no divergence' would be vacuous (mostly KeyError — names the real obstacle, not a sampling gap)
  • graphify/benchmark\.py · run_benchmark: distinguished (reproduced) — a concrete input makes the two versions disagree at runtime · input \{"graph\_path":"None","corpus\_words":"None","questions":"None"\}raises TypeError vs \{'corpus\_tokens': 1019066, 'corpus\_words': 764300, 'nodes': 15286, 'edges':…
  • graphify/build\.py · build: unsupported — not verifiable: all 9 sampled inputs raised on both versions — the function never executed, so 'no divergence' would be vacuous (mostly AttributeError — names the real obstacle, not a sampling gap)
  • graphify/build\.py · build_from_json: unsupported — not verifiable: all 6 sampled inputs raised on both versions — the function never executed, so 'no divergence' would be vacuous (mostly NameError — names the real obstacle, not a sampling gap)
  • graphify/cache\.py · cache_dir: unsupported — parameter `root` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cache\.py · cached_files: unsupported — parameter `root` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cache\.py · check_semantic_cache: unsupported — parameter `root` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cache\.py · clear_cache: unsupported — parameter `root` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cache\.py · file_hash: unsupported — parameter `path` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cache\.py · load_cached: unsupported — parameter `path` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cache\.py · save_cached: unsupported — parameter `path` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cache\.py · save_semantic_cache: unsupported — parameter `root` is annotated `Path` — outside the synthesizable primitive/collection set
  • graphify/cluster\.py · cluster: unsupported — non-vacuity: domain too small (only 2 distinct inputs exercised, need 3) — 'no divergence' would be near-vacuous

Backend availability notices:

  • 12 changed test function(s) excluded from verification (a test is the oracle, not the subject)
  • none of the 0 changed id(s) matched a code node in the graph (8763 known) — 100 changed function(s) recovered directly from the git diff instead (graph may be stale/unsynced; consider a rebuil…

Formal verification is advisory: equivalent is a proof over a bounded sound subset; may_equivalent is sampled, not proven; unsupported and error are honest abstentions.