Private
Public Access
docs: scrub gemini_cli references from 12 docs (provider count 8->7)
Cleaned: docs/guide_ai_client.md, docs/guide_architecture.md, docs/guide_models.md, docs/guide_simulations.md, docs/guide_context_aggregation.md, docs/guide_tools.md, docs/Readme.md, conductor/tech-stack.md, conductor/product.md, conductor/product-guidelines.md, conductor/workflow.md, conductor/code_styleguides/error_handling.md. Provider list citations updated to 7 (gemini, anthropic, deepseek, minimax, qwen, grok, llama). guide_meta_boundary.md intentionally retained (its gemini_cli references are the meta-tooling GEMINI_CLI_HOOK_CONTEXT env var, NOT the provider; per spec GAP-A12).
This commit is contained in:
@@ -28,12 +28,12 @@ The canonical mandate is in `conductor/code_styleguides/data_oriented_design.md`
|
||||
## Code Standards & Architecture
|
||||
|
||||
- **Data-Oriented & Immediate Mode Heuristics:** Align with the architectural values of engineers like Casey Muratori and Mike Acton.
|
||||
- **The "Less Python Does, the Better" Rule:** Python should act primarily as a procedural semantic definer (similar to how ImGui defines a UI DAG), delegating heavy lifting to efficient data structures, vectorized operations, or lower-level primitives.
|
||||
- Minimize Python JIT overhead by favoring bulk data processing over fine-grained object-oriented manipulation.
|
||||
- The GUI (`gui_2.py`) must remain a pure visualization of application state. It should not *own* complex business logic or orchestrator hooks (strive to decouple the 'Application' controller from the 'View').
|
||||
- Treat the UI as an immediate mode frame-by-frame projection of underlying data structures.
|
||||
- Optimize for zero lag and never block the main render loop with heavy Python JIT work.
|
||||
- Utilize proper asynchronous batching and queue-based pipelines for background AI work, ensuring a data-oriented flow rather than tangled object-oriented state graphs.
|
||||
- **The "Less Python Does, the Better" Rule:** Python should act primarily as a procedural semantic definer (similar to how ImGui defines a UI DAG), delegating heavy lifting to efficient data structures, vectorized operations, or lower-level primitives.
|
||||
- Minimize Python JIT overhead by favoring bulk data processing over fine-grained object-oriented manipulation.
|
||||
- The GUI (`gui_2.py`) must remain a pure visualization of application state. It should not *own* complex business logic or orchestrator hooks (strive to decouple the 'Application' controller from the 'View').
|
||||
- Treat the UI as an immediate mode frame-by-frame projection of underlying data structures.
|
||||
- Optimize for zero lag and never block the main render loop with heavy Python JIT work.
|
||||
- Utilize proper asynchronous batching and queue-based pipelines for background AI work, ensuring a data-oriented flow rather than tangled object-oriented state graphs.
|
||||
- **Strict State Management:** There must be a rigorous separation between the Main GUI rendering thread and daemon execution threads. The UI should *never* hang during AI communication or script execution. Use lock-protected queues and events for synchronization.
|
||||
- **Comprehensive Logging:** Aggressively log all actions, API payloads, tool calls, and executed scripts. Maintain timestamped JSON-L and markdown logs to ensure total transparency and debuggability.
|
||||
- **Mandatory ImGui Verification:** All changes to the GUI (`gui_2.py`) MUST be verified using the custom AST linter (`scripts/check_imgui_scopes.py`) to ensure all ImGui scopes (begin/end, push/pop) are properly matched. Developers should prioritize the use of `src/imgui_scopes.py` context managers (`imscope`) over manual push/pop calls.
|
||||
@@ -57,8 +57,8 @@ For the **Indentation** and **Newlines** rules (1-space indent, blank-line rules
|
||||
- **Region Blocks:** Use `#region: Name` and `#endregion: Name` to logically organize massive files that cannot be easily broken apart without increasing context load.
|
||||
- **Type Hinting:** Mandatory, strict type hints for all parameters, return types, and global variables to ensure high-signal context for AI agents.
|
||||
- **Structural Dependency Mapping (SDM):** All major state variables, methods, and functions MUST include terse dependency tags at the end of their docstrings for AI-assisted impact analysis.
|
||||
- **Functions/Methods:** `[C: Caller1, Caller2]` (Primary callers).
|
||||
- **State Variables:** `[M: File:Line, Method]` (Mutation points) and `[U: File]` (Major use paths).
|
||||
- **Functions/Methods:** `[C: Caller1, Caller2]` (Primary callers).
|
||||
- **State Variables:** `[M: File:Line, Method]` (Mutation points) and `[U: File]` (Major use paths).
|
||||
|
||||
## Data-Oriented Error Handling
|
||||
|
||||
@@ -89,23 +89,23 @@ are trained on idiomatic Python and will revert to it without explicit
|
||||
guidance. The project enforces the convention through 4 mechanisms:
|
||||
|
||||
1. **`conductor/code_styleguides/error_handling.md`** — the canonical
|
||||
styleguide. Has 5 patterns, 3 boundary types, 1 broad-except
|
||||
distinction rule, 1 constructor-raise rule, 1 re-raise rule, and
|
||||
the audit script reference. Read this before writing any code that
|
||||
can fail at runtime.
|
||||
styleguide. Has 5 patterns, 3 boundary types, 1 broad-except
|
||||
distinction rule, 1 constructor-raise rule, 1 re-raise rule, and
|
||||
the audit script reference. Read this before writing any code that
|
||||
can fail at runtime.
|
||||
|
||||
2. **`conductor/code_styleguides/error_handling.md` "AI Agent Checklist"** —
|
||||
the explicit cheatsheet of 5 MUST-DO rules, 7 MUST-NOT-DO rules, and
|
||||
3 boundary patterns. Run this checklist before claiming a task is
|
||||
done.
|
||||
the explicit cheatsheet of 5 MUST-DO rules, 7 MUST-NOT-DO rules, and
|
||||
3 boundary patterns. Run this checklist before claiming a task is
|
||||
done.
|
||||
|
||||
3. **`scripts/audit_exception_handling.py`** — the static analyzer
|
||||
that catches violations before commit. The script classifies
|
||||
`try/except/finally/raise` sites against 10 categories. Use it
|
||||
pre-commit.
|
||||
that catches violations before commit. The script classifies
|
||||
`try/except/finally/raise` sites against 10 categories. Use it
|
||||
pre-commit.
|
||||
|
||||
4. **`scripts/audit_exception_handling.py --strict`** — the CI gate.
|
||||
Exits 1 on any violation. Wire this into pre-commit hooks and CI.
|
||||
Exits 1 on any violation. Wire this into pre-commit hooks and CI.
|
||||
|
||||
**The 4 enforcement audit scripts (the project-level enforcement set):**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user