refactor(structure): relocate remaining legacy files out of main
This commit is contained in:
@@ -5,13 +5,13 @@
|
||||
- `components/domain/{include,internal,src}`: business-domain services.
|
||||
- `components/control_plane/{include,internal,src}`: lifecycle, policy, health, retry/backoff orchestration.
|
||||
- `components/app_composition/{include,internal,src}`: composition boundary; `app_main` only wires modules.
|
||||
- `main/dependency_whitelist.md`: approved exceptions for unavoidable lateral dependencies.
|
||||
- `main/third_party/`, `components/domain/assets/fonts/`, `tools/`: vendored code, embedded assets, utility scripts.
|
||||
- `dependency_whitelist.md`: approved exceptions for unavoidable lateral dependencies.
|
||||
- `components/domain/third_party/`, `components/domain/assets/fonts/`, `tools/`: vendored code, embedded assets, utility scripts.
|
||||
- `build/`: generated artifacts only (ignored).
|
||||
|
||||
## Mandatory Architecture Constraints
|
||||
1. Dependencies are one-way only: `app_composition -> control_plane -> domain -> platform`.
|
||||
2. Lateral direct dependencies are forbidden unless listed in `main/dependency_whitelist.md`.
|
||||
2. Lateral direct dependencies are forbidden unless listed in `dependency_whitelist.md`.
|
||||
3. Cross-domain communication must use events or Port interfaces; never include another domain's `internal/*.h`.
|
||||
4. Each component keeps one public header in `include/`; private headers stay in `internal/` via `PRIV_INCLUDE_DIRS`.
|
||||
5. Runtime state must have a single source of truth (SSOT); other modules subscribe/query instead of copying fields.
|
||||
|
||||
@@ -15,10 +15,10 @@ idf_component_register(
|
||||
"src/voice_interaction_ws_audio.c"
|
||||
"src/voice_interaction_marker.c"
|
||||
"src/voice_interaction_tasks.c"
|
||||
"../../main/third_party/qrcodegen.c"
|
||||
"third_party/qrcodegen.c"
|
||||
INCLUDE_DIRS
|
||||
"include"
|
||||
"../../main/third_party"
|
||||
"third_party"
|
||||
PRIV_INCLUDE_DIRS
|
||||
"internal"
|
||||
REQUIRES
|
||||
|
||||
Reference in New Issue
Block a user