From oracle-ai-data-platform-fusion-bundle
Guide and run the Oracle AIDP Fusion bundle bootstrap phase. Validates bundle/config readiness, checks AIDP/Fusion/IAM prerequisites, runs `aidp-fusion-bundle 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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oracle-ai-data-platform-fusion-bundle:aidp-fusion-bootstrapThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill owns the bootstrap phase only: validate the customer project, run the
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-bundle; 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.
AIDPF-2012, PVO/source drift remediation, or a Fusion release change.missing: ["profile"]./aidp-fusion-seed./aidp-fusion-incremental.AIDPF-2072, AIDPF-4070/4071, AIDPF-4040) -> /fusion-drift-doctor./mart-author.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).columnAliases and semanticVariants.profiles/<contentPack.profile>.yaml.profiles/<contentPack.profile>.schema-snapshot.yaml.evidence/<profile>/<timestamp>.yaml..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.
Run from the customer project root, where bundle.yaml and aidp.config.yaml
live. Validate first:
aidp-fusion-bundle 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:
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-bundle 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.
Use initial bootstrap when no valid profile exists:
aidp-fusion-bundle 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:
aidp-fusion-bundle 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.
Bootstrap can freeze tenant variation choices. Before running, tell the user:
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:
aidp-fusion-bundle bootstrap --check-iam --operator "<operator-id>"
On success, report the concrete artifacts:
profiles/<contentPack.profile>.yamlprofiles/<contentPack.profile>.schema-snapshot.yamlevidence/<profile>/<timestamp>.yamlThen hand off to /aidp-fusion-seed for first materialization.
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:
.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.
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.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.
Finish with a compact bootstrap ledger:
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:
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
profiles/, profiles/*.schema-snapshot.yaml, or evidence/ by hand./aidp-fusion-seed.AIDPF-2010 / AIDPF-2011) to /medallion-author, not /mart-author.npx claudepluginhub daiiis/claude-code-plugins --plugin oracle-ai-data-platform-fusion-bundleGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.