conductor(archive): Archive strict static analysis and typing track

This commit is contained in:
2026-03-04 09:46:22 -05:00
parent fe2114a2e0
commit e8cd3e5e87
5 changed files with 11 additions and 11 deletions

View File

@@ -1,5 +0,0 @@
# Track strict_static_analysis_and_typing_20260302 Context
- [Specification](./spec.md)
- [Implementation Plan](./plan.md)
- [Metadata](./metadata.json)

View File

@@ -1,8 +0,0 @@
{
"track_id": "strict_static_analysis_and_typing_20260302",
"type": "chore",
"status": "new",
"created_at": "2026-03-02T22:30:00Z",
"updated_at": "2026-03-02T22:30:00Z",
"description": "Resolve all mypy/ruff violations, enforce strict typing, and add pre-commit hooks."
}

View File

@@ -1,40 +0,0 @@
# Implementation Plan: Strict Static Analysis & Type Safety (strict_static_analysis_and_typing_20260302)
## Phase 1: Configuration & Tooling Setup [checkpoint: 3257ee3]
- [x] Task: Initialize MMA Environment `activate_skill mma-orchestrator`
- [x] Task: Configure Strict Mypy Settings
- [x] WHERE: `pyproject.toml` or `mypy.ini`
- [x] WHAT: Enable `strict = true`, `disallow_untyped_defs = true`, `disallow_incomplete_defs = true`.
- [x] HOW: Modify the toml/ini config file directly.
- [x] SAFETY: May cause a massive spike in reported errors initially.
- [x] Task: Conductor - User Manual Verification 'Phase 1: Configuration' (Protocol in workflow.md)
## Phase 2: Core Library Typing Resolution [checkpoint: c5ee50f]
- [x] Task: Resolve `api_hook_client.py` and `models.py` Type Errors
- [x] WHERE: `api_hook_client.py`, `models.py`, `events.py`
- [x] WHAT: Add explicit type hints to all function arguments, return values, and complex dictionaries. Resolve `Any` bleeding.
- [x] HOW: Surgical type annotations (`dict[str, Any]`, `list[str]`, etc.).
- [x] SAFETY: Do not change runtime logic, only type signatures.
- [x] Task: Resolve Conductor Subsystem Type Errors
- [x] WHERE: `conductor_tech_lead.py`, `dag_engine.py`, `orchestrator_pm.py`
- [x] WHAT: Enforce strict typing on track state, tickets, and DAG models.
- [x] HOW: Standard python typing imports.
- [x] SAFETY: Preserve JSON serialization compatibility.
- [x] Task: Conductor - User Manual Verification 'Phase 2: Core Library' (Protocol in workflow.md)
## Phase 3: GUI God-Object Typing Resolution [checkpoint: 6ebbf40]
- [x] Task: Resolve `gui_2.py` Type Errors
- [x] WHERE: `gui_2.py`
- [x] WHAT: Type the `App` class state variables, method signatures, and ImGui integration boundaries.
- [x] HOW: Use `type: ignore[import]` only for ImGui C-bindings if strictly necessary, but type internal state tightly.
- [x] SAFETY: Ensure `live_gui` tests pass after typing.
- [x] Task: Conductor - User Manual Verification 'Phase 3: GUI Typing' (Protocol in workflow.md)
## Phase 4: CI Integration & Final Validation [checkpoint: c6c2a1b]
- [x] Task: Establish Pre-Commit Guardrails
- [x] WHERE: `.git/hooks/pre-commit` or a `scripts/validate_types.ps1`
- [x] WHAT: Create a script that runs ruff and mypy, blocking commits if they fail.
- [x] HOW: Standard shell scripting.
- [x] SAFETY: Ensure it works cross-platform (Windows/Linux).
- [x] Task: Full Suite Validation & Warning Cleanup
- [x] Task: Conductor - User Manual Verification 'Phase 4: Validation' (Protocol in workflow.md)

View File

@@ -1,21 +0,0 @@
# Track Specification: Strict Static Analysis & Type Safety (strict_static_analysis_and_typing_20260302)
## Overview
The codebase currently suffers from massive type-safety debt (512+ `mypy` errors across 64 files) and lingering `ruff` violations. This track will harden the foundation by resolving all violations, enforcing strict typing (especially in `gui_2.py` and `api_hook_client.py`), and integrating pre-commit checks. This is a prerequisite for safe AI-driven refactoring.
## Architectural Constraints: The "Strict Typing Contract"
- **No Implicit Any**: Variables and function returns must have explicit types.
- **No Ignored Errors**: Do not use `# type: ignore` unless absolutely unavoidable (e.g., for poorly typed third-party C bindings). If used, it must include a specific error code.
- **Strict Optionals**: All optional types must be explicitly defined (e.g., `str | None`).
## Functional Requirements
- **Mypy Resolution**: Fix all 512+ existing `mypy` errors.
- **Ruff Resolution**: Fix all remaining `ruff` linting violations.
- **Configuration**: Update `pyproject.toml` or `mypy.ini` to enforce strict type checking globally.
- **CI/Automation**: Implement a pre-commit hook or script (`scripts/check_hints.py` equivalent) to block untyped code.
## Acceptance Criteria
- [ ] `uv run mypy --strict .` returns 0 errors.
- [ ] `uv run ruff check .` returns 0 violations.
- [ ] No new `# type: ignore` comments are added without justification.
- [ ] Pre-commit hook or validation script is documented and active.