From f210d228ec46eec7094cb69dd36b46a8328d7811 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Tue, 2 Jun 2026 23:51:20 -0400 Subject: [PATCH] conductor(style): add See Also section linking to per-file pattern demonstrations --- conductor/code_styleguides/python.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/conductor/code_styleguides/python.md b/conductor/code_styleguides/python.md index f3b0ecc4..640f2ad7 100644 --- a/conductor/code_styleguides/python.md +++ b/conductor/code_styleguides/python.md @@ -189,3 +189,14 @@ To prevent "God Object" bloat in core controllers (like `AppController`): - **Dependency Injection:** Module-level functions that require class state should accept the instance as their first argument (e.g., `def my_extracted_logic(controller: AppController, ...)`). - **Handler Maps:** Replace massive `if/elif` blocks (like those in event dispatchers) with dictionaries mapping keys to module-level handler functions. - **Inner Class Extraction:** Never define nested classes or functions within methods. Move them to the module level. + +## 16. See Also — Per-File Pattern Demonstrations + +The following per-source-file guides show these conventions applied in real code: + +- **[docs/guide_gui_2.md](../../../docs/guide_gui_2.md):** §"UI Delegation Pattern" — 90+ module-level `render_xxx(app)` functions in `src/gui_2.py`. Every panel uses the `App` instance as injected state, never `self`. +- **[docs/guide_app_controller.md](../../../docs/guide_app_controller.md):** §"Hook API Surface" — `_predefined_callbacks` and `_gettable_fields` as handler maps, not if/elif chains. §"AppState" — dataclass with all-typed fields, no methods. +- **[docs/guide_command_palette.md](../../../docs/guide_command_palette.md):** §"CommandRegistry" — decorator-based registration (`@registry.register`) instead of list-of-dicts. §"defensive try/except wrapping" — handler-map style error isolation. +- **[docs/guide_mcp_client.md](../../../docs/guide_mcp_client.md):** §"3-Layer Security Model" — handler-map dispatch (`def dispatch(tool_name, ...)`) with one branch per tool, instead of polymorphism. +- **[docs/guide_multi_agent_conductor.md](../../../docs/guide_multi_agent_conductor.md):** §"WorkerPool" — module-level `run_mma_worker` function, not a class method. The `WorkerPool` is justified (encapsulates semaphore + executor + active set). +- **[docs/guide_models.md](../../../docs/guide_models.md):** §"Data Structures" — `dataclass(frozen=True)` and `pydantic` over OOP classes for data-only containers.