Establish canonical developer documentation structure
This commit is contained in:
@@ -145,6 +145,37 @@ Adapters do not add durable run state.
|
||||
- `internal/format/prepared_run_test.go`
|
||||
- `internal/llm/openai_compatible_client_test.go`
|
||||
|
||||
## Change Recipes
|
||||
|
||||
### Application Configuration Fields
|
||||
|
||||
1. Add the field to the relevant `internal/config` shape and default handling.
|
||||
2. Parse and validate it, then preserve configuration and CLI-override
|
||||
precedence while wiring it through its consuming adapter.
|
||||
3. Add focused configuration and adapter tests for parsing, mapping, and
|
||||
effective behavior.
|
||||
4. Update the [configuration contract](../config.md) and any external contract
|
||||
affected by the new behavior.
|
||||
|
||||
### CLI Flags
|
||||
|
||||
1. Add the flag to the relevant command in `internal/adapter/cli/run.go`.
|
||||
2. Keep command scope and application-configuration precedence intentional.
|
||||
3. Add or update parser and command tests in
|
||||
`internal/adapter/cli/run_test.go`.
|
||||
4. Update the [CLI contract](../cli.md) and any maintained examples affected by
|
||||
the invocation.
|
||||
|
||||
### Adapter Capabilities
|
||||
|
||||
1. Define or reuse the appropriate domain or use-case interface boundary.
|
||||
2. Implement translation and IO behavior in the adapter without moving
|
||||
use-case decisions out of `internal/usecase`.
|
||||
3. Add focused mapping, parsing, and error-behavior tests.
|
||||
4. Update this document and the affected canonical public or integration
|
||||
contract. Update [source internals](sources.md) when source-loading behavior
|
||||
changes.
|
||||
|
||||
## Architectural Invariants
|
||||
|
||||
- Adapter packages stay thin and translation-focused.
|
||||
|
||||
Reference in New Issue
Block a user