From 781ee9728da9f88b2161b3093f61fc2baa28d03b Mon Sep 17 00:00:00 2001 From: bitkyc08-arch Date: Tue, 18 Aug 2026 17:32:10 +0900 Subject: [PATCH] docs(devlog): close eight shipped units to _fin and open the merge campaign MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Eight _plan units carry recorded terminal outcomes (disposition sweep 050/070, GUI loading 050, wave012 110, wave34 120, cursor decode 050, gpt-5.6 1M 070, wave5 090, cursor-call 070/v2.25.0) — moved to _fin per the devlog contract. Opened 260818_merge_campaign for the Windows stack and FastWire train merges. --- .../260806_disposition_sweep/000_plan.md | 0 .../001_disposition_matrix.md | 0 .../010_github_dispositions.md | 0 .../011_comment_drafts.md | 0 .../020_1090_regression_test.md | 0 .../030_936_rebase.md | 0 .../040_1008_rebase.md | 0 .../260806_disposition_sweep/050_closeout.md | 0 .../060_usage_cap_500k.md | 0 .../070_936_release_train.md | 0 .../000_plan.md | 0 .../001_repro_evidence.md | 0 .../002_polling_inventory.md | 0 .../010_phase1_resource_deadline.md | 0 .../020_phase2_auth_unwedge.md | 0 .../030_phase3_hidden_pause.md | 0 .../040_phase4_poll_consolidation.md | 0 .../050_delivery_record.md | 0 .../260816_wave012_closeout/000_research.md | 0 .../010_wave0_triage.md | 0 .../020_wave1_1805_1806_1786.md | 0 .../030_wave1_1741_1825_1824.md | 0 .../040_wave1_1817_1801.md | 0 .../050_wave2_1819_1785.md | 0 .../060_wave2_1788_1700.md | 0 .../070_wave2_1780_1767.md | 0 .../080_wave2_1792_1668.md | 0 .../090_wave2_1703_1697.md | 0 .../260816_wave012_closeout/100_closeout.md | 0 .../260816_wave012_closeout/110_outcome.md | 0 .../260816_wave34_closeout/000_research.md | 0 .../010_1802_sync_evidence.md | 0 .../020_1837_latency.md | 0 .../030_1789_workspace_outcome.md | 0 .../040_1784_typed_cause.md | 0 .../050_1791_quota_windows.md | 0 .../060_1835_cli_mutation.md | 0 .../070_1823_signature_scope.md | 0 .../080_1830_cursor_evidence.md | 0 .../090_1524_capability_preflight.md | 0 .../100_1686_admission.md | 0 .../101_1049_legacy_adoption.md | 0 .../102_1798_restore_merge.md | 0 .../260816_wave34_closeout/110_closeout.md | 0 .../260816_wave34_closeout/120_outcome.md | 0 .../130_1795_undeclared_tools.md | 0 .../000_index.md | 0 .../001_toolcall-lifecycle-decode.md | 0 .../002_toolresult-encoding-decode.md | 0 .../003_transport-terminal-decode.md | 0 .../004_external-wire-evidence.md | 0 .../010_phase1-clean-eof-terminal.md | 0 ...020_phase2-toolresult-image-passthrough.md | 0 .../030_phase3-xai-apply-patch-affordance.md | 0 .../040_phase4-server-cancel-terminal.md | 0 .../050_phase5-nonstreaming-terminal.md | 0 .../000_plan.md | 0 .../001_measurement_evidence.md | 0 .../002_context_path_inventory.md | 0 .../003_native_group_gating.md | 0 .../005_audit_foldback.md | 0 .../006_root_cause_replan.md | 0 .../007_replan_use_existing_cap.md | 0 .../008_r6_foldback.md | 0 .../009_status_needs_human.md | 0 .../010_wp1_native_context_contract.md | 0 .../011_scope_decision.md | 0 .../012_followup_window_is_a_budget.md | 0 .../013_r9_foldback_95_percent_rule.md | 0 .../014_final_922k_with_margin.md | 0 .../020_wp2_native_group_controls.md | 0 .../030_wp3_context_presets.md | 0 .../040_wp4_release.md | 0 .../050_wp6_sync_enabled_integrations.md | 0 .../060_wp8_native_per_model_context.md | 0 .../061_r12_foldback_limits_as_argument.md | 0 .../070_default_272k_opt_in.md | 0 .../260817_wave5_execution/000_research.md | 0 .../001_audit_synthesis.md | 0 .../002_merge_order_corrections.md | 0 .../010_1894_gemini_wire_id.md | 0 .../020_1899_harden_ordering.md | 0 .../030_1876_windows_discovery.md | 0 .../040_thought_signature_scope.md | 0 .../050_1849_1049_durability.md | 0 .../060_wave5b_continuation.md | 0 .../070_wave5c_cursor.md | 0 .../080_wave5d_antigravity.md | 0 .../090_wave6_closeout.md | 0 .../000_plan.md | 0 .../005_audit_r1.md | 0 .../006_audit_r3.md | 0 .../007_audit_r4.md | 0 .../008_audit_r5.md | 0 .../009_audit_r6.md | 0 .../010_phase1.md | 0 .../012_audit_r7.md | 0 .../013_audit_r7_r8.md | 0 .../014_audit_r10.md | 0 .../015_phase2b_eof_usage.md | 0 .../016_audit_r13.md | 0 .../017_audit_r12.md | 0 .../018_audit_r14.md | 0 .../019_the_plan_becomes_a_program.md | 0 .../020_phase2.md | 0 .../030_phase3.md | 0 .../040_phase4.md | 0 .../050_phase5.md | 0 .../060_release_readiness.md | 0 .../070_release_executed.md | 0 .../cursor-call-integration.zsh | 0 .../000_risk_assessment.md | 170 ++++++++++++++++++ .../000_campaign_plan.md | 40 +++++ 113 files changed, 210 insertions(+) rename devlog/{_plan => _fin}/260806_disposition_sweep/000_plan.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/001_disposition_matrix.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/010_github_dispositions.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/011_comment_drafts.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/020_1090_regression_test.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/030_936_rebase.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/040_1008_rebase.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/050_closeout.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/060_usage_cap_500k.md (100%) rename devlog/{_plan => _fin}/260806_disposition_sweep/070_936_release_train.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/000_plan.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/001_repro_evidence.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/002_polling_inventory.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/010_phase1_resource_deadline.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/020_phase2_auth_unwedge.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/030_phase3_hidden_pause.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/040_phase4_poll_consolidation.md (100%) rename devlog/{_plan => _fin}/260816_gui_loading_performance/050_delivery_record.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/000_research.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/010_wave0_triage.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/020_wave1_1805_1806_1786.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/030_wave1_1741_1825_1824.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/040_wave1_1817_1801.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/050_wave2_1819_1785.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/060_wave2_1788_1700.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/070_wave2_1780_1767.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/080_wave2_1792_1668.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/090_wave2_1703_1697.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/100_closeout.md (100%) rename devlog/{_plan => _fin}/260816_wave012_closeout/110_outcome.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/000_research.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/010_1802_sync_evidence.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/020_1837_latency.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/030_1789_workspace_outcome.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/040_1784_typed_cause.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/050_1791_quota_windows.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/060_1835_cli_mutation.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/070_1823_signature_scope.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/080_1830_cursor_evidence.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/090_1524_capability_preflight.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/100_1686_admission.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/101_1049_legacy_adoption.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/102_1798_restore_merge.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/110_closeout.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/120_outcome.md (100%) rename devlog/{_plan => _fin}/260816_wave34_closeout/130_1795_undeclared_tools.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/000_index.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/001_toolcall-lifecycle-decode.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/002_toolresult-encoding-decode.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/003_transport-terminal-decode.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/004_external-wire-evidence.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/010_phase1-clean-eof-terminal.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/020_phase2-toolresult-image-passthrough.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/030_phase3-xai-apply-patch-affordance.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/040_phase4-server-cancel-terminal.md (100%) rename devlog/{_plan => _fin}/260817_cursor_toolcall_decode/050_phase5-nonstreaming-terminal.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/000_plan.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/001_measurement_evidence.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/002_context_path_inventory.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/003_native_group_gating.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/005_audit_foldback.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/006_root_cause_replan.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/007_replan_use_existing_cap.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/008_r6_foldback.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/009_status_needs_human.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/010_wp1_native_context_contract.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/011_scope_decision.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/012_followup_window_is_a_budget.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/013_r9_foldback_95_percent_rule.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/014_final_922k_with_margin.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/020_wp2_native_group_controls.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/030_wp3_context_presets.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/040_wp4_release.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/050_wp6_sync_enabled_integrations.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/060_wp8_native_per_model_context.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/061_r12_foldback_limits_as_argument.md (100%) rename devlog/{_plan => _fin}/260817_native_gpt56_1m_context/070_default_272k_opt_in.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/000_research.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/001_audit_synthesis.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/002_merge_order_corrections.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/010_1894_gemini_wire_id.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/020_1899_harden_ordering.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/030_1876_windows_discovery.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/040_thought_signature_scope.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/050_1849_1049_durability.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/060_wave5b_continuation.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/070_wave5c_cursor.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/080_wave5d_antigravity.md (100%) rename devlog/{_plan => _fin}/260817_wave5_execution/090_wave6_closeout.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/000_plan.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/005_audit_r1.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/006_audit_r3.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/007_audit_r4.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/008_audit_r5.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/009_audit_r6.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/010_phase1.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/012_audit_r7.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/013_audit_r7_r8.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/014_audit_r10.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/015_phase2b_eof_usage.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/016_audit_r13.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/017_audit_r12.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/018_audit_r14.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/019_the_plan_becomes_a_program.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/020_phase2.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/030_phase3.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/040_phase4.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/050_phase5.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/060_release_readiness.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/070_release_executed.md (100%) rename devlog/{_plan => _fin}/260818_cursor_call_integration/cursor-call-integration.zsh (100%) create mode 100644 devlog/_plan/260818_megafile_split_program/000_risk_assessment.md create mode 100644 devlog/_plan/260818_merge_campaign/000_campaign_plan.md diff --git a/devlog/_plan/260806_disposition_sweep/000_plan.md b/devlog/_fin/260806_disposition_sweep/000_plan.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/000_plan.md rename to devlog/_fin/260806_disposition_sweep/000_plan.md diff --git a/devlog/_plan/260806_disposition_sweep/001_disposition_matrix.md b/devlog/_fin/260806_disposition_sweep/001_disposition_matrix.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/001_disposition_matrix.md rename to devlog/_fin/260806_disposition_sweep/001_disposition_matrix.md diff --git a/devlog/_plan/260806_disposition_sweep/010_github_dispositions.md b/devlog/_fin/260806_disposition_sweep/010_github_dispositions.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/010_github_dispositions.md rename to devlog/_fin/260806_disposition_sweep/010_github_dispositions.md diff --git a/devlog/_plan/260806_disposition_sweep/011_comment_drafts.md b/devlog/_fin/260806_disposition_sweep/011_comment_drafts.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/011_comment_drafts.md rename to devlog/_fin/260806_disposition_sweep/011_comment_drafts.md diff --git a/devlog/_plan/260806_disposition_sweep/020_1090_regression_test.md b/devlog/_fin/260806_disposition_sweep/020_1090_regression_test.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/020_1090_regression_test.md rename to devlog/_fin/260806_disposition_sweep/020_1090_regression_test.md diff --git a/devlog/_plan/260806_disposition_sweep/030_936_rebase.md b/devlog/_fin/260806_disposition_sweep/030_936_rebase.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/030_936_rebase.md rename to devlog/_fin/260806_disposition_sweep/030_936_rebase.md diff --git a/devlog/_plan/260806_disposition_sweep/040_1008_rebase.md b/devlog/_fin/260806_disposition_sweep/040_1008_rebase.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/040_1008_rebase.md rename to devlog/_fin/260806_disposition_sweep/040_1008_rebase.md diff --git a/devlog/_plan/260806_disposition_sweep/050_closeout.md b/devlog/_fin/260806_disposition_sweep/050_closeout.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/050_closeout.md rename to devlog/_fin/260806_disposition_sweep/050_closeout.md diff --git a/devlog/_plan/260806_disposition_sweep/060_usage_cap_500k.md b/devlog/_fin/260806_disposition_sweep/060_usage_cap_500k.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/060_usage_cap_500k.md rename to devlog/_fin/260806_disposition_sweep/060_usage_cap_500k.md diff --git a/devlog/_plan/260806_disposition_sweep/070_936_release_train.md b/devlog/_fin/260806_disposition_sweep/070_936_release_train.md similarity index 100% rename from devlog/_plan/260806_disposition_sweep/070_936_release_train.md rename to devlog/_fin/260806_disposition_sweep/070_936_release_train.md diff --git a/devlog/_plan/260816_gui_loading_performance/000_plan.md b/devlog/_fin/260816_gui_loading_performance/000_plan.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/000_plan.md rename to devlog/_fin/260816_gui_loading_performance/000_plan.md diff --git a/devlog/_plan/260816_gui_loading_performance/001_repro_evidence.md b/devlog/_fin/260816_gui_loading_performance/001_repro_evidence.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/001_repro_evidence.md rename to devlog/_fin/260816_gui_loading_performance/001_repro_evidence.md diff --git a/devlog/_plan/260816_gui_loading_performance/002_polling_inventory.md b/devlog/_fin/260816_gui_loading_performance/002_polling_inventory.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/002_polling_inventory.md rename to devlog/_fin/260816_gui_loading_performance/002_polling_inventory.md diff --git a/devlog/_plan/260816_gui_loading_performance/010_phase1_resource_deadline.md b/devlog/_fin/260816_gui_loading_performance/010_phase1_resource_deadline.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/010_phase1_resource_deadline.md rename to devlog/_fin/260816_gui_loading_performance/010_phase1_resource_deadline.md diff --git a/devlog/_plan/260816_gui_loading_performance/020_phase2_auth_unwedge.md b/devlog/_fin/260816_gui_loading_performance/020_phase2_auth_unwedge.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/020_phase2_auth_unwedge.md rename to devlog/_fin/260816_gui_loading_performance/020_phase2_auth_unwedge.md diff --git a/devlog/_plan/260816_gui_loading_performance/030_phase3_hidden_pause.md b/devlog/_fin/260816_gui_loading_performance/030_phase3_hidden_pause.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/030_phase3_hidden_pause.md rename to devlog/_fin/260816_gui_loading_performance/030_phase3_hidden_pause.md diff --git a/devlog/_plan/260816_gui_loading_performance/040_phase4_poll_consolidation.md b/devlog/_fin/260816_gui_loading_performance/040_phase4_poll_consolidation.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/040_phase4_poll_consolidation.md rename to devlog/_fin/260816_gui_loading_performance/040_phase4_poll_consolidation.md diff --git a/devlog/_plan/260816_gui_loading_performance/050_delivery_record.md b/devlog/_fin/260816_gui_loading_performance/050_delivery_record.md similarity index 100% rename from devlog/_plan/260816_gui_loading_performance/050_delivery_record.md rename to devlog/_fin/260816_gui_loading_performance/050_delivery_record.md diff --git a/devlog/_plan/260816_wave012_closeout/000_research.md b/devlog/_fin/260816_wave012_closeout/000_research.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/000_research.md rename to devlog/_fin/260816_wave012_closeout/000_research.md diff --git a/devlog/_plan/260816_wave012_closeout/010_wave0_triage.md b/devlog/_fin/260816_wave012_closeout/010_wave0_triage.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/010_wave0_triage.md rename to devlog/_fin/260816_wave012_closeout/010_wave0_triage.md diff --git a/devlog/_plan/260816_wave012_closeout/020_wave1_1805_1806_1786.md b/devlog/_fin/260816_wave012_closeout/020_wave1_1805_1806_1786.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/020_wave1_1805_1806_1786.md rename to devlog/_fin/260816_wave012_closeout/020_wave1_1805_1806_1786.md diff --git a/devlog/_plan/260816_wave012_closeout/030_wave1_1741_1825_1824.md b/devlog/_fin/260816_wave012_closeout/030_wave1_1741_1825_1824.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/030_wave1_1741_1825_1824.md rename to devlog/_fin/260816_wave012_closeout/030_wave1_1741_1825_1824.md diff --git a/devlog/_plan/260816_wave012_closeout/040_wave1_1817_1801.md b/devlog/_fin/260816_wave012_closeout/040_wave1_1817_1801.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/040_wave1_1817_1801.md rename to devlog/_fin/260816_wave012_closeout/040_wave1_1817_1801.md diff --git a/devlog/_plan/260816_wave012_closeout/050_wave2_1819_1785.md b/devlog/_fin/260816_wave012_closeout/050_wave2_1819_1785.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/050_wave2_1819_1785.md rename to devlog/_fin/260816_wave012_closeout/050_wave2_1819_1785.md diff --git a/devlog/_plan/260816_wave012_closeout/060_wave2_1788_1700.md b/devlog/_fin/260816_wave012_closeout/060_wave2_1788_1700.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/060_wave2_1788_1700.md rename to devlog/_fin/260816_wave012_closeout/060_wave2_1788_1700.md diff --git a/devlog/_plan/260816_wave012_closeout/070_wave2_1780_1767.md b/devlog/_fin/260816_wave012_closeout/070_wave2_1780_1767.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/070_wave2_1780_1767.md rename to devlog/_fin/260816_wave012_closeout/070_wave2_1780_1767.md diff --git a/devlog/_plan/260816_wave012_closeout/080_wave2_1792_1668.md b/devlog/_fin/260816_wave012_closeout/080_wave2_1792_1668.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/080_wave2_1792_1668.md rename to devlog/_fin/260816_wave012_closeout/080_wave2_1792_1668.md diff --git a/devlog/_plan/260816_wave012_closeout/090_wave2_1703_1697.md b/devlog/_fin/260816_wave012_closeout/090_wave2_1703_1697.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/090_wave2_1703_1697.md rename to devlog/_fin/260816_wave012_closeout/090_wave2_1703_1697.md diff --git a/devlog/_plan/260816_wave012_closeout/100_closeout.md b/devlog/_fin/260816_wave012_closeout/100_closeout.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/100_closeout.md rename to devlog/_fin/260816_wave012_closeout/100_closeout.md diff --git a/devlog/_plan/260816_wave012_closeout/110_outcome.md b/devlog/_fin/260816_wave012_closeout/110_outcome.md similarity index 100% rename from devlog/_plan/260816_wave012_closeout/110_outcome.md rename to devlog/_fin/260816_wave012_closeout/110_outcome.md diff --git a/devlog/_plan/260816_wave34_closeout/000_research.md b/devlog/_fin/260816_wave34_closeout/000_research.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/000_research.md rename to devlog/_fin/260816_wave34_closeout/000_research.md diff --git a/devlog/_plan/260816_wave34_closeout/010_1802_sync_evidence.md b/devlog/_fin/260816_wave34_closeout/010_1802_sync_evidence.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/010_1802_sync_evidence.md rename to devlog/_fin/260816_wave34_closeout/010_1802_sync_evidence.md diff --git a/devlog/_plan/260816_wave34_closeout/020_1837_latency.md b/devlog/_fin/260816_wave34_closeout/020_1837_latency.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/020_1837_latency.md rename to devlog/_fin/260816_wave34_closeout/020_1837_latency.md diff --git a/devlog/_plan/260816_wave34_closeout/030_1789_workspace_outcome.md b/devlog/_fin/260816_wave34_closeout/030_1789_workspace_outcome.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/030_1789_workspace_outcome.md rename to devlog/_fin/260816_wave34_closeout/030_1789_workspace_outcome.md diff --git a/devlog/_plan/260816_wave34_closeout/040_1784_typed_cause.md b/devlog/_fin/260816_wave34_closeout/040_1784_typed_cause.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/040_1784_typed_cause.md rename to devlog/_fin/260816_wave34_closeout/040_1784_typed_cause.md diff --git a/devlog/_plan/260816_wave34_closeout/050_1791_quota_windows.md b/devlog/_fin/260816_wave34_closeout/050_1791_quota_windows.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/050_1791_quota_windows.md rename to devlog/_fin/260816_wave34_closeout/050_1791_quota_windows.md diff --git a/devlog/_plan/260816_wave34_closeout/060_1835_cli_mutation.md b/devlog/_fin/260816_wave34_closeout/060_1835_cli_mutation.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/060_1835_cli_mutation.md rename to devlog/_fin/260816_wave34_closeout/060_1835_cli_mutation.md diff --git a/devlog/_plan/260816_wave34_closeout/070_1823_signature_scope.md b/devlog/_fin/260816_wave34_closeout/070_1823_signature_scope.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/070_1823_signature_scope.md rename to devlog/_fin/260816_wave34_closeout/070_1823_signature_scope.md diff --git a/devlog/_plan/260816_wave34_closeout/080_1830_cursor_evidence.md b/devlog/_fin/260816_wave34_closeout/080_1830_cursor_evidence.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/080_1830_cursor_evidence.md rename to devlog/_fin/260816_wave34_closeout/080_1830_cursor_evidence.md diff --git a/devlog/_plan/260816_wave34_closeout/090_1524_capability_preflight.md b/devlog/_fin/260816_wave34_closeout/090_1524_capability_preflight.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/090_1524_capability_preflight.md rename to devlog/_fin/260816_wave34_closeout/090_1524_capability_preflight.md diff --git a/devlog/_plan/260816_wave34_closeout/100_1686_admission.md b/devlog/_fin/260816_wave34_closeout/100_1686_admission.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/100_1686_admission.md rename to devlog/_fin/260816_wave34_closeout/100_1686_admission.md diff --git a/devlog/_plan/260816_wave34_closeout/101_1049_legacy_adoption.md b/devlog/_fin/260816_wave34_closeout/101_1049_legacy_adoption.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/101_1049_legacy_adoption.md rename to devlog/_fin/260816_wave34_closeout/101_1049_legacy_adoption.md diff --git a/devlog/_plan/260816_wave34_closeout/102_1798_restore_merge.md b/devlog/_fin/260816_wave34_closeout/102_1798_restore_merge.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/102_1798_restore_merge.md rename to devlog/_fin/260816_wave34_closeout/102_1798_restore_merge.md diff --git a/devlog/_plan/260816_wave34_closeout/110_closeout.md b/devlog/_fin/260816_wave34_closeout/110_closeout.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/110_closeout.md rename to devlog/_fin/260816_wave34_closeout/110_closeout.md diff --git a/devlog/_plan/260816_wave34_closeout/120_outcome.md b/devlog/_fin/260816_wave34_closeout/120_outcome.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/120_outcome.md rename to devlog/_fin/260816_wave34_closeout/120_outcome.md diff --git a/devlog/_plan/260816_wave34_closeout/130_1795_undeclared_tools.md b/devlog/_fin/260816_wave34_closeout/130_1795_undeclared_tools.md similarity index 100% rename from devlog/_plan/260816_wave34_closeout/130_1795_undeclared_tools.md rename to devlog/_fin/260816_wave34_closeout/130_1795_undeclared_tools.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/000_index.md b/devlog/_fin/260817_cursor_toolcall_decode/000_index.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/000_index.md rename to devlog/_fin/260817_cursor_toolcall_decode/000_index.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/001_toolcall-lifecycle-decode.md b/devlog/_fin/260817_cursor_toolcall_decode/001_toolcall-lifecycle-decode.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/001_toolcall-lifecycle-decode.md rename to devlog/_fin/260817_cursor_toolcall_decode/001_toolcall-lifecycle-decode.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/002_toolresult-encoding-decode.md b/devlog/_fin/260817_cursor_toolcall_decode/002_toolresult-encoding-decode.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/002_toolresult-encoding-decode.md rename to devlog/_fin/260817_cursor_toolcall_decode/002_toolresult-encoding-decode.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/003_transport-terminal-decode.md b/devlog/_fin/260817_cursor_toolcall_decode/003_transport-terminal-decode.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/003_transport-terminal-decode.md rename to devlog/_fin/260817_cursor_toolcall_decode/003_transport-terminal-decode.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/004_external-wire-evidence.md b/devlog/_fin/260817_cursor_toolcall_decode/004_external-wire-evidence.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/004_external-wire-evidence.md rename to devlog/_fin/260817_cursor_toolcall_decode/004_external-wire-evidence.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/010_phase1-clean-eof-terminal.md b/devlog/_fin/260817_cursor_toolcall_decode/010_phase1-clean-eof-terminal.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/010_phase1-clean-eof-terminal.md rename to devlog/_fin/260817_cursor_toolcall_decode/010_phase1-clean-eof-terminal.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/020_phase2-toolresult-image-passthrough.md b/devlog/_fin/260817_cursor_toolcall_decode/020_phase2-toolresult-image-passthrough.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/020_phase2-toolresult-image-passthrough.md rename to devlog/_fin/260817_cursor_toolcall_decode/020_phase2-toolresult-image-passthrough.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/030_phase3-xai-apply-patch-affordance.md b/devlog/_fin/260817_cursor_toolcall_decode/030_phase3-xai-apply-patch-affordance.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/030_phase3-xai-apply-patch-affordance.md rename to devlog/_fin/260817_cursor_toolcall_decode/030_phase3-xai-apply-patch-affordance.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/040_phase4-server-cancel-terminal.md b/devlog/_fin/260817_cursor_toolcall_decode/040_phase4-server-cancel-terminal.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/040_phase4-server-cancel-terminal.md rename to devlog/_fin/260817_cursor_toolcall_decode/040_phase4-server-cancel-terminal.md diff --git a/devlog/_plan/260817_cursor_toolcall_decode/050_phase5-nonstreaming-terminal.md b/devlog/_fin/260817_cursor_toolcall_decode/050_phase5-nonstreaming-terminal.md similarity index 100% rename from devlog/_plan/260817_cursor_toolcall_decode/050_phase5-nonstreaming-terminal.md rename to devlog/_fin/260817_cursor_toolcall_decode/050_phase5-nonstreaming-terminal.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/000_plan.md b/devlog/_fin/260817_native_gpt56_1m_context/000_plan.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/000_plan.md rename to devlog/_fin/260817_native_gpt56_1m_context/000_plan.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/001_measurement_evidence.md b/devlog/_fin/260817_native_gpt56_1m_context/001_measurement_evidence.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/001_measurement_evidence.md rename to devlog/_fin/260817_native_gpt56_1m_context/001_measurement_evidence.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/002_context_path_inventory.md b/devlog/_fin/260817_native_gpt56_1m_context/002_context_path_inventory.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/002_context_path_inventory.md rename to devlog/_fin/260817_native_gpt56_1m_context/002_context_path_inventory.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/003_native_group_gating.md b/devlog/_fin/260817_native_gpt56_1m_context/003_native_group_gating.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/003_native_group_gating.md rename to devlog/_fin/260817_native_gpt56_1m_context/003_native_group_gating.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/005_audit_foldback.md b/devlog/_fin/260817_native_gpt56_1m_context/005_audit_foldback.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/005_audit_foldback.md rename to devlog/_fin/260817_native_gpt56_1m_context/005_audit_foldback.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/006_root_cause_replan.md b/devlog/_fin/260817_native_gpt56_1m_context/006_root_cause_replan.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/006_root_cause_replan.md rename to devlog/_fin/260817_native_gpt56_1m_context/006_root_cause_replan.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/007_replan_use_existing_cap.md b/devlog/_fin/260817_native_gpt56_1m_context/007_replan_use_existing_cap.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/007_replan_use_existing_cap.md rename to devlog/_fin/260817_native_gpt56_1m_context/007_replan_use_existing_cap.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/008_r6_foldback.md b/devlog/_fin/260817_native_gpt56_1m_context/008_r6_foldback.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/008_r6_foldback.md rename to devlog/_fin/260817_native_gpt56_1m_context/008_r6_foldback.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/009_status_needs_human.md b/devlog/_fin/260817_native_gpt56_1m_context/009_status_needs_human.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/009_status_needs_human.md rename to devlog/_fin/260817_native_gpt56_1m_context/009_status_needs_human.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/010_wp1_native_context_contract.md b/devlog/_fin/260817_native_gpt56_1m_context/010_wp1_native_context_contract.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/010_wp1_native_context_contract.md rename to devlog/_fin/260817_native_gpt56_1m_context/010_wp1_native_context_contract.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/011_scope_decision.md b/devlog/_fin/260817_native_gpt56_1m_context/011_scope_decision.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/011_scope_decision.md rename to devlog/_fin/260817_native_gpt56_1m_context/011_scope_decision.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/012_followup_window_is_a_budget.md b/devlog/_fin/260817_native_gpt56_1m_context/012_followup_window_is_a_budget.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/012_followup_window_is_a_budget.md rename to devlog/_fin/260817_native_gpt56_1m_context/012_followup_window_is_a_budget.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/013_r9_foldback_95_percent_rule.md b/devlog/_fin/260817_native_gpt56_1m_context/013_r9_foldback_95_percent_rule.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/013_r9_foldback_95_percent_rule.md rename to devlog/_fin/260817_native_gpt56_1m_context/013_r9_foldback_95_percent_rule.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/014_final_922k_with_margin.md b/devlog/_fin/260817_native_gpt56_1m_context/014_final_922k_with_margin.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/014_final_922k_with_margin.md rename to devlog/_fin/260817_native_gpt56_1m_context/014_final_922k_with_margin.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/020_wp2_native_group_controls.md b/devlog/_fin/260817_native_gpt56_1m_context/020_wp2_native_group_controls.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/020_wp2_native_group_controls.md rename to devlog/_fin/260817_native_gpt56_1m_context/020_wp2_native_group_controls.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/030_wp3_context_presets.md b/devlog/_fin/260817_native_gpt56_1m_context/030_wp3_context_presets.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/030_wp3_context_presets.md rename to devlog/_fin/260817_native_gpt56_1m_context/030_wp3_context_presets.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/040_wp4_release.md b/devlog/_fin/260817_native_gpt56_1m_context/040_wp4_release.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/040_wp4_release.md rename to devlog/_fin/260817_native_gpt56_1m_context/040_wp4_release.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/050_wp6_sync_enabled_integrations.md b/devlog/_fin/260817_native_gpt56_1m_context/050_wp6_sync_enabled_integrations.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/050_wp6_sync_enabled_integrations.md rename to devlog/_fin/260817_native_gpt56_1m_context/050_wp6_sync_enabled_integrations.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/060_wp8_native_per_model_context.md b/devlog/_fin/260817_native_gpt56_1m_context/060_wp8_native_per_model_context.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/060_wp8_native_per_model_context.md rename to devlog/_fin/260817_native_gpt56_1m_context/060_wp8_native_per_model_context.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/061_r12_foldback_limits_as_argument.md b/devlog/_fin/260817_native_gpt56_1m_context/061_r12_foldback_limits_as_argument.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/061_r12_foldback_limits_as_argument.md rename to devlog/_fin/260817_native_gpt56_1m_context/061_r12_foldback_limits_as_argument.md diff --git a/devlog/_plan/260817_native_gpt56_1m_context/070_default_272k_opt_in.md b/devlog/_fin/260817_native_gpt56_1m_context/070_default_272k_opt_in.md similarity index 100% rename from devlog/_plan/260817_native_gpt56_1m_context/070_default_272k_opt_in.md rename to devlog/_fin/260817_native_gpt56_1m_context/070_default_272k_opt_in.md diff --git a/devlog/_plan/260817_wave5_execution/000_research.md b/devlog/_fin/260817_wave5_execution/000_research.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/000_research.md rename to devlog/_fin/260817_wave5_execution/000_research.md diff --git a/devlog/_plan/260817_wave5_execution/001_audit_synthesis.md b/devlog/_fin/260817_wave5_execution/001_audit_synthesis.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/001_audit_synthesis.md rename to devlog/_fin/260817_wave5_execution/001_audit_synthesis.md diff --git a/devlog/_plan/260817_wave5_execution/002_merge_order_corrections.md b/devlog/_fin/260817_wave5_execution/002_merge_order_corrections.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/002_merge_order_corrections.md rename to devlog/_fin/260817_wave5_execution/002_merge_order_corrections.md diff --git a/devlog/_plan/260817_wave5_execution/010_1894_gemini_wire_id.md b/devlog/_fin/260817_wave5_execution/010_1894_gemini_wire_id.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/010_1894_gemini_wire_id.md rename to devlog/_fin/260817_wave5_execution/010_1894_gemini_wire_id.md diff --git a/devlog/_plan/260817_wave5_execution/020_1899_harden_ordering.md b/devlog/_fin/260817_wave5_execution/020_1899_harden_ordering.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/020_1899_harden_ordering.md rename to devlog/_fin/260817_wave5_execution/020_1899_harden_ordering.md diff --git a/devlog/_plan/260817_wave5_execution/030_1876_windows_discovery.md b/devlog/_fin/260817_wave5_execution/030_1876_windows_discovery.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/030_1876_windows_discovery.md rename to devlog/_fin/260817_wave5_execution/030_1876_windows_discovery.md diff --git a/devlog/_plan/260817_wave5_execution/040_thought_signature_scope.md b/devlog/_fin/260817_wave5_execution/040_thought_signature_scope.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/040_thought_signature_scope.md rename to devlog/_fin/260817_wave5_execution/040_thought_signature_scope.md diff --git a/devlog/_plan/260817_wave5_execution/050_1849_1049_durability.md b/devlog/_fin/260817_wave5_execution/050_1849_1049_durability.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/050_1849_1049_durability.md rename to devlog/_fin/260817_wave5_execution/050_1849_1049_durability.md diff --git a/devlog/_plan/260817_wave5_execution/060_wave5b_continuation.md b/devlog/_fin/260817_wave5_execution/060_wave5b_continuation.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/060_wave5b_continuation.md rename to devlog/_fin/260817_wave5_execution/060_wave5b_continuation.md diff --git a/devlog/_plan/260817_wave5_execution/070_wave5c_cursor.md b/devlog/_fin/260817_wave5_execution/070_wave5c_cursor.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/070_wave5c_cursor.md rename to devlog/_fin/260817_wave5_execution/070_wave5c_cursor.md diff --git a/devlog/_plan/260817_wave5_execution/080_wave5d_antigravity.md b/devlog/_fin/260817_wave5_execution/080_wave5d_antigravity.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/080_wave5d_antigravity.md rename to devlog/_fin/260817_wave5_execution/080_wave5d_antigravity.md diff --git a/devlog/_plan/260817_wave5_execution/090_wave6_closeout.md b/devlog/_fin/260817_wave5_execution/090_wave6_closeout.md similarity index 100% rename from devlog/_plan/260817_wave5_execution/090_wave6_closeout.md rename to devlog/_fin/260817_wave5_execution/090_wave6_closeout.md diff --git a/devlog/_plan/260818_cursor_call_integration/000_plan.md b/devlog/_fin/260818_cursor_call_integration/000_plan.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/000_plan.md rename to devlog/_fin/260818_cursor_call_integration/000_plan.md diff --git a/devlog/_plan/260818_cursor_call_integration/005_audit_r1.md b/devlog/_fin/260818_cursor_call_integration/005_audit_r1.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/005_audit_r1.md rename to devlog/_fin/260818_cursor_call_integration/005_audit_r1.md diff --git a/devlog/_plan/260818_cursor_call_integration/006_audit_r3.md b/devlog/_fin/260818_cursor_call_integration/006_audit_r3.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/006_audit_r3.md rename to devlog/_fin/260818_cursor_call_integration/006_audit_r3.md diff --git a/devlog/_plan/260818_cursor_call_integration/007_audit_r4.md b/devlog/_fin/260818_cursor_call_integration/007_audit_r4.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/007_audit_r4.md rename to devlog/_fin/260818_cursor_call_integration/007_audit_r4.md diff --git a/devlog/_plan/260818_cursor_call_integration/008_audit_r5.md b/devlog/_fin/260818_cursor_call_integration/008_audit_r5.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/008_audit_r5.md rename to devlog/_fin/260818_cursor_call_integration/008_audit_r5.md diff --git a/devlog/_plan/260818_cursor_call_integration/009_audit_r6.md b/devlog/_fin/260818_cursor_call_integration/009_audit_r6.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/009_audit_r6.md rename to devlog/_fin/260818_cursor_call_integration/009_audit_r6.md diff --git a/devlog/_plan/260818_cursor_call_integration/010_phase1.md b/devlog/_fin/260818_cursor_call_integration/010_phase1.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/010_phase1.md rename to devlog/_fin/260818_cursor_call_integration/010_phase1.md diff --git a/devlog/_plan/260818_cursor_call_integration/012_audit_r7.md b/devlog/_fin/260818_cursor_call_integration/012_audit_r7.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/012_audit_r7.md rename to devlog/_fin/260818_cursor_call_integration/012_audit_r7.md diff --git a/devlog/_plan/260818_cursor_call_integration/013_audit_r7_r8.md b/devlog/_fin/260818_cursor_call_integration/013_audit_r7_r8.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/013_audit_r7_r8.md rename to devlog/_fin/260818_cursor_call_integration/013_audit_r7_r8.md diff --git a/devlog/_plan/260818_cursor_call_integration/014_audit_r10.md b/devlog/_fin/260818_cursor_call_integration/014_audit_r10.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/014_audit_r10.md rename to devlog/_fin/260818_cursor_call_integration/014_audit_r10.md diff --git a/devlog/_plan/260818_cursor_call_integration/015_phase2b_eof_usage.md b/devlog/_fin/260818_cursor_call_integration/015_phase2b_eof_usage.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/015_phase2b_eof_usage.md rename to devlog/_fin/260818_cursor_call_integration/015_phase2b_eof_usage.md diff --git a/devlog/_plan/260818_cursor_call_integration/016_audit_r13.md b/devlog/_fin/260818_cursor_call_integration/016_audit_r13.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/016_audit_r13.md rename to devlog/_fin/260818_cursor_call_integration/016_audit_r13.md diff --git a/devlog/_plan/260818_cursor_call_integration/017_audit_r12.md b/devlog/_fin/260818_cursor_call_integration/017_audit_r12.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/017_audit_r12.md rename to devlog/_fin/260818_cursor_call_integration/017_audit_r12.md diff --git a/devlog/_plan/260818_cursor_call_integration/018_audit_r14.md b/devlog/_fin/260818_cursor_call_integration/018_audit_r14.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/018_audit_r14.md rename to devlog/_fin/260818_cursor_call_integration/018_audit_r14.md diff --git a/devlog/_plan/260818_cursor_call_integration/019_the_plan_becomes_a_program.md b/devlog/_fin/260818_cursor_call_integration/019_the_plan_becomes_a_program.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/019_the_plan_becomes_a_program.md rename to devlog/_fin/260818_cursor_call_integration/019_the_plan_becomes_a_program.md diff --git a/devlog/_plan/260818_cursor_call_integration/020_phase2.md b/devlog/_fin/260818_cursor_call_integration/020_phase2.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/020_phase2.md rename to devlog/_fin/260818_cursor_call_integration/020_phase2.md diff --git a/devlog/_plan/260818_cursor_call_integration/030_phase3.md b/devlog/_fin/260818_cursor_call_integration/030_phase3.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/030_phase3.md rename to devlog/_fin/260818_cursor_call_integration/030_phase3.md diff --git a/devlog/_plan/260818_cursor_call_integration/040_phase4.md b/devlog/_fin/260818_cursor_call_integration/040_phase4.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/040_phase4.md rename to devlog/_fin/260818_cursor_call_integration/040_phase4.md diff --git a/devlog/_plan/260818_cursor_call_integration/050_phase5.md b/devlog/_fin/260818_cursor_call_integration/050_phase5.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/050_phase5.md rename to devlog/_fin/260818_cursor_call_integration/050_phase5.md diff --git a/devlog/_plan/260818_cursor_call_integration/060_release_readiness.md b/devlog/_fin/260818_cursor_call_integration/060_release_readiness.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/060_release_readiness.md rename to devlog/_fin/260818_cursor_call_integration/060_release_readiness.md diff --git a/devlog/_plan/260818_cursor_call_integration/070_release_executed.md b/devlog/_fin/260818_cursor_call_integration/070_release_executed.md similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/070_release_executed.md rename to devlog/_fin/260818_cursor_call_integration/070_release_executed.md diff --git a/devlog/_plan/260818_cursor_call_integration/cursor-call-integration.zsh b/devlog/_fin/260818_cursor_call_integration/cursor-call-integration.zsh similarity index 100% rename from devlog/_plan/260818_cursor_call_integration/cursor-call-integration.zsh rename to devlog/_fin/260818_cursor_call_integration/cursor-call-integration.zsh diff --git a/devlog/_plan/260818_megafile_split_program/000_risk_assessment.md b/devlog/_plan/260818_megafile_split_program/000_risk_assessment.md new file mode 100644 index 0000000000..8cde34fcc4 --- /dev/null +++ b/devlog/_plan/260818_megafile_split_program/000_risk_assessment.md @@ -0,0 +1,170 @@ +# Mega-file split program — risk assessment (tests-may-change basis) + +Date: 2026-08-18. Basis commit: dev @ 314f3edbf. + +## Premise + +Unlike the earlier facade-only analysis, this assessment assumes large-scale +refactoring is authorized, **including rewriting tests**. That flips several +"blocked" verdicts to "possible", and introduces one new first-class risk: +**oracle weakening** — a test rewritten in the same PR as the code it guards +can become vacuous without anyone noticing. Every rewritten guard test must be +driven red once against a deliberate violation before the PR merges (the same +discipline repo-hygiene and core-lab-boundary already follow). + +Evidence base: three read-only investigation reports (core.ts; config.ts + +types.ts; service.ts + registry.ts) produced 2026-08-18 by subagent audit, +plus a live check of open-PR overlap. + +## New cost discovered: open-PR overlap + +8 of 20 open PRs touch the five target files: + +| PR | Touches | +|---|---| +| #1965 FastWire B1 | config.ts, registry.ts, responses/core.ts, types.ts | +| #1956 FastWire B0 | config.ts, registry.ts, responses/core.ts, types.ts | +| #1946 win-030 | config.ts | +| #1945 win-020 | service.ts | +| #1944 win-010 | service.ts | +| #1941 grok responses | responses/core.ts | +| #1940 cursor checkpoint | types.ts | +| #1934 tool alias | types.ts | + +A big-bang split rebases all of these onto moved code. FastWire B0/B1 and the +Windows stack (#1944-1947) are the two live programs most exposed. Sequencing +constraint: either land those first, or split first and absorb their rebase +cost — do not interleave. + +## Risk scoring + +Scale: probability of breakage x blast radius, per work package, assuming +tests may be rewritten. "Oracle risk" = risk that a rewritten test no longer +guards the original invariant. + +### WP1 — types.ts split (6 leaves + barrel) + +- Mechanical risk: **low**. Almost all type-only; 7 value helpers move to + types/tools.ts / types/wire.ts. +- Test surface: no source-invariant tests pin types.ts. ~400 test files import + it via the barrel, which survives. +- Oracle risk: none. +- Conflict cost: #1940, #1934, #1956, #1965 touch types.ts — trivial rebases + (import lines only). +- **Overall: LOW. Safe opener.** + +### WP2 — config.ts split (12 leaves + barrel) + +- Mechanical risk: **medium-high**. Eight module-level singletons (SQLite + mutation lock, three WeakMaps keyed on config object identity, PID process + cache, atomic-write seq, config-dir memo, warning memos) must each end up in + exactly one ESM module. Duplicating any of them is a silent correctness bug + (forked lock = lost cross-process exclusion; forked WeakMap = Claude + baseline forgotten). +- Known landmine: config <-> routing/profile init cycle through + hasOwnProvider. Extracting provider-name.ts first removes it; extracting + schema first can turn it into a TDZ crash. +- Test surface: 122 test files import config; 84 import saveConfig. With + tests rewritable, the high-risk clusters (schema/load/mutation/live-rebase) + can move in one train and tests can retarget to leaves. +- Oracle risk: medium — salvage/degrade-don't-wipe tests are behavioral, not + textual; retargeting is safe if assertions stay intact. +- **Overall: MEDIUM-HIGH. Two trains: low-risk leaves (provider-name, paths, + atomic-write, env-flags, pid) then the stateful train + (schema+load+mutation+live-rebase together, never apart).** + +### WP3 — providers/registry.ts split (types/lookup/models/entries) + +- Mechanical risk: **low-medium**. Zero mutable state, zero hooks. Risks are + data-shaped: registry array order is user-visible (featured list, CLI + order); providerMatchesRegistryTransport is an auth boundary and must not + drift during the move. +- Test surface: parity test (1111 lines) imports via barrel; survives as-is. +- Oracle risk: low — keep the parity test untouched; it is the oracle for the + move itself. +- Conflict cost: FastWire B0/B1 add registry fields — land or freeze first. +- **Overall: LOW-MEDIUM.** + +### WP4 — service.ts split (ids/state/ports/health/launchd/systemd/windows/*) + +- Mechanical risk: **medium-high**. Three module-level test hooks and the + ownedWindowsSchedulerStages Set must each stay single-instance; tests reset + hooks in afterEach and will silently poke a dead binding if the hook module + forks. service.test.ts (2104 lines) does a namespace import — with tests + rewritable it can be split per-platform alongside the code, which is the + better end state anyway. +- Windows elevate/UAC + dual-backend lifecycle remain the genuinely hard part + regardless of test freedom: the risk is runtime (UAC rollback, nonce + ownership), not test coupling. CI cannot exercise real UAC — verification + is partially manual on a Windows host. +- Bonus fix folded in: unify killWindowsServiceWrapperProcesses (path-match + version in service.ts vs the weaker filename-match fork in update/job.ts). +- Oracle risk: medium — a per-platform split of 2104 lines of oracle needs a + deliberate red-drive per moved cluster. +- Conflict cost: #1944/#1945 touch service.ts — small; land them first. +- **Overall: MEDIUM-HIGH; windows/elevate + lifecycle sub-package HIGH + (runtime-verification-bound, not test-bound).** + +### WP5 — responses/core.ts full split (the package the premise changes most) + +Previous verdict: Wave C impossible (7 source-invariant tests read core.ts as +text). With tests rewritable, Wave C becomes possible but is the most +expensive package in the program: + +- Wave A (errors, service-tier-gate, combo-failure, codex-forward-auth, + continuation-policy, types): **LOW**, unchanged. +- Wave B (codex-pool-retry, combo with injected runner, normalize-route): + **MEDIUM**, unchanged. Keep dynamic imports dynamic. +- Wave C (passthrough SSE, recovery loop + terminal-guard continuation, + pre-stream pipeline): **HIGH**, newly unlocked. Requirements: + 1. Introduce a ResponsesTurnState context object first, in place, with a + regression test that the 429 budget (rateLimitRetries) and imageTierBias + stay shared across the main loop and terminal-guard continuation. This + step converts closure coupling into explicit structure and is the + prerequisite for everything after it. + 2. Rewrite the 7 source-invariant tests to scan the new module set + (src/server/responses/*.ts) or targeted new files. Each rewritten + invariant MUST be driven red (e.g. temporarily add a forbidden + routing/compatibility import) before merge. + 3. Update tests/core-lab-boundary.test.ts PROTECTED roots so the walk + starts at the new entry and still covers every extracted module + statically imported from it. The invariant ("a one-provider user loads + no Lab code") is about the runtime graph, not the file name — the test + update is legitimate, but it is the single most safety-critical edit in + the whole program. + 4. sidecarOutcomeRecorder is a denylist token in auth-cors — renames + forbidden. + 5. The host-admission lease handoff and inspectionSawUndeclaredTool must + travel inside the state object, never duplicated (#1700 regression + class). +- Oracle risk: **HIGH** — this package rewrites the guards and the guarded + code together. Mitigation: the red-drive rule, plus Wave C runs as its own + PR train with zero behavior change allowed (pure move + state object only; + any behavior fix ships in a separate PR before or after). +- Conflict cost: #1941 (28 files), #1956/#1965 all touch core.ts. +- **Overall: Wave A LOW / Wave B MEDIUM / Wave C HIGH. Expected residual + core.ts after the full program: ~800-1200 lines of pure orchestration.** + +## Program-level risks + +| Risk | Level | Mitigation | +|---|---|---| +| Oracle weakening (tests rewritten with code) | HIGH | red-drive every rewritten guard; pure-move PRs carry zero behavior change | +| Open-PR rebase storm (8 PRs overlap) | HIGH | land FastWire B0/B1 + win-010/020/030 + #1941 first, or freeze them; never interleave | +| Singleton forking (config locks, WeakMaps, service hooks, stage Set) | MEDIUM | one-module-per-singleton rule; review greps for duplicate declarations | +| Lab-boundary regression via new static imports | MEDIUM | boundary test updated in step, never skipped; run on every commit of the train | +| ESM init cycles (config/profile TDZ, core/combo) | MEDIUM | provider-name leaf first; injected runner for combo | +| Windows runtime (UAC/elevate) unverifiable in CI | MEDIUM | keep elevate/lifecycle last; manual Windows-host verification gate | +| Long train vs release cadence (main/preview promote from dev) | LOW-MED | every PR leaves dev releasable; no cross-PR broken states | + +## Recommended order + +1. WP1 types (LOW) — also unblocks leaf imports for core/router later. +2. WP2a config low-risk leaves (LOW-MED); WP2b stateful train (MED-HIGH). +3. WP3 registry (LOW-MED) — after FastWire lands. +4. WP4 service, windows-first, elevate last (MED-HIGH). +5. WP5 core Wave A -> B -> state-object -> Wave C (LOW -> HIGH). + +Rule of one: one work package per PR train; service and registry never in the +same change; Wave C never mixed with behavior fixes. + diff --git a/devlog/_plan/260818_merge_campaign/000_campaign_plan.md b/devlog/_plan/260818_merge_campaign/000_campaign_plan.md new file mode 100644 index 0000000000..cda424ed3b --- /dev/null +++ b/devlog/_plan/260818_merge_campaign/000_campaign_plan.md @@ -0,0 +1,40 @@ +# 260818 Merge Campaign — Windows stack + FastWire train + +## Objective + +Close the two ordered merge trains left open after the v2.25.0 cut and today's +triage campaign, each as its own PABCD work-phase: + +1. **WP1 — Windows stack** (#1944 → #1945 → #1946 → #1947, + #1949 opener): + stacked PRs, base-chained; merge in order, retargeting each child to `dev` + after its parent lands. Closes nothing by itself (the stack's issues #1942 / + #1849 need follow-up work), but lands the wrapper-killer/argv/atomic-replace + foundation the Windows program (#1949 unit) builds on. +2. **WP2 — FastWire train** (#1893 A1 → #1956 B0 + #1965 B1 → #1904): A1 is a + byte-identical refactor; B1's diff is a superset of draft B0, so B0 is + review-closed into B1 (or merged first if trivially separable — decide at + WP2 P). #1904 is independent (chat→responses tier forwarding). #1885 (xAI + Priority) stays HOLD behind the #1875 B2 pricing gate — NOT in this campaign. + +## Method + +Per PR: scratch-worktree merge onto current `origin/dev` → focused suites + +`tsc --noEmit` → approve with validation evidence → merge (merge commit, +matching today's #1997/#1998 pattern) → retarget next child. Contributor-gate +re-drafts are expected on contributor PRs; maintainer decision on admin-merge +is recorded per PR. grok-4.6 subagents carry per-PR read-only validation. + +## Success criteria + +- [ ] #1944 #1945 #1946 #1947 #1949 merged to `dev`, stack order preserved +- [ ] #1893 merged byte-identical (no behavior delta in fastwire suites) +- [ ] #1956/#1965 landed (B0 closed-into-B1 or merged), #1886 umbrella updated +- [ ] #1904 merged +- [ ] #1885 still open with HOLD note intact +- [ ] every merge: exact-head suites green + typecheck clean before approve + +## Non-goals + +Release promotion (user owns main/preview), #1885/B2, cursor draft queue, +remaining ready singles (next campaign). +