Skip to main content

aidp-fusion-status

Read-only health + freshness report for the Fusion->AIDP pipeline. Answers 'did the last seed/incremental succeed?', 'what's stale or failed?', 'which marts are materialized?', 'what needs re-running?'. Cross-references fusion_autopilot_state (recorded run history) with the LIVE AIDP catalog (what's actually materialized) so a 'success' row next to a missing table reads STALE, and a table with no run record reads UNTRACKED — the live table is the evidence, the state row the overlay. Use when the user asks about pipeline state/health/freshness/last-run, or before deciding what to (re)seed. Does NOT run or change anything (read-only); for running deltas use /aidp-fusion-incremental, for seeding /aidp-fusion-seed.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
oracle-samples/oracle-aidp-samples
آخر نشاط في المصدر
٢ أغسطس ٢٠٢٦ في ٠٨:٣٤
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٤٦
التفرعات
٣٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
aidp-fusion-status
description
Read-only health + freshness report for the Fusion->AIDP pipeline. Answers 'did the last seed/incremental succeed?', 'what's stale or failed?', 'which marts are materialized?', 'what needs re-running?'. Cross-references fusion_autopilot_state (recorded run history) with the LIVE AIDP catalog (what's actually materialized) so a 'success' row next to a missing table reads STALE, and a table with no run record reads UNTRACKED — the live table is the evidence, the state row the overlay. Use when the user asks about pipeline state/health/freshness/last-run, or before deciding what to (re)seed. Does NOT run or change anything (read-only); for running deltas use /aidp-fusion-incremental, for seeding /aidp-fusion-seed.
allowed-tools
Read, Bash, Glob, Grep
# aidp-fusion-status — is my pipeline healthy, and what's stale? The read-only observability member of the family. It reports per-node health by **reconciling two truth sources** and never changes anything. ## When to use - "Did my last seed/incremental succeed? what failed?" - "What's stale / hasn't refreshed / needs re-running?" - "Which gold marts are actually materialized, and with how many rows?" - As a pre-check before `/aidp-fusion-seed` or `/aidp-fusion-incremental`. ## When NOT to use - To *run* anything — seeding is `/aidp-fusion-seed`, deltas are `/aidp-fusion-incremental`. This skill is strictly read-only. ## Evidence discipline (load-bearing) **The live table is the evidence; the state row is the overlay.** `fusion_autopilot_state` is run *metadata* — a `success` row can sit next to a dropped/empty mart, and a table can exist with no state row. So health keys off the **live AIDP catalog** (what's materialized), cross-checked against the state row. Never report "healthy" from a state row alone. (Same rule as the seed guard / the advisor — [[feedback_live_catalog_is_evidence]].) ## Helper | File | Role | Invoked via | |---|---|---| | `status_report.py` | Classify per-node health from `{state rows} × {live tables}`. | `Bash`, JSON in/out | Health classes: `HEALTHY` · `EMPTY_OK` · `STALE` (success recorded, table absent) · `FAILED` · `SKIPPED` · `UNTRACKED` (table exists, no run record) · `NEVER_RUN` (declared node, nothing anywhere). ## Workflow 1. **Acquire both signals** (cluster-side — the laptop `aidp-fusion-autopilot status` is local-Spark-only and has no JSON): ```bash .venv/bin/python tests/live/aidp_state_probe_live.py \ --aidp-id <OCID> --workspace-key <key> --cluster-key <key> \ --cluster-name <name> --out status.json ``` It runs, on an ACTIVE cluster, `SHOW TABLES` + `COUNT(*)` over the gold (and optionally silver/bronze) schema → `live`, and the latest-per-dataset query over `<catalog>.<bronzeSchema>.fusion_autopilot_state` → `state`, into one JSON. *(When `aidp-fusion-autopilot status --json` ships, use it instead.)* 2. **Classify**: ```bash python3 skills/aidp-fusion-status/status_report.py --input status.json ``` Optionally add `known_nodes` (from `content-pack info <pack> --json` + bundle datasets) so declared-but-never-built nodes show as `NEVER_RUN`. 3. **Render** a per-node ledger + the `attention` list (STALE/FAILED/UNTRACKED/ NEVER_RUN), with `lastRun` / `lastStatus` / `stateRowCount` vs `liveRowCount`. 4. **Recommend, don't act** — e.g. "re-run `gl_balance` (STALE) via `/aidp-fusion-seed`"; "investigate `mystery_mart` (UNTRACKED — built outside the orchestrator)"; "`po_backlog` NEVER_RUN — seed it or drop it from the bundle." Never run anything yourself. ## Output (example ledger) ``` fusion_catalog.gold — 4 nodes ✓ HEALTHY ar_invoice_summary last=2026-06-15 success state=49 live=49 ✓ HEALTHY supplier_spend last=2026-06-14 success state=212 live=212 ⚠ STALE gl_balance last=2026-06-09 success live=absent ⚠ UNTRACKED _phase5_probe — no run record (excluded: probe table) attention: gl_balance (re-seed), ``` ## Skill family - **Consumed by `aidp-fusion-autopilot`** as a state detector ("where am I / what's stale?"). - Pairs with `/aidp-fusion-seed` (first build) and the planned `/aidp-fusion-incremental` (deltas) — status tells you *what* to (re)run; they run it. ## Safety invariants - **Read-only** — never seeds, runs, or mutates anything. - **Live table = evidence**; never report HEALTHY off a state row alone. - Exclude audit/probe tables (`fusion_autopilot_state`, `_*`) from UNTRACKED noise.
عرض على GitHub