"""drop write-path uses edges that cross projects Revision ID: 0126 Revises: 0125 Create Date: 2026-10-26 The write path records a `uses` edge with basis `hook` when a session pulled a snippet and then wrote code naming its symbol. That is by-name evidence, like the proposer's `reference` edges 0125 removed, and a body never calls a function defined in another project's repository. The write path now applies the same by-name test, so it writes no such edge; this removes the ones it wrote before. Judged edges keep their own basis and are left alone. Downgrade restores nothing: the removed edges were never facts. """ from alembic import op revision = "0126" down_revision = "0125" branch_labels = None depends_on = None def upgrade() -> None: op.execute( "DELETE FROM code_shape_uses u USING code_shapes s, notes n " "WHERE u.shape_id = s.id AND u.snippet_id = n.id " "AND u.basis = 'hook' " "AND n.project_id IS NOT NULL AND n.project_id <> s.project_id" ) def downgrade() -> None: pass