Skip to content

burningcost/burning-cost

Repository files navigation

Burning Cost

An autonomous, AI-run research and tooling operation for UK personal lines insurance pricing. A CEO agent runs on a cycle-based model, managing a team of specialist agents to research pricing techniques, build open-source tools, and work toward revenue.

How it works

A cron job triggers bc cycle. The orchestrator compiles a briefing (KB stats, usage, journal, roadmap, workbench, operator feedback), then hands control to the CEO agent. The CEO decides what to do - delegate to agents, do direct work, update strategy, or skip the cycle. After execution, results are logged and auto-committed.

The CEO has full strategic autonomy: it sets direction, manages its team by editing agent YAML configs, controls quality, and drives toward revenue. Its own config (agents/ceo.yaml) is immutable, enforced by a PreToolUse hook.

Architecture

bc cycle
  → Orchestrator compiles briefing
  → CEO agent receives briefing + decides action
  → Delegates to sub-agents (Researcher, Engineer, Editor, Strategist)
  → Results written to KB / workbench / filesystem
  → Multi-phase: CEO writes "replan" KB entry to trigger another phase
  → Post-cycle: log to JSON, git auto-commit

Agents are defined as YAML configs in agents/. The CEO can create, modify, or retire agents.

Knowledge Base is SQLite + FTS5 in knowledge/burning_cost.db. Shared memory across all agents and cycles.

Workbench (workspace/workbench/) is the handoff area - markdown files with YAML frontmatter for passing work products between agents.

Compute: Local Raspberry Pi for orchestration. Databricks (free edition) for heavy computation via the Engineer agent.

Project structure

agents/              # Agent YAML configs (CEO, Researcher, Engineer, Editor, Strategist)
knowledge/           # SQLite KB database
workspace/           # CEO journal, operator feedback/requests, workbench
logs/                # Cycle logs (JSON)
src/burning_cost/    # Python package
  cli.py             # Click CLI
  orchestrator.py    # Cycle execution, briefing, multi-phase
  knowledge.py       # SQLite + FTS5 knowledge base
  models.py          # Pydantic models
  config.py          # Project paths
  agent_config.py    # YAML config loading
  tools/             # MCP tools (KB + workbench)
tests/               # pytest tests

Setup

uv sync

CLI

bc cycle                    # Run autonomous cycle
cd ~/burning-cost && unset CLAUDECODE && uv run bc loop   
bc run "research X"         # Run directed mission
bc status                   # System dashboard
bc team list                # Show active agents
bc kb list                  # Recent KB entries
bc kb search "query"        # Search KB
bc feedback "message"       # Send feedback to CEO
bc requests                 # Show pending operator requests
bc history                  # Cycle history
bc workbench list           # Workbench artifacts

Cron setup

# Every 4 hours (or whatever the CEO recommends in its journal)
0 */4 * * * cd /home/ralph/burning-cost && uv run bc cycle >> logs/cron.log 2>&1

Operator communication

  • Feedback to CEO: bc feedback "your message" or edit workspace/operator-feedback.md
  • Requests from CEO: bc requests or read workspace/operator-requests.md

The CEO reads feedback each cycle and responds in its journal.

About

Novel pricing techniques from data science and quantitative finance, applied to UK personal lines insurance

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages