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.

Aller à l'installation

Informations de source

Dépôt
oracle-samples/oracle-aidp-samples
Dernière activité de la source
2 août 2026 à 08:34
Langue détectée de SKILL.md
anglais
Étoiles
46
Forks
30

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.
Voir sur GitHub