docs/non-sync-code-simplification-audit.md
104043e2d220336d37c96623229640233093f045This is the durable decision record for the audit. The full-review result under each candidate supersedes its preserved discovery-era record whenever they differ. Estimates remain leads for current-HEAD revalidation, not implementation promises. Raw manifests and reviewer artifacts remain in the local ignored .tmp workspace and are not independently reproducible from this commit.
11043158b95aee6a44dfcf4e69315abda4b88704 (message codex: verified simplification implementation batch; it was stash@{0} at audit time, but stash ordinals are mutable and local).The stashed implementation contains 14 files with one production-code insertion and 514 deletions: 222 production-code lines, 125 test-code lines, 82 test-infrastructure-code lines, 34 comment-only lines, and 51 blank lines. Its net physical reduction is 513 lines. It changes no sync/state code, configuration, dependency, or lockfile.
| Stage | Coverage | Independence and decision rule |
|---|---|---|
| Discovery and consolidation | 100 candidates | Scouts, cross-cutting lenses, seven domain consolidations, then cross-domain deduplication |
| Safety/correctness review | 100 candidates | Seven domain reviewers checked behavior, boundaries, paths, tests, and sync exclusion |
| Maintainability/value review | 100 candidates | Seven different domain reviewers independently checked KISS/YAGNI, abstraction cost, and real LOC value without seeing safety verdicts |
| Conservative reconciliation | 100 candidates | Material verdict precedence: reject, defer, narrow, confirm; lower validity/reward/confidence and higher risk/effort control |
| Original global ranking | 3 × 100 placements | Three independent rankers used the original reconciled records; those placements still control the 73 materially unchanged candidates |
| Final-scope replacement ranking | 3 × 27 placements | Three fresh reviewers placed each revised C06/C07 scope against the full final catalog; unknown combined test/test-infrastructure envelopes received no direct LOC credit |
The final order is mean applicable placement within the actionable, deferred, and rejected bands. For 73 unchanged candidates, the applicable placements are R1/R2/R3; for the 27 revised candidates, F1/F2/F3 replace the stale positions. Exact ties prefer lower risk, then lower effort, then higher reconciled priority, then candidate ID. Production/concept removal receives more credit than tests, test infrastructure, configuration, generated code, or comments. This is a relative implementation order, not a promise that adjacent ranks have equal value.
Controlling placements still disagree by at least 30 positions for four actionable candidates. Their bands remain unchanged; treat their exact rank as lower-confidence and follow the recorded gate:
| Rank | ID | P1/P2/P3 | Spread | Main source of disagreement |
|---|---|---|---|---|
| 22 | C02-007 | 13/43/18 | 30 | Exact but very small production deletion |
| 42 | C01-010 | 33/64/37 | 31 | Mechanical breadth and list-identity review cost |
| 44 | C05-012 | 31/66/40 | 35 | Native shared-service breadth versus modest concept removal |
| 45 | C03-008 | 30/65/43 | 35 | Mixed UI scaffolding reward versus scope-splitting cost |
These are the first five open findings in the final global order and have disjoint documented scopes. Keep them as separate changes so each proof and rollback boundary stays small.
| Global rank | ID | Tier | Finding | Immediate gate |
|---|---|---|---|---|
| 3 | C01-005 | A | Delete the remaining unbound animation triggers and registrations | None. |
| 4 | C02-005 | A | Delete obsolete combined task-change placeholder remnants | None. |
| 5 | C04-001 | A | Delete the permanently hidden issue-panel intro component | Capture or add one issue-panel render characterization before deletion. |
| 6 | C01-006 | B | Prune orphaned optional capabilities from chip-list-input | Add focused live-contract characterization for both consumers. |
| 7 | C04-007 | A | Delete the unused path-based plugin translation loader | None. |
All 100 reviewed candidate slots are shown. P1/P2/P3 are the controlling placements: original R1/R2/R3 for unchanged scopes and focused F1/F2/F3 for revised scopes. Prior preserves the stale original positions for revised scopes and shows same otherwise.
| Rank | ID | Verdict | Tier | Status | P1/P2/P3 | Mean | Pass | Prior | Candidate |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C01-002 | confirm | A | implemented-stashed | 1/1/1 | 1.00 | original | same | Delete obsolete duration pipes and parser-migration wrappers |
| 2 | C04-015 | confirm | A | implemented-stashed | 2/2/2 | 2.00 | original | same | Delete the superseded static procrastination-type catalog |
| 3 | C01-005 | narrow | A | open | 3/3/5 | 3.67 | original | same | Delete the remaining unbound animation triggers and registrations |
| 4 | C02-005 | confirm | A | open | 4/4/4 | 4.00 | original | same | Delete obsolete combined task-change placeholder remnants |
| 5 | C04-001 | confirm | A | open | 6/5/6 | 5.67 | original | same | Delete the permanently hidden issue-panel intro component |
| 6 | C01-006 | confirm | B | open | 10/6/3 | 6.33 | original | same | Prune orphaned optional capabilities from chip-list-input |
| 7 | C04-007 | narrow | A | open | 5/7/12 | 8.00 | original | same | Delete the unused path-based plugin translation loader |
| 8 | C03-009 | confirm | A | open | 9/8/8 | 8.33 | original | same | Trim the obsolete MenuTreeService reactive facade |
| 9 | C03-014 | narrow | A | open | 7/14/11 | 10.67 | original | same | Delete the orphaned Markdown checklist parser and model |
| 10 | C03-002 | narrow | A | open | 8/15/9 | 10.67 | original | same | Remove retired Focus Mode overlay navigation and banner scaffolding |
| 11 | C01-014 | narrow | B | open | 21/10/7 | 12.67 | original | same | Delete unused global Sass modules, mixins, placeholders, and theme utilities |
| 12 | C01-004 | narrow | B | open | 20/11/10 | 13.67 | original | same | Remove stale tree-DnD preview/state surface and reuse the ancestor utility |
| 13 | C04-011 | confirm | A | open | 11/16/17 | 14.67 | original | same | Remove obsolete route and breakpoint subscriptions from plugin side-panel buttons |
| 14 | C02-010 | confirm | A | open | 12/18/16 | 15.33 | original | same | Delete the superseded daily-state calculator |
| 15 | C03-007 | narrow | A | open | 16/19/15 | 16.67 | original | same | Trim unused Observable/Signal half-pairs from GlobalConfigService |
| 16 | C01-007 | narrow | A | open | 19/13/19 | 17.00 | original | same | Remove the two zero-consumer DialogConfirm modes |
| 17 | C03-010 | narrow | A | open | 14/20/20 | 18.00 | original | same | Remove dead scaffolding from tag display and quick-menu components |
| 18 | C03-011 | narrow | A | open | 15/21/21 | 19.00 | original | same | Prune displaced worklog presentation scaffolding |
| 19 | C04-004 | narrow | B | open | 22/23/13 | 19.33 | original | same | Delete the orphaned Jira wonky-cookie authentication path |
| 20 | C04-008 | confirm | A | open | 17/22/23 | 20.67 | original | same | Delete the inert custom plugin initializer provider |
| 21 | C02-013 | narrow | B | open | 26/24/14 | 21.33 | original | same | Remove abandoned estimate UI from PlanTasksTomorrow |
| 22 | C02-007 | confirm | A | open | 13/43/18 | 24.67 | original | same | Remove the unused drag-event time wrapper |
| 23 | C03-015 | confirm | B | open | 29/29/22 | 26.67 | original | same | Remove the test-only keyboard-layout compatibility implementation |
| 24 | C04-005 | narrow | B | open | 24/31/25 | 26.67 | original | same | Replace Redmine ParamsBuilder with request-local parameter objects |
| 25 | C05-006 | narrow | B | open | 25/33/26 | 28.00 | original | same | Delete the orphaned Android process-lifecycle observer and dependency |
| 26 | C04-013 | narrow | B | open | 23/34/39 | 32.00 | original | same | Delete the unreachable Brain Dump line-by-line fallback |
| 27 | C01-008 | narrow | B | open | 27/35/38 | 33.33 | original | same | Delete verified dead component-scoped selectors and empty style resources |
| 28 | C01-011 | narrow | B | open | 28/37/36 | 33.67 | original | same | Replace manual component subscription plumbing with Angular lifecycle bridges |
| 29 | C03-012 | confirm | A | open | 39/41/27 | 35.67 | original | same | Delete the empty NoteEffects class and registration |
| 30 | C03-001 | narrow | B | open | 35/30/42 | 35.67 | original | same | Make PanelContentService the single signal-based panel-open authority |
| 31 | C03-004 | narrow | A | open | 40/40/28 | 36.00 | original | same | Finish retiring FocusModeService compatibility members |
| 32 | C02-009 | confirm | A | open | 41/42/30 | 37.67 | original | same | Delete orphaned repeat configurations-with-start-time selector |
| 33 | C02-002 | confirm | B | open | 37/38/41 | 38.67 | original | same | Delete orphaned ScheduleService.hasEventsForDay |
| 34 | C01-009 | narrow | B | open | 34/36/46 | 38.67 | original | same | Prune stale state, selectors, and an unreachable branch from the task row |
| 35 | C03-005 | narrow | A | open | 38/50/29 | 39.00 | original | same | Prune obsolete WorkContextService members and dormant pipeline sketches |
| 36 | C04-003 | confirm | A | open | 42/45/31 | 39.33 | original | same | Delete the unused calendar-provider-by-id selector |
| 37 | C02-003 | confirm | A | open | 43/44/33 | 40.00 | original | same | Use the iCal loading promise as the sole module cache |
| 38 | C05-013 | confirm | A | open | 45/46/32 | 41.00 | original | same | Remove obsolete StartupService migration-era injections |
| 39 | C06-015 | narrow | B | open | 43/35/48 | 42.00 | focused | 32/70/45 | Remove unused palettes and glow presets from the Rainbow theme |
| 40 | C03-006 | narrow | A | open | 44/51/34 | 43.00 | original | same | Remove WorkContextService's plain isTodayList mirror |
| 41 | C05-015 | confirm | A | open | 46/49/35 | 43.33 | original | same | Collapse CORS_SKIP_EXTRA_HEADERS identical platform branches |
| 42 | C01-010 | narrow | B | open | 33/64/37 | 44.67 | original | same | Replace legacy @for tracking wrappers with direct identity expressions |
| 43 | C04-010 | narrow | B | open | 36/53/47 | 45.33 | original | same | Delete the disconnected eager PluginService loading subsystem |
| 44 | C05-012 | narrow | B | open | 31/66/40 | 45.67 | original | same | Trim duplicate predicates and unused surface from CapacitorPlatformService |
| 45 | C03-008 | narrow | B | open | 30/65/43 | 46.00 | original | same | Delete obsolete create-project theme and issue-provider scaffolding |
| 46 | C05-008 | narrow | B | open | 50/32/58 | 46.67 | original | same | Delete unreferenced legacy Android vectors and empty value resources |
| 47 | C07-005 | narrow | B | open | 51/56/39 | 48.67 | focused | 60/12/24 | Delete the work-context shadow implementation after preserving its unique boundary |
| 48 | C02-001 | confirm | B | open | 52/39/57 | 49.33 | original | same | Prune unused mirrored schedule layout constants |
| 49 | C05-001 | narrow | A | open | 56/47/55 | 52.67 | original | same | Delete noncompiled Electron updater, Pomodoro/DBus, and pseudo-API remnants |
| 50 | C07-013 | narrow | B | open | 52/59/49 | 53.33 | focused | 62/25/50 | Delete unused non-sync E2E fixture, page, helper, overlay, and barrel surface |
| 51 | C02-006 | narrow | B | open | 48/72/44 | 54.67 | original | same | Use running cursors for sequential schedule entries |
| 52 | C06-001 | confirm | A | open | 68/46/54 | 56.00 | focused | 54/26/52 | Delete the superseded commented Snap release pipeline |
| 53 | C01-015 | narrow | B | open | 49/71/48 | 56.00 | original | same | Trim stale custom-Formly/config boilerplate |
| 54 | C07-008 | narrow | B | open | 60/48/61 | 56.33 | focused | 68/63/65 | Run shared repeat-config projector cases from one typed matrix |
| 55 | C06-004 | confirm | B | implemented-stashed | 58/61/51 | 56.67 | focused | 18/9/49 | Delete two browser-side Karma hooks that are no longer loaded |
| 56 | C07-004 | narrow | B | open | 55/60/55 | 56.67 | focused | 64/55/62 | Replace worklog shadow algorithms with focused production calls |
| 57 | C07-002 | narrow | B | open | 54/66/52 | 57.33 | focused | 63/54/60 | Replace the copied planner calendar-selector algorithm with real projector coverage |
| 58 | C07-015 | narrow | B | open | 56/55/66 | 59.00 | focused | 72/60/66 | Consolidate plugin upload and API-test smokes into explicit lifecycle journeys |
| 59 | C07-010 | narrow | B | open | 62/57/59 | 59.33 | focused | 67/57/61 | Centralize iCalendar envelopes while preserving every raw parser case |
| 60 | C06-003 | confirm | A | open | 69/51/62 | 60.67 | focused | 55/48/71 | Remove superseded desktop and MAS alternatives from electron-builder configuration |
| 61 | C07-014 | narrow | B | open | 57/58/67 | 60.67 | focused | 71/59/67 | Delete only strict-prefix planner E2E smokes after preserving isolated behaviors |
| 62 | C07-009 | narrow | B | open | 61/65/58 | 61.33 | focused | 61/17/51 | Route next/newest recurrence boundary cases through their existing scenario runners |
| 63 | C06-009 | confirm | B | open | 65/64/56 | 61.67 | focused | 59/27/54 | Delete the never-wired single-test wrapper |
| 64 | C07-011 | narrow | B | open | 63/62/60 | 61.67 | focused | 66/56/63 | Build simple-counter streak cases from DST-safe offset fixtures |
| 65 | C05-002 | confirm | A | open | 57/73/56 | 62.00 | original | same | Delete the unreachable commented Android WebView OPTIONS implementation |
| 66 | C07-003 | narrow | B | open | 53/71/65 | 63.00 | focused | 65/58/64 | Delete reminder-dialog suites that assert only local simulations |
| 67 | C06-006 | narrow | A | open | 66/67/57 | 63.33 | focused | 58/28/53 | Delete the formatter for retired CI performance-metric uploads |
| 68 | C07-001 | narrow | B | open | 59/68/63 | 63.33 | focused | 69/62/68 | Replace PlannerService's copied tomorrow$ implementation with production-connected cases |
| 69 | C06-011 | narrow | B | open | 70/52/70 | 64.00 | focused | 73/69/73 | Delete unread copyToAssets flags from bundled-plugin metadata |
| 70 | C06-002 | confirm | A | open | 71/54/68 | 64.33 | focused | 53/52/70 | Remove the duplicate Node setup from the web release job |
| 71 | C06-007 | confirm | A | open | 72/63/71 | 68.67 | focused | 47/67/72 | Remove ineffective options from the solution-style root tsconfig |
| 72 | C07-006 | narrow | B | open | 64/73/73 | 70.00 | focused | 70/61/69 | Replace the self-testing task-delete unit spec with three real E2E outcomes |
| 73 | C06-008 | narrow | B | open | 67/72/72 | 70.33 | focused | 51/68/59 | Remove the unused direct file-saver dependency pair |
| 74 | C01-003 | defer | C | deferred | 77/77/75 | 76.33 | original | same | Delete the obsolete custom min/max validation layer |
| 75 | C01-001 | defer | C | deferred | 76/76/78 | 76.67 | original | same | Collapse mentions to its actual text-input contract and one styling owner |
| 76 | C04-009 | defer | C | deferred | 79/78/76 | 77.67 | original | same | Remove dormant cached-asset fields from PluginState |
| 77 | C03-013 | defer | C | deferred | 78/79/79 | 78.67 | original | same | Remove stale NoteComponent inline-editor and input-lifecycle remnants |
| 78 | C07-007 | defer | C | deferred | 83/78/76 | 79.00 | focused | 75/75/80 | Delete superseded and non-discovered Add Task Bar timezone artifacts |
| 79 | C02-008 | defer | C | deferred | 81/80/77 | 79.33 | original | same | Delete unmatched schedule-view stylesheet remnants |
| 80 | C05-005 | defer | C | deferred | 80/81/81 | 80.67 | original | same | Remove redundant main-window guards after protocol readiness |
| 81 | C05-014 | defer | C | deferred | 82/82/83 | 82.33 | original | same | Conditionally register ElectronEffects instead of creating a false effect field |
| 82 | C05-011 | defer | C | deferred | 83/83/82 | 82.67 | original | same | Remove five empty UIApplicationDelegate lifecycle stubs |
| 83 | C06-005 | defer | C | deferred | 85/84/83 | 84.00 | focused | 74/74/74 | Remove the never-enabled custom macOS notarizer and private shell helper |
| 84 | C04-006 | defer | C | deferred | 84/84/84 | 84.00 | original | same | Resolve the inert PluginCleanupService registry against the sandbox lifecycle plan |
| 85 | C05-009 | defer | C | deferred | 85/85/85 | 85.00 | original | same | Re-evaluate the duplicate Objective-C StoreReview plugin shim after iOS widget work |
| 86 | C02-004 | reject | reject | rejected | 86/86/86 | 86.00 | original | same | Remove disabled schedule-placement debug instrumentation |
| 87 | C01-013 | reject | reject | rejected | 88/87/90 | 88.33 | original | same | Extract the shared planner projection-item SCSS base |
| 88 | C03-003 | reject | reject | rejected | 87/88/91 | 88.67 | original | same | Use one computed signal per Focus Mode main UI state |
| 89 | C02-011 | reject | reject | rejected | 91/90/88 | 89.67 | original | same | Consolidate duplicate simple-counter chart selectors |
| 90 | C05-003 | reject | reject | rejected | 89/89/93 | 90.33 | original | same | Delete obsolete Electron DBus and shell-command store keys |
| 91 | C04-002 | reject | reject | rejected | 92/91/89 | 90.67 | original | same | Centralize duplicated issue-field value resolution |
| 92 | C04-012 | reject | reject | rejected | 93/92/87 | 90.67 | original | same | Share the provider build recipe across six issue and two calendar plugins |
| 93 | C02-014 | reject | reject | rejected | 90/93/92 | 91.67 | original | same | Trim DailySummary dead state/styles and bind focus metrics once |
| 94 | C07-012 | reject | reject | rejected | 92/91/93 | 92.00 | focused | 97/97/98 | Keep standalone PluginService and PluginLoader cases in their focused harnesses |
| 95 | C04-014 | reject | reject | rejected | 94/94/94 | 94.00 | original | same | Delete unreferenced API-test dashboard helpers and write-only sample IDs |
| 96 | C05-010 | reject | reject | rejected | 95/96/95 | 95.33 | original | same | Remove only proven-default iOS Capacitor flags; retain the documented keyboard flag |
| 97 | C05-007 | reject | reject | rejected | 96/95/96 | 95.67 | original | same | Centralize focus-notification activity PendingIntent construction |
| 98 | C05-004 | reject | reject | rejected | 98/98/97 | 97.67 | original | same | Consolidate duplicated Electron tray message and cache synchronization |
| 99 | C02-012 | reject | reject | rejected | 99/99/99 | 99.00 | original | same | Remove the superseded all-state tag cleanup method |
| 100 | C06-010 | reject | reject | rejected | 100/100/100 | 100.00 | focused | 100/100/100 | Do not retire the still-active hard-coded translation cleanup script |
Each entry starts with the authoritative full-review result. The subsequent discovery-era record and original evidence are retained to explain how the lead arose; they do not override the reconciled scope, LOC, corrections, gate, or verification.
The following seven domain sections contain all 100 reviewed canonical candidate slots: 73 actionable, 12 deferred, and 15 rejected. Five superseded duplicate slots are recorded separately under cross-domain corrections.
src/app/ui/mentions/mention.directive.ts — MentionDirective input/textarea insertion, search, and event surface; src/app/ui/mentions/mention-utils.ts — input-only caret coordinate utilities; src/app/ui/mentions/mention-config.ts — currently consumed MentionConfig fields; src/app/ui/mentions/mention-list.component.ts — current filtering and selection contract; src/app/ui/mentions/mention-list.component.scss — owned mention-list styles; src/styles/components/mentions.scss — duplicate global overrides.src/app/ui/duration/duration-from-string.pipe.ts — DurationFromStringPipe; src/app/ui/duration/duration-to-string.pipe.ts — DurationToStringPipe; src/app/ui/duration/string-to-ms.pipe.ts — StringToMsPipe wrapper only; src/app/ui/duration/input-duration.directive.ts — unused StringToMsPipe injection; src/app/ui/duration/duration-input.util.ts — unused previousMsValue parameter.checkFile; 342 focused duration/parser Karma tests and the production frontend build passed.src/app/ui/validation/max.directive.ts — MAX_VALIDATOR, MaxDirective; src/app/ui/validation/max.validator.ts — maxValidator; src/app/ui/validation/min.directive.ts — MIN_VALIDATOR, MinDirective; src/app/ui/validation/min.validator.ts — minValidator; src/app/ui/validation/validation.module.ts — ValidationModule; src/app/ui/formly-config.module.ts — ValidationModule wiring.src/app/ui/tree-dnd/tree.types.ts — preview-only and obsolete tree types/fields; src/app/ui/tree-dnd/tree-guards.ts — isTreeNode; src/app/ui/tree-dnd/tree.component.ts — _traverseNodes, _isNodeAncestor; src/app/ui/tree-dnd/tree.utils.ts — getPath, isAncestor; src/app/core-ui/magic-side-nav/nav-list/nav-list-tree.component.html — disconnected treeDragPreview; src/app/core-ui/magic-side-nav/nav-list/nav-list-tree.component.scss — obsolete pre-tree-dnd state selectors.src/app/ui/animations/swirl-in-out.ani.ts — swirlAnimation; src/app/ui/animations/slide-in-from-top.ani.ts — slideInFromTopAnimation; src/app/ui/animations/expand.ani.ts — expandFastAnimation, expandAllowOverflowAnimation; src/app/features/tasks/task-detail-panel/task-detail-panel.component.ts — dead swirl registration; src/app/features/right-panel/right-panel-content.component.ts — dead slide-in-from-top registration.HEAD.src/app/ui/chip-list-input/chip-list-input.component.ts — additional action/toggle inputs, ctrlEnterSubmit, autoFocus timer lifecycle; src/app/ui/chip-list-input/chip-list-input.component.html — additional-action and autofocus branches; src/app/ui/chip-list-input/chip-list-input.component.scss — additional-action styles.src/app/ui/dialog-confirm/dialog-confirm.component.ts — hideCancelButton, showDontShowAgain, alternate close result; src/app/ui/dialog-confirm/dialog-confirm.component.html — hidden-cancel and checkbox branches; src/app/ui/dialog-confirm/dialog-confirm.component.spec.ts — unreachable-mode tests.src/app/core-ui/main-header/main-header.component.scss — stranded child-component selectors; src/app/core-ui/magic-side-nav/magic-side-nav.component.html — disabled mobile opener; src/app/core-ui/magic-side-nav/magic-side-nav.component.scss — .mobile-menu-open; src/app/core-ui/folder-context-menu/folder-context-menu.component.ts — empty styleUrls resource; src/app/app.component.scss — obsolete Material drawer/right-panel selectors; src/app/pages/scheduled-list-page/scheduled-list-page.component.scss — old scheduled-list selectors; src/app/imex/file-imex/file-imex.component.scss — retired paste-import selectors; src/app/pages/search-page/search-page.component.scss — unreachable narrow-screen result branch.src/app/features/tasks/task/task.component.ts — isRepeatTaskCreatedToday; src/app/features/tasks/task/_task-controls.scss — seven obsolete task-row selectors; src/app/features/tasks/task/task-hover-controls/task-hover-controls.component.html — unreachable issue-updated icon branch.src/app/features/config/config-section/config-section.component.{ts,html} — trackByIndexsrc/app/features/config/icon-input/icon-input.component.{ts,html} — trackByIndexsrc/app/features/config/repeat-section-type/repeat-section-type.component.{ts,html} — trackByFnsrc/app/features/config/select-project/select-project.component.{ts,html} — trackByIdsrc/app/features/focus-mode/focus-mode-main/focus-mode-main.component.{ts,html} — trackByIdsrc/app/features/issue/issue-content/issue-content.component.{ts,html} — trackByIndexsrc/app/features/issue/providers/jira/jira-view-components/dialog-jira-transition/dialog-jira-transition.component.{ts,html} — trackByIndexsrc/app/features/issue/providers/jira/jira-view-components/jira-cfg/jira-additional-cfg.component.{ts,html} — trackByCustomFieldId and orphaned trackByIssueIdsrc/app/features/issue/providers/open-project/open-project-view-components/dialog-openproject-transition/dialog-open-project-transition.component.{ts,html} — trackByIndexsrc/app/features/metric/impact-stars/impact-stars.component.{ts,html} — tracksrc/app/features/note/note/note.component.{ts,html} — trackByProjectIdsrc/app/features/schedule/schedule-week/schedule-week.component.{ts,html} — trackEventKeysrc/app/features/tasks/dialog-time-estimate/dialog-time-estimate.component.{ts,html} — trackByIndexsrc/app/features/tasks/dialog-view-task-reminders/dialog-view-task-reminders.component.{ts,html} — trackByIdsrc/app/features/tasks/select-task/select-task.component.{ts,html} — trackByIdsrc/app/features/tasks/task-attachment/dialog-edit-attachment/dialog-edit-task-attachment.component.{ts,html} — trackByIndexsrc/app/features/tasks/task-attachment/task-attachment-list/task-attachment-list.component.{ts,html} — trackByFnsrc/app/features/tasks/task-context-menu/task-context-menu-inner/task-context-menu-inner.component.{ts,html} — trackByProjectIdsrc/app/features/tasks/task-list/task-list.component.{ts,html} — trackByFnsrc/app/features/tasks/task/task.component.{ts,html} — trackByProjectIdsrc/app/features/tasks/tasks-by-tag/tasks-by-tag.component.ts — orphaned trackByIdsrc/app/features/work-view/backlog/backlog.component.ts — orphaned trackByFnTaskComponent; P01-C04 repeated TaskListComponent.trackByFn and added only TaskComponent.trackByProjectId, producing a 23-wrapper unique union rather than the mechanically summed 24.icon-input and select-project tracking-wrapper slices formerly bundled into C01-015; review the guarded task.component edit separately.src/app/ui/dialog-unsplash-picker/dialog-unsplash-picker.component.ts — _destroy$; src/app/features/issue/shared/dialog-track-time/dialog-track-time.component.ts — _onDestroy$; src/app/features/tasks/select-task/select-task-minimal/select-task-minimal.component.ts — _destroy$; src/app/ui/formly-translated-template/formly-translated-template.component.ts — single-entry _subs; src/app/core/snack/snack-custom/snack-custom.component.ts — single-entry _subs; src/app/plugins/ui/plugin-panel-container/plugin-panel-container.component.ts — store-to-signal mirror subscription; src/app/core-ui/main-header/play-button/play-button.component.ts — derived visibility subscription.src/app/features/planner/planner-deadline-task/planner-deadline-task.component.scss — host/item/title base rules; src/app/features/planner/planner-repeat-projection/planner-repeat-projection.component.scss — host/item/title base rules; src/app/features/planner/_planner-projection-item.scss — proposed narrowly scoped projection-item mixin.src/styles/components/fab-wrapper.scss and its forward in src/styles/components/_components.scss; src/_common.scss and src/styles/extends/_extends.scss, _clearfix.scss, and _list-reset.scss; src/styles/utilities/_css-migration-helpers.scss; src/styles/mixins/_mixins.scss, _pseudo.scss, _responsive-ratio.scss, plus standardThemeTextColor, standardThemeTextColorLessIntense, standardThemeTextColorMostIntense, layerTextAndBgHigher, layerTextAndBgHighest, dividerBorderColor, and flatBox in _theming.scss; the .bg-card, .bg-200, .bg-400, .bgc-400, .bg-600, .cc-600, .bg-600i, .bgc-800, .mat-lighter, .mat-darker, and .color-contrast blocks in src/styles/themes.scss; and the obsolete fab-wrapper inventory entry in docs/styling-guide.md.src/app/features/config/config-sound-form/config-sound-form.component.ts — typed patch controls and repeated silent options; src/app/features/config/form-cfgs/schedule-form.const.ts — repeated time validator callback; src/app/features/config/icon-input/icon-input.component.ts — stale non-tracking Formly type/comment boilerplate; src/app/features/config/keyboard-input/keyboard-input.component.ts — stale Formly boilerplate; src/app/features/config/select-project/select-project.component.ts — stale non-tracking Formly type/comment boilerplate; src/app/features/config/repeat-section-type/repeat-section-type.component.ts — empty constructor.GlobalConfigService reactive-facade slice exclusively to C03-007.GlobalConfigService overlap and must not be reused.icon-input and select-project tracking-wrapper slices; C03-007 exclusively owns GlobalConfigService; rebase PRs #9092 and #6748 and re-audit the remaining targets before implementation.checkFile on all modified TypeScript files and smoke-test config forms.src/app/features/schedule/schedule.constants.ts — SCHEDULE_CONSTANTS.BREAKPOINTS.MOBILE, SCHEDULE_CONSTANTS.COLUMN_WIDTHS, SCHEDULE_CONSTANTS.SCROLLBAR; src/app/features/schedule/schedule-constants.scss — $schedule-horizontal-scroll-threshold, $schedule-tablet-breakpoint, $schedule-mobile-breakpointsrc/app/features/schedule/schedule.service.ts — hasEventsForDay; src/app/features/schedule/schedule.service.spec.ts — hasEventsForDay specs; src/app/features/schedule/schedule/schedule.component.spec.ts — ScheduleService mock; src/app/features/schedule/schedule/schedule-locale-ng0701.spec.ts — ScheduleService mocksrc/app/features/schedule/ical/ical-lazy-loader.ts — icalModule, loadingPromise, loadIcalModulesrc/app/features/schedule/map-schedule-data/insert-blocked-blocks-view-entries-for-schedule.ts — debug, insertBlockedBlocksViewEntriesForSchedule, moveAllEntriesAfterTime, moveEntriessrc/app/features/schedule/create-task-placeholder/create-task-placeholder.component.ts — CreateTaskPlaceholderComponent.onTaskChange; src/app/features/schedule/create-task-placeholder/create-task-placeholder.component.scss — .task-type-indicator, .task-type-indicator.create, .task-type-indicator.selectsrc/app/features/schedule/map-schedule-data/create-schedule-view-entries-for-normal-tasks.ts — createScheduleViewEntriesForNormalTasks; src/app/features/schedule/map-schedule-data/create-view-entries-for-day.ts — createViewEntriesForNonScheduledRepeatProjectionssrc/app/features/schedule/schedule-utils.ts — calculateDropTimeFromEventsrc/app/features/schedule/schedule-week/schedule-week.component.scss — .drop-label, .drag-time-preview, .drag-time-preview .time-badge; src/app/features/schedule/schedule/schedule.component.scss — .main-controls, .days, .day, .day-num, .day-day; src/app/features/schedule/schedule-month/schedule-month.component.scss — .month-day-events::afterScheduleComponent HTML/SCSS and PR #7813 changes nearby presentation, so resolve or rebase both before repeating consumer proof.src/app/features/task-repeat-cfg/store/task-repeat-cfg.selectors.ts — selectTaskRepeatCfgsWithStartTime; src/app/features/task-repeat-cfg/store/task-repeat-cfg.selectors.spec.ts — selectTaskRepeatCfgsWithStartTime spec suitesrc/app/features/metric/metric-scoring.util.ts — DailyState, calculateDailyStatesrc/app/features/metric/store/metric.selectors.ts — selectSimpleCounterClickCounterLineChartData, selectSimpleCounterStopWatchLineChartDatasrc/app/features/time-tracking/time-tracking.service.ts — cleanupDataEverywhereForTagsrc/app/pages/daily-summary/plan-tasks-tomorrow/plan-tasks-tomorrow.component.ts — WorkContextService, TaskService, expandAnimation; src/app/pages/daily-summary/plan-tasks-tomorrow/plan-tasks-tomorrow.component.html — commented estimate-total, commented add-scheduled control; src/app/pages/daily-summary/plan-tasks-tomorrow/plan-tasks-tomorrow.component.scss — .estimate-totalsrc/app/pages/daily-summary/daily-summary.component.ts — Action, hasTasksForToday$, focusSessionCount$, focusSessionDuration$, actionsToExecuteBeforeFinishDay; src/app/pages/daily-summary/daily-summary.component.html — focus session bindings, commented inline-markdown; src/app/pages/daily-summary/daily-summary.component.scss — .full-width, .back-btn, .tomorrows-note, commented declarationssrc/app/features/panels/panel-content.service.ts — panelType, hasContent, canOpen, getCurrentPanelType, getHasContent, getCanOpen; src/app/features/right-panel/right-panel-content.component.ts — isOpen, _taskDetailPanelTargetPanel, _layoutFeatureState, _isShowPluginPanel; src/app/features/right-panel/right-panel.component.ts — isOpen; src/app/features/bottom-panel/bottom-panel-container.component.ts — panelTypesrc/app/features/focus-mode/focus-mode-overlay/focus-mode-overlay.component.ts — _onDestroy$, ngOnDestroy, back, cancelFocusSession, animations; src/app/features/focus-mode/focus-mode-overlay/focus-mode-overlay.component.html — retired navigation and banner comments; src/app/features/focus-mode/focus-mode-overlay/focus-mode-overlay.component.scss — unmatched selectors and retired tokensrc/app/features/focus-mode/focus-mode-main/focus-mode-main.component.ts — isPreparation, isCountdown, isInProgress, state-derived visibility computeds, trackById; src/app/features/focus-mode/focus-mode-main/focus-mode-main.component.html — duplicated state gates, simple-counter trackingsrc/app/features/focus-mode/focus-mode.service.ts — isSessionCompleted, isBreakLong, sessionProgress$, timeToGo$; src/app/features/focus-mode/focus-mode-break/focus-mode-break.component.ts — breakLabelKey, isLongBreak; src/app/features/focus-mode/store/focus-mode.reducer.ts — State compatibility aliassrc/app/features/work-context/work-context.service.ts — activeWorkContextIdIfProject$, load, mainListTasks$ dormant sketchessrc/app/features/work-context/work-context.service.ts — isTodayList, isTodayList$, isTodayListSignal, constructor mirror subscription; src/app/features/history/history.component.ts — projectColorForsrc/app/features/config/global-config.service.ts — zero-consumer Observable declarations, zero-consumer Signal declarations, direct-signal consumerssrc/app/features/project/dialogs/create-project/dialog-create-project.component.ts — formTheme, formOptionsTheme, themeFormCfg, issue-provider fields, _subs, ngOnDestroy; src/app/features/project/dialogs/create-project/dialog-create-project.component.html — outer formGroup bindingsrc/app/features/menu-tree/menu-tree.service.ts — _projectTree, _tagTree, projectTree, tagTree, projectFolders$, _collectFolderssrc/app/features/tag/tag-list/tag-list.component.ts — unused animations; src/app/features/tag/tag-toggle-menu-list/tag-toggle-menu-list.component.ts — addNewTag, menuEl, tagFolderMap wrapper, openMenu event; src/app/features/tag/tag-toggle-menu-list/tag-toggle-menu-list.component.scss — unmatched tag icon selectors; src/app/features/tag/tag-edit/tag-edit.component.ts — index signature, onkeydown, cleanTitletag-edit component, so rebase and repeat exact-symbol/template searches before implementation.src/app/features/worklog/dialog-worklog-export/dialog-worklog-export.component.ts — options, legacy export comments, dead styleUrl; src/app/features/worklog/dialog-worklog-export/dialog-worklog-export.component.scss — unmatched wrapper selectors; src/app/features/worklog/worklog-week/worklog-week.component.ts — expandAnimation, keys; src/app/features/worklog/worklog-week/worklog-week.component.html — legacy debug and counter comments; src/app/features/worklog/worklog-week/worklog-week.component.scss — legacy wrapper commentssrc/app/features/note/store/note.effects.ts — NoteEffects; src/app/root-store/feature-stores.module.ts — NoteEffects import, EffectsModule.forFeature registrationsrc/app/features/note/note/note.component.ts — markdownEl, ngOnChanges, updateContent, OnChanges, SimpleChanges; src/app/features/note/note/note.component.scss — .controls, .content inline-markdownNoteComponent and its draft behavior.src/app/util/markdown-to-checklist.ts — markdownToChecklist; src/app/util/checklist-to-markdown.ts — checklistToMarkdown; src/app/util/markdown-checklist-task.model.ts — MarkdownChecklistTaskHEAD.src/app/util/check-key-combo.ts — KeyboardLayout type re-exports, userKbLayout, saveUserKbLayout, prepareKeyCode; src/app/util/check-key-combo.spec.ts — duplicated layout-loader setupsrc/app/features/issue-panel/issue-panel.component.ts — IssuePanelIntroComponent, isShowIntro; src/app/features/issue-panel/issue-panel.component.html — issue-panel-intro conditional; src/app/features/issue-panel/issue-panel-intro/issue-panel-intro.component.ts — IssuePanelIntroComponent; src/app/features/issue-panel/issue-panel-intro/issue-panel-intro.component.html — issue panel intro template; src/app/features/issue-panel/issue-panel-intro/issue-panel-intro.component.scss — host stylessrc/app/features/issue/issue-content/issue-content.component.ts — IssueContentComponent.getFieldValue; src/app/features/issue/issue-content/issue-content-custom/issue-content-custom.component.ts — IssueContentCustomComponent.getFieldValue; src/app/features/issue/issue-content/issue-content-custom/caldav-time/caldav-time.component.ts — CaldavTimeComponent.fieldValue; src/app/features/issue/issue-content/issue-content-custom/jira-link/jira-link.component.ts — JiraLinkComponent.fieldValue; src/app/features/issue/issue-content/get-issue-field-value.util.ts — resolveIssueFieldValuesrc/app/features/issue/store/issue-provider.selectors.ts — selectCalendarProviderByIdsrc/app/features/issue/providers/jira/jira-api.service.ts — _checkSetWonkyCookie, MatDialog, DialogPromptComponent, _matDialogsrc/app/features/issue/providers/redmine/redmine-api.service.ts — ParamsBuilder, _getIssueByIdInProject$, getLast100IssuesForCurrentRedmineProject$, getTimeEntriesForCurrentUser$, _searchTextIssuesInProject$, _searchIssuesBySubjectInProject$src/app/plugins/plugin-cleanup.service.ts — PluginCleanupService, registerIframe, cleanupPlugin, cleanupAll; src/app/plugins/plugin-runner.ts — PluginCleanupService integration, unloadPlugin; src/app/plugins/plugin.service.ts — PluginCleanupService integration, ngOnDestroy; src/app/plugins/ui/plugin-index/plugin-index.component.ts — PluginCleanupService integration, _cleanupIframeCommunication, onIframeLoad; src/app/plugins/ui/plugin-index/plugin-index.component.html — iframe load bindingsrc/app/plugins/plugin-i18n.service.ts — loadPluginTranslationsFromPath, _http; src/app/plugins/plugin-runner.spec.ts — mockI18nService.loadPluginTranslationsFromPathHEAD.src/app/plugins/plugin-initializer.ts — initializePlugins, PLUGIN_INITIALIZER_PROVIDER; src/main.ts — PLUGIN_INITIALIZER_PROVIDER registrationsrc/app/plugins/plugin-state.model.ts — PluginState.code, PluginState.indexHtml, PluginState.icon, PluginLoadResult; src/app/plugins/plugin.service.ts — PluginState icon writesPluginService sanitization helper/registry writes, and recheck nearby persistence changes from PR #8067.src/app/plugins/plugin.service.ts — _loadBuiltInPlugins, _loadUploadedPlugins, _loadPluginsFromPaths, _loadPlugin, getAllPluginsLegacy, loadPluginFromPath, _loadUploadedPlugin, _ensurePluginEnabledInMemorysrc/app/plugins/ui/plugin-side-panel-btns.component.ts — _router, _breakpointObserver, _isXs$, isXs, currentRoute, isWorkViewpackages/plugin-dev/scripts/build-issue-provider.js shared helper; packages/plugin-dev/azure-devops-issue-provider/scripts/build.js, clickup-issue-provider/scripts/build.js, gitea-issue-provider/scripts/build.js, github-issue-provider/scripts/build.js, linear-issue-provider/scripts/build.js, trello-issue-provider/scripts/build.js, caldav-calendar-provider/scripts/build.js, and google-calendar-provider/scripts/build.js package-local wrappers.packages/plugin-dev/brain-dump/plugin.js — submitTasks line-by-line fallback, parseTasksWithSubTaskspackages/plugin-dev/api-test-plugin/index.html — testThemeInfo, testDeleteCounter, lastProjectId, lastTagIdpackages/plugin-dev/procrastination-buster/src/types.ts — procrastinationTypeselectron/start-app.ts — commented auto-updater registration; electron/indicator.ts — commented POMODORO_UPDATE/DBus listener; electron/debug.ts — commented addExtensionIfInstalled; electron/electronAPI.d.ts — commented legacy checkDirExists signature; electron/shared-with-frontend/ipc-events.const.ts — commented pseudo-IPC members; electron-builder.yaml — durable no-updater rationaleandroid/app/src/main/java/com/superproductivity/superproductivity/webview/WebViewRequestHandler.kt — commented OPTIONS request branchelectron/CONFIG.ts — CONFIG.D_BUS_ID; electron/shared-with-frontend/simple-store.const.ts — SimpleStoreKey.ALLOWED_COMMANDSelectron/indicator.ts — SET_PROGRESS_BAR listener, CURRENT_TASK_UPDATED listener, syncTray, tray/menu message derivation and cache updateselectron/protocol-handler.ts — processProtocolUrl repeated mainWin guardsandroid/app/src/main/java/com/superproductivity/superproductivity/app/AppLifecycleObserver.kt — AppLifecycleObserver, isInForeground; android/app/src/main/java/com/superproductivity/superproductivity/App.kt — orphan observer registration; android/app/build.gradle — androidx.lifecycle:lifecycle-processandroid/app/src/main/java/com/superproductivity/superproductivity/service/FocusModeNotificationHelper.kt — six duplicated action PendingIntent blocks in buildNotification and showCompletionNotificationandroid/app/src/main/res/drawable-anydpi-v24 — ic_add, ic_done, ic_pause, ic_stat_play; android/app/src/main/res/values/attrs.xml — unused ButtonBar template attributes; android/app/src/main/res/values/dimens.xml — empty resource fileios/App/App/StoreReviewPlugin.m — CAP_PLUGIN StoreReview registration; ios/App/App/StoreReviewPlugin.swift — CAPBridgedPlugin metadata; ios/App/App/CustomViewController.swift — manual StoreReviewPlugin registration; ios/App/App.xcodeproj/project.pbxproj — StoreReviewPlugin.m project membershipproject.pbxproj and adds another Swift-plus-Objective-C local plugin.capacitor.config.ts — ios.allowsLinkPreview, ios.scrollEnabled, Keyboard.resizeOnFullScreenios/App/App/AppDelegate.swift — applicationWillResignActive, applicationDidEnterBackground, applicationWillEnterForeground, applicationDidBecomeActive, applicationWillTerminatesrc/app/core/platform/capacitor-platform.service.ts — duplicate Electron UA predicate, no-op iOS-browser branch, hasCapability, isElectron, isWeb; src/app/core/platform/capacitor-platform.service.spec.ts — method-only assertions and token overrides; src/app/core/platform/index.ts — unreferenced internal barrelsrc/app/core/startup/startup.service.ts — unused ImexViewService and TranslateService injections; src/app/core/startup/startup.service.spec.ts — obsolete spies and providerssrc/app/root-store/feature-stores.module.ts — ElectronEffects registration; src/app/core/electron/electron.effects.ts — fileDownloadedSnack$src/app/app.constants.ts — CORS_SKIP_EXTRA_HEADERS.github/workflows/build-publish-to-snap-on-release.yml — commented legacy Node/Electron/Snapcraft build-and-publish steps.github/workflows/build-update-web-app-on-release.yml — duplicate actions/setup-node invocation, Install Node.js, NPM and Yarnelectron-builder.yaml — commented legacy linux.desktop mapping, commented legacy inline mas mappingsrc/test-helpers/jasmine-spec-reporter-hook.js — waitForJasmine, installHooks; src/test-helpers/spec-start-broadcast.js — browser hook IIFE; angular.json — projects.sp2.architect.test.options.scripts consumer prooftools/notarizeMacApp.js — myNotarize, isDesktopAppTag; tools/execCommand.js — execCommand; electron-builder.yaml — commented afterSign, mac.notarize; package.json — @electron/notarize direct devDependency; package-lock.json — root direct dependency and unreachable lock entriestools/gen-perf-metrics.js — legacy performance metric Markdown formatter; .gitignore — obsolete perf-metrics input patternstsconfig.json — compilerOptions.esModuleInterop, compilerOptions.outDirpackage.json — @dotenv-run/cli, @types/file-saver, @types/jasminewd2, @types/object-path, clipboard, file-saver, fs-extra, karma-cli, start-server-and-test; package-lock.json — root declarations and now-unreachable package nodestools/test-file.js — legacy single-file Karma wrapper; package.json — working scripts.test:file consumer prooftools/cleanup-unused-translations.js — SECTIONS_TO_REMOVE, NESTED_PATHS_TO_REMOVE, processJsonFiles; docs/unused-translations-analysis.md — Recommended Cleanup Script; package.json — maintained int:unused and clean:translations commandspackages/plugin-dev/scripts/build-all.js — plugins, copyRecursive, buildPlugin, routine build-and-copy entriespackages/plugin-dev/scripts/build-all.js after PR #8067 and retain its new special-case entry.src/assets/themes/rainbow.css — legacy --rainbow-_ palette, --neon-magenta, --rainbow-gradient, unused --glow-_ presetssrc/app/features/planner/planner.service.spec.ts — PlannerService test provider factory, tomorrow$ suitesrc/app/features/planner/store/planner.selectors.spec.ts — test-owned calendar-event helper, selectPlannerDays projector casessrc/app/features/tasks/dialog-view-task-reminders/dialog-view-task-reminders.component.spec.ts — buildTasksPipeline, actionProps, removeReminderFromList, handleRemindersActive simulation suitessrc/app/features/worklog/worklog-export/worklog-export.util.spec.ts — moment-based shadow blocks; src/app/features/worklog/worklog.service.timezone.spec.ts — local mockTasks range filtering; src/app/features/worklog/worklog-export/worklog-export.component.tz.spec.ts — component-name timezone pseudo-tests; src/app/features/worklog/worklog.service.spec.ts — getTaskListForRange$ production characterizationsrc/app/features/work-context/work-context-filter.spec.ts — spec-local task filter implementation; src/app/features/work-context/work-context.service.spec.ts — production Today-context filter casessrc/app/features/tasks/task/task-delete-confirmation.spec.ts — spec-local delete confirmation branch; e2e/tests/task-basic/task-delete-confirmation.spec.ts — cancel, confirm plus undo, keyboard-confirm outcomes**/*.spec.ts discovery pattern, so its deletion is safe and saves no active coverage.; add-task-bar-timezone.integration.spec.ts is also self-testing, but its exact provider/property cases are not all demonstrated by the retained timezone-logic suite.; Several US-DST-labeled dates are not made DST transitions merely by running the default Europe/Berlin test job.; add-task parsing; scheduled timestamps; timezone/DST; test discovery; active PR overlap; Both deletions are worthwhile, but their safety proofs differ and the canonical LOC narrative originally hid active case removal.src/app/features/tasks/add-task-bar/add-task-bar-timezone.integration.spec.ts — superseded timezone integration suite; src/app/features/tasks/add-task-bar/add-task-bar-timezone-logic.spec.ts — retained active timezone logic suite; src/app/features/tasks/add-task-bar/add-task-bar.component.tz.spec.ts.bak — tracked non-discovered backup suitegetDbDateStr and its direct spec, so rebase and remap retained production-connected coverage after either lands.src/app/features/task-repeat-cfg/store/task-repeat-cfg.selectors.spec.ts — getRepeatableTasksForExactDay projector suite, getRepeatableTasksForWeekday projector suite, paused-filter casessrc/app/features/task-repeat-cfg/store/get-next-repeat-occurrence.util.spec.ts — testCase runner, boundary cases, duplicate February-29 yearly case; src/app/features/task-repeat-cfg/store/get-newest-possible-due-date.util.spec.ts — testCase runner, boundary casessrc/app/features/schedule/ical/get-relevant-events-from-ical.spec.ts — VCALENDAR envelope, getRelevantEventsFromIcal invocationsrc/app/features/simple-counter/get-simple-counter-streak-duration.spec.ts — weekday maps, day-offset count fixtures, specific-days and weekly counter fixturessrc/app/plugins/plugin.service.load-from-zip.spec.ts — ZIP-loading standalone TestBed; src/app/plugins/plugin.service.spec.ts — loadPluginFromZip canonical describe; src/app/plugins/plugin-loader.iframe-only.spec.ts — iframe-only standalone HTTP harness; src/app/plugins/plugin-loader.service.spec.ts — canonical HttpTestingController harnesse2e/pages/side-nav.page.ts — SideNavPage; e2e/fixtures/test.fixture.ts — sideNavPage fixture registration; e2e/helpers/plugin-test.helpers.ts — logPluginState, robustClick, robustWaitFor; e2e/store-video/overlays.ts — unused overlay helpers; e2e/utils/assertions.ts — unused assertion helpers; e2e/utils/element-helpers.ts — safeIsEnabled; e2e/utils/index.ts — unused barrele2e/tests/planner/planner-basic.spec.ts — route-only smoke; e2e/tests/planner/planner-multiple-days.spec.ts — route-only smoke; e2e/tests/planner/planner-navigation.spec.ts — canonical navigation/deep-link/refresh journey; e2e/tests/planner/planner-scheduled-tasks.spec.ts — route-only smoke; e2e/tests/planner/planner-time-estimates.spec.ts — time-estimate syntax and persistence journeys; e2e/tests/planner/planner-task-visibility.spec.ts — planner content assertionse2e/tests/plugins/plugin-upload.spec.ts — uploaded-plugin lifecycle; e2e/tests/plugins/enable-plugin-test.spec.ts — API Test Plugin smoke; e2e/tests/plugins/plugin-enable-verify.spec.ts — API Test Plugin smoke; e2e/tests/plugins/plugin-iframe.spec.ts — API Test Plugin iframe smoke; e2e/tests/plugins/plugin-lifecycle.spec.ts — API Test Plugin disable lifecycle; e2e/tests/plugins/plugin-loading.spec.ts — canonical settings/menu/route/iframe lifecycle; e2e/tests/plugins/test-plugin-visibility.spec.ts — API Test Plugin visibility smoke; e2e/pages/settings.page.ts — existing plugin settings methodsThis section preserves discovery and consolidation decisions. The full-review result under each candidate supersedes any implementation wording below. In particular, C01-013, C04-012, and C07-012 remain canonical slots for deduplication traceability but are now rejected.
| Group | Candidates | Type | Resolution |
|---|---|---|---|
| C08-OV-01 | C01-012, C03-002 | exact-duplicate | Keep C03-002 as the Focus Mode owner; merge all source evidence and do not sum LOC. |
| C08-OV-02 | C01-013, C02-015 | same-root-cause-and-primary-files | Keep only C01-013 as the canonical slot and do not double-count C02-015; the full review rejects the retained extraction as negative-value abstraction. |
| C08-OV-03 | C01-014, C06-013, C06-014 | whole-candidate-with-subsets | Keep C01-014 as the complete global Sass graph deletion; C06-013 and C06-014 are duplicate subsets. |
| C08-OV-04 | C01-015, C03-007 | source-and-file-subset | Keep C03-007 as the GlobalConfigService authority; remove P13-02-C1, its path, and its LOC from C01-015 while retaining that candidate's separate Formly/config cleanup. |
| C08-OV-05 | C04-012, C06-012 | same-provider-build-helper | Keep only C04-012 as the canonical slot and merge L10-C03 evidence without double-counting; the full review rejects the shared-helper proposal. |
| C08-OV-06 | C03-012, C05-014 | same-file-distinct-symbols | Not duplicates: both change feature-stores.module.ts. If C05-014 clears deferral, land it separately from C03-012 and preserve effect registration and sync/hydration ordering. |
| C08-OV-07 | C04-006, C04-009, C04-010, C07-012 | plugin-runtime-and-test-staging | Not duplicates. C04-006 and C04-009 are deferred, C04-010 is independently actionable, and C07-012 is rejected; do not use this group to revive the rejected test consolidation. |
| C08-OV-08 | C03-005, C03-006, C07-005 | production-and-test-contract-overlap | Preserve the unique yesterday/logical-today boundary in production-connected tests before pruning separate WorkContextService compatibility members. |
| C08-OV-09 | C02-009, C07-008 | same-spec-distinct-changes | Delete the orphan selector/spec slice independently, then rebase the typed-matrix test refactor and preserve exact recurrence case counts. |
| C08-OV-10 | C04-012, C06-011 | build-ecosystem-ordering | Not duplicates: package-local bundle scripts and build-all orchestration are separate. C04-012 is rejected; C06-011 remains independently actionable after its own artifact and PR #8067 gates. |
| Correction | Candidates | Category | Action |
|---|---|---|---|
| C08-COR-01 | C01-012, C03-002 | duplicate-count-removal | Mark C01-012 superseded by C03-002 and merge its source evidence without summing LOC. |
| C08-COR-02 | C02-015, C01-013 | duplicate-count-removal | Mark C02-015 superseded by C01-013; exclude its speculative calendar-row extension. |
| C08-COR-03 | C06-013, C01-014 | duplicate-count-removal | Mark C06-013 superseded by the global Sass candidate C01-014. |
| C08-COR-04 | C06-014, C01-014 | duplicate-count-removal | Mark C06-014 superseded by the global Sass candidate C01-014. |
| C08-COR-05 | C01-015, C03-007 | duplicate-count-removal | Narrow C01-015 by removing P13-02-C1, GlobalConfigService, and its LOC; retain C03-007 as the sole owner of that slice. |
| C08-COR-06 | C06-012, C04-012 | duplicate-count-removal | Mark C06-012 superseded by C04-012 and merge L10-C03 evidence without summing the shared-helper estimate. |
| C08-COR-07 | C01-010 | location-precision | Replace the directory-wide src/app/features location with exact component/template files. Post-consolidation reconciliation corrected the mechanically summed 24 wrappers to 23 unique wrappers. |
| C08-COR-08 | C01-013 | location-precision | Replace the broad src/app/features/planner location with the exact proposed planner-local partial path; do not imply every planner file is touched. |
| C08-COR-09 | C04-012 | location-precision | Name the exact new provider-build helper file instead of packages/plugin-dev/scripts, preventing a false overlap with build-all.js. |
| C08-COR-10 | C01-014 | location-precision | Enumerate the exact Sass modules/forwards to delete instead of whole extends/mixins directories. |
| C08-COR-11 | C01-005, C03-010 | current-pr-gate | PR #8892 leaves no current same-file overlap for C01-005 but still requires exact-symbol revalidation; PR #8437 overlaps C03-010's tag-edit file, so that candidate is conflicting/B pending rebase. |
| C08-COR-12 | C01-008 | current-pr-gate | Classify the batch conflicting/B pending PR #8456 revalidation; split out file-imex styling if new attachment markup revives a selector. |
| C08-COR-13 | C01-015 | current-pr-gate | After overlap narrowing, classify conflicting/B until PRs #9092 and #6748 are rebased and the remaining Formly/config targets are re-audited. |
| C08-COR-14 | C05-011 | current-pr-gate | Change classification to conflicting and tier to defer because open PR #6748 changes AppDelegate native lifecycle code. |
| C08-COR-15 | C07-013 | current-pr-gate | Classify conflicting/B until PR #8214 lands or is rebased and element-helpers.ts is proven unused again; keep sync E2E paths excluded. |
| Item | Candidates | Resolution |
|---|---|---|
| DOC-REC-01 | C01-010 | L04-C02 already contained TaskListComponent.trackByFn; P01-C04 repeated it and added only TaskComponent.trackByProjectId. The unique union is 23 wrappers across 22 component units, and the production estimate is corrected from 72–97 to 69–93 LOC. |
| DOC-REC-02 | C01-010, C01-015 | Assign the icon-input and select-project tracking-wrapper slices exclusively to C01-010. C01-015 retains only its separate Formly/config cleanup and must be re-estimated after its current-PR gates clear. |
| Color | Source | Decision | Finding | Discovery guardian result; full review controls |
|---|---|---|---|---|
| green | P06-02-C2 / C04-003 | retain | Unused calendar-provider selector | Exact TS/template/string/public/plugin/native/build searches find only the declaration; deleting it changes no state, action, persistence, or sync contract. |
| green | I03-01-C01 / C04-007 | retain | Unused path-based plugin translation loader | Dynamic plugin and manifest paths were checked; all live translation loading uses content, so the dead HTTP route can be removed while keeping the public/plugin contract. |
| green | T01-05-C01 + L12-C01 / C07-007 | retain | Superseded and non-discovered Add Task Bar timezone artifacts | Configured behavior coverage remains elsewhere and the .bak file is never discovered; test deletion is reported separately from production LOC. |
| amber | I03-02-C1 / C04-010 | retain with revalidation | Disconnected eager PluginService loader chain | High-value dead subsystem, but public/plugin, persistence, security, consent, hooks, native nodeExecution, and open PluginService PRs require a fresh reachability challenge before implementation. |
| amber | P01-C01 + P01-C02 / C01-009 | keep out of preliminary top pool | Task-row stale state and branch | The task component is a hot path with many current PRs; large-list change-detection and exact-symbol revalidation are mandatory despite supported evidence. |
| amber | I12-C03 / C05-011 | correct to conflicting/defer | Empty UIApplicationDelegate stubs | Native registration/history proof was initially adequate, but open PR #6748 changes AppDelegate, so current platform behavior must win over baseline zero-body evidence. |
| red | F11-01-R1 | semantic exclusion | App-data mock simplification | The apparent fixture is a persisted AppDataComplete envelope consumed by op-log validation/import tests; no non-sync scout may simplify its shape. |
| red | F11-01-R3 | semantic exclusion | Startup debounce operator | Zero production imports do not override that the operator's complete behavior is sync-start timing through a hard-excluded service. |
| red | scope-manifest hard fence | hard exclusion | src/app/op-log/sync/operation-log-upload.service.ts | Direct sync/op-log implementation is absent from the eligible and scout manifests; related generic helpers were also semantically fenced. |
The 606 raw leads that were not selected by their original domain consolidator were normalized and grouped into the following decisions. This is not a second global status ledger: some source IDs also support retained candidates because the guardian routed evidence across domains, split a bundled claim, or merged corroborating scans. The canonical candidate catalog above controls final status. Source IDs remain here so each domain decision can be traced back to the scout artifacts if they are still available.
The seven consolidators recorded 136 normalized rejection decisions. A decision can group several of the 606 raw rejected leads.
These references were used during consolidation to distinguish net-new work, existing plans, conflicts, and load-bearing boundaries. GitHub state must be refreshed before implementation.
| Reference | Domains | Relationship to backlog |
|---|---|---|
| pr #5396 | C01 | Merged control-flow migration that left the wrapper-style @for tracking helpers targeted by C01-010. |
| pr #6511 | C02 | Open URL-parsing PR rewrites the URL attachment/removal area targeted by P02-02-C2; the simplification must be reconsidered against that branch. |
| pr #6748 | C08 | Open older iOS widget branch changes AppDelegate and several config/component targets; C05-011 cannot remain implementation-ready without revalidation. |
| issue #7355 | C07 | Conflicts with a baseline-only rewrite of getFirstRepeatOccurrence tests because the issue proposes changing the documented anchoring contract; T01-03-C3 is deferred rather than table-driving assumptions that may soon change. |
| pr #7376 | C01 | Recent merged mentions substring-ranking behavior that C01-001 must preserve. |
| pr #7504 | C01 | Recent merged mentions contrast fix and regression coverage that C01-001 must preserve while relocating duplicate styles. |
| pr #7745 | C07 | Changes Flowtime break behavior and focus-mode specs, so the lower-ranked Flowtime E2E consolidation T05-03-C2 must wait for the intended behavior to settle. |
| pr #7808 | C04 | Open Jira worklog/effects PR changes nearby Jira behavior. The wonky-cookie deletion is limited to a callerless legacy auth branch and preserves all live request/effect paths. |
| issue #7873 | C07 | Owns SuperSync/WebDAV E2E maintenance. Those paths and their serial/timing semantics remain excluded from C07; only non-sync Playwright findings are ranked here. |
| issue #7874 | C01, C05 | Open code-quality backlog independently tracks redundant standalone metadata, dual Observable/Signal APIs, time-left helpers, share targets, and animation-export cleanup; Open code-quality backlog independently records unconditional ElectronEffects registration and empty iOS AppDelegate callbacks; it also lists larger platform candidates that are intentionally not folded into these small changes. |
| issue #7913 | C02 | Open recurrence-engine consolidation issue confirms broader repeat-code duplication but is higher-risk and distinct from the retained orphan-selector deletion. |
| issue #7915 | C02 | Tracking issue closed by PR #8927 for logical-day bucketing and visible-day generation; used to avoid double-counting that work. |
| pr #8067 | C04, C06, C08 | Open Markdown Notes plugin PR changes PluginService, the bridge, build-all tooling, and synced plugin data. PluginService candidates require a rebase and must preserve its public/persistence additions; Open Markdown-notes plugin PR adds a special build entry to packages/plugin-dev/scripts/build-all.js. C06-011 is classified conflicting and must preserve that allowlisted special entry after rebase; Open Markdown Notes plugin work changes PluginService tests and build-all orchestration; plugin runtime/test/build candidates must be sequenced around it. |
| pr #8160 | C04 | Open Forgejo provider PR changes issue-provider setup surfaces, so the hidden intro deletion requires a post-rebase static and render check but remains behaviorally separate. |
| pr #8191 | C02 | Open audio-feedback work touches SimpleCounterButton and SimpleCounterService, lowering the rank of the P18 cleanup set until rebased. |
| issue #8209 | C04 | Open plugin sandbox issue confirms that plugin execution and permissions are security-sensitive; no retained viable candidate weakens execution, consent, or bridge boundaries. |
| pr #8214 | C08 | Open subtask-mode work changes an E2E helper listed by C07-013, requiring a fresh zero-consumer check. |
| issue #8226 | C04 | The background-plugin sandbox design explicitly proposes reusing PluginCleanupService for lifecycle management, so C04-006 is classified conflicting and deferred despite current inertness. |
| issue #8260 | C01, C06, C07 | Open dead-code and consolidation umbrella; adjacent Tier A UI removals landed in PRs #8889 and #8892, but it does not enumerate most retained C01 targets; Open broad dead-code issue explicitly treats tools and plugin-dev paths as knip false positives unless independently proven. C06 retains only tool deletions with direct history, entry-point, and replacement-path evidence; it does not claim the issue's unrelated source findings; Independently establishes the repository-wide dead-code/consolidation campaign, but does not enumerate C07's false-coverage specs or non-sync journey reductions; no finding is classified as already implemented from this umbrella alone. |
| issue #8299 | C03 | Open broader task/work-context/project/tag decoupling plan confirms WorkContextService debt but does not supersede the two narrow dead-surface cleanups C03-005 and C03-006. |
| pr #8369 | C07 | Adds future-day reminder rollover E2E coverage. Reminder helpers and journeys must preserve its real-clock/day-rollover boundary; its WebDAV changes remain outside C07. |
| pr #8437 | C08 | Open tag-order work changes tag-edit code included in C03-010. |
| pr #8456 | C08 | Open import/export attachment work changes file-imex component styling inside C01-008, so that batch must be revalidated and split if necessary. |
| issue #8476 | C04 | Open Plainspace integration discussion illustrates the unresolved built-in-provider versus plugin decision; provider candidates remain implementation-local. |
| issue #8736 | C04 | Open plugin compatibility issue covers minSupVersion and DTO validation; retained dead-code and build-script candidates do not change manifests, DTOs, or version gates. |
| issue #8832 | C05 | Open security issue for the dual Android runtime and remote WebView bridge. C05 candidates must not weaken origin, bridge, credential, database, or MODE_ONLINE fences. |
| issue #8833 | C02 | Open architecture finding covers scheduling sources of truth; none of the retained schedule-view cleanups changes those state invariants. |
| issue #8835 | C06 | Open Material M2/runtime-theming migration issue defines the live theme contract. C06-013 through C06-015 remove only unwired or unreferenced Sass/theme internals and deliberately do not attempt that migration. |
| issue #8836 | C03 | Open app-wide dependency-direction issue corroborates the architectural pressure around work-context and feature facades; none of the C03 candidates attempts its broader boundary redesign. |
| issue #8837 | C04 | Open provider-to-plugin migration issue confirms the strategic boundary: retained provider-local cleanups must not redesign provider contracts or pre-empt the migration. |
| issue #8841 | C05 | Open platform-capability adoption issue independently confirms predicate drift and scattered Electron/native routing; C05-012 is a narrowly behavior-equivalent cleanup, not the issue's larger facade migration. |
| issue #8842 | C04 | Open credential-migration issue reserves local credential keys; all retained candidates leave OAuth secrets, MIGRATED_KEYS, persistence keys, and sync exclusion unchanged. |
| issue #8843 | C01, C02, C03, C06 | Open architecture quick-wins issue establishes the task-row signal hot-path caution; adjacent to, but not duplicative of, C01-009; Open quick-wins issue touches archive-compression persistence in the same file as P22-C3 but proposes a different atomic-write correction; Open architecture-review quick win independently confirms that the plain isTodayList mirror is unsafe beside the signal path; C03-006 keeps the reactive contract and removes the legacy mirror; Open architecture quick-wins issue independently emphasizes dead dependency configuration and SHA-pinned workflows. The C06 dependency/workflow candidates are adjacent but target different exact declarations, so none is marked superseded. |
| pr #8865 | C04, C07 | Open multiple-Google-calendar-accounts PR changes the plugin adapter, bridge, OAuth token scoping, and cleanup. OAuth/adapter findings are lower-ranked and retained candidates do not touch these contracts; Actively changes Google Calendar provider tests and CalendarIntegrationService provider assumptions. T01-01-C2 and T02-01-C2 are therefore not shortlisted until rebased on that work. |
| pr #8889 | C01 | Merged after the audit baseline and removes other dead UI/tree-dnd files; refresh C01-004 paths against current master before implementation. |
| pr #8892 | C01 | Merged after the audit baseline and removes four different dead animation files, independently validating the cleanup pattern used by C01-005. |
| pr #8927 | C02 | Open refactor directly replaces PlannerService visible-day generation and therefore supersedes/conflicts with P16-01-C2; it also creates same-file rebase risk for P11-C2 but does not remove hasEventsForDay. |
| pr #8928 | C03 | Merged config-boilerplate cleanup predates and is contained in the baseline; its file set does not touch GlobalConfigService, so it neither supersedes nor conflicts with C03-007. |
| pr #8950 | C05, C06, C08 | Open iOS WidgetKit port changes project.pbxproj and deliberately follows the Swift-plus-Objective-C Capacitor plugin pattern, so C05-009 is conflicting/deferred pending rebase and native registration proof; Open iOS-widget PR edits build-ios.yml and package.json. It reinforces rejecting the nine-workflow dispatch normalization as low-value churn while active platform workflow work is in flight; Open iOS widget work confirms native project-file and feature-store churn and the C05 native defer fences. |
| pr #8982 | C03, C08 | Open crash-safe project-note drafts PR modifies NoteComponent and adds its first focused spec without removing the stale inline-editor lifecycle members. C03-013 remains valid but is classified conflicting and must be rebased/re-audited after that PR; Open note-draft work confirms C03-013 is correctly conflicting. |
| pr #9014 | C02 | Open short-syntax sections PR extracts the project-prefix matcher and build-result helper, materially superseding P02-02-C1 and creating churn for other short-syntax findings. |
| pr #9058 | C02 | Open single-day schedule view changes ScheduleComponent HTML/SCSS; P12-02-C2 remains ranked only with a post-rebase usage and visual check. |
| issue #9069 | C07 | Confirms that retries=0 is a deliberate determinism policy and that gesture/assertion timing must be fixed rather than hidden. Every C07 E2E consolidation retains retries=0 and state-based readiness. |
| pr #9077 | C04, C06, C08 | Open plugin SVG-sanitization PR modifies PluginService and its tests. C04-009/C04-010 must rebase while preserving its sanitization helper, dedicated icon registry, and security assertions; Open SVG-sanitization hardening PR changes root package.json and package-lock.json. C06-005 and C06-008 remain valid but are classified conflicting because their dependency/lockfile edits must be regenerated after this security change; Open plugin SVG hardening changes PluginService, its tests, package.json, and package-lock.json; existing C04/C06 conflict gates remain valid. |
| pr #9092 | C08 | Open Formly fix changes a C01-015 target and requires that bundled candidate to be narrowed and revalidated. |
| Path | Domains | Relationship to backlog |
|---|---|---|
ARCHITECTURE-DECISIONS.md | C01, C03, C05, C07, C08 | Reviewed for load-bearing contracts; the retained UI cleanups do not alter any active scheduling, sync-boundary, transaction, project-completion, passkey, or delete-wins decision; Decisions #2 and #5 constrain TODAY ordering and project completion; the shortlisted project, tag, and work-context changes remain read/UI-facade cleanups and do not change either contract; Reviewed for active data/sync contracts; no retained platform cleanup may alter the documented scheduling, sync boundary, transaction, project-completion, passkey, or delete-wins decisions; Load-bearing sync, persistence, archive, virtual TODAY_TAG, and native decisions are verification fences; no C07 candidate changes production contracts or persisted shapes; Load-bearing scheduling, TODAY_TAG, persistence, and sync decisions remain outside candidate simplification scope. |
ARCHITECTURE-DECISIONS.md#1-duedayduewithtime-mutual-exclusivity-pattern | C02 | Scheduling work must preserve dueDay/dueWithTime precedence and exclusivity; retained candidates do not alter either field. |
ARCHITECTURE-DECISIONS.md#2-today_tag-virtual-tag-pattern | C02 | The TODAY_TAG remains ordering-only; retained schedule and daily-summary candidates preserve all task/planner actions and membership derivation. |
docs/add-new-integration.md | C04 | Current contributor guidance still describes built-in issue-provider implementation, reinforcing that provider-to-plugin migration cannot be assumed by a simplification. |
docs/apple-release-automation.md | C06 | Defines final-tag versus prerelease/manual submission behavior, Apple API-key handling, artifact routes, and failure recovery; C06 release cleanups preserve those active paths. |
docs/build-and-publish-notes.md | C06 | Defines iOS, Windows SignPath, and release secret/artifact contracts; no canonical candidate removes or renames an active gate, secret, artifact, target, or handoff. |
docs/plainspace-integration-plan.md#risks-and-mitigations | C04 | Highlights credential, sync, and integration-boundary risks; retained provider changes avoid persistence and transport redesign. |
docs/plans/2026-06-05-project-completion.md | C03 | The accepted project-completion plan was reviewed to ensure the create-project cleanup preserves project add/update payloads and does not re-couple completion behavior. |
docs/plans/2026-06-22-android-keyboard-and-systembars-handover.md | C05 | Documents Keyboard.resizeOnFullScreen:false as part of the deliberate keyboard/system-bars configuration stack, creating a conflict with part of I12-C02. |
docs/plans/2026-06-22-android-systembars-migration-corrected.md | C05 | Establishes device-gated inset/keyboard behavior, native-release rollback cost, and the rule against blind platform configuration changes. |
docs/plans/2026-07-03-android-home-screen-widget.md | C05 | Provides the current explicit-component and immutable/mutable PendingIntent security patterns that C05-007 must preserve. |
docs/plans/2026-07-07-complete-architecture-review.md | C01, C03, C05, C06, C07, C08 | Establishes that the UI layer is generally modern, the task row is a guarded hot path, the Signals migration is incomplete, and component/global style drift is a verified concern; Sections M-2 and M-6 independently document the stalled Observable/Signal migration and leaky WorkContextService facade that C03-005 through C03-007 trim without redesigning state; Rates Electron isolation as strong, identifies the Android remote-bridge security risk, and documents under-adopted platform capabilities and untyped IPC as load-bearing context; Quick wins #4 and #10 and finding H-8 establish the dependency, workflow supply-chain, and runtime-theme contracts used to rank C06; the candidates do not weaken the documented enforcement layer; Shows that test weight intentionally follows risk, with exceptional op-log/server coverage and 195 Playwright specs; C07 does not generalize cleanup into those protected high-risk suites; Used to distinguish simplification candidates from already-tracked architectural migrations and to preserve sync, plugin trust, native, persistence, task-hot-path, and runtime-theme fences. |
docs/plans/2026-07-07-complete-architecture-review.md#h-2-scheduling-state-has-three-parallel-sources-of-truth-reconciled-by-hand-in-every-write-path | C02 | Defines the high-risk scheduling invariants intentionally left untouched by the retained view, utility, and dead-code cleanups. |
docs/plans/2026-07-07-complete-architecture-review.md#h-3-built-in-issue-providers-and-the-plugin-system-are-converging-but-the-migration-is-stalled | C04 | Defines provider/plugin convergence as unfinished architecture; retained cleanups remove local duplication or dead code without choosing the migration shape. |
docs/plans/2026-07-07-complete-architecture-review.md#h-4-the-plugin-system-has-no-real-trust-boundary | C04 | Requires treating plugin execution and permissions as a security boundary; execution, consent, node access, and bridge APIs are explicit preservation fences. |
docs/plans/2026-07-07-complete-architecture-review.md#m-5-two-near-duplicate-recurrence-engines | C02 | Confirms repeat-domain duplication but supports deferring behavior-sensitive recurrence consolidation while retaining the zero-consumer selector deletion. |
docs/plans/2026-07-07-ios-home-screen-widget-port.md | C05 | Treats StoreReviewPlugin.swift/.m as the local Capacitor plugin pattern and is implemented by open PR #8950, directly qualifying C05-009. |
docs/plans/2026-07-14-ios-testflight-master-builds.md | C06 | The planned iOS routing table, explicit dispatch inputs, secrets, artifact cardinality, retention, and concurrency gates must remain intact; this directly lowers the rank of generic dispatch normalization. |
docs/plans/2026-07-14-microsoft-365-calendar-provider.md#plugin-host-and-public-api-checkpoint | C04 | Records additive public plugin API and host gaps; public types, adapter semantics, manifests, DTOs, and bridge methods are held stable by this consolidation. |
docs/plans/2026-07-14-microsoft-365-calendar-provider.md#security-and-privacy | C04 | Requires local-only OAuth secrets, redacted diagnostics, explicit native redirect handling, and no sync of credentials; no retained candidate changes those paths. |
docs/non-sync-code-simplification-audit.md | C01, C05, C07, C08 | This durable audit record now owns the scope, proof requirements, ranking, LOC accounting, semantic fence, and one-simplification-per-PR implementation rule that were defined by the deleted working plan. It also preserves the domain ownership, test-coverage, characterization, and sync-exclusion constraints used by the consolidators and guardian. |
docs/plugin-development.md#data-persistence | C04 | Distinguishes synced plugin data from local secret storage; candidates preserve keys, shapes, storage selection, and read/write order. |
docs/plugin-development.md#plugin-security | C04 | Documents that plugins are not sandboxed and can run through iframe or node execution; cleanup candidates must preserve permission prompts, unload hooks, listener removal, and iframe teardown. |
docs/styling-guide.md | C01, C06 | Requires minimal component SCSS, shared mixins for reusable styles, global placement for overlay rules, and avoidance of one-off Material overrides; Defines the live global-style, theme-token, component-style, and Sass-mixin surfaces. Styling candidates retain all documented utilities and remove only zero-consumer private internals. |
docs/sync-and-op-log/contributor-sync-model.md | C07 | Preserves one-user-intent/one-operation, LOCAL_ACTIONS, hydration guards, meta-reducer atomicity, replay determinism, and bulk-dispatch yield assertions in every test touched near synced state. |
e2e/CLAUDE.md | C07 | Requires isolated tests, fixtures/page objects, state-driven waits instead of waitForTimeout, focused --retries=0 runs, and serial execution for sync tests; C07 preserves each fence. |
The audit classified all 4,663 tracked files:
| Scope | Files | LOC | Result |
|---|---|---|---|
| Eligible production | 1,942 | 249,318 | Accounted for |
| Eligible tests | 727 | 193,420 | Accounted for |
| Hard-excluded, primarily sync/op-log | 1,049 | 364,604 | Outside audit scope |
| Generated | 362 | 100,556 | Outside manual-code audit |
| Non-code | 583 | — | Classified, not audited for LOC reduction |
| All tracked files | 4,663 | — | Fully classified |
Four otherwise eligible utilities were semantically excluded because their meaningful contracts cross into sync/op-log behavior:
src/app/util/app-data-mock.ts — persisted AppDataComplete and op-log validation contract.src/app/util/check-fix-entity-state-consistency.ts — persisted repair, logging, and error semantics in op-log consumers.src/app/util/chunk-array.ts — only production consumer is the excluded operation-log upload path.src/app/util/debounce-during-startup.operator.ts — contract is initial-sync timing through SyncTriggerService.No candidate in this document authorizes changes to action count/order, reducers or meta-reducers, hydration/replay, persisted shapes, imports/backups, logical clocks, vector clocks, remote operations, conflict handling, compaction, operation capture, sync providers, or sync-specific native/E2E surfaces.
GitHub state was checked on 2026-07-16 and is inherently time-sensitive. Recheck immediately before implementation.
stringToMs consumer.NoteComponent cleanup.The ignored evidence directory is .tmp/simplification-audit/104043e2d220336d37c96623229640233093f045/. It contains manifests, coverage, 116 vertical artifacts, 12 lens artifacts, eight consolidation/guardian records, 100 safety reviews, 100 independent maintainability reviews, three reconciliation records, three complete original rankings, and three focused final-scope replacement rankings. This document is designed to remain useful if those ignored files disappear, but the committed record alone cannot reproduce the campaign; the source IDs are supplemental traceability.
Limitations: