Context
term-llm has a clear model for interactive use: the UI mediates between LLM suggestions and execution, the user confirms, and the right thing happens. The permission system (--read-dir, --write-dir, --shell-allow, approval prompts) reinforces this.
Modes like --auto-pick, --yolo, and loop serve a different purpose - they let users intentionally delegate execution authority to the LLM. For CI pipelines, overnight runs, sensitive operations or composing term-llm into larger systems, this raises a question: what ran, and why?
What I've been exploring
A pattern that makes execution decisions external and explicit:
- Intent comes in
- Execution plan is generated
- Plan is validated against policy (with or without explicit caller approval)
- Audit trail captures the full cycle: proposed → validated → executed
Core idea: Model proposes, infrastructure enforces.
Why sharing
term-llm already has most of the pieces (permissions, dry-run, directory constraints). An execution layer would unify them into a single, reliable representation - useful when you need to audit, debug, or compose term-llm into larger pipelines.
I've been prototyping this pattern separately. Happy to discuss if it's relevant to where term-llm is heading.
Context
term-llm has a clear model for interactive use: the UI mediates between LLM suggestions and execution, the user confirms, and the right thing happens. The permission system (
--read-dir,--write-dir,--shell-allow, approval prompts) reinforces this.Modes like
--auto-pick,--yolo, andloopserve a different purpose - they let users intentionally delegate execution authority to the LLM. For CI pipelines, overnight runs, sensitive operations or composing term-llm into larger systems, this raises a question: what ran, and why?What I've been exploring
A pattern that makes execution decisions external and explicit:
Core idea: Model proposes, infrastructure enforces.
Why sharing
term-llm already has most of the pieces (permissions, dry-run, directory constraints). An execution layer would unify them into a single, reliable representation - useful when you need to audit, debug, or compose term-llm into larger pipelines.
I've been prototyping this pattern separately. Happy to discuss if it's relevant to where term-llm is heading.