Skip to content

Remove faulty GitHub Actions Workflow for Python, fix: resolve explain-ambiguity - #2264

Open
FolatheDuckofDuckingburg wants to merge 27 commits into
Graphify-Labs:v8from
FolatheDuckofDuckingburg:jules-12051165530568688589-1fd6de31
Open

Remove faulty GitHub Actions Workflow for Python, fix: resolve explain-ambiguity#2264
FolatheDuckofDuckingburg wants to merge 27 commits into
Graphify-Labs:v8from
FolatheDuckofDuckingburg:jules-12051165530568688589-1fd6de31

feat(install): add native windsurf configuration management

f160651
Select commit
Loading
Failed to load commit list.
Graphify Labs / Graphify succeeded Jul 28, 2026 in 0s

Graphify — looks good

Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).

Details

Graphify reviewed this change.

Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).


Graphify review — findings

This PR appears to be a rollback/pruning change. It deletes the .github/workflows/publish.yml GitHub Actions workflow that handled trusted publishing to PyPI, and truncates the CHANGELOG.md by removing a large block of recent version entries (0.9.26 through 0.9.29 and beyond). The changed-symbols list also indicates edits across many test files, skill/skillgen fixtures, and rationale/graph-related modules. Reviewers should focus on whether removing the PyPI publish workflow and the associated changelog history is intentional, and check the surface area across the touched tests, skill generation fixtures, and graph extraction/rationale code paths.

No blocking issues surfaced. 1 lower-confidence candidate did not survive cross-model review.

Analysis details — impact, health, verification

Impact & health

graphify review

Impact — 6716 function(s) in the blast radius of 5990 changed node(s).

