Pattern Proposal: Src-layout layered CLI runner architecture
Summary
The Python package under src/cas_runner separates CLI, runner, governance, steering, LLM provider, dashboard, and bootstrap modules, forming a layered CLI application layout.
Candidate Pattern
- ID:
src-layout-layered-runner-architecture - Classification: architectural
- Maturity: emerging
- Type: emerging
Observed Signals
No specific signals listed.
Evidence
Supporting Evidence
- src/cas_runner/cli.py (main) - Command-line entrypoint separate from runner logic.
- src/cas_runner/runner.py (FlowRunner) - Runner class suggests an application-layer orchestration boundary.
- src/cas_runner/init.py - Package boundary for cas_runner.
Scope Assessment
- Evidence Strength: high
- Confidence: high
- Applies to: ideas-to-life-cas
Rationale
- Intent: Separate invocation, orchestration, domain logic, and infrastructure clients into replaceable modules.
- Context: A command-line Python tool that coordinates governance and steering behavior without a web service boundary.
- Force: Avoid import cycles between CLI, domain, and infrastructure
- Force: Allow independent evolution of governance, steering, and provider logic
- Force: Keep CLI surface thin and testable
Traceability
Artifact source: proposed-patterns