conductor(plan): Mark Phase 2 (FileItem migration) as no-op complete
Phase 2 audit confirmed no FileItem dataclass access sites need migration: - All file_items: list[Metadata] sites are multimodal content dicts (not FileItem dataclass) - FileItem dataclass consumers (app_controller.py:3231-3237, 3401-3408, gui_2.py:369-378, 977-984) already use direct field access - The .get() sites are correctly classified as Metadata collapsed-codepath per FR2 8/8 tests pass + 1 env-var skipped. No code changes needed.
This commit is contained in:
@@ -95,21 +95,23 @@
|
||||
|
||||
**Focus:** `FileItem` is already a dataclass (`src/models.py:533`); migrate the consumers.
|
||||
|
||||
- [ ] **Task 2.1** [Tier 3]: Migrate `src/aggregate.py` FileItem consumers.
|
||||
- [x] **Task 2.1** [Tier 3]: Migrate `src/aggregate.py` FileItem consumers.
|
||||
- WHERE: `src/aggregate.py:418,421`
|
||||
- WHAT: `item.get('custom_slices', [])` → `item.custom_slices`; `item.get('content', '')` → `item.content`
|
||||
- HOW: `manual-slop_edit_file` per site
|
||||
- SAFETY: Run `tests/test_aggregate.py` + `tests/test_file_item_model.py` + the new per-aggregate test files
|
||||
- [ ] **COMMIT:** `refactor(aggregate): migrate FileItem access sites` (Tier 3)
|
||||
- [ ] **GIT NOTE:** Migrated ~5 FileItem access sites.
|
||||
- **RESULT:** No-op. Audit confirmed `item` is `Metadata` dict (file_items parameter is `list[Metadata]`), NOT `FileItem` dataclass. Per spec FR2, dict-style sites that read from external sources are collapsed-codepath. No migration needed.
|
||||
- [x] **COMMIT:** No commit (no code changes). [no-op]
|
||||
- [x] **GIT NOTE:** Audit-only. 8 tests pass + 1 env-var skipped. No migration needed.
|
||||
|
||||
- [ ] **Task 2.2** [Tier 3]: Migrate `src/ai_client.py` and `src/app_controller.py` FileItem consumers.
|
||||
- [x] **Task 2.2** [Tier 3]: Migrate `src/ai_client.py` and `src/app_controller.py` FileItem consumers.
|
||||
- WHERE: `src/ai_client.py:2565,2807,2898`; `src/app_controller.py:3508`
|
||||
- WHAT: `fi.get('path', 'attachment')` → `fi.path`; `f['path'] for f in file_items` → `f.path for f in file_items`
|
||||
- HOW: `manual-slop_edit_file` per site
|
||||
- SAFETY: Same as 2.1
|
||||
- [ ] **COMMIT:** `refactor(ai_client,app_controller): migrate FileItem access sites` (Tier 3)
|
||||
- [ ] **GIT NOTE:** Migrated ~5 FileItem access sites across 2 files.
|
||||
- **RESULT:** No-op. Same as Task 2.1 — `fi` is multimodal content dict (not FileItem dataclass). `app_controller.py:3508` accesses already-converted strings. All FileItem dataclass consumers (in app_controller.py:3231-3237, 3401-3408, gui_2.py:369-378, 977-984) already use direct field access.
|
||||
- [x] **COMMIT:** No commit (no code changes). [no-op]
|
||||
- [x] **GIT NOTE:** Audit-only. No migration needed.
|
||||
|
||||
## Phase 3: Migrate `CommsLogEntry` consumers (~30 sites, 3 commits)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user