Files
acdl/docs/METRICS_VIEWS.md
T
Jon Chery 0d2cbdb423 feat(P1): remove gitea/gitlab from synced files + simplify docs (REQ-230,231,232)
Genericize forge-detection code: gitea→forge/generic_forge, GITEA_ACTOR→FORGE_ACTOR.
Drop .gitea byte-identity test assertions (keep GitHub-side + contract conformance).
Add test_no_forge_mentions.py guard test (REQ-230).
Delete completed migration docs (NOVA_MIGRATION.md, NOVA_AWS_MIGRATION.md).
Move NO_HUMANS_THESIS.md to .ciagent/ (internal artifact).
Strip ciagent-internal provenance from synced docs (REQ-/D-/P-/CAP- IDs,
milestone headers, .ciagent/PROJECT.md citations).
Trim README.md (reusable deploy section, local key rotation paragraph).
Fix version-tag drift (@v1.13→@v1.19, acdl/→nova/).

---ci---
project: acdl
phase: 1
milestone: v1.20
status: execute
requirements: [REQ-230, REQ-231, REQ-232]
---/ci---
2026-08-07 18:20:29 +00:00

6.3 KiB
Raw Blame History

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.01.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.01.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 views (deferred — 8 views, headers only, no data)

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