graph_interp follow-up: DSL, PMI, dead code cleanup#432
Closed
ocg-goodfire wants to merge 11 commits intodevfrom
Closed
graph_interp follow-up: DSL, PMI, dead code cleanup#432ocg-goodfire wants to merge 11 commits intodevfrom
ocg-goodfire wants to merge 11 commits intodevfrom
Conversation
Three-phase pipeline using attribution graph structure: - Output pass (late→early): "What does this component DO?" - Input pass (early→late): "What TRIGGERS this component?" - Unification: synthesizes both into a single label Includes GraphInterpDB (SQLite via open_nfs_sqlite — NFS-safe, no WAL), GraphInterpRepo, CLI (spd-graph-interp), prompt construction with attribution edges and activation examples. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- export_html.py is unneeded - DONE_MARKER imported from autointerp.db instead of redeclared Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
subrun_id generation moved to run_slurm.py (the only caller). The worker script now requires it explicitly — no hidden auto-generation. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
No more implicit "use most recent" — callers must specify which harvest data to use. Removes hidden state dependency. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…firing - Add get_pmi() point-lookup to harvest/analysis.py - Replace _build_cofiring_lookup (top-k query + manual join) with direct get_pmi() per attributed component - Drop jaccard from RelatedComponent (PMI is more informative) - Update prompt to show co-firing PMI instead of Jaccard - RelatedComponent: 6 fields → 5, removed jaccard/pmi split Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The point-lookup lives on the data it operates on. Removes the free function from analysis.py. graph_context now calls correlation_storage.pmi(key_a, key_b) directly. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- run_slurm_cli.py: add required harvest_subrun_id param (was crashing) - Delete: save_config + config table, get_completed_output/input_keys, is_later_layer — all unused - Unification: pre-filter skipped keys so progress bar count is accurate (was showing x/500 when only 400 calls made) Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…rings Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Atomic unit is now a block, not a line. build() joins with \n\n. bullet() → bullets() taking a list (consecutive bullets = one block). blank() removed — block separation is automatic. Optional sections just work without manual spacing. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Collaborator
Author
|
Folding into PR3 (#431) instead |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Post-merge improvements to graph_interp (after #427 squash-merged):
spd/graph_interp/markdown.py) — block-based builder, replaces f-string soup in promptsCorrelationStorage.pmi()method (dropped jaccard, top-k cofiring)_save_edgeswrappersubrun_idandharvest_subrun_idrequired (no implicit generation)export_html.py,is_later_layer,save_config,get_completed_*_keys, config tableReview by Claude Code (Opus 4.6).