Skip to content

agent-driver speaks for itself, not for the product - #1742

Merged
suleimansh merged 1 commit into
mainfrom
agent-driver-speaks-for-itself
Aug 28, 2026
Merged

agent-driver speaks for itself, not for the product#1742
suleimansh merged 1 commit into
mainfrom
agent-driver-speaks-for-itself

Conversation

@suleimansh

Copy link
Copy Markdown
Contributor

I read packages/agent-driver as a stranger, the way I did with the skill. The code is fine; the package still talked as if it were a folder of The Framework. This PR makes it speak for itself. Two names change on the way: the actions run branch is claude/<session id> (no framework- infix), and the product now passes its workflow name instead of the package assuming it.


🤖 curated · Fable 5, effort high

Text a package user reads

  • SPEC.md + every module and test SPEC: "The Framework", "the dashboard", "the daemon" are gone. The product embedding the package is the caller (one word, in the glossary); its UI is the caller's UI. The stories are otherwise unchanged.
  • codex.SPEC.md / codex.ts claimed the product announces at startup that the spending cap cannot apply to Codex. The product does no such thing today; the sentence is gone from the package, and the SPEC now says what the package can promise: a caller must not pretend the cap applies.
  • Doc comments that ship in the .d.ts: the types.ts header no longer narrates decisions (@gemstack/framework CLI: wrap Claude Code (first driver) + localhost dashboard #166 "option A", "the runner seam", "three methods" for four), fake.ts no longer cites FRAMEWORK_FAKE or AiFake/FakeRunner, child-registry.ts/claude-code.ts/actions.ts no longer say "the framework", "the daemon", --browser.

Strings a package user sees at runtime

  • [framework] claude-code prompt aborted, [framework] codex exited (1): …, [framework] fake …, the onEvent threw console line: the prefix is gone; the message already names the driver. The MCP temp dir is agent-driver-mcp-.

Product defaults baked in

  • ActionsDriverOptions.workflow no longer defaults to framework-agent.yml; it is required, and cli.ts passes it.
  • The branch each actions run pushes to is claude/<session id> (claude/actions-1-ab12cd34), was claude/framework-<session id>. branchPrefix still overrides the claude/ part.

Two code things

  • runCliSession no longer defaults the driver name to claude-code; driver is required and the Claude driver passes it.
  • runClaude (a 3-line wrapper, public, used only by its own tests) is gone; the tests call runCliSession with StreamJsonParser.

Left alone on purpose — design, not slop

  • DriverImplId fixes claude-web, an implementation that lives outside the package.
  • The package name agent-driver (unscoped) next to @gemstack/skill-branches.
  • No README (files ships dist only; the SPEC is the read on GitHub).
  • The public surface beyond runClaude: the session classes, both parsers, replayTranscript, readClaudeQuota, the engine and its types are the extension points index.SPEC.md describes.

No behaviour change except the two names above. Proof: root typecheck, 79 agent-driver tests, 1471 framework node tests + 864 dashboard tests green. FEATURES-SPEC.md untouched: no feature added or removed.

The package's SPECs, shipped doc comments, error strings and defaults
still described its old home: "The Framework", "the dashboard", the
daemon, a `framework-agent.yml` default, a `claude/framework-` branch,
`[framework]` error prefixes. The embedding product is now "the caller";
the product passes its workflow name; the run branch is `claude/<id>`.
The shared CLI engine no longer defaults to one driver's name, and the
`runClaude` wrapper (public, used only by its tests) is gone.

Claude-Session: https://claude.ai/code/session_013KV2g51oWteQWwhuTTwiZX

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@suleimansh
suleimansh merged commit e0c553f into main Aug 28, 2026
2 checks passed
@suleimansh
suleimansh deleted the agent-driver-speaks-for-itself branch August 28, 2026 21:03
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