Skip to content

feat(bridge): SyntheticBridge — deterministic toy-world fixture w/ dual-control#22

Merged
cyber-ayi merged 1 commit into
mainfrom
ops/synthetic-bridge
Jun 3, 2026
Merged

feat(bridge): SyntheticBridge — deterministic toy-world fixture w/ dual-control#22
cyber-ayi merged 1 commit into
mainfrom
ops/synthetic-bridge

Conversation

@cyber-ayi

Copy link
Copy Markdown
Collaborator

Summary

A reference Bridge implementation that is a stateful in-memory toy world (places, energy, gathering) — not a game. It lets the loop + drive layer (T3/T4/T5) be developed and CI-tested before any real adapter exists.

  • Deterministic — no wall clock, no RNG (observedAt is a logical tick), so an action sequence always yields the same Perceptions (assertable in CI).
  • operatorAct() — a second actor mutating the same world, to exercise dual-control deterministically (the Stardew P1 model — two actors, one world; ADR-0007).
  • act() affordances — move / gather / rest / look, with rejection paths (no energy, unknown affordance).
  • Exported from index.ts; README "Reference implementations" section added.

Verification (local + CI)

  • npm run ci green — 12 tests
  • null-bridge.ts + synthetic-bridge.ts both 100/100/100 (required gate)
  • harness-ci (required) green on this PR

🤖 Generated with Claude Code

…al-control

A reference Bridge implementation that is a stateful in-memory toy world (places,
energy, gathering) — not a game. It lets T3/T4/T5 and the drive layer be developed
and CI-tested before any real adapter exists.

- deterministic: no wall clock, no RNG (observedAt is a logical tick), so an action
  sequence always yields the same Perceptions — assertable in CI.
- operatorAct(): a second actor mutating the SAME world, to exercise dual-control
  deterministically (the Stardew P1 model — two actors, one world; adr-0007).
- act() affordances: move / gather / rest / look, with rejection paths (no energy,
  unknown affordance).
- exported from index.ts; README "Reference implementations" section added.

Verified: npm run ci green; 12 tests; null-bridge.ts + synthetic-bridge.ts both
100/100/100 line/branch/funcs.

Session-Id: 019e8d56-605a-7b45-8ef0-21ee576aa7a9
Agent: cc-rc-bot

Co-authored-by: cyber-ayi <259769279+cyber-ayi@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cyber-ayi cyber-ayi merged commit c580da7 into main Jun 3, 2026
1 check passed
@cyber-ayi cyber-ayi deleted the ops/synthetic-bridge branch June 3, 2026 22:48
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.

1 participant