Skip to content

Add Article XVI — Minimal root; state lives in .brainstem_data/#2

Open
kody-w wants to merge 1 commit into
refactor/strip-t2tfrom
refactor/minimal-root-article
Open

Add Article XVI — Minimal root; state lives in .brainstem_data/#2
kody-w wants to merge 1 commit into
refactor/strip-t2tfrom
refactor/minimal-root-article

Conversation

@kody-w

@kody-w kody-w commented Apr 21, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a new constitutional amendment so root-directory sprawl can't creep back.

Principle: The rapp_brainstem/ root is the engine surface — what a new user sees when they clone the repo. Every file at root competes for their attention, so a sprawling root signals complexity and pushes adoption downhill. Keep it minimal. Runtime state lives in .brainstem_data/ — "the context of the digital twin living."

Changes

  • src/CONSTITUTION.md — new Article XVI; Amendments pushed to XVII.
  • rapp_brainstem/CONSTITUTION.md — mirrored as Article XI; Amendments pushed to XII.

Article contents

Enumerates what belongs at root (engine surface — brainstem.py, soul.md, VERSION, install scripts, docs, agents/, utils/, web/, base contracts) vs. what belongs in .brainstem_data/ (all runtime state — memory, binder, swarm directories, snapshots, calibration logs, active-swarm pointers, agent-group definitions).

Explicit rules-out:

  • No agent files or scratch Python at root (agents live in agents/ or agents/experimental/).
  • No top-level JSON state files next to brainstem.py.
  • No new top-level directories "because it doesn't fit anywhere else."
  • No seeded runtime state shipped with the engine — user's twin starts empty.

Stacked on PR #1

Base branch is refactor/strip-t2t, not main. When PR #1 merges, GitHub will auto-retarget this to main.

🤖 Generated with Claude Code

A new-user's first impression of rapp_brainstem/ is its root
directory. Every file at root competes for their attention. A
sprawling root signals complexity and pushes adoption downhill.

This amendment draws the line: root is the engine surface only.
Everything dynamic, user-generated, or session-scoped goes in
.brainstem_data/ — the "context of the digital twin living," the
twin's home on the user's device.

Scope:
  • src/CONSTITUTION.md — new Article XVI, Amendments pushed to XVII.
  • rapp_brainstem/CONSTITUTION.md — mirrored as Article XI,
    Amendments pushed to XII.

Enumerated what belongs at root (brainstem.py, soul.md, VERSION,
install scripts, docs, agents/, utils/, web/, base contracts) vs.
what belongs in .brainstem_data/ (memory, binder state, swarm
directories, snapshots, calibration logs, all runtime state).

Explicit rules-out:
  • No agent files or scratch Python at root — agents/ owns those.
  • No top-level JSON state files next to brainstem.py.
  • No new top-level directories "because it doesn't fit anywhere."
  • No seeded runtime state shipped with the engine.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
kody-w added a commit that referenced this pull request May 9, 2026
PER OPERATOR FEEDBACK: never fake the autonomy. Removed --mode fake from
tick_twin.py, TICK_MODE env from loop_orchestrator.sh, and scale_simulation.py
entirely (it was the major fake-mode user). The orchestrator now always
calls real claude CLI ticks. README updated. Memory feedback recorded
("feedback_no_fake_mode" — autonomous means autonomous).

L7b-cross-device.sh + tests/osi/browser/cross-device.spec.mjs:
  Three browser-context vbrainstem participants join kody-w/sim-art-collective
  in parallel with the local Bill + Alice claude ticks (which already push
  via push_canvas after each cycle):

    Carlos   — browser context #1, fresh auto-minted rappid
    Diana    — browser context #2, fresh auto-minted rappid (different
               localStorage = different "device")
    Heimdall — browser context #3, EMBODIES the canonical kody-w/heimdall
               twin by adopting its permanent rappid (915f54e5-...) into
               vbrainstem's localStorage. Proves identity is portable,
               substrate is GitHub, embodiment is wherever.

Each participant: joins via the canonical rapp-vbrainstem-subscription/1.0
flow, opens an Issue carrying their rappid in the body. A 4th fresh
browser context fetched all 9 Issues — proves real-time cross-device
visibility. 25/25 assertions green.

Five distinct identities touched the same neighborhood in this run:
Bill (local) + Alice (local) + Carlos (browser) + Diana (browser) +
Heimdall (browser, embodying the planted twin). Wired into the master
OSI suite under --with-browser.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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