Private
Public Access
0
0
Files
manual_slop/docs/reports/ARCHIVE_REVIEW_20260705.md
T
ed 4c9fc99cd4 docs(chronology): switch to manual maintenance; delete generator scripts; archive review report
Deleted scripts/audit/generate_chronology.py + chronology_quality_gate.py
after repeated corruption incidents (auto-classifier drifted from
user intent, silently rewrote rows). chronology.md is now maintained
by hand: add a row at the top when a track ships/abandons/is archived.

Updated conductor/workflow.md §Chronology Maintenance and
conductor/tracks.md §Archiving a track to reflect manual maintenance.

Added 40 rows to conductor/chronology.md for the 2026-07-05 archive
batch, with archive-folder paths and deferral notes where applicable.

Removed 12 archived-track rows from conductor/tracks.md Active Tracks
table (rows 2, 3, 7c, 16, 17, 23b, 23c, 23d, 25, 26, 29, 29c) and
their track-detail anchors.

Wrote docs/reports/ARCHIVE_REVIEW_20260705.md: a categorized index
of unfinished work items from the archived tracks' state.toml files
that remain relevant to the codebase, with a ranked follow-up list.
2026-07-05 16:17:13 -04:00

17 KiB

Archive Review: Unfinished Work Still Relevant to the Codebase

Date: 2026-07-05 Author: Tier 1 Orchestrator (post-archive audit) Scope: Tracks archived in the 2026-07-05 batch (commits 98977f5c..2f3a8283, ~21 archive commits). This report enumerates the unfinished work items recorded in each archived track's state.toml that remain relevant to the current codebase, grouped by category.

The intent is a single index the user can scan to decide what (if anything) deserves a follow-up track. Each entry cites the archived track ID + the file:line / scope the deferral points at.


1. The Python Type Promotion Mandate (the largest cluster)

The C11/Odin/Jai-in-Python mandate (conductor/code_styleguides/data_oriented_design.md §8.5) is the project's Core Value. Several archived tracks deferred sub-scopes of this mandate; the deferrals are still live debt.

1.1 cruft_elimination_20260627 (Partially Completed)

The biggest single source of deferred type-promotion work. Per conductor/archive/cruft_elimination_20260627/state.toml:

Phase Status Deferred Scope
phase_2 deferred Add ProjectContext dataclass for flat_config (spec mismatch)
phase_4 deferred Fix _do_generate return type
phase_5 deferred Fix rag_engine.search() return type (List[Dict[str, Any]] → typed)
phase_6 deferred Eliminate Optional[T] returns (30 sites across 14 files)
phase_7 deferred Eliminate Any and dict[str, Any] from internal signatures (69 sites)
phase_3 (partial) completed (with deferral) 13 hasattr checks removed in app_controller.py; 18 hasattr checks in gui_2.py deferred

Relevance now: the 30 Optional[T] sites and 69 Any/dict[str, Any] sites are still present in src/. The audit scripts scripts/audit_weak_types.py --strict and scripts/audit_optional_in_3_files.py continue to enforce the boundary; these deferred sites are the remaining work the audits surface.

1.2 metadata_promotion_20260624 (Partially Completed)

Per conductor/archive/metadata_promotion_20260624/state.toml, three open blockers remain:

Blocker Location Deferral
blocker_3_rag_return_type src/rag_engine.py:367 rag_engine.search() returns List[Dict[str, Any]]; RAGChunk dataclass exists but consumers read dict keys directly (chunk['document'], chunk['metadata']['path']). Cascading return-type change affects 3+ sites. Deferred to typed_rag_return_type_followup.
blocker_4_tool_builders_dicts src/ai_client.py:609,615,665,671,1132,1138 Per-vendor tool builders construct wire-format dicts directly (raw_tools.append({'type': 'function', ...})); ToolDefinition dataclass exists but isn't used. Deferred to typed_tool_builders_followup.
blocker_5_drifted_field_types src/type_aliases.py:10-148 Field types drifted from the plan: CommsLogEntry.kind default, CommsLogEntry.direction default, CommsLogEntry.content type, HistoryMessage.ts type, HistoryMessage.tool_calls type, HistoryMessage.role default, no @dataclass(slots=True), PathInfo.logs_dir type. Deferred to field_type_alignment_followup.

Also: typed_dispatcher_boundaries_followup_20260625 was planned (typed parameters at function boundaries) but never opened.

Relevance now: these are the most concrete unfinished type-promotion items. Each has a specific file:line and a specific migration target. They would compose into a single follow-up track or three small ones.

