Skip to content

feat(runtime): stabilize configurable agent runtime interface #100

Open

Description

@mochow13

Goal

Create a stable, configuration-driven runtime boundary in Keen Code so alternative front ends can run the standard engine without forking the REPL, LLM, tool, MCP, session, and permission implementations.

Scope

  • Define a narrow agent configuration/descriptor contract for the behavior currently supplied by Keen Agent:
    • identity and display (Name, optional ASCII art, agent slug)
    • system prompts and plan/build mode defaults
    • extra skills, subagent, and MCP configuration directories
    • excluded built-in tools
    • BTW and adversary configuration
  • Define runtime options for interactive and headless execution.
  • Refactor Keen Code's existing CLI path to consume this contract internally, using default behavior when no descriptor is supplied.
  • Keep the initial API deliberately narrow; preserve dependency injection points for future tool registration or prompt-building overrides.

Acceptance criteria

  • The keen CLI retains current behavior without an agent descriptor.
  • Interactive and headless paths can receive an optional descriptor/options object.
  • Agent-specific behavior is no longer coupled directly to REPL internals.
  • Tests cover default behavior and at least one configured-descriptor path.

Follow-up

Once this is stable, expose it from an importable public package (tracked separately) for Keen Agent to consume.

Activity

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

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions