From 377e3d6d244d88ba521140409fb4f0ef412a0375 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 13 Apr 2026 20:18:40 +0000 Subject: [PATCH 1/2] docs: add E10 fishbone dependency diagram Mermaid diagram showing all 11 backlog items across 5 phases with cross-phase dependencies, critical path analysis, and parallel work opportunities. Includes external dependencies on #126, #127, #125. https://claude.ai/code/session_01JeKeVJrjYmR6HEc5UNkJRZ --- docs/diagrams/E10-fishbone-dependencies.md | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 docs/diagrams/E10-fishbone-dependencies.md diff --git a/docs/diagrams/E10-fishbone-dependencies.md b/docs/diagrams/E10-fishbone-dependencies.md new file mode 100644 index 000000000..acb63b734 --- /dev/null +++ b/docs/diagrams/E10-fishbone-dependencies.md @@ -0,0 +1,124 @@ +# Epic 10: NL-Assisted Catalog Discovery — Dependency Fishbone + +```mermaid +--- +title: "E10 Fishbone: Dependency Flow" +--- +graph LR + %% ── Spine: the goal ────────────────────────────────── + GOAL{{"E10\nNL-Assisted\nCatalog Discovery"}} + + %% ── Phase 0: Foundation ────────────────────────────── + subgraph P0["Phase 0 — Foundation"] + direction TB + B180(["#180 Platform Registry ✅"]) + B181(["#181 LinkML Schema Update"]) + B180 --> B181 + end + + %% ── Phase 1: Import Pipeline ───────────────────────── + subgraph P1["Phase 1 — Import Pipeline"] + direction TB + B182(["#182 Import Handler Warnings"]) + B183(["#183 Save-time Registry Resolution"]) + B184(["#184 Nuke + Regenerate Catalog"]) + B182 --> B184 + B183 --> B184 + end + + %% ── Phase 2: CQL2 Extension ───────────────────────── + subgraph P2["Phase 2 — CQL2 Extension"] + direction TB + B185(["#185 CQL2 array_filter Evaluator"]) + B186(["#186 Filter Bar Platform Chips"]) + B185 --> B186 + end + + %% ── Phase 3: NL → CQL2 ────────────────────────────── + subgraph P3["Phase 3 — NL → CQL2"] + direction TB + B187(["#187 Build-time Enum Extraction"]) + B188(["#188 NL → CQL2 Prompt Design"]) + B189(["#189 LLM Transport Integration"]) + B187 --> B188 + B188 --> B189 + end + + %% ── Phase 4: Stakeholder Demo ──────────────────────── + subgraph P4["Phase 4 — Stakeholder Demo"] + direction TB + B190(["#190 Prototype Demo UI"]) + end + + %% ── Cross-phase dependencies (the "bones") ────────── + B180 --> B182 + B180 --> B183 + B181 --> B183 + B181 --> B185 + B180 --> B187 + B184 --> B187 + B185 --> B188 + B186 --> B190 + B189 --> B190 + + %% ── Converge on goal ───────────────────────────────── + P4 --> GOAL + + %% ── External dependencies (upstream features) ─────── + subgraph EXT["External Dependencies"] + direction TB + E126(["#126 CQL2 Filter Engine"]) + E127(["#127 Filter Bar Lozenge UI"]) + E125(["#125 STAC Extension Mock Data"]) + end + + E126 -.->|"extended by"| B185 + E127 -.->|"extended by"| B186 + E125 -.->|"affected by"| B184 + + %% ── Styling ───────────────────────────────────────── + classDef complete fill:#4caf50,stroke:#2e7d32,color:#fff + classDef proposed fill:#42a5f5,stroke:#1565c0,color:#fff + classDef external fill:#ff9800,stroke:#e65100,color:#fff + classDef goal fill:#ab47bc,stroke:#6a1b9a,color:#fff + + class B180 complete + class B181,B182,B183,B184,B185,B186,B187,B188,B189,B190 proposed + class E126,E127,E125 external + class GOAL goal +``` + +## Dependency Summary + +| Item | Depends On | Depended On By | Phase | +|------|-----------|----------------|-------| +| **#180** Platform Registry | — | #181, #182, #183, #187 | 0 | +| **#181** LinkML Schema Update | #180 | #183, #185 | 0 | +| **#182** Import Handler Warnings | #180 | #184 | 1 | +| **#183** Save-time Registry Resolution | #180, #181 | #184 | 1 | +| **#184** Nuke + Regenerate Catalog | #182, #183 | #187 | 1 | +| **#185** CQL2 `array_filter` Evaluator | #181 | #186, #188 | 2 | +| **#186** Filter Bar Platform Chips | #185 | #190 | 2 | +| **#187** Build-time Enum Extraction | #180, #184 | #188 | 3 | +| **#188** NL → CQL2 Prompt Design | #185, #187 | #189 | 3 | +| **#189** LLM Transport Integration | #188 | #190 | 3 | +| **#190** Stakeholder Demo UI | #186, #189 | — | 4 | + +## Critical Path + +**#180** → **#181** → **#183** → **#184** → **#187** → **#188** → **#189** → **#190** + +This 8-item chain determines the minimum elapsed time. The critical path runs through Foundation → Import Pipeline → NL → CQL2 → Demo. + +## Parallel Work Opportunities + +- **#182** (Import Warnings) can start as soon as #180 is done (already complete) +- **#185** (CQL2 array_filter) can start as soon as #181 is done, independently of the Import Pipeline +- **#186** (Filter Bar Chips) and **#187** (Enum Extraction) can run in parallel once their respective prerequisites are met + +## Legend + +- 🟢 **Green** — Complete +- 🔵 **Blue** — Proposed (not yet started) +- 🟠 **Orange** — External dependency (upstream feature) +- 🟣 **Purple** — Epic goal From 0c81d08a914201500e62c36bc1528dc47c058e62 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 13 Apr 2026 20:27:16 +0000 Subject: [PATCH 2/2] docs: mark external dependencies #125, #126, #127 as complete All three upstream features are already implemented. Updated diagram to show them with green + checkmarks and dashed borders to distinguish from E10's own completed items. https://claude.ai/code/session_01JeKeVJrjYmR6HEc5UNkJRZ --- docs/diagrams/E10-fishbone-dependencies.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/diagrams/E10-fishbone-dependencies.md b/docs/diagrams/E10-fishbone-dependencies.md index acb63b734..62d74d72a 100644 --- a/docs/diagrams/E10-fishbone-dependencies.md +++ b/docs/diagrams/E10-fishbone-dependencies.md @@ -64,12 +64,12 @@ graph LR %% ── Converge on goal ───────────────────────────────── P4 --> GOAL - %% ── External dependencies (upstream features) ─────── - subgraph EXT["External Dependencies"] + %% ── External dependencies (upstream — all complete) ── + subgraph EXT["External Dependencies (all complete)"] direction TB - E126(["#126 CQL2 Filter Engine"]) - E127(["#127 Filter Bar Lozenge UI"]) - E125(["#125 STAC Extension Mock Data"]) + E126(["#126 CQL2 Filter Engine ✅"]) + E127(["#127 Filter Bar Lozenge UI ✅"]) + E125(["#125 STAC Extension Mock Data ✅"]) end E126 -.->|"extended by"| B185 @@ -79,7 +79,7 @@ graph LR %% ── Styling ───────────────────────────────────────── classDef complete fill:#4caf50,stroke:#2e7d32,color:#fff classDef proposed fill:#42a5f5,stroke:#1565c0,color:#fff - classDef external fill:#ff9800,stroke:#e65100,color:#fff + classDef external fill:#4caf50,stroke:#2e7d32,color:#fff,stroke-dasharray: 5 5 classDef goal fill:#ab47bc,stroke:#6a1b9a,color:#fff class B180 complete @@ -118,7 +118,7 @@ This 8-item chain determines the minimum elapsed time. The critical path runs th ## Legend -- 🟢 **Green** — Complete +- 🟢 **Green (solid)** — Complete (E10 items) +- 🟢 **Green (dashed)** — Complete (external dependencies) - 🔵 **Blue** — Proposed (not yet started) -- 🟠 **Orange** — External dependency (upstream feature) - 🟣 **Purple** — Epic goal