GoogleCloudPlatform / GoogleCloudPlatform/BigQuery-Agent-Analytics-SDK

adk-2.0 design: cross-event view deployment plumbing (extend ViewManager or add AnalyticsViewManager)

Open
#210 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
47
Forks
21
Avg merge
2d 13h
Merged PRs (30d)
33

Description

Parent tracker: #190 (v15 contract).
Wave: 3 — Design blocker.
Blocks: all six cross-event view implementations (Wave 5 consumer views).

## Problem

The existing `ViewManager` (`src/bigquery_agent_analytics/views.py:281`) and CLI `views` commands (`cli.py:1659`) are **per-event-type only**, keyed off `_EVENT_VIEW_DEFS`. The six new cross-event analytical views (`workflow_invocations`, `agent_transfer_chains`, `branch_fanout`, `long_running_tool_durations`, `compaction_windows`, `scope_cardinality`) don't fit that shape.

Without a deployment surface for them, view-definition code can land but no public command creates the views — failing the #190 top-level acceptance criterion.

## Resolve

Decide between:

(a) **Extend `ViewManager`** with a cross-event view registry alongside `_EVENT_VIEW_DEFS`. Single manager, two registries.

(b) **Add a sibling `AnalyticsViewManager`** dedicated to cross-event analytical views. Clear separation; two managers.

## Acceptance

- [ ] Decision recorded with rationale (consistency vs. separation tradeoff).
- [ ] `create_all_views()` (or the chosen equivalent) deploys all per-event-type views **and** all six cross-event analytical views in one invocation.
- [ ] CLI `views` command (or new sibling) deploys the same set in one invocation.
- [ ] Documentation in `SDK.md` shows the deployment path.

## References

- #190 (v15 consumer §1; v11 cross-event deployment sub-issue carve-out; v12 top-level acceptance).
- `src/bigquery_agent_analytics/views.py:281` (`ViewManager`).
- `src/bigquery_agent_analytics/cli.py:1659` (per-event-type `views` CLI).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.