Portfolio Intelligence
Strategic portfolio knowledge graph and natural language query interface. Surfaces OKR alignment, project lineage, and data domain connections across all registered Wasteology projects.
Page Overviewβ
Portfolio Intelligence
Ask natural language questions about the portfolio, explore the project graph, and understand OKR and data domain relationships

How to Use
Featuresβ
NL Query Interface
Ask plain-English questions about the portfolio and get structured answers drawn from the knowledge graph and wg_digests
Project Graph
Interactive node graph of all owned and support projects with labeled relationship edges
OKR Alignment
Visual mapping of each project to its contributing organizational objectives and key results
Data Domains
Cross-project data contract visualization β see which projects share schemas, tables, or pipelines
NL Query Interfaceβ
The query interface accepts plain-English questions and traverses the portfolio graph combined with a live query against wg_digests to produce a structured answer.
Example Queriesβ
| Question | What It Returns |
|---|---|
| "Which projects write to the enevo_normalized schema?" | Projects + flows that have a write relationship to that schema |
| "What is the health of the CieTrade pipelines this week?" | Pipeline health summary from the latest digest |
| "Which projects are owned vs support?" | Categorized project list from the manifest registry |
| "What OKR does wdp-import-pipeline support?" | OKR alignment entry for the project |
| "What open tasks are there across the portfolio?" | Open digest tasks from wg_digests.digest_tasks |
How It Worksβ
- The query is sent to the wdp-palantiri sidecar
- The sidecar traverses the in-memory portfolio graph built from TOML manifests
- Relevant
wg_digeststables are queried for live data (pipeline status, tasks, digest summaries) - A structured response is assembled and returned to the page
The NL query interface requires the wdp-palantiri sidecar to be running with WG_ORCHESTRATION_PATH set to the wg-orchestration repo on the server. If the sidecar is unavailable, the page falls back gracefully to an empty state with a "Sidecar offline" message.
Project Graphβ
The Project Graph renders all registered projects as nodes with labeled directional edges describing relationships.
Node Typesβ
| Node Color | Category |
|---|---|
| Blue | Owned project (primary Wasteology systems) |
| Gray | Support project (third-party integrations or vendor systems) |
Edge Typesβ
| Edge Label | Meaning |
|---|---|
writes_to | This project produces data consumed by the target |
reads_from | This project depends on data produced by the target |
deploys_via | This project uses the target for CI/CD |
monitors | This project observes or alerts on the target |
Interactionβ
- Click a node to highlight its direct relationships and collapse unrelated nodes
- Hover an edge to see the specific schemas or tables involved in the data relationship
- Use the search bar to locate a project by name or alias
OKR Alignmentβ
The OKR Alignment view shows a matrix of projects vs. organizational objectives.
| Column | Description |
|---|---|
| Project | Registered project name from the manifest |
| Objective | Top-level organizational objective |
| Key Result | Specific measurable outcome the project contributes to |
| Contribution Type | primary (project directly enables the KR) or supporting (indirect contribution) |
Data Domainsβ
The Data Domains view visualizes data contracts between projects β which projects share or depend on the same schemas, tables, or pipeline outputs.
Use this view to:
- Understand blast radius before making schema changes
- Identify which teams to notify when a shared pipeline changes
- Find undocumented dependencies between projects
Data Sources and Configurationβ
Project Registryβ
Projects are loaded from TOML manifests at wg-orchestration/manifests/builtin/*.toml. Each manifest declares:
[project]
id = "wdp-import-pipeline"
name = "WDP Import Pipeline"
type = "pipeline"
path = "~/projects/wdp-import-pipeline"
category = "owned"
aliases = ["wdp-import", "import"]
No code changes are needed when adding a new project β create a manifest file and the graph updates on the next sidecar restart.
Live Dataβ
| Data | Source Table |
|---|---|
| Pipeline health | wg_digests.project_statuses |
| Open tasks | wg_digests.digest_tasks |
| Digest summaries | wg_digests.daily_digests |
Environment Variableβ
| Variable | Description |
|---|---|
WG_ORCHESTRATION_PATH | Path to the wg-orchestration repo on the server β required for the sidecar to locate TOML manifests |
If WG_ORCHESTRATION_PATH is not set or the path does not exist, all four views fall back to an empty state. The NL query interface displays "Portfolio graph unavailable β sidecar offline." Check the server environment configuration if this occurs in production.