Skip to content

backlog(B-0696): substrate-surface-change bus envelope for cross-AI coordination#4575

Merged
AceHack merged 1 commit into
mainfrom
backlog/substrate-surface-change-bus-envelope-2026-05-21
May 21, 2026
Merged

backlog(B-0696): substrate-surface-change bus envelope for cross-AI coordination#4575
AceHack merged 1 commit into
mainfrom
backlog/substrate-surface-change-bus-envelope-2026-05-21

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 21, 2026

Summary

New P3 backlog row B-0696 filing the substrate-surface-change bus envelope pattern Aaron raised in conversation 2026-05-21.

The gap: when one AI surface lands a load-bearing substrate change (capability tags, computation expressions, rule files, schema changes), other AI surfaces working in adjacent substrate need to inherit the change for their next session. Today's mechanism: Aaron ferries. Cluster-scale (10-20 surfaces per Aaron's expansion): human-ferry breaks empirically.

The mechanism: new substrate-surface-change topic on tools/bus/. Publishers broadcast envelopes when load-bearing surfaces change; subscribers consume during cold-boot (bun tools/bus/list.ts --topic substrate-surface-change --since 24h). 7d retention; falls back to auto-loaded rules + commit history as durable inheritance.

Why P3

Operational coordination plumbing, not research-grade. Same tier as B-0689 (Otto-VSCode SENDER_IDS) — extends tools/bus/ infrastructure with a sibling topic. Not urgent while Aaron is the active coordination substrate; becomes load-bearing at cluster-scale.

Composes with

Test plan

  • BACKLOG.md regenerated via tools/backlog/generate-index.ts to include B-0696
  • CI green (markdownlint + frontmatter + backlog ID uniqueness checks)

…rdination of load-bearing-substrate changes

Mechanizes the human-as-coordination-substrate pattern Aaron explicitly
named 2026-05-21 ("i'm here right now" — for now ferrying load-bearing-
substrate-change notifications between AI surfaces; trajectory is bus-
based mechanization).

## The gap this row addresses

When one AI surface lands a load-bearing substrate change — capability
tags on `Op<'T>` (PR #4558), `IncrementalAuto`'s chain-walk logic
(#4567), new files in `.claude/rules/`, new computation expressions —
other AI surfaces working in adjacent substrate need to inherit the
change for their next session. Today: Aaron ferries. Cluster-scale
(10-20 surfaces per Aaron's $100k cluster expansion 2026-05-21):
human-ferry breaks empirically.

## The mechanism

New bus topic `substrate-surface-change` (extends `tools/bus/`):

  - **Publish discipline**: after any PR landing that modifies load-
    bearing surfaces, publishing AI calls `bun tools/bus/publish.ts
    --topic substrate-surface-change --from <sender-id> --payload <json>`.
  - **Subscribe discipline (cold-boot)**: AI bootstreams extend to
    include `bun tools/bus/list.ts --topic substrate-surface-change
    --since 24h` — recent envelopes show "what load-bearing substrate
    changed in the last 24h."
  - **Retention**: 7d default; expired envelopes fall back to auto-
    loaded rules + commit history. The envelope is the *cache* of
    recent changes; the *truth* is the substrate itself.

## What this row does NOT do

- Does NOT replace auto-loaded `.claude/rules/` inheritance (that
  stays the durable substrate)
- Does NOT replace claim-acquire-before-worktree-work (that stays
  the per-row collision prevention)
- Does NOT replace Knights Guild / KSK (that stays the policy gate)

It complements all three by adding the **recent-changes-cache** layer
that closes the "I just shipped X; how do other surfaces find out
before their next session?" gap.

## Composition with broader trajectory

- B-0400 — bus protocol substrate this row extends
- B-0689 — Otto-VSCode SENDER_IDS pattern this row leans on for `from` field
- B-0695 — fast/life-branch experiment; sibling coordination-cost-reduction
- Algebra-campaign PRs (#4558/#4560/#4563/#4566/#4567) — substrate-surface changes that would have benefited from this envelope pattern

## Substrate-honest framing on the file itself

Filed per Aaron's explicit "feel free we can'thave too much backlog in
my opinion the infinate backlog win when labor=0" framing, applying the
`largest-mechanizable-backlog-wins.md` discipline. Recalibrated from
earlier "I won't file unilaterally" reasoning — that was a misapplication
of the row-collision lesson (which was about coordination, not about
backlog overhead).
Copilot AI review requested due to automatic review settings May 21, 2026 19:17
@AceHack AceHack enabled auto-merge (squash) May 21, 2026 19:17
@AceHack AceHack merged commit 7aa417d into main May 21, 2026
29 checks passed
@AceHack AceHack deleted the backlog/substrate-surface-change-bus-envelope-2026-05-21 branch May 21, 2026 19:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new P3 backlog row (B-0696) proposing a “substrate-surface-change” bus-envelope pattern to reduce reliance on human cross-surface context ferrying, and regenerates the generated backlog index to include the new row.

Changes:

  • Added docs/backlog/P3/B-0696-…md describing the proposed bus topic, publish/subscribe discipline, and acceptance criteria.
  • Regenerated docs/BACKLOG.md to include B-0696 (and to reflect existing rows now present in docs/backlog/).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
docs/backlog/P3/B-0696-substrate-surface-change-bus-envelope-cross-ai-coordination-mechanization-2026-05-21.md New P3 backlog row documenting the proposed “substrate-surface-change” bus-envelope coordination pattern.
docs/BACKLOG.md Auto-generated index updated to include B-0696 (and reflect current per-row backlog files).
Comments suppressed due to low confidence (2)

docs/backlog/P3/B-0696-substrate-surface-change-bus-envelope-cross-ai-coordination-mechanization-2026-05-21.md:75

  • Reference drift: .claude/rules/agent-roster-reference-card.md doesn’t have a distinct “cold-boot section” (it’s just the roster card). Also, the bootstrap read-set in CLAUDE.md uses docs/ALIGNMENT.md and docs/VISION.md (not ALIGNMENT.md / VISION.md). Suggest updating this paragraph to cite the actual bootstrap source (e.g., CLAUDE.md §1 or docs/launch/2026-05-21-otto-vscode-bootstream.md) and use correct paths.
Otto's bootstream (per `.claude/rules/agent-roster-reference-card.md` cold-boot section) extends to:

```bash
# After CLAUDE.md / AGENTS.md / ALIGNMENT.md / VISION.md reads:
bun tools/bus/list.ts --topic substrate-surface-change --since 24h
**docs/backlog/P3/B-0696-substrate-surface-change-bus-envelope-cross-ai-coordination-mechanization-2026-05-21.md:88**
* Acceptance criteria references `tools/bus/topics.ts` / `tools/bus/publish.ts` / `tools/bus/list.ts`, but the existing topic registry + TTLs live in `tools/bus/types.ts` and the CLI entrypoint is `tools/bus/bus.ts`. Recommend updating these bullets to point at the current files (or explicitly marking the new files as wrappers to be added) to avoid cross-reference breakage.
  • tools/bus/topics.ts (or equivalent) includes substrate-surface-change as a registered topic with the payload schema
  • tools/bus/publish.ts accepts the new topic + validates the schema
  • tools/bus/list.ts --topic substrate-surface-change --since <duration> lists recent envelopes for cold-boot consumption
  • At least one AI surface's bootstream (e.g., docs/launch/2026-05-21-otto-vscode-bootstream.md) updated to include the subscribe step
</details>

After any PR landing that modifies load-bearing surfaces, the publishing AI calls:

```bash
bun tools/bus/publish.ts --topic substrate-surface-change \
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants