Skip to content

petrova_install_playbook

Deposit the petrova playbook (META-RULES.md, 00-bootstrap.md, mr-preamble.xml, progress-signal.xml, airlock-rules.xml, progress.schema.json) into a consumer repo’s .petrova/playbook/ directory. Cross-references are rewritten to literal local paths so eva-hq prompts can resolve them without harness-side substitution. This is Step 0 of the bare-bones-to-baselined journey; petrova_onboard depends on it for path resolution.

Upholds: MR-17 Side effects: Creates branch petrova/install-playbook/. Adds .petrova/playbook/{META-RULES.md, 00-bootstrap.md, partials/mr-preamble.xml, partials/progress-signal.xml, partials/airlock-rules.xml, schemas/progress.schema.json}. Opens a PR.

  • REPO_IN_REGISTRY — target_repo must appear in registry.yaml.
  • PLAYBOOK_DOES_NOT_EXIST.petrova/playbook/META-RULES.md must not already exist in target_repo’s default_branch. Suppressed when overwrite: true is passed (for re-sync after eva-hq upstream changes).
  • FLEETS_ALLOWED_EMPTY — Standard policy gate; human override via PETROVA_ALLOW_HUMAN_OVERRIDE=1 + actor=human:.
  • overwrite boolean — When true, suppresses PLAYBOOK_DOES_NOT_EXIST check and overwrites existing playbook files. Use for re-syncing after eva-hq upstream changes.
  • files_installed array — Relative paths under .petrova/playbook/ that were deposited.
  • prPRRef
  • diff_previewDiffPreview

Input:

{
"envelope": {
"verb": "petrova_install_playbook",
"target_repo": "oompa-tools",
"idempotency_key": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"dry_run": true,
"actor": "human:alex@devarno.com",
"triggered_by": {
"kind": "human_request",
"ref": "petrova-codes:baseline-v3-wave2"
}
},
"params": {
"overwrite": false
}
}

Output (output_dry_run):

{
"envelope": {
"verb": "petrova_install_playbook",
"status": "dry_run",
"idempotency_key": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"mr_citations": [
"MR-17"
]
},
"result": {
"files_installed": [
"META-RULES.md",
"00-bootstrap.md",
"partials/mr-preamble.xml",
"partials/progress-signal.xml",
"partials/airlock-rules.xml",
"schemas/progress.schema.json"
],
"diff_preview": {
"files": [
{
"path": ".petrova/playbook/META-RULES.md",
"operation": "create",
"size_bytes": 4200
},
{
"path": ".petrova/playbook/00-bootstrap.md",
"operation": "create",
"size_bytes": 18000
},
{
"path": ".petrova/playbook/partials/mr-preamble.xml",
"operation": "create",
"size_bytes": 1200
},
{
"path": ".petrova/playbook/partials/progress-signal.xml",
"operation": "create",
"size_bytes": 900
},
{
"path": ".petrova/playbook/partials/airlock-rules.xml",
"operation": "create",
"size_bytes": 800
},
{
"path": ".petrova/playbook/schemas/progress.schema.json",
"operation": "create",
"size_bytes": 600
}
],
"branch": "petrova/install-playbook/oompa-tools",
"commit_message": "feat(petrova): install playbook for oompa-tools (idempotency: 0123456789ab)"
}
}
}

(no recipe yet — see SKILL guide)