1.3 data_oriented_error_handling_20260606 (Completed, with deferrals)

Per conductor/archive/data_oriented_error_handling_20260606/state.toml:

  • t2_7 cancelled: the 30+ assert p is not None chain in the mcp_client.py tool functions is not removed. Deferred to "a follow-up track that will refactor the full mcp_client.py tool surface."
  • t2_8 cancelled: async_dispatch internals are not changed; the old str-returning API is preserved.

Relevance now: src/mcp_client.py still has the assert p is not None chain in its tool dispatch. The audit_exception_handling.py gate continues to allow it under the existing baseline; a follow-up would tighten the baseline.

1.4 type_alias_unfuck_20260626

  • vc4_codepaths_drop = "not_measured" — the required metric computation (number of value-class codepaths dropped) was deferred. The track shipped without the metric.

1.5 any_type_componentization_20260621 (Partially Completed)

  • The phase 2/4/5 call-site completion was deferred to phase2_4_5_call_site_completion_20260621 (which shipped).
  • phase2_4_5_call_site_completion_20260621 has its own deferral: OpenAICompatibleRequest.tools: list[dict] -> list[ToolSpec]; deferred (cross_phase_coupling).

Relevance now: OpenAICompatibleRequest.tools is still list[dict], not list[ToolSpec]. This is the same site as blocker_4_tool_builders_dicts above (§1.2).


2. The Metadata SSDL Campaign (parent + 2 of 3 children still Active)

The metadata_ssdl_defusing_20260624 campaign was a 3-child effort to defuse the Metadata aggregate's combinatoric explosion (4.01e22 effective codepaths). State:

Track Status Folder
metadata_ssdl_defusing_20260624 (parent) Active conductor/tracks/metadata_ssdl_defusing_20260624
metadata_nil_sentinel_20260624 (child 1) Completed (archived) conductor/archive/metadata_nil_sentinel_20260624
metadata_generational_handle_20260624 (child 2) Active conductor/tracks/metadata_generational_handle_20260624
metadata_field_cache_20260624 (child 3) Active conductor/tracks/metadata_field_cache_20260624

Note: these three Active tracks were NOT archived in the 2026-07-05 batch. They remain in conductor/tracks/. The user may want to either resume or formally abandon them; their state is currently stale (last commit 7c352e1c, 2026-06-24).


3. The Result[T] Migration Campaign (umbrella still Active)

The umbrella result_migration_20260616 and result_migration_cruft_removal_20260620 were NOT archived and remain in conductor/tracks/. The archived children:

  • public_api_migration_and_ui_polish_20260615
  • send_result_to_send_20260616
  • result_migration_review_pass_20260617
  • result_migration_small_files_20260617
  • result_migration_app_controller_20260618
  • result_migration_gui_2_20260619
  • result_migration_baseline_cleanup_20260620 — Phase 10-14 invariant tests marked in_progress per state.toml. The track shipped, but the invariant tests were never committed as checkpoints.

Relevance now: the umbrella and result_migration_cruft_removal_20260620 are the two remaining Active tracks in this campaign. The user previously confirmed closeout of the cruft_removal track; state.toml is stale.


4. Provider Integration: Qwen / Llama / Grok (deferrals + 1 cancellation)

qwen_llama_grok_followup_20260611 (archived via earlier commit 8ac8e64d)

Per its [deferred_work] section:

  • Anthropic + Gemini + DeepSeek — deferred (use vendored call paths; the v2 matrix fields weren't wired into these providers' send functions). Only gemini_cli got the v2 wiring.
  • Qwen _dashscope_call — deferred (uses _dashscope_call, not send_openai_compatible). Qwen v2 field wiring was not done.
  • 8 of 9 UX adaptations — deferred from qwen_llama_grok_integration_20260606 Phase 5 (only 1 of 9 shipped: "Screenshot button iff vision").
  • Per-field UI (toggles, attachment buttons, panels) — design work deferred to a follow-up track. Only visibility-only badges shipped (t5_4).
  • Meta Llama API adaptert4_3 / t6_1 CANCELLED permanently. Meta does not publish a public OpenAI-compat surface; waiting for Meta.

qwen_llama_grok_integration_20260606 (archived via earlier commit 8ac8e64d)

  • t1_11 in_progress: dashscope>=1.14.0,<2.0.0 dependency was never added to pyproject.toml.
  • Phase 5 was partial: 1 of 9 UX adaptations done.

