Skip to content

Pillar A: GraphRAG + Zachman Filter Prompts

Seven prompts that exercise v1.5.0 Pillar A — GraphRAG with a Zachman-cell filter — end-to-end. The prompts cover discovery, filter composition, query augmentation, result evaluation, LYRA harmonic expansion, and failure-mode recovery.

Pillar A is the fulcrum for FCC's knowledge-layer story: it turns the 164-persona KG into a queryable, Zachman-structured substrate instead of a flat RAG index.

Context for Claude

GraphRAG combines knowledge-graph traversal with a semantic retriever. The Zachman filter narrows traversal to one or more cells of the 6x6 Zachman framework. LYRA's harmonic expansion adds SKOS broad-match chains when the filter returns too few results. Prompts exercise KGSE + ZCA + VDS together.

Prompt 1: First GraphRAG query

Run a GraphRAG query for "multi-user collaboration patterns" with
the Zachman filter locked to ARCHITECT/HOW.

Steps:
1. Load the full-FCC KG (build_full_fcc_graph).
2. Apply the Zachman cell filter.
3. Query with the semantic retriever.
4. Return the top 5 persona + action matches.

Report precision / recall in plain English against a 5-item gold
set provided by the reviewer.

Expected outcome: 5 matches + precision/recall narrative.

Prompt 2: Filter composition

Compose a Zachman filter that accepts a *region* (2 adjacent rows
x 2 adjacent columns). Run the query "event bus lane routing" and:
- Show filter before/after node counts
- Name the top 3 matches
- Report whether any result came from outside the filter (should
  be zero)

Expected outcome: filter correctness evidence.

Prompt 3: LYRA harmonic expansion

The initial query returns only 2 matches. Invoke LYRA's harmonic
expansion (get_lyra_bridge()) to broaden via SKOS broad-match.
- Show pre-expansion set (2)
- Show post-expansion set (5-10)
- Label each post-expansion match with its broad-match hop count
- Note when expansion uses the mock vs live backend

Expected outcome: expansion report.

Prompt 4: Persona-aware query

Run the same query twice — once as BC (Blueprint Crafter) and once
as RC (Research Crafter). Show:
- How the retriever prompt differs
- How result ranking differs
- Whether result content differs (often it should not — the *rank*
  should)

Expected outcome: persona-aware comparison.

Prompt 5: Evaluation against a gold set

Evaluate Pillar A on a 20-query gold set. For each query report:
- Precision@3
- Recall@10
- Mean reciprocal rank
- Any query where filter degraded quality

Expected outcome: evaluation table + failure cases.

Prompt 6: Failure mode — empty filter

The Zachman filter (EXECUTIVE/WHERE) is empty — no personas in
that cell. How does Pillar A behave?
- Expected fallback
- User-facing message
- Telemetry emitted
- Suggested recovery (expand filter, drop filter, query LYRA)

Expected outcome: failure-mode narrative.

Prompt 7: Customize the ontology

Add a new node type "Session" (representing a CRDT collaboration
session). For Pillar A:
- Register the node type
- Update the Zachman cell mapping
- Re-index the graph
- Re-run the "multi-user" query
- Verify the new node type surfaces

Expected outcome: ontology extension + query verification.

  • Tutorial: docs/tutorials/advanced-capabilities/graphrag-deep-dive.md (Pool B)
  • Notebook: notebooks/46_graphrag_advanced_patterns.ipynb (Pool F)
  • Personas: KGSE, ZCA, VDS
  • ADR: docs/decisions/ADR-011_graphrag_zachman.md (v1.5.1)
  • Bridge: src/fcc/knowledge/lyra_bridge.py