gabriel / muse public
AGENTS.md markdown
149 lines 4.6 KB
Raw
sha256:51ce277f663e01a43eaffbe77509b1de7ac2d4251b55d23306304bcdeb92c90d feat(pack): delta-encode snapshots in MPackBundle wire format Sonnet 4.6 minor ⚠ breaking 120 days ago

Workspace — Shared Agent Configuration

This file contains shared rules for all repositories in this workspace. Each member repository may have its own .muse/agent.md with repo-specific additions.

Managed by muse agent-config — regenerate adapters with muse agent-config sync.


Workspace Members

Repo Path Branch
muse muse dev
musehub musehub dev
agentception agentception dev
contracts contracts dev
Stori Stori dev
maestro maestro dev
muse-zsh muse-zsh dev

Version Control

This workspace uses Muse for version control — not git, not GitHub.

  • Never run git, gh, or any git subcommand.
  • Never reference GitHub, GitHub Actions, or GitHub URLs.
  • Use muse -C ~/path/to/repo <command> when CWD differs from the target repo.

If you find a git or gh call anywhere — delete it in the same commit.


Commit Convention — Agent-First

This workspace is agent-first: agents do the work, humans provision agents. Every commit made by an agent must carry full provenance. Human commits (direct manual changes without an agent) are the exception, not the norm.

Agent commit — always use this

muse commit -m "feat: ..." \
  --agent-id claude-code \
  --model-id claude-sonnet-4-6 \
  --sign
  • --agent-id — identifies the agent type (claude-code, codex, agentception/worker, …)
  • --model-id — the specific model that produced the change (claude-sonnet-4-6, …)
  • --sign — embeds Ed25519 public key + signature; traces back to gabriel's root mnemonic in ~/.muse/identity.toml

Use the model you are actually running. For Claude Code the current model is claude-sonnet-4-6.

Human commit — manual actions only

muse commit -m "chore: manual config change"

No provenance flags. Their absence is itself a signal that a human acted directly.

Provenance chain

~/.muse/identity.toml     ← root mnemonic (HD wallet seed, gabriel's root identity)
        ↓  HD derivation
   Ed25519 key pair        ← signer_public_key embedded in every --sign commit
        ↓  signs
   CommitRecord            ← agent_id + model_id + signature stored per-commit
        ↓  content-addressed
   sha256:<commit_id>      ← tamper-evident, auditable forever

Agents spawned by agentception receive a derived key via MUSE_AGENT_KEY env var — their commits sign with that key, which itself traces back to gabriel's root identity.


Branch Flow

Always work on a feature branch — never commit directly to main or dev.

muse -C ~/path/to/repo checkout dev
muse -C ~/path/to/repo checkout -b task/my-thing

muse rm <file>     # delete from disk + stage deletion (mirrors git rm)
muse code add .    # stage additions + modifications + already-deleted files
muse commit -m "feat: ..." --agent-id claude-code --model-id claude-sonnet-4-6 --sign

muse -C ~/path/to/repo checkout dev
muse -C ~/path/to/repo merge task/my-thing
muse -C ~/path/to/repo branch -d task/my-thing
muse -C ~/path/to/repo push local dev

Code Intelligence

Task Command
Find symbol declaration muse code grep "Name" --json
Read one symbol muse code cat "file.py::Symbol" --json
File structure muse code symbols --file file.py --json
Blast radius muse code impact "file.py::Symbol" --json
Dependencies muse code deps "file.py" --json
Tests for changed code muse code test --json

Testing Rules

Never run the full test suite. It is slow and gabriel runs it when he's ready.

  1. Start with muse code test --json — runs only tests relevant to changed files.
  2. Run one file at a time when fixing a specific failure:
    python3 -m pytest tests/test_foo.py -q --tb=short
    
  3. Run one test by name to verify a fix:
    python3 -m pytest tests/test_foo.py::test_bar -q --tb=short
    

Forbidden

  • python3 -m pytest tests/ — runs everything, never do this
  • python3 -m pytest with no path — same as above
  • pytest -x tests/ or any whole-suite invocation
  • Looping retries on the same command after a failure — diagnose first

muse — Agent Configuration

This repository is a member of a workspace. Shared workspace rules live in the parent .muse/agent.md. This file contains only muse-specific additions.

Managed by muse agent-config — regenerate adapters with muse agent-config sync.


Repo-Specific Notes

Add muse-specific agent rules below this line.

File History 1 commit
sha256:51ce277f663e01a43eaffbe77509b1de7ac2d4251b55d23306304bcdeb92c90d feat(pack): delta-encode snapshots in MPackBundle wire format Sonnet 4.6 minor 120 days ago