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.
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_7cancelled: the 30+assert p is not Nonechain in themcp_client.pytool functions is not removed. Deferred to "a follow-up track that will refactor the fullmcp_client.pytool surface."t2_8cancelled:async_dispatchinternals 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_20260621has 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 markedin_progressper 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_cligot the v2 wiring. - Qwen
_dashscope_call— deferred (uses_dashscope_call, notsend_openai_compatible). Qwen v2 field wiring was not done. - 8 of 9 UX adaptations — deferred from
qwen_llama_grok_integration_20260606Phase 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 adapter —
t4_3/t6_1CANCELLED permanently. Meta does not publish a public OpenAI-compat surface; waiting for Meta.
qwen_llama_grok_integration_20260606 (archived via earlier commit 8ac8e64d)
t1_11in_progress:dashscope>=1.14.0,<2.0.0dependency was never added topyproject.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_9deferred: User Manual Verification — needs a desktop session, can't run in headless Tier 2 sandbox.
default_layout_install_followup_20260629
t4_5/t4_6in_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 toconductor/chronology.md(top of the table, newest-first) by hand."- The footer of
conductor/tracks.mdupdated: 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_1is 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.2blocker_4_tool_builders_dicts.
code_path_audit_phase_2_20260624
t3_1was 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):
typed_rag_return_type_followup—src/rag_engine.py:367returnsList[Dict[str, Any]];RAGChunkexists but isn't used. Cascading change across 3+ consumer sites. (From §1.2 blocker_3.)typed_tool_builders_followup—src/ai_client.py:609,615,665,671,1132,1138construct wire-format dicts directly;ToolDefinitionexists but isn't used. AffectsOpenAICompatibleRequest.tools: list[dict]. (From §1.2 blocker_4 + §1.5 + §4.)field_type_alignment_followup—src/type_aliases.py:10-148has drifted field types vs the plan. Consumer migration could work or break. (From §1.2 blocker_5.)cruft_elimination_phase_6_followup— 30Optional[T]return sites across 14 files. (From §1.1 phase_6.)cruft_elimination_phase_7_followup— 69Any/dict[str, Any]internal-signature sites. (From §1.1 phase_7.)mcp_client_tool_surface_assert_removal— the 30+assert p is not Nonechain inmcp_client.pytool dispatch. (From §1.3.)gui_2_hasattr_removal— 18hasattrchecks ingui_2.py(the deferred half of cruft_elimination phase_3). (From §1.1.)qwen_v2_wiring+anthropic_gemini_deepseek_v2_wiring— v2 capability matrix fields not wired into Qwen/Anthropic/Gemini-direct/DeepSeek send functions. (From §4.)dashscope_dependency_pin— adddashscope>=1.14.0,<2.0.0topyproject.toml. (From §4, 1-line fix.)v2_ux_interactive_toggles— per-field UI toggles/attachment buttons/panels (design work; the visibility-only badges shipped). (From §4.)persona_editor_empty_content_fix— the persona editor window has an empty-content bug masked by a Layer 1 sentinel. (From §5.)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.)result_migration_cruft_removal_closeout— umbrella + cruft_removal still Active per state.toml; user confirmed closeout. Update state.toml. (From §3.)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.