Relevance now: the v2 capability matrix is wired only for gemini_cli. Anthropic, Gemini (direct), DeepSeek, and Qwen still need the v2 wiring if the user wants full v2 coverage. The dashscope dependency still needs to be pinned. The 8 deferred UX adaptations (interactive per-field toggles/panels) are still open design work.


5. Default Layout Campaign (3 tracks, multiple deferrals)

default_layout_extract_20260629

  • panel_defs_fleury_migration = "deferred (consumes LayoutFile + get_layouts_dir)" — panel_defs still uses the old structure, not the Fleury-pattern dataclass migration.
  • render_persona_editor_window_fix = "deferred (Layer 1 sentinel catches the empty-content bug)" — the persona editor window has an empty-content bug that's masked by a Layer 1 sentinel, not actually fixed.

default_layout_install_20260629

  • t2_9 deferred: User Manual Verification — needs a desktop session, can't run in headless Tier 2 sandbox.

default_layout_install_followup_20260629

  • t4_5 / t4_6 in_progress: commit final plan + state + tracks.md row. (The track shipped functionally; the bookkeeping was never finished.)

Relevance now: the persona editor empty-content bug is still masked, not fixed. The panel_defs Fleury migration is still open.


6. Superpowers Review + Apply (the apply-high track has 1 in_progress task)

superpowers_review_apply_high_20260705

  • t3_4 = { status = "in_progress", commit_sha = "PENDING", description = "Commit + git notes" } — the final commit + git notes for the apply-high track was never made. The work itself is done (Phase 1-3 shipped), but the bookkeeping commit is missing.

superpowers_review_20260619

  • research_only = "Per user Q1 = A (2026-06-19): no src/, tests/, or agent-directive changes. Recommendations go in decisions.md for the deferred rebuild." — the deferred rebuild (nagent-rebuild) is a user-deferred decision; no track exists yet.

Relevance now: minor. The t3_4 bookkeeping commit is the only outstanding item; it's a 1-line git operation.


7. Fable Review (1 pending section)

fable_review_20260617

  • t3_16 = { status = "pending", commit_sha = "", description = "Section 16: Recommendations for the deferred nagent-rebuild. Source: all clusters. Approx LOC: 200." } — the report is complete through Section 15; Section 16 (the recommendations for the deferred nagent-rebuild) was never written.
  • deferred_nagent_rebuild = "user-deferred (no track yet); the Fable review's decisions.md is one of several inputs" — the nagent-rebuild is a user-deferred decision that would consume Fable + Superpowers + nagent_review_20260608 outputs.

Relevance now: if/when the user decides to do the nagent-rebuild, the Fable review's Section 16 is one of the inputs that doesn't exist yet.


8. Directive Hotswap Harness (Partially Completed)

directive_hotswap_harness_20260627

  • t3_2 = { status = "deferred", ... "Manual verification: does the LLM follow the warm with: instruction? DEFERRED to user per directive" } — the harness was built but never verified end-to-end with a live LLM session.
  • t3_4 = { status = "in_progress", ... "Commit the end-of-track report + this state.toml update atomically" } — the end-of-track report + state.toml final commit was never made.
  • 3 additional deferred items + 2 in_progress items per state.toml.

Relevance now: the directive hotswap harness is functional but unverified. The user would need to test it in a live OpenCode session to confirm the LLM follows the warm with: instruction. This is the user-deferred verification gate.


9. Chronology Maintenance Switch (this session)

The chronology generator scripts (scripts/audit/generate_chronology.py + scripts/audit/chronology_quality_gate.py) were deleted in this session (2026-07-05) after repeated corruption incidents. conductor/chronology.md is now maintained manually:

  • conductor/workflow.md §"Chronology Maintenance" updated to reflect manual maintenance.
  • conductor/tracks.md §"Archiving a track (3 steps)" step 3 updated to "Add a row to conductor/chronology.md (top of the table, newest-first) by hand."
  • The footer of conductor/tracks.md updated: the "Full project history" pointer now says "Maintained manually (the generator scripts were deleted 2026-07-05...)".

Relevance now: future agents must NOT try to regenerate the chronology via a script. The convention is now: add a row by hand when a track ships/abandons/is superseded/is archived.

The archived tracks chronology_20260619 and chronology_v2_20260701 contain the design history for the deleted scripts; they're retained as reference but the scripts themselves are gone.


10. Test Infrastructure (minor deferrals)

test_sandbox_hardening_20260619

  • phase_8 = { status = "partial", ... "Full suite verification (Tier-1 smoke run showed FR1 guard catches real corruption; full suite deferred to user)" } — the full-suite verification was deferred to the user; only a Tier-1 smoke run was done.

