Skip to content

Build 3: Hosts #24

Open
Open

Description

@crenshawdev

Claude Code is the only host Baley supports in this release, and Build 3 removes Codex support. Each Claude Code session starts its own Baley MCP server over stdio, and the session's subagents reach it through the session's connection. There is no launcher, no HTTP listener and no background service, and every worker in this release is a subagent of its session. The server takes its project from CLAUDE_PROJECT_DIR, records its working directory beside it, and creates a session id that every call carries, with the host's own session id beside it when one is set. Ledger events record which caller wrote them. Each project call is prepared from the session's CLAUDE_PROJECT_DIR in the order the command line uses: a read appends nothing, and a write runs checkout admission and the host's policy step before its command. T7's document and T8's capture are the first operations to use it. Another host can connect and list the tools, but every tool call it makes is refused with Claude Code named as the supported host. Sessions share the ledger through the store: every write takes the writer queue and decides inside its transaction (ADR 0012), and the build's acceptance includes two live Claude Code sessions writing one project at once, with the record checked afterwards. Agents can neither read nor write Baley's home or its config folder (config.toml and keys.env). Claude Code's sandbox, its file permission rules and Baley's guard hook carry that together, and baley doctor reports what an agent can reach. The compiled instructions are served (ADR 0009), the build renders the stub content that the held delivery tasks will write, and it opens with warnings that say what a restore cannot undo. Captures are recorded.

Requirements:

  • 0001: EVD-R24.
  • 0002: SYS-R1 to SYS-R6.
  • 0003: CFG-R11.
  • 0010: GRD-R1 to GRD-R14.
  • 0012: HST-R1 to HST-R7, HST-R9, HST-R13, HST-R17 to HST-R20.
  • 0014: SUP-R1.

Blocked by #23 (Build 2). Carries #71 and #146.

Tasks

One pull request per task, ticked when it merges.

Activity

  1. added this to the Evidence milestone on Sep 25, 2026
  2. moved this to Todo in Baleyon Sep 26, 2026
  3. changed the title [-]Build 3: Standalone families[/-] [+]Build 3: Hosts[/+] on Sep 27, 2026
  4. crenshawdev commented on Oct 4, 2026

    @crenshawdev
    OwnerAuthor

    Notes from the Claude Code changelog through 2.1.289 that land on the rest of Build 3.

    • T10: since 2.1.288 a PreToolUse hook whose matcher fails, or whose tool input can't be serialized, blocks the call instead of being skipped. The guard fails closed at the host too, and T12 should confirm it on the version it qualifies.
    • T12: since 2.1.284 interactive sessions start in auto mode when no permission mode is configured, on every plan and provider. That's the mode owners will be in, so qualification runs in it.
    • T12: 2.1.289 fixed Read deny rules not applying to files reached through a symlink by @-mention or the IDE. Qualify on 2.1.289 or later.
    • T12: since 2.1.285 project settings can't reopen read-denies set in managed settings. That only helps an owner who puts Baley's denies there.
    • T12: since 2.1.260 a command typed at the ! prompt runs outside the sandbox even with allowUnsandboxedCommands: false. That's the owner's own command, not an agent's, so it isn't a hole in ADR 0033's bar, but a probe step typed at ! would read as one. Run the sandbox checks through the agent.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    • Status
      Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions