OBS-G3a — Observability Analytics control-room queries
Implementation status: PASS
Semantic validation: PASS
Shared saved-query publication: PASS
Canonical data-path acceptance: PENDING OBS-G2 external routing blocker
Gate C: NOT YET EVALUATED
G3a provides five versioned GoogleSQL queries over the G2 metadata-only envelope. The committed canonical source is:
estate-observability-510700.global.estate-producer-runs._AllLogs
The canonical source remains the only intended Control Room data source.
_Default was used only as a temporary validation corpus while OBS-G2 routing
was under investigation; it is not an architectural fallback and is not
referenced by the committed SQL.
The external routing blocker is tracked in GitHub issue #48:
OBS-G2: Cloud Logging custom sinks do not route fresh receipts
Query set
| file | operator question |
|---|---|
recent-runs.sql | What ran recently, and what happened? |
latest-observed-state.sql | What is the latest observed state of each producer seen by GCP? |
needs-attention.sql | Which currently observed producers need attention? |
recent-failures.sql | Has a producer failed recently even if its latest run is healthy? |
run-volume.sql | What is the logical run volume and rough duration profile? |
Every query filters the receipt log, ignores entries labelled
routing_probe, and deduplicates by (producer_id, run_id, receipt_sha256)
using the newest receive_timestamp. This is application-level logical
deduplication; it does not claim Cloud Logging is exactly-once.
State axes remain separate. needs-attention.sql exposes operational axes
individually and reports authority_state separately; it does not invent a
single health state. latest-observed-state.sql describes only producers
observed in GCP, not the complete producer registry or deferred producers.
Real-receipt semantic validation
The temporary validation corpus in _Default contained three non-probe
receipts with three distinct logical keys:
producer.github.census-sampler-check
producer.manual.kb-evidence-selector
producer.local.office-compile
Validation confirmed:
- the actual G2
json_payload.receipt.*andjson_payload.producer.*paths; - logical receipt deduplication;
- exclusion of
routing_probediagnostics; - preservation of scheduler, execution, artifact, terminal, and authority axes.
This validation proves the SQL semantics, not the canonical routing path.
Saved-query publication
The five canonical SQL files are published as shared saved queries in the
global location:
estate-recent-runs
estate-latest-observed-state
estate-needs-attention
estate-recent-failures
estate-run-volume
Each saved query uses the exact committed SQL and the description:
OBS-G3 control-room projection. Semantic authority remains projects / producer-run-receipt@1.
At current acceptance, fresh canonical receipts do not route reliably into the dedicated bucket, so Gate C remains blocked on issue #48.
BigQuery link
A linked dataset named estate_producer_runs_link exists and is ACTIVE. It is
optional convenience infrastructure created after the original G3a packet.
G3a does not depend on it.
The v0 query surface remains Observability Analytics. No G3 requirement depends on BigQuery Studio, a linked dataset, or BI tooling.
Explicit non-goals
G3a does not create or require:
- a custom dashboard;
- an analytics view;
- custom Monitoring metrics;
- alerts;
- registry projection / never-observed synthesis;
- a freshness projector;
_DefaultAnalytics enablement.
Decision
OBS-G3 implementation: PASS
OBS-G3 semantic validation: PASS
saved-query publication: PASS
canonical data-path acceptance: PENDING OBS-G2 / issue #48
Gate C: NOT YET EVALUATED
The implementation is mergeable independently of the external GCP blocker. Gate C can be evaluated only after a fresh canonical receipt reliably appears in the dedicated bucket and the saved queries return canonical rows.