docs: design specs for graph utilization gaps (description generation + text2sql) - #77
docs: design specs for graph utilization gaps (description generation + text2sql)#77mingjerli wants to merge 2 commits into
Conversation
…ration and text2sql
|
I reviewed both design specs against the current source and ran focused pipeline probes. I found four assumptions to tighten before implementation:
The overall phase split is workable once these correctness cases are specified. |
- D1: dispatch source prompts on table_graph is_source, not is_computed() - T1/shared: resolve one capped table set for schema, graph context, notes - T3: USING joins only with single-table left input; chained-USING test - T3: candidates require identity-preserving paths via edge_type allowlist
|
Addressed all four points in the latest commit:
|
|
Closing — the specs served their purpose during implementation (superseded by PR #78, which implements all 9 features); design docs not needed in the repo. |
Summary
Adds two design documents specifying fixes for gaps where the LLM-facing features underuse the lineage graph:
plans/DESIGN_DESCRIPTION_GENERATION_GRAPH_GAPS.md— 4 specs (D1–D4): source-column cold start (forward-usage prompts behind an opt-ininclude_sourcesflag), replacing O(V·E) edge scans with the existing_incoming_index, a newDescriptionSource.FALLBACKstate so rule-based placeholders are distinguishable/retryable and excluded from downstream prompts, and unifying target-table resolution with metadata propagation so terminal SELECTs get descriptions.plans/DESIGN_TEXT2SQL_GRAPH_CONTEXT.md— 5 specs (T1–T5): column lineage in defaultdirectmode, transitive (depth-configurable) lineage expansion, join-key surfacing (observed joins from query ASTs + candidate joins from shared lineage sources), final/intermediate/source table role annotation with truncation priority, and a graph-aware keyword-selection fallback.Each spec includes problem statement with
file:linereferences, design, test cases, risks, and a phase ordering.Note:
plans/is in.gitignore(line 224) — the existing design docs there are local-only. These two files are force-added (git add -f) per explicit request; ifplans/should stay private, close this and they can move to a tracked location instead.Test plan
make pre-commitpassed (ruff format/lint clean)🤖 Generated with Claude Code
https://claude.ai/code/session_01MCAw3ceZaN7roTDpAuUtYF