Skip to content

rename: system-prompt.md is the source of truth; agent identity = 'agency'#211

Open
MagMueller wants to merge 1 commit into
simplify-v2from
simplify-v3
Open

rename: system-prompt.md is the source of truth; agent identity = 'agency'#211
MagMueller wants to merge 1 commit into
simplify-v2from
simplify-v3

Conversation

@MagMueller
Copy link
Copy Markdown
Contributor

@MagMueller MagMueller commented May 15, 2026

Summary

Stacked on #210 (simplify-v2). Two changes, one PR:

  1. agent/CLAUDE.mdagent/system-prompt.md. Single source of truth. Both CLAUDE.md (Claude Code's filename) and AGENTS.md (Codex's filename) are symlinks pointing at it. Edit one file; both CLIs read the same content. On the box, install.sh installs system-prompt.md to /home/bux/system-prompt.md and symlinks both ~/CLAUDE.md and ~/AGENTS.md to it. bootstrap.sh re-asserts the symlinks on every update — boxes provisioned with the older "CLAUDE.md as a real file" layout self-heal.

  2. Agent identity renamed buxagency. The product/box/repo is still bux (Browser Use Box). The agent voice is agency. Splits the brand from the persona.

Plus:

  • New top-of-file "How the whole system works" section (5 bullets, one screen). Anything else is detail.
  • Visual-first emphasis in "How you talk" — generate images (PIL, screenshot, matplotlib) when an image helps faster than text. Phone users especially.

Test plan

  • 29 unit tests pass
  • Shell syntax check for install.sh + bootstrap.sh
  • Symlink layout verified: agent/CLAUDE.md and agent/AGENTS.mdsystem-prompt.md; root AGENTS.mdagent/system-prompt.md
  • First-install on a fresh box — verify Claude Code reads ~/CLAUDE.md through the symlink chain
  • Update on an existing box (CLAUDE.md was a real file) — verify bootstrap converts it to the symlink layout

🤖 Generated with Claude Code


Summary by cubic

Make agent/system-prompt.md the single source of truth for the agent prompt and rename the agent voice to "agency". Both ~/CLAUDE.md (Claude Code) and ~/AGENTS.md (Codex) now symlink to /home/bux/system-prompt.md.

  • Refactors

    • Renamed agent/CLAUDE.mdagent/system-prompt.md; repo AGENTS.md now points to it.
    • Updated install.sh and bootstrap.sh to install /home/bux/system-prompt.md and re-assert symlinks; self-heals old boxes that had a real ~/CLAUDE.md.
    • Agent identity: buxagency (product/box/repo stays "bux").
    • Added a concise "How the whole system works" section and a visual-first note in "How you talk".
  • Migration

    • No manual steps. On update, a real ~/CLAUDE.md is replaced by a symlink.
    • If you script against the prompt, use /home/bux/system-prompt.md.

Written for commit b1af8e7. Summary will update on new commits. Review in cubic

…ity bux -> agency

Identity: the agent is "agency" — the user's 24/7 employee in their cloud. The product/box/repo is still bux (Browser Use Box). Splits the brand (bux) from the agent voice (agency).

Renamed agent/CLAUDE.md -> agent/system-prompt.md. agent/CLAUDE.md and agent/AGENTS.md are now symlinks to it; repo-root AGENTS.md retargets to agent/system-prompt.md. Both Claude Code (~/CLAUDE.md) and Codex (~/AGENTS.md) symlink to /home/bux/system-prompt.md on the box — edit one file, both CLIs pick it up.

New top-of-file "How the whole system works" section: 5 bullets that explain the entire model in one screen (Telegram-only inbox, topic=goal, copilot vs autopilot, proactive, visual). Anything else is detail.

Visual-first emphasis added to "How you talk" — when an image (PIL chart, browser screenshot, matplotlib plot) helps the user understand faster, use it. Two seconds on an image beats twenty reading.

install.sh + bootstrap.sh:
- install.sh now copies system-prompt.md to /home/bux/system-prompt.md and symlinks both ~/CLAUDE.md and ~/AGENTS.md to it.
- bootstrap.sh re-asserts the same symlinks on update, and self-heals boxes provisioned with the older "CLAUDE.md as a real file" layout by replacing it with the symlink.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 7 files

Re-trigger cubic

MagMueller added a commit that referenced this pull request May 15, 2026
…omposio for codex

Lands 16 stacked PRs reviewed by multiple sub-agents:

- v1 (#209)  /goal as primitive, per-topic autopilot vs copilot
- v2 (#210)  drop agency-mode gate, fold doctrine into CLAUDE.md, delete old Mini App UI
- v3 (#211)  CLAUDE.md → system-prompt.md (source of truth), agent identity = "agency"
- v4 (#212)  trim system prompt to 87 lines, mode emoji in topic title, extract bot/markdown.py
- v5 (#213)  heartbeat-by-default plumbing (later removed), copilot voice fix, autopilot security note
- v6 (#214)  steering semantics, new-topic spawning, 2-option cards, source-aware images
- v7 (#215)  /goal IS autopilot framing, drop topic emoji prefix, silence allowed, codex goals=true, `schedule` alias
- v8 (#216)  drop --spawn-topic, --importance, trim agency-report docstring
- v9 (#217)  new-topic helper — spawn fresh lane synchronously, queue heartbeat
- v10 (#218) self-schedule only when waiting on something concrete; drop auto-heartbeats
- v11 (#219) /goal is a verbatim CLI passthrough; bot is a dumb pipe
- v12 (#220) drop 30-min timeout, kill lingering heartbeat, prompt-injection defenses, seed goals.md
- v13 (#221) /goal stays copilot by default; autopilot only on explicit user opt-in
- v14 (#222) doctrine fixes from final multi-agent review
- v15 (#223) tighten autopilot triggers — drop the loose phrases
- v16 (#224) register composio MCP for codex too; simplify autopilot trigger paragraph

Tests: 22 pass.

Follow-ups (tracked, not in this merge):
- P0: install bootstrap.sh as /usr/local/sbin root:root (closes the trivial bux→root)
- P1: stuck-lane watchdog (no-stdout-for-30-min SIGTERM)
- P1: /invite is a dead command (remove from BotFather menu)
- P1: composio tool names wrong-case in system prompt
- P1: help text + COMMANDS still reference dropped autopilot trigger phrases
- P1: BUX_BOX_TOKEN provenance for OSS self-host installs
- P2: button-tap dispatches bypass _enqueue (lane race on rapid taps)
- P2: persisted per-topic autopilot flag in state (instead of LLM phrase detection)
- P2: agency_db ghost columns (importance, spawn_topic)
- P2: mini app teardown decision (1700 LOC for an unreferenced surface)

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