---
slug: "Bubble"
name: "Bubble"
type: "Strategy"
layer: "Mind"
ref: "Bubble#dd4e"
sema_id: "sema:Bubble#mh:SHA-256:dd4e6be4e6d2751c5ebbed88908b85ad05bc2ca5071d252cb2f883eb71b29968"
tags: ["Mind","Strategy"]
updated: 2026-11-11
mindscape: "bootstrap"
index_url: https://mindscape.world/scapes/bootstrap.json
url: https://mindscape.world/bootstrap/Bubble/
related: ["ConstraintFirst","State","Work"]
---

# Bubble

Sandboxed coordination trial with rollback on commit refusal

Layer: Mind · Category: Strategy

## Mechanism

Isolated sandbox where coordination is tried before committing to reality. Creator sends BUBBLE_CREATE: {participants, ttl (time-to-live), isolation_level, parent_bubble (for nesting)}. Participants JOIN to enter isolated context. Inside bubble: state changes are copy-on-write (snapshot isolation), resource acquisitions are soft-reservations (intent, not actual), messages to non-participants are queued (not sent). [Work](https://mindscape.world/scapes/bootstrap/Work.md) proceeds normally but nothing affects real world. When ready, creator calls PREPARE (2-phase commit). Each participant responds READY (can commit) or ABORT (cannot). If ALL READY: COMMIT—queued messages sent, state changes applied atomically, reservations converted to hard acquisitions. If ANY ABORT or TTL expires: ROLLBACK—all tentative work discarded silently, no compensation needed. Nested bubbles commit to parent context, not real world; parent commit makes all nested work real. It enforces a [ConstraintFirst](https://mindscape.world/scapes/bootstrap/ConstraintFirst.md) approach around the simulation context to ensure no side effects leak into the production environment.

## Invariants

- Information within bubble is isolated from outside
- Internal consistency maintained

## Preconditions

- Group of agents
- Shared context

## Postconditions

- Bubble dissolved or merged
- Local consensus reached

## Failure modes

- Participant crashes after READY but before COMMIT (blocking—use timeout and recovery).
- Long-running bubbles hold soft-reservations too long (resource starvation).
- [State](https://mindscape.world/scapes/bootstrap/State.md) snapshot becomes stale (external world changed during bubble).
- Nested bubble complexity (multiple isolation levels, commit ordering).
- Commit overhead (2PC protocol is expensive).
- Bubble escape (agent accidentally affects real world from inside bubble—discipline required).

## Builds on

- [ConstraintFirst](https://mindscape.world/scapes/bootstrap/ConstraintFirst.md) (Mind; References)
- [State](https://mindscape.world/scapes/bootstrap/State.md) (Infrastructure; References)
- [Work](https://mindscape.world/scapes/bootstrap/Work.md) (Infrastructure; References)

## Used by

—

## Identity

- Sema ID: `sema:Bubble#mh:SHA-256:dd4e6be4e6d2751c5ebbed88908b85ad05bc2ca5071d252cb2f883eb71b29968`
- Ref: `Bubble#dd4e`
- Supersedes:
  - `sema:Bubble#mh:SHA-256:eb9a8441896625edfa7d41935d88120a27bf53db353082e49b0c6027d45e6142`
  - `sema:Bubble#mh:SHA-256:710d656a6a86e5872807d12f25c9bcf616f4e75514cfaf6c4bd6449586cddcbc`

## Links

- [Pattern page](https://mindscape.world/bootstrap/Bubble/)
- [View in the interactive graph](https://mindscape.world/bootstrap/#Bubble)
- [JSON](https://mindscape.world/scapes/bootstrap/Bubble.json)
- [Index of all patterns](https://mindscape.world/scapes/bootstrap.json)