Health — regressions introduced by this change:

  • worsened (Ca·Ce 158→7011): main() (Ca=57 Ce=123) — fans out to 123 callees (efferent coupling); 57 callers depend on it (afferent coupling)
  • new offender: _extract_generic() (Ca=18 Ce=14) — fans out to 14 callees (efferent coupling); 18 callers depend on it (afferent coupling)
  • new offender: to_html() (Ca=17 Ce=8) — fans out to 8 callees (efferent coupling); 17 callers depend on it (afferent coupling)
  • new offender: install() (Ca=12 Ce=11) — fans out to 11 callees (efferent coupling); 12 callers depend on it (afferent coupling)
  • new offender: _resolve_js_module_path() (Ca=29 Ce=4) — 29 callers depend on it (afferent coupling)
  • new offender: extract_objc() (Ca=26 Ce=4) — 26 callers depend on it (afferent coupling)
  • new offender: codebuddy_install() (Ca=21 Ce=4) — 21 callers depend on it (afferent coupling)
  • new offender: extract_bash() (Ca=19 Ce=4) — 19 callers depend on it (afferent coupling)
  • worsened (Ca·Ce 25→76): _score_nodes() (Ca=19 Ce=4) — 19 callers depend on it (afferent coupling)
  • worsened (Ca·Ce 60→70): extract_vue() (Ca=10 Ce=7) — fans out to 7 callees (efferent coupling); 10 callers depend on it (afferent coupling)
  • new offender: gemini_install() (Ca=11 Ce=6) — fans out to 6 callees (efferent coupling); 11 callers depend on it (afferent coupling)
  • new offender: extract_fortran() (Ca=14 Ce=4) — 14 callers depend on it (afferent coupling)
  • new offender: extract_json() (Ca=13 Ce=4) — 13 callers depend on it (afferent coupling)
  • new offender: _collect_js_symbol_resolution_facts() (Ca=2 Ce=25) — fans out to 25 callees (efferent coupling)
  • new offender: extract_go() (Ca=16 Ce=3) — 16 callers depend on it (afferent coupling)
  • new offender: extract_julia() (Ca=15 Ce=3) — 15 callers depend on it (afferent coupling)
  • new offender: extract_rust() (Ca=15 Ce=3) — 15 callers depend on it (afferent coupling)
  • new offender: claude_install() (Ca=15 Ce=3) — 15 callers depend on it (afferent coupling)
  • new offender: extract_dm() (Ca=14 Ce=3) — 14 callers depend on it (afferent coupling)
  • new offender: extract_pascal() (Ca=14 Ce=3) — 14 callers depend on it (afferent coupling)
  • new offender: extract_powershell() (Ca=14 Ce=3) — 14 callers depend on it (afferent coupling)
  • new offender: _project_uninstall() (Ca=3 Ce=13) — fans out to 13 callees (efferent coupling)
  • new offender: _project_install() (Ca=3 Ce=12) — fans out to 12 callees (efferent coupling)
  • worsened (Ca·Ce 30→36): extract_astro() (Ca=6 Ce=6) — fans out to 6 callees (efferent coupling); 6 callers depend on it (afferent coupling)
  • new offender: extract_verilog() (Ca=9 Ce=4) — 9 callers depend on it (afferent coupling)
  • new offender: _copy_skill_file() (Ca=12 Ce=3) — 12 callers depend on it (afferent coupling)
  • new offender: _agents_install() (Ca=7 Ce=5) — 7 callers depend on it (afferent coupling)
  • new offender: extract_apex() (Ca=14 Ce=2) — 14 callers depend on it (afferent coupling)
  • new offender: codebuddy_uninstall() (Ca=14 Ce=2) — 14 callers depend on it (afferent coupling)
  • new offender: extract_dmm() (Ca=6 Ce=4) — 6 callers depend on it (afferent coupling)
  • worsened (Ca·Ce 0→21): _agents_install() (Ca=21 Ce=1) — 21 callers depend on it (afferent coupling)
  • new offender: extract_markdown() (Ca=10 Ce=2) — 10 callers depend on it (afferent coupling)
  • new offender: extract_dmf() (Ca=6 Ce=3) — 6 callers depend on it (afferent coupling)
  • new offender: _resolve_js_import_target() (Ca=6 Ce=3) — 6 callers depend on it (afferent coupling)
  • new offender: extract_delphi_form() (Ca=9 Ce=2) — 9 callers depend on it (afferent coupling)
  • new offender: extract_sln() (Ca=9 Ce=2) — 9 callers depend on it (afferent coupling)
  • new offender: claude_uninstall() (Ca=9 Ce=2) — 9 callers depend on it (afferent coupling)
  • worsened (Ca·Ce 0→18): _pick_seeds() (Ca=9 Ce=2) — 9 callers depend on it (afferent coupling)
  • new offender: extract_dmi() (Ca=4 Ce=4) — high coupling complexity (Ca·Ce = 16)
  • new offender: extract_dart() (Ca=8 Ce=2) — 8 callers depend on it (afferent coupling)
  • new offender: extract_lazarus_form() (Ca=8 Ce=2) — 8 callers depend on it (afferent coupling)
  • new offender: _remove_skill_file() (Ca=16 Ce=1) — 16 callers depend on it (afferent coupling)
  • new offender: _agents_uninstall() (Ca=7 Ce=2) — 7 callers depend on it (afferent coupling)
  • new offender: gemini_uninstall() (Ca=7 Ce=2) — 7 callers depend on it (afferent coupling)
  • new offender: uninstall_all() (Ca=1 Ce=13) — fans out to 13 callees (efferent coupling)
  • worsened (Ca·Ce 10→12): extract_svelte() (Ca=2 Ce=6) — fans out to 6 callees (efferent coupling)
  • new offender: extract_sql() (Ca=4 Ce=3) — high coupling complexity (Ca·Ce = 12)
  • new offender: _resolve_tsconfig_alias() (Ca=4 Ce=3) — high coupling complexity (Ca·Ce = 12)
  • worsened (Ca·Ce 0→12): _install() (Ca=12 Ce=1) — 12 callers depend on it (afferent coupling)
  • new offender: _collect_python_symbol_resolution_facts() (Ca=1 Ce=10) — fans out to 10 callees (efferent coupling)
  • new offender: _extract_pascal_regex() (Ca=1 Ce=10) — fans out to 10 callees (efferent coupling)
  • new offender: _js_extra_walk() (Ca=1 Ce=6) — fans out to 6 callees (efferent coupling)
  • new offender: walk() (Ca=0 Ce=41) — fans out to 41 callees (efferent coupling)
  • new offender: walk_calls() (Ca=0 Ce=12) — fans out to 12 callees (efferent coupling)
  • new offender: walk() (Ca=0 Ce=6) — fans out to 6 callees (efferent coupling)
  • new offender: walk() (Ca=0 Ce=6) — fans out to 6 callees (efferent coupling)
  • new offender: walk() (Ca=0 Ce=6) — fans out to 6 callees (efferent coupling)

Verification — 6716 function(s) need re-proving (callee-first):
tools_skillgen_gen_write_artifacts → tools_skillgen_gen_v8_baseline_ref → tools_skillgen_gen_v8_available → tools_skillgen_gen_render_frontmatter → tools_skillgen_gen_normalise → tools_skillgen_gen_read_fragment → tools_skillgen_gen_render_core → tools_skillgen_gen_render_agents_md_hooks → tools_skillgen_gen_platform_reference_sources → tools_skillgen_gen_render …

Gate & verification

graphify gate

PASS — objectively clean (no health regressions, tests not run — proofs not enforced this run (re-run with --prove to verify the blast radius)). Grounded, not self-assessed.

Advisory (not blocking):

  • verification_scope: 6698 function(s) in blast radius — re-run with --prove to formally verify them