How udit-rawat/muscle-memory- works
Muscle Memory learns a UI workflow with an LLM, compiles the observed actions into a typed capability, then replays that capability deterministically without a model. The main path is discovery → compilation and approval → replay, with policy enforcement, evidence recording, and operator intervention supporting both runtime stages. The tree also includes a mock core-banking UI and two example capabilities. The README is only a short product description, and several implementation areas were not sampled, so edges are limited to documented behavior and visible source ownership.
Main entry points: cli.py CLI commands · loop.py Discovery loop · executor.py Deterministic replay · guard.py Guarded surface
Components 24
Capability lifecycle
- CLI commands
src/mm/cli.py - Discovery loop
src/mm/agent/loop.py - Agent decisions
src/mm/agent/decision.py - Capability compiler
src/mm/artifact/compiler.py - Capability schema
src/mm/artifact/schema.py - Artifact store
src/mm/artifact/store.py - Artifact approval
src/mm/artifact/approval.py
UI runtime
- Deterministic replay
src/mm/replay/executor.py - Web surface
src/mm/surface/web.py - LLM provider router
src/mm/llm/router.py
Safety and oversight
- Guarded surface
src/mm/policy/guard.py - Safety policy
src/mm/policy/model.py - Handoff controller
src/mm/handoff/intervention.py - Control lease
src/mm/handoff/lease.py - Operator console
src/mm/handoff/console.py - Run evidence
src/mm/evidence/recorder.py
Banking example
- Banking capabilities
capabilities - Corebank pack
packs/corebank.yaml - Mock bank UI
mock_bank/app.py - Synthetic bank data
mock_bank/data.py - Bank page templates
mock_bank/templates
Other components
- CLI user
- Browser
- LLM provider
Connections 28
- CLI user → CLI commands: invokes
- CLI commands → Discovery loop: starts discovery
- Discovery loop → Agent decisions: requests decisions
- Discovery loop → LLM provider router: requests structured output
- LLM provider router → LLM provider: calls provider
- Discovery loop → Guarded surface: observes and acts through
- Discovery loop → Run evidence: records evidence
- CLI commands → Capability compiler: compiles successful run
- Capability compiler → Capability schema: builds
- CLI commands → Artifact store: loads and saves
- CLI commands → Artifact approval: approves capability
- CLI commands → Deterministic replay: starts replay
- Deterministic replay → Capability schema: executes
- Deterministic replay → Guarded surface: performs guarded actions
- Deterministic replay → Run evidence: records run
- Guarded surface → Safety policy: enforces
- Guarded surface → Control lease: checks control
- Guarded surface → Web surface: forwards allowed actions
- Web surface → Browser: drives
- Discovery loop → Handoff controller: requests intervention
- Deterministic replay → Handoff controller: requests intervention
- Handoff controller → Control lease: coordinates ownership
- Operator console → Handoff controller: dispatches operator actions
- CLI commands → Banking capabilities: uses capability files
- CLI commands → Corebank pack: loads pack
- Web surface → Mock bank UI: interacts with
- Mock bank UI → Synthetic bank data: reads and updates
- Mock bank UI → Bank page templates: renders