Nova Metrics Views — PowerBI Data Dictionary
This document is the column-level data dictionary for the PowerBI export
views in metrics/powerbi/. Each fact/dimension table and placeholder
view is documented with: column, type, source/formula, unit, and
grounded/derived/deferred status.
Fact tables (grounded)
fact_run
| Column |
Type |
Source |
Unit |
Status |
| run_id |
TEXT |
run_manifest.py |
— |
grounded |
| contract_id |
TEXT |
run_manifest.py |
— |
grounded |
| environment |
TEXT |
run_manifest.py |
dev/qa/prod/dr |
grounded |
| started_at |
TEXT |
run_manifest.py |
ISO8601 |
grounded |
| completed_at |
TEXT |
run_manifest.py |
ISO8601 |
grounded |
| exit_code |
INTEGER |
run_manifest.py |
— |
grounded |
| outcome |
TEXT |
run_manifest.py |
succeeded/failed |
grounded |
| confidence_score |
REAL |
confidence_signal.py |
0.0–1.0 |
grounded |
| confidence_band |
TEXT |
confidence_signal.py |
pass/warn/block |
grounded |
| hitl_block |
INTEGER |
hitl_gates.py |
0/1 |
grounded |
| cost_estimate_usd |
REAL |
infracost_adapter.py |
USD |
grounded (Infracost) |
| decision_id |
TEXT |
decision_ledger.py |
— |
grounded |
fact_capability
| Column |
Type |
Source |
Unit |
Status |
| capability_id |
TEXT |
REGRESSION_REPORT.json |
CAP-NNN |
grounded |
| run_id |
TEXT |
REGRESSION_REPORT.json |
— |
grounded |
| name |
TEXT |
REGRESSION_REPORT.json |
— |
grounded |
| status |
TEXT |
REGRESSION_REPORT.json |
Verified/Decayed/Broken/Skipped |
grounded |
| tier |
TEXT |
REGRESSION_REPORT.json |
local/live-aws/lifecycle-pipeline |
grounded |
| duration_ms |
REAL |
REGRESSION_REPORT.json |
milliseconds |
grounded |
| detail |
TEXT |
REGRESSION_REPORT.json |
— |
grounded |
| run_at_utc |
TEXT |
REGRESSION_REPORT.json |
ISO8601 |
grounded |
fact_decision
| Column |
Type |
Source |
Unit |
Status |
| decision_id |
TEXT |
decision_ledger.py |
= run_id |
grounded |
| run_id |
TEXT |
decision_ledger.py |
— |
grounded |
| chosen_action |
TEXT |
confidence_signal.py |
pass/warn/block |
grounded |
| confidence |
REAL |
confidence_signal.py |
0.0–1.0 |
grounded |
| alternatives |
TEXT (JSON) |
confidence_signal.py |
perInput breakdown |
grounded |
| human_override |
INTEGER |
hitl_gates.py |
0/1 |
grounded |
| outcome |
TEXT |
decision_ledger.py |
succeeded/failed/pending |
grounded |
| event_time |
TEXT |
decision_ledger.py |
ISO8601 |
grounded |
fact_test
| Column |
Type |
Source |
Unit |
Status |
| run_id |
TEXT |
junit XML |
— |
grounded |
| total_tests |
INTEGER |
junit XML |
count |
grounded |
| passed |
INTEGER |
junit XML |
count |
grounded |
| failed |
INTEGER |
junit XML |
count |
grounded |
| errors |
INTEGER |
junit XML |
count |
grounded |
| skipped |
INTEGER |
junit XML |
count |
grounded |
| duration_s |
REAL |
junit XML |
seconds |
grounded |
| coverage_pct |
REAL |
coverage.json |
% |
grounded |
| collected_at |
TEXT |
collector.py |
ISO8601 |
grounded |
fact_cost_estimate
| Column |
Type |
Source |
Unit |
Status |
| run_id |
TEXT |
infracost_adapter.py |
— |
grounded |
| delta_usd |
REAL |
Infracost |
USD/month |
grounded (pre-apply) |
| total_monthly_usd |
REAL |
Infracost |
USD/month |
grounded (pre-apply) |
| available |
INTEGER |
infracost_adapter.py |
0/1 |
grounded |
| estimated_at |
TEXT |
infracost_adapter.py |
ISO8601 |
grounded |
fact_lifecycle
| Column |
Type |
Source |
Unit |
Status |
| module |
TEXT |
lifecycle report |
— |
grounded |
| environment |
TEXT |
lifecycle report |
— |
grounded |
| phase |
TEXT |
lifecycle report |
apply/modify/destroy |
grounded |
| result |
TEXT |
lifecycle report |
pass/fail |
grounded |
| duration_ms |
REAL |
lifecycle report |
milliseconds |
grounded |
| run_at |
TEXT |
lifecycle report |
ISO8601 |
grounded |
Dimension tables
dim_capability
| Column |
Type |
Source |
Status |
| capability_id |
TEXT |
REGRESSION_REPORT.json |
grounded |
| name |
TEXT |
REGRESSION_REPORT.json |
grounded |
| tier |
TEXT |
REGRESSION_REPORT.json |
grounded |
| source_milestone |
TEXT |
REGRESSION_REPORT.json |
grounded |
dim_milestone
| Column |
Type |
Source |
Status |
| milestone |
TEXT |
REGRESSION_REPORT.json |
grounded |
| phase |
INTEGER |
REGRESSION_REPORT.json |
grounded |
| tag |
TEXT |
— |
grounded |
| completed_at |
TEXT |
REGRESSION_REPORT.json |
grounded |
placeholder_live_infra_health
- Blocking decision: D-096
- Description: Live infrastructure health (ECS running count, ALB 5xx, RPS)
- Columns: timestamp, resource_id, resource_type, running_count, healthy, downtime_seconds
placeholder_live_outbox_rate
- Blocking decision: D-096
- Description: Live outbox write rate / ledger append latency
- Columns: timestamp, contract_id, write_latency_ms, append_count
placeholder_tamper_evident_checkpoints
- Blocking decision: D-083
- Description: Tamper-evident ledger checkpoints / JWS signature rate
- Columns: timestamp, checkpoint_id, jws_signed, object_lock_enabled
placeholder_onboarding_funnel
- Blocking decision: D-113/D-114/D-119
- Description: Onboarding funnel: requested → granted conversion
- Columns: timestamp, consumer_repo, requested_environment, status, granted_at
placeholder_drift_detection
- Blocking decision: D-096 + no scheduler
- Description: Drift detection (scheduled terraform plan -detailed-exitcode)
- Columns: timestamp, workspace_id, drift_count, auto_reverted, detection_cycle
placeholder_live_cur_reconciliation
- Blocking decision: D-096
- Description: Live cost CUR reconciliation
- Columns: timestamp, resource_address, actual_usd, baseline_usd, saved_usd
placeholder_sla_downtime
- Blocking decision: D-096
- Description: SLA / unplanned downtime
- Columns: timestamp, service, uptime_pct, downtime_minutes, slo_target
placeholder_predictive_reactive
- Blocking decision: future emitter
- Description: Predictive vs Reactive ratio
- Columns: timestamp, action_id, label, trigger, count