Skip to main content

aidp-fusion-status

Produce a read-only Fusion-to-AIDP pipeline health and freshness report by comparing run state with live catalog materialization. Use for success, failure, stale, missing, untracked, or rerun questions.

Jump to install

Source facts

Repository
oracle-samples/oracle-aidp-samples
Last source activity
August 7, 2026 at 11:32
Detected SKILL.md language
English
Stars
47
Forks
32

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
aidp-fusion-status
description
Produce a read-only Fusion-to-AIDP pipeline health and freshness report by comparing run state with live catalog materialization. Use for success, failure, stale, missing, untracked, or rerun questions.
# aidp-fusion-status — is my pipeline healthy, and what's stale? ## Bundled CLI Resolve `<plugin-root>` as the directory two levels above this `SKILL.md`. On macOS/Linux, invoke `"<plugin-root>/bin/aidp-fusion-autopilot"`; on Windows, invoke `"<plugin-root>\\bin\\aidp-fusion-autopilot.cmd"`. Command examples below use `aidp-fusion-autopilot` as shorthand only—do not assume the plugin's `bin/` directory is on `PATH`. 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.
View on GitHub