Description
graphify extract supports PostgreSQL-only extraction without a filesystem path, but that path crashes before PostgreSQL introspection because the shared detection result has not been initialized.
Reproduction
graphify extract --postgres=postgresql://example@127.0.0.1:1/db --no-cluster --out output
On current v8 (edec9eab), this raises:
UnboundLocalError: cannot access local variable 'detection' where it is not associated with a value
The same control-flow problem affects the spaced --postgres <dsn> form. The failure occurs before the database connection or introspection attempt.
Expected behavior
A PostgreSQL-only extraction should treat filesystem detection as empty, preserve semantic cache state, and continue to PostgreSQL introspection. If the DB-only graph replaces a filesystem graph, its now-stale file manifest must be invalidated so a later filesystem extraction rebuilds those nodes.
Description
graphify extractsupports PostgreSQL-only extraction without a filesystem path, but that path crashes before PostgreSQL introspection because the shared detection result has not been initialized.Reproduction
On current
v8(edec9eab), this raises:The same control-flow problem affects the spaced
--postgres <dsn>form. The failure occurs before the database connection or introspection attempt.Expected behavior
A PostgreSQL-only extraction should treat filesystem detection as empty, preserve semantic cache state, and continue to PostgreSQL introspection. If the DB-only graph replaces a filesystem graph, its now-stale file manifest must be invalidated so a later filesystem extraction rebuilds those nodes.