bubbles-propagation-policy

Author propagation-policy.yaml files that govern cross-train cherry-pick operations for release trains.

1|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-propagation-policy-pkirsanov
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: bubbles-propagation-policy
Source: https://github.com/pkirsanov/bubbles/tree/main/skills/bubbles-propagation-policy
Command: npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-propagation-policy-pkirsanov

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams running multiple release trains need a controlled, auditable way to move fixes and features between trains without manual git cherry-pick, and the bubbles.propagate operator refuses to run until a valid propagation-policy.yaml contract exists. ## Core Features & Use Cases - Policy Schema Authoring: Defines the v1 schema for propagation-policy.yaml, including trains, defaultFlow edges, validation modes, and backport settings. - Validation Depth Control: Explains validate-only, full-delivery, and none modes so each receiving train gets the appropriate gate enforcement. - Backport Governance: Documents the approval-token flow and backportable edge flags required before any backport operation is permitted. - Use Case: A team with experimental, mvp, and prod trains writes a policy declaring experimental-to-mvp as automatic with validate-only, and mvp-to-prod as manual with full-delivery, then audits drift safely before any mutation. ## Quick Start Copy templates/propagation-policy.yaml.tmpl to propagation-policy.yaml, edit the trains and defaultFlow edges to match config/release-trains.yaml, then run the propagation-policy-guard.sh script to validate it.

Frequently Asked Questions about bubbles-propagation-policy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a propagation policy for multiple release trains?▼

Copy templates/propagation-policy.yaml.tmpl to propagation-policy.yaml at the repo root, declare each train id matching config/release-trains.yaml, and define defaultFlow edges with from, to, auto, and receivingTrainValidationMode fields. Then run propagation-policy-guard.sh to validate.

What validation modes does a propagation policy support?▼

Three modes exist: validate-only for short-lived trains like staging, full-delivery for production trains needing every gate, and none for build-only sandboxes. The none mode requires a validationSkipReason field or the policy is rejected.

Why does the propagate operator emit blocked?▼

The operator emits blocked when no propagation-policy.yaml exists at the repo root or config/ directory, when an edge references a train missing from config/release-trains.yaml, or when a backport is attempted on an edge without backportable set to true.

How do I enable backports between release trains?▼

Set backportable: true on the specific edge and keep backportRequiresApproval: true for production-touching edges. The operator then requires an approval token sha, which is recorded in the propagation ledger entry.

Can I edit past entries in the propagation ledger?▼

No. The propagation ledger is append-only JSONL, and gate G123 enforces this discipline. Rewriting or deleting past entries fails the gate, since the ledger is the audit contract for all cross-train operations.