Skip to main content

aidp-fusion-bootstrap

Guide and run the Oracle AIDP Fusion Autopilot bootstrap phase. Validates bundle/config readiness, checks AIDP/Fusion/IAM prerequisites, runs `aidp-fusion-autopilot bootstrap --check-iam` or `bootstrap --refresh`, surfaces tenant variation choices pinned into the active profile YAML and evidence snapshots, and routes unresolved variation failures (`AIDPF-2010` / `AIDPF-2011`) to `/medallion-author`. Use when the user says 'bootstrap', 'pin tenant variation', 'create the profile', 'run pre-seed checks', 'missing profile', 'bootstrap --refresh', or needs the setup phase before seed/incremental. NOT for seed runs, incremental refresh, OAC dataset/workbook work, or net-new mart authoring.

インストールへ移動

ソース情報

リポジトリ
oracle-samples/oracle-aidp-samples
ソースの最終更新活動
2026年8月2日 08:34
検出された SKILL.md の言語
英語
スター
46
フォーク
30

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
aidp-fusion-bootstrap
description
Guide and run the Oracle AIDP Fusion Autopilot bootstrap phase. Validates bundle/config readiness, checks AIDP/Fusion/IAM prerequisites, runs `aidp-fusion-autopilot bootstrap --check-iam` or `bootstrap --refresh`, surfaces tenant variation choices pinned into the active profile YAML and evidence snapshots, and routes unresolved variation failures (`AIDPF-2010` / `AIDPF-2011`) to `/medallion-author`. Use when the user says 'bootstrap', 'pin tenant variation', 'create the profile', 'run pre-seed checks', 'missing profile', 'bootstrap --refresh', or needs the setup phase before seed/incremental. NOT for seed runs, incremental refresh, OAC dataset/workbook work, or net-new mart authoring.
allowed-tools
Read, Bash, Glob, Grep
# aidp-fusion-bootstrap — bootstrap tenant profile and variation This skill owns the bootstrap phase only: validate the customer project, run the CLI bootstrap safely, surface what tenant variation was pinned, and route bootstrap-specific failures. It shells out to `aidp-fusion-autopilot`; it never edits `profiles/`, `evidence/`, or diagnostics directly. Bootstrap is the bridge between configuration and first seed. It probes prerequisites, resolves content-pack variation points against the tenant, and writes the runtime profile used by seed and incremental runs. ## When to use - "Run bootstrap", "bootstrap this tenant", "pin tenant variation". - "Create the profile", "my profile is missing", "profiles/<profile>.yaml is absent". - "Run pre-seed checks", "check IAM before seed", "verify BICC/AIDP prerequisites". - "Run bootstrap --refresh" after `AIDPF-2012`, PVO/source drift remediation, or a Fusion release change. - A seed or incremental precondition reports `missing: ["profile"]`. ## When NOT to use - First materialization or overwrite of bronze/silver/gold -> `/aidp-fusion-seed`. - Day-2 refresh -> `/aidp-fusion-incremental`. - Runtime drift diagnosis (`AIDPF-2072`, `AIDPF-4070/4071`, `AIDPF-4040`) -> `/fusion-drift-doctor`. - Authoring new analytical content -> `/mart-author`. - OAC connection, dataset, or workbook work -> OAC dataset/workbook skills. ## What bootstrap does - Runs pre-onboarding probes: bundle/config shape, BICC auth, BICC catalog reachability, AIDP REST, and optional IAM checks. - Probes the tenant bronze schema for the active content pack. When a bronze table is already landed it reads the live Delta schema; when it is not yet landed (a fresh tenant) it resolves the same schema from the BICC PVO source via a metadata-only `inferSchema` probe — so bootstrap runs **before** the first seed, with no chicken-and-egg. The fingerprint is identical either way (bronze audit columns are stripped before fingerprinting). - Walks pack-declared `columnAliases` and `semanticVariants`. - Pins resolved values to `profiles/<contentPack.profile>.yaml`. - Writes `profiles/<contentPack.profile>.schema-snapshot.yaml`. - Writes evidence under `evidence/<profile>/<timestamp>.yaml`. - On unresolved required variation points, writes diagnostics under `.aidp/diagnostics/<run_id>/`. Bootstrap is the only writer to `profiles/` and `evidence/`. Do not hand-edit resolved profile values to make a run pass. ## Workflow ### 1. Confirm project root and config readiness Run from the customer project root, where `bundle.yaml` and `aidp.config.yaml` live. Validate first: ```bash aidp-fusion-autopilot validate ``` If available, use the shared precondition helper for a structured view. Resolve the helper relative to this skill directory, or use its absolute path when your shell is in a customer project: ```bash python3 ../aidp-fusion-seed/preconditions.py \ --bundle bundle.yaml \ --config aidp.config.yaml \ --env <env> ``` Interpret `missing` for bootstrap this way: - `bundle`: stop and have the user run `aidp-fusion-autopilot init` or fix `bundle.yaml`. - `config`: route to `/aidp-fusion-config`; bootstrap cannot invent AIDP coordinates. - `profile`: this is the bootstrap target; proceed unless another blocker exists. - `cluster`: start or fix the AIDP cluster before default cluster-dispatched bootstrap. Also confirm the Fusion password is in the AIDP credential store as `fusion_bicc_password` with key `password`. Do not ask the user to paste secrets into chat. ### 2. Choose initial bootstrap vs refresh Use initial bootstrap when no valid profile exists: ```bash aidp-fusion-autopilot bootstrap --check-iam ``` Use refresh only when a prior profile exists and you are re-pinning against live bronze after drift or a Fusion release change: ```bash aidp-fusion-autopilot bootstrap --refresh --check-iam ``` Do not run `--refresh` as a blind fix for unrelated seed failures. Runtime drift codes should be diagnosed by `/fusion-drift-doctor` first, then routed here when the safe fix is bootstrap refresh. ### 3. Preserve operator control Bootstrap can freeze tenant variation choices. Before running, tell the user: - which profile will be written, - whether this is initial pinning or refresh, - whether IAM checks are enabled, - whether the run may prompt for a multi-match variation choice. Prefer the default interactive operator path for real tenants. Do not use `--non-interactive` for customer onboarding unless the user explicitly asks for CI/sandbox behavior and accepts first-candidate auto-pick semantics. For audit identity issues (`AIDPF-1020`), ask for or set a concrete operator: ```bash aidp-fusion-autopilot bootstrap --check-iam --operator "<operator-id>" ``` ### 4. Run bootstrap and classify the result On success, report the concrete artifacts: - `profiles/<contentPack.profile>.yaml` - `profiles/<contentPack.profile>.schema-snapshot.yaml` - latest `evidence/<profile>/<timestamp>.yaml` - key resolved variation choices: column aliases and semantic variants - any IAM/BICC/AIDP warnings that remain - any yellow `COA advisory` lines (see below) Then hand off to `/aidp-fusion-seed` for first materialization. #### COA advisory lines (yellow, never blocking) Bootstrap ends with a pre-extraction chart-of-accounts advisory: it compares the charts **visible to the configured Fusion user** (transactional REST LOVs, laptop-side `FUSION_BICC_USER` / `FUSION_BICC_PASSWORD` env credentials) against the profile's `chartOfAccounts` mapping. It runs on BOTH paths — including the no-drift `--refresh` early return, because an unchanged bronze fingerprint says nothing about a newly active chart. Read it as: - `chart(s) <ids> are ACTIVE … but have no chartOfAccounts.byChart arm` — a real finding: add the arm via `bootstrap --refresh`; an ordinary `run --mode incremental` absorbs a new chart (additive fast path). - `partial — probed N of M` — findings above are confirmed; no all-clear is implied for the unprobed rest. - `COA advisory skipped: …` — the advisory could not run (missing env creds, `${aidp:secret:…}` ref, 401/403, time budget). Normal on cluster-dispatch and CI; the post-extraction COA gate (AIDPF-2018) remains the authoritative, tenant-complete check. Never treat advisory lines as a bootstrap failure; they carry no exit code and no AIDPF code. On failure, classify before recommending action: | Failure | Meaning | Route | |---|---|---| | `AIDPF-2010` | Required `columnAliases` variation point had no candidate on tenant bronze. | `/medallion-author` | | `AIDPF-2011` | Required `semanticVariants` variation point had no matching detector. | `/medallion-author` | | `AIDPF-1020` | Operator identity missing. | Re-run with `--operator` or fix `AIDP_OPERATOR` / `USER`. | | BICC auth/storage | Fusion or BICC external storage prerequisite missing. | Fix Fusion/BICC setup; do not author overlays. | | AIDP REST/IAM | Workspace/cluster/permission issue. | Fix config/IAM/cluster before rerun. | For `AIDPF-2010` / `AIDPF-2011`, point the user at the diagnostics directory: ```text .aidp/diagnostics/<run_id>/AIDPF-2010__<variation-point>.json .aidp/diagnostics/<run_id>/AIDPF-2011__<variation-point>.json ``` Then invoke or recommend `/medallion-author`. That skill reads the diagnostics and drafts an overlay; bootstrap remains the only step that commits the final profile/evidence by rerunning initial bootstrap or `bootstrap --refresh`. ### 5. Refresh-specific rules Use `bootstrap --refresh` when: - `/fusion-drift-doctor` classifies drift as mechanically re-pinnable. - `AIDPF-2012` reports bronze fingerprint drift and the operator confirms the bronze change is intended. - A profile predates schema-snapshot support and needs back-fill. Refresh must not silently change pinned choices. If refresh wants to change a pinned value, surface the old value, proposed value, evidence, and ask the user before continuing. If a new candidate is needed, route to `/medallion-author`. For power-user refresh after known-good onboarding, `--skip-preonboarding-probes` is available only with local dispatch. Do not use it as the default demo or customer path. ## Output contract Finish with a compact bootstrap ledger: ```text bootstrap: success profile: profiles/finance-default.yaml schema snapshot: profiles/finance-default.schema-snapshot.yaml evidence: evidence/finance-default/<timestamp>.yaml variation: 12 column aliases pinned, 2 semantic variants pinned next: /aidp-fusion-seed ``` On failure: ```text bootstrap: failed AIDPF-2010 diagnostics: .aidp/diagnostics/<run_id>/AIDPF-2010__invoice_currency_code.json route: /medallion-author to draft an overlay, then re-run bootstrap ``` ## Safety invariants - The CLI is the contract; never import orchestrator internals or mutate state directly. - Do not edit `profiles/`, `profiles/*.schema-snapshot.yaml`, or `evidence/` by hand. - Do not treat pack YAML as proof that the tenant profile exists. - Do not run seed from this skill; hand off to `/aidp-fusion-seed`. - Do not hide variation choices. Surface what bootstrap pins. - Route unresolved variation (`AIDPF-2010` / `AIDPF-2011`) to `/medallion-author`, not `/mart-author`. - Keep secrets out of chat and logs.
GitHubで見る