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/
Constraints
Section titled “Constraints”REPO_IN_REGISTRY— target_repo must appear in registry.yaml.PLAYBOOK_DOES_NOT_EXIST—.petrova/playbook/META-RULES.mdmust not already exist in target_repo’s default_branch. Suppressed whenoverwrite: trueis 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:.
Input shape
Section titled “Input shape”overwriteboolean— When true, suppresses PLAYBOOK_DOES_NOT_EXIST check and overwrites existing playbook files. Use for re-syncing after eva-hq upstream changes.
Output shape
Section titled “Output shape”files_installedarray— Relative paths under .petrova/playbook/ that were deposited.pr→PRRefdiff_preview→DiffPreview
Example
Section titled “Example”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)" } }}Recipe
Section titled “Recipe”(no recipe yet — see SKILL guide)