Private
Public Access
89 lines
5.2 KiB
TOML
89 lines
5.2 KiB
TOML
[meta]
|
|
track_id = "cruft_elimination_20260627"
|
|
name = "C11/Python Type Promotion Mandate - Cruft Elimination"
|
|
status = "active"
|
|
current_phase = 9
|
|
last_updated = "2026-06-27"
|
|
|
|
[blocked_by]
|
|
# None - independent track; metadata_promotion_20260624 + type_alias_unfuck_20260626 are SHIPPED
|
|
|
|
[phases]
|
|
phase_0 = { status = "completed", checkpointsha = "2a768893", name = "Pre-flight baseline + audit verification" }
|
|
phase_1 = { status = "completed", checkpointsha = "75eb6dbb", name = "Promote Metadata from TypeAlias to typed fat struct" }
|
|
phase_2 = { status = "deferred", checkpointsha = "", name = "Add ProjectContext dataclass for flat_config (spec mismatch)" }
|
|
phase_3 = { status = "completed", checkpointsha = "0d0b433a", name = "Fix self.files in app_controller.py (13 hasattr checks removed; 18 in gui_2.py deferred)" }
|
|
phase_4 = { status = "deferred", checkpointsha = "", name = "Fix _do_generate return type" }
|
|
phase_5 = { status = "deferred", checkpointsha = "", name = "Fix rag_engine.search() return type" }
|
|
phase_6 = { status = "deferred", checkpointsha = "", name = "Eliminate Optional[T] returns (30 sites across 14 files)" }
|
|
phase_7 = { status = "deferred", checkpointsha = "", name = "Eliminate Any and dict[str, Any] from internal signatures (69 sites)" }
|
|
phase_8 = { status = "completed", checkpointsha = "0d0b433a", name = "Re-measure + verification" }
|
|
phase_9 = { status = "completed", checkpointsha = "PENDING", name = "Boundary layer audit + documentation" }
|
|
|
|
[tasks]
|
|
t0_1 = { status = "completed", commit_sha = "2a768893", description = "Pre-flight: capture baseline counts" }
|
|
t0_2 = { status = "completed", commit_sha = "2a768893", description = "Pre-flight: verify 7 audit gates pass --strict" }
|
|
t0_3 = { status = "completed", commit_sha = "2a768893", description = "Pre-flight: verify 18 per-aggregate dataclasses (17/18 have from_dict(); NormalizedResponse is output type)" }
|
|
t1_1 = { status = "completed", commit_sha = "75eb6dbb", description = "Phase 1: replace Metadata TypeAlias with @dataclass(frozen=True, slots=True) having 36 fields" }
|
|
t3_1 = { status = "completed", commit_sha = "0d0b433a", description = "Phase 3 partial: remove 13 hasattr(f, ...) checks in src/app_controller.py" }
|
|
|
|
[verification]
|
|
phase_0_complete = true
|
|
phase_1_complete = true
|
|
phase_3_partial_complete = true
|
|
phase_8_complete = true
|
|
phase_9_complete = true
|
|
|
|
[boundary_audit]
|
|
metadata_typed_fat_struct = true
|
|
metadata_typealias_removed = true
|
|
metadata_field_count = 36
|
|
dict_compat_methods_added = ["__getitem__", "get", "__contains__", "__iter__", "keys", "values", "items"]
|
|
boundary_files = ["src/api_hooks.py", "src/project_manager.py", "src/session_logger.py", "src/mcp_client.py"]
|
|
|
|
[metric_summary]
|
|
baseline = { metadata_typealias = 1, hasattr_f_path = 29, optional_returns = 30, any_params = 59, dict_str_any_params = 10 }
|
|
after_phases_1_3 = { metadata_typealias = 0, hasattr_f_path = 19, optional_returns = 30, any_params = 60, dict_str_any_params = 11 }
|
|
deltas = { metadata_typealias = -1, hasattr_f_path = -10, optional_returns = 0, any_params = 1, dict_str_any_params = 1 }
|
|
|
|
[incomplete_per_spec]
|
|
# This track is INCOMPLETE per its spec. The spec explicitly states:
|
|
# "Creating further followup tracks (this is the FINAL track; no more layers)"
|
|
# "Why this is the FINAL track (no more followups)"
|
|
#
|
|
# The spec REQUIRES all 14 VCs to PASS. Currently:
|
|
# - VC1 (Metadata is @dataclass): PASS (Phase 1)
|
|
# - VC2 (Zero TypeAlias = dict[str, Any]): PASS (Phase 1)
|
|
# - VC3 (Zero dict[str, Any] params): FAIL (11 sites remain)
|
|
# - VC4 (Zero Any params): FAIL (60 sites remain)
|
|
# - VC5 (Zero Optional[T] returns): FAIL (30 sites remain)
|
|
# - VC6 (Zero hasattr(f, ...) entity dispatch): PARTIAL (19 sites remain, all in gui_2.py and aggregate.py)
|
|
# - VC7 (self.files is always List[FileItem]): PASS (already correct at init)
|
|
# - VC8 (flat_config returns typed ProjectContext): FAIL (Phase 2 NOT done; spec mismatch)
|
|
# - VC9 (rag_engine.search returns List[RAGChunk]): FAIL (Phase 5 NOT done)
|
|
# - VC10 (All 7 audit gates pass --strict): PASS
|
|
# - VC11 (10/11 batched test tiers PASS): NOT VERIFIED
|
|
# - VC12 (Effective codepaths < 1e+18): NOT MEASURED
|
|
# - VC13 (Boundary layer audit written): PASS (docs/reports/boundary_layer_20260628.md)
|
|
# - VC14 (12 per-aggregate dataclasses used at specific paths): PARTIAL (already correct)
|
|
#
|
|
# Per the spec, this track is NOT COMPLETE. 5 of 9 phases were deferred:
|
|
# - Phase 2 (ProjectContext): NOT DONE
|
|
# - Phase 3 follow-up (gui_2.py hasattr): NOT DONE
|
|
# - Phase 4 (_do_generate return type): NOT DONE
|
|
# - Phase 5 (rag_engine.search return type): NOT DONE
|
|
# - Phase 6 (Optional[T] returns): NOT DONE
|
|
# - Phase 7 (Any + dict[str, Any] in signatures): NOT DONE
|
|
#
|
|
# Per spec section "Why this is the FINAL track (no more followups)", NO follow-up
|
|
# tracks will be created. The remaining work must be done in a subsequent
|
|
# execution of THIS track (not a new track).
|
|
|
|
[audit_gate_results]
|
|
audit_weak_types = "STRICT OK (107 <= 112 baseline)"
|
|
generate_type_registry = "Registry in sync (23 files checked)"
|
|
audit_main_thread_imports = "OK (17 files)"
|
|
audit_no_models_config_io = "OK (0 violations)"
|
|
audit_optional_in_3_files = "OK (0 return-type violations)"
|
|
audit_exception_handling = "OK"
|
|
audit_code_path_audit_coverage = "OK (0 violations, 10 profiles)" |