fix_mma_concurrent_tracks_sim_20260627

  • t2_3 = { status = "in_progress", ... "Update TRACK_COMPLETION_fix_mma_concurrent_tracks_sim_20260627.md to include all 5 fixes" } — the TRACK_COMPLETION report was never updated with all 5 fixes.
  • phase_1 is marked in_progress despite the track being functionally complete.

result_migration_baseline_cleanup_20260620

  • Phases 10-14 invariant tests marked in_progress — never committed as checkpoints.

Relevance now: minor. These are bookkeeping deferrals, not functional debt.


11. Other Minor Deferrals

tier2_leak_prevention_20260620

  • [deferred] section exists in state.toml (content not enumerated here; the track's primary work — the 3-layer hard-ban enforcement — shipped).

data_structure_strengthening_20260606

  • [typed_dict_migration_followup] and [public_api_migration_followup] sections retained as forward-pointers; both were consumed by later tracks (the Result[T] migration campaign).

post_module_taxonomy_de_cruft_20260627

  • out_of_scope = "VC4/VC13 (full batched suite deferred); 2 pre-existing audit failures (main_thread_imports + exception_handling)" — two pre-existing audit failures were noted as out-of-scope. They may still be failing.

phase2_4_5_call_site_completion_20260621

  • cross_phase_coupling = "OpenAICompatibleRequest.tools: list[dict] -> list[ToolSpec]; deferred" — same as §1.2 blocker_4_tool_builders_dicts.

code_path_audit_phase_2_20260624

  • t3_1 was a snapshot task deferred to post-Phase-3 (the metric was captured post-phase instead).

Summary: What Deserves a Follow-Up Track?

Ranked by codebase relevance (highest first):

  1. typed_rag_return_type_followupsrc/rag_engine.py:367 returns List[Dict[str, Any]]; RAGChunk exists but isn't used. Cascading change across 3+ consumer sites. (From §1.2 blocker_3.)
  2. typed_tool_builders_followupsrc/ai_client.py:609,615,665,671,1132,1138 construct wire-format dicts directly; ToolDefinition exists but isn't used. Affects OpenAICompatibleRequest.tools: list[dict]. (From §1.2 blocker_4 + §1.5 + §4.)
  3. field_type_alignment_followupsrc/type_aliases.py:10-148 has drifted field types vs the plan. Consumer migration could work or break. (From §1.2 blocker_5.)
  4. cruft_elimination_phase_6_followup — 30 Optional[T] return sites across 14 files. (From §1.1 phase_6.)
  5. cruft_elimination_phase_7_followup — 69 Any/dict[str, Any] internal-signature sites. (From §1.1 phase_7.)
  6. mcp_client_tool_surface_assert_removal — the 30+ assert p is not None chain in mcp_client.py tool dispatch. (From §1.3.)
  7. gui_2_hasattr_removal — 18 hasattr checks in gui_2.py (the deferred half of cruft_elimination phase_3). (From §1.1.)
  8. qwen_v2_wiring + anthropic_gemini_deepseek_v2_wiring — v2 capability matrix fields not wired into Qwen/Anthropic/Gemini-direct/DeepSeek send functions. (From §4.)
  9. dashscope_dependency_pin — add dashscope>=1.14.0,<2.0.0 to pyproject.toml. (From §4, 1-line fix.)
  10. v2_ux_interactive_toggles — per-field UI toggles/attachment buttons/panels (design work; the visibility-only badges shipped). (From §4.)
  11. persona_editor_empty_content_fix — the persona editor window has an empty-content bug masked by a Layer 1 sentinel. (From §5.)
  12. metadata_ssdl_defusing_campaign_resume_or_abandon — parent + 2 of 3 children still Active; state stale since 2026-06-24. User decision needed. (From §2.)
  13. result_migration_cruft_removal_closeout — umbrella + cruft_removal still Active per state.toml; user confirmed closeout. Update state.toml. (From §3.)
  14. fable_section_16 — write Section 16 (nagent-rebuild recommendations, ~200 LOC). Only relevant if the user decides to do the nagent-rebuild. (From §7.)

Items 1-3 are the most concrete type-promotion work and have specific file:line targets. Items 4-6 are the bulk type-promotion sweeps. Items 7-10 are provider-integration debt. Items 11-14 are smaller / decision-gated.

The user should pick which (if any) of these to open as follow-up tracks. The archive review is complete; this report is the index for that decision.