-
Notifications
You must be signed in to change notification settings - Fork 5
Complete non-frontend Priority 4 modernization lanes #169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
98 commits
Select commit
Hold shift + click to select a range
3433409
Add knip for dependency monitoring
2a9de6d
Init dependency modernization
3682614
Create Knip validation notes
0f56221
Align Knip schema version
274f1e3
Model custom Knip config files
6c6cc09
Add Knip entry points
a52bdd2
Record Knip comparison
ce663ac
Validate Knip configuration
1834836
Validate Knip before-after
e38212f
Suppress narrow Knip blind spots
3ea1da7
Validate Knip suppression process
ae644ee
Finalize Knip validation guidance
4301f98
Create knip checklist
72f8af1
Create dependency validation notes
05472d3
Add svelte-eslint-parser dependency
aa97db4
Add jsdom dependency
7775cb4
Remove unused Babel preset
eed6e02
Finalize dependency validation notes
e435cf3
Validate residual dependency signals
48abca2
Validate step-level smoke checks
f3a4d1a
Validate checklist scope stays narrow
a15a8e9
Archive old priority 3 docs
10c8d5a
Record local parity blocker
b75b27f
Format knip.json
9303c00
Archive completed task artifacts
b2f1130
Init priority 4 checklist 02
5866a83
Create cleanup validation notes
33fdc8a
Remove createTestEnv script
68e3bc7
Remove mockComment script
ee9367d
Remove IconToggle component
6f783c2
Remove no-op notification service
f609db6
Finalize cleanup validation notes
ad16e8b
Validate residual cleanup signals
e7e7031
Validate step-level cleanup checks
e58acd1
Confirm cleanup scope stays narrow
22c7e32
Archive priority 4 checklist 02 artifacts
fac0b24
Init Priority 4 Slice 2 Phase 03
b17f907
Create 4-2-03 validation notes
f2086d0
Triage @netlify/functions dependency
395d6dd
Triage @xstate/cli dependency
05eac09
Triage @xstate/test dependency
fb4eb20
Triage mongodb-memory-server
c711aac
Triage ts-node dependency
347ac83
Triage webpack-bundle-analyzer
61088e3
Triage webpack-license-plugin
5db288c
Triage yarn dependency
c3c2eec
Resolve redundant Knip entry
50e6b0a
Classify export cleanup follow-up
c57c2a5
Finalize 4-2-03 validation notes
c485ab0
Validate residual 4-2-03 queue
42e6808
Validate step-level triage checks
948db07
Confirm 4-2-03 scope stays narrow
8c93a47
Remove direct yarn dependency
fcfa7aa
Begin upgrading `mongodb-memory-server`
acce02d
Init mongo test stack checklist
d198229
Add `ts-node` back to dependencies
a0a5235
Refactor code structure for improved readability and maintainability
1831c90
Remove Mongo download URL override
69de511
Create Mongo test stack notes
e0a4885
Inventory Mongo testing surfaces
cfe561d
Remove direct memory-server dependency
69a7398
Confirm modern Mongo test config
281d517
Confirm Mongo test parity alignment
4072962
Clarify Mongo test guidance
5d7d678
Validate Mongo doc parity
d3e4924
Finalize Mongo validation notes
f187d57
Validate targeted Mongo backend tests
da7ce12
Validate backend smoke and build
737fa0f
Correct backend validation note
aee94f7
Archive Mongo test stack artifacts
da0116e
Init runtime platform checklist
9e21a1a
Create runtime platform notes
f0421c6
Inventory runtime platform baseline
47c8db8
Remove direct Netlify functions dependency
45d1a8a
Ignore optional AWS credential provider
f3bad90
Accept residual Mongo build warning
a24d38a
Finalize runtime platform validation
cd73b9f
Update eslint
b94f10b
Enhance ESLint configuration with Svelte and TypeScript support
982be52
Migrate ESLint config and restore clean linting
14e6bd6
Upgrade prettier
9ac6965
Format after prettier upgrade
a9089aa
Remove eslintrc
ad45090
Remove redundant ignores block
3f4548e
Init lint tooling checklist
055f3e2
Create lint tooling validation notes
4c91356
Record lint tooling baseline
7a24505
Simplify ESLint config structure
3aeb95e
Record eslintrc migration disposition
6183923
Record Prettier alignment decision
27ce58c
Validate lint tooling commands
58921cb
Validate config behavior preservation
cadf577
Finalize lint tooling validation notes
d792988
Validate checklist consistency
345d2bc
Archive completed Priority 4 artifacts
959631f
Calibrate Knip and prune remaining issues
f644944
Format
e11a531
Restore safe component defaults
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion
2
...rity3TestSuiteSignalQualityChecklist02.md → ...rity3TestSuiteSignalQualityChecklist02.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion
2
...ns/Priority3TestSuiteSignalQualityPlan.md → ...ve/Priority3TestSuiteSignalQualityPlan.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
docs/Priority3TestSurvey.md → docs/archive/Priority3TestSurvey.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
117 changes: 117 additions & 0 deletions
117
docs/archive/Priority4DependencyModernizationChecklist01.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,117 @@ | ||
| # Priority 4 Checklist 01 — Residual Dependency Declaration Fixes | ||
|
|
||
| Status: completed | ||
|
|
||
| Source plan: `docs/plans/Priority4DependencyModernizationPlan.md` | ||
|
|
||
| Evidence input: `docs/checklists/Priority4KnipReliabilityChecklist01Validation.md` | ||
|
|
||
| QC mode: Conformance QC | ||
|
|
||
| ## Scope Lock (from source plan) | ||
|
|
||
| - In scope anchor: "Use `package.json`, `yarn outdated`, and `yarn knip` as the current planning baseline for dependency modernization." (In Scope) | ||
| - In scope anchor: "Define the first implementation slice as actual low-risk dependency modernization work, not a generic research-only pass." (In Scope) | ||
| - In scope anchor: "Use repo-aware triage rules so config-loaded, preset-loaded, and optional-tool packages are not removed solely because a tool flagged them." (In Scope) | ||
| - Constraint anchor: "Treat each upgrade step as the smallest logical reviewable unit; some steps may be paired package updates when versions are obviously coupled." (Constraints) | ||
| - Constraint anchor: "Run agreed validation after each upgrade step, not only after the entire sequence." (Constraints) | ||
| - Constraint anchor: "Treat tool output as evidence, not authority." (Constraints) | ||
| - Acceptance anchor: "`knip` findings are treated as triage inputs and require manual verification before any removal or replacement decision." (Acceptance Criteria) | ||
| - Acceptance anchor: "The first implementation checklist is explicitly limited to low-risk refresh work and does not include unrelated major-version migrations." (Acceptance Criteria) | ||
|
|
||
| ## Additional Scope Control | ||
|
|
||
| - This checklist intentionally handles only the highest-confidence residual dependency findings from the calibrated Knip run: | ||
| - explicit dependency declaration for `svelte-eslint-parser` | ||
| - explicit dependency declaration for `jsdom` | ||
| - removal of `@babel/preset-typescript` after local config verification | ||
| - This checklist intentionally excludes: | ||
| - file removals from the residual Knip queue | ||
| - ambiguous dependency removals such as `mongodb-memory-server`, `@netlify/functions`, `@xstate/cli`, `@xstate/test`, `ts-node`, `webpack-bundle-analyzer`, `webpack-license-plugin`, and `yarn` | ||
| - any major Svelte, MongoDB, Jest, lint/tooling, or runtime/platform migration work | ||
|
|
||
| ## Atomic Checklist Items | ||
|
|
||
| - [x] C01 `[docs]` Create `docs/checklists/Priority4DependencyModernizationChecklist01Validation.md` with sections for baseline residual findings, per-step dependency changes, command evidence, before/after Knip comparison, and deferred residual queue notes. | ||
| - Depends on: none. | ||
| - Validation: T01, T03. | ||
| - Trace: | ||
| - "Use `package.json`, `yarn outdated`, and `yarn knip` as the current planning baseline for dependency modernization." (In Scope) | ||
| - "The plan defines a current dependency inventory method based on `package.json`, `yarn outdated`, and `yarn knip`." (Acceptance Criteria) | ||
|
|
||
| - [x] C02 `[deps]` Add `svelte-eslint-parser` to `package.json` and `yarn.lock` so the parser named directly in `src/.eslintrc.json` is an explicit repo dependency instead of an unresolved Knip/import gap. | ||
| - Depends on: C01. | ||
| - Validation: T01, T02 (`yarn knip`, `yarn lint`). | ||
| - Trace: | ||
| - "Use repo-aware triage rules so config-loaded, preset-loaded, and optional-tool packages are not removed solely because a tool flagged them." (In Scope) | ||
| - "`knip` findings are treated as triage inputs and require manual verification before any removal or replacement decision." (Acceptance Criteria) | ||
|
|
||
| - [x] C03 `[deps]` Add `jsdom` to `package.json` and `yarn.lock` so the frontend Jest environment usage reported from `src/tests/frontend/frontend-utilities.test.ts` is explicitly declared rather than left as an unlisted dependency signal. | ||
| - Depends on: C01. | ||
| - Validation: T01, T02 (`yarn knip`, `yarn test:frontend`). | ||
| - Trace: | ||
| - "Define the first implementation slice as actual low-risk dependency modernization work, not a generic research-only pass." (In Scope) | ||
| - "Treat tool output as evidence, not authority." (Constraints) | ||
|
|
||
| - [x] C04 `[deps]` Remove `@babel/preset-typescript` from `package.json` and `yarn.lock` after verifying `babel.config.cjs` does not reference it and the change stays within this checklist's low-risk dependency scope. | ||
| - Depends on: C01. | ||
| - Validation: T01, T02 (`yarn knip`, `yarn test:frontend`, `yarn build`). | ||
| - Trace: | ||
| - "Define the first implementation slice as actual low-risk dependency modernization work, not a generic research-only pass." (In Scope) | ||
| - "`knip` findings are treated as triage inputs and require manual verification before any removal or replacement decision." (Acceptance Criteria) | ||
|
|
||
| - [x] C05 `[docs]` Finalize `docs/checklists/Priority4DependencyModernizationChecklist01Validation.md` with before/after Knip evidence, relevant command outcomes, and a clearly deferred residual queue for later Priority 4 checklists. | ||
| - Depends on: C02, C03, C04. | ||
| - Validation: T01, T03. | ||
| - Trace: | ||
| - "The first implementation checklist is explicitly limited to low-risk refresh work and does not include unrelated major-version migrations." (Acceptance Criteria) | ||
| - "Triage evidence: Pass: every candidate in the first checklist has recorded ecosystem grouping, risk class, and rationale for `refresh`, `replace`, `remove`, `defer`, or `plan separately`." (Validation Strategy) | ||
|
|
||
| ## Validation Items | ||
|
|
||
| - [x] T01 `[validation]` Residual-signal validation: run `yarn knip` after C02-C04 and confirm the calibrated report no longer includes unresolved `svelte-eslint-parser`, unlisted `jsdom`, or unused `@babel/preset-typescript`, while preserving the intentionally deferred residual queue. | ||
| - Trace: | ||
| - "Triage evidence: Pass: every candidate in the first checklist has recorded ecosystem grouping, risk class, and rationale for `refresh`, `replace`, `remove`, `defer`, or `plan separately`." (Validation Strategy) | ||
| - "Treat tool output as evidence, not authority." (Constraints) | ||
|
|
||
| - [x] T02 `[validation]` Step-level smoke validation: after each dependency change item, run the exact local validation commands for that step and record the outcomes in the validation notes: | ||
| - C02: `yarn knip`, `yarn lint` | ||
| - C03: `yarn knip`, `yarn test:frontend` | ||
| - C04: `yarn knip`, `yarn test:frontend`, `yarn build` | ||
| - Trace: | ||
| - "Run agreed validation after each upgrade step, not only after the entire sequence." (Constraints) | ||
| - "Step-level smoke/process evidence: Pass: every accepted upgrade step records the validation commands run immediately after that step, and the loop stops when a failure exceeds the step's approved local scope." (Validation Strategy) | ||
|
|
||
| - [x] T03 `[validation]` Scope/process validation: confirm this checklist stayed within low-risk dependency declaration/removal work, did not cross into major migration scope, and did not remove any additional Knip-flagged items without separate manual verification. | ||
| - Trace: | ||
| - "The first implementation checklist is explicitly limited to low-risk refresh work and does not include unrelated major-version migrations." (Acceptance Criteria) | ||
| - "Do not allow the first implementation loop to cross the approved deferment boundary for major Svelte or MongoDB work." (Constraints) | ||
|
|
||
| ## Behavior Slices | ||
|
|
||
| ### Slice S1 | ||
| - Goal: Establish traceable validation notes and fix the two most credible missing dependency declarations from the calibrated Knip queue. | ||
| - Items: C01, C02, C03, T01, T02. | ||
| - Type: behavior. | ||
|
|
||
| ### Slice S2 | ||
| - Goal: Remove one high-confidence unused dependency after local config verification and record the resulting Knip delta. | ||
| - Items: C04, C05, T03. | ||
| - Type: behavior. | ||
|
|
||
| ## Conformance QC | ||
|
|
||
| - Missing from plan: | ||
| - None. | ||
|
|
||
| - Extra beyond plan: | ||
| - None; the checklist narrows the approved low-risk slice to the highest-confidence residual dependency items surfaced by calibrated `knip`. | ||
|
|
||
| - Atomicity fixes needed: | ||
| - None identified; each item is scoped to one dependency declaration/removal or one documentation outcome. | ||
|
|
||
| - Validation mapping gaps: | ||
| - None identified; each implementation item maps to explicit checklist validation and the plan's required step-level evidence model. | ||
|
|
||
| - Pass/Fail: checklist achieves plan goals | ||
| - Pass. |
136 changes: 136 additions & 0 deletions
136
docs/archive/Priority4DependencyModernizationChecklist01Validation.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,136 @@ | ||
| # Priority 4 Checklist 01 Validation — Residual Dependency Declaration Fixes | ||
|
|
||
| Status: complete | ||
|
|
||
| Checklist: `docs/checklists/Priority4DependencyModernizationChecklist01.md` | ||
|
|
||
| ## Baseline Residual Findings | ||
|
|
||
| Baseline captured on 2026-03-23 before checklist implementation: | ||
|
|
||
| - `yarn knip` reported: | ||
| - unresolved import `svelte-eslint-parser` | ||
| - unlisted dependency `jsdom` | ||
| - unused dependency `@babel/preset-typescript` | ||
| - additional intentionally deferred residual findings outside this checklist's scope | ||
| - `yarn lint` passed with two pre-existing warnings in `src/tests/frontend/frontend-utilities.test.ts` | ||
| - `yarn test:frontend` passed: 6 suites, 139 tests | ||
| - `yarn build` passed | ||
| - backend retained the known MongoDB webpack warning | ||
| - frontend build completed successfully | ||
|
|
||
| ## Per-Step Dependency Changes | ||
|
|
||
| - C02: | ||
| - added `svelte-eslint-parser` to `package.json` so the parser named directly in `src/.eslintrc.json` is explicitly declared | ||
| - `yarn.lock` already contained a matching `svelte-eslint-parser@^0.32.2` entry from the existing dependency graph, so this step required no lockfile content change | ||
| - C03: | ||
| - added `jsdom` to `package.json` so the frontend Jest environment usage reported from `src/tests/frontend/frontend-utilities.test.ts` is explicitly declared | ||
| - `yarn.lock` already contained a matching `jsdom@^20.0.0` entry from the existing Jest environment dependency graph, so this step required no lockfile content change | ||
| - C04: | ||
| - removed `@babel/preset-typescript` from `package.json` | ||
| - removed the direct `@babel/preset-typescript@^7.28.5` stanza from `yarn.lock` | ||
| - verified beforehand that `babel.config.cjs` references only `@babel/preset-env` | ||
|
|
||
| ## Command Evidence | ||
|
|
||
| - C02: | ||
| - `yarn knip` | ||
| - pass condition met for this step: unresolved `svelte-eslint-parser` is no longer reported | ||
| - intentionally deferred residual findings remain visible | ||
| - `yarn lint` | ||
| - passed with the same two pre-existing warnings in `src/tests/frontend/frontend-utilities.test.ts` | ||
| - C03: | ||
| - `yarn knip` | ||
| - pass condition met for this step: unlisted `jsdom` is no longer reported | ||
| - intentionally deferred residual findings remain visible | ||
| - `yarn test:frontend` | ||
| - passed: 6 suites, 139 tests | ||
| - C04: | ||
| - `yarn knip` | ||
| - pass condition met for this step: unused `@babel/preset-typescript` is no longer reported | ||
| - intentionally deferred residual findings remain visible | ||
| - `yarn test:frontend` | ||
| - passed: 6 suites, 139 tests | ||
| - `yarn build` | ||
| - passed | ||
| - backend retained the known MongoDB webpack warning | ||
| - frontend build completed successfully | ||
|
|
||
| ## Before/After Knip Comparison | ||
|
|
||
| Before this checklist: | ||
|
|
||
| - `yarn knip` reported: | ||
| - unresolved import `svelte-eslint-parser` | ||
| - unlisted dependency `jsdom` | ||
| - unused dependency `@babel/preset-typescript` | ||
| - additional intentionally deferred residual findings outside this checklist's scope | ||
|
|
||
| After C02-C04: | ||
|
|
||
| - `yarn knip` no longer reports: | ||
| - unresolved `svelte-eslint-parser` | ||
| - unlisted `jsdom` | ||
| - unused `@babel/preset-typescript` | ||
| - the current calibrated residual report remains focused on intentionally deferred follow-up work rather than declaration gaps for the active frontend lint/test stack | ||
| - the residual unused dependency list is now: | ||
| - `@netlify/functions` | ||
| - `@xstate/cli` | ||
| - `@xstate/test` | ||
| - `mongodb-memory-server` | ||
| - `ts-node` | ||
| - `webpack-bundle-analyzer` | ||
| - `webpack-license-plugin` | ||
| - `yarn` | ||
| - the residual unused file list is now: | ||
| - `scripts/createTestEnv.mjs` | ||
| - `scripts/mockComment.mjs` | ||
| - `src/components/low-level/IconToggle.svelte` | ||
| - `src/lib/NoOpNotificationService.ts` | ||
|
|
||
| ## Deferred Residual Queue | ||
|
|
||
| Deferred from this checklist for later Priority 4 work: | ||
|
|
||
| - ambiguous dependency removals: | ||
| - `@netlify/functions` | ||
| - `@xstate/cli` | ||
| - `@xstate/test` | ||
| - `mongodb-memory-server` | ||
| - `ts-node` | ||
| - `webpack-bundle-analyzer` | ||
| - `webpack-license-plugin` | ||
| - `yarn` | ||
| - file cleanup candidates: | ||
| - `scripts/createTestEnv.mjs` | ||
| - `scripts/mockComment.mjs` | ||
| - `src/components/low-level/IconToggle.svelte` | ||
| - `src/lib/NoOpNotificationService.ts` | ||
| - residual Knip follow-up: | ||
| - redundant `src/entry/index.ts` entry hint from `knip.json` | ||
| - remaining unused exports and unused exported types report | ||
|
|
||
| This checklist intentionally leaves those items visible for later manual verification rather than suppressing or removing them opportunistically. | ||
|
|
||
| ## PR-Readiness / Local CI Parity | ||
|
|
||
| `yarn run ci:local` was executed on 2026-03-24. | ||
|
|
||
| Result: | ||
|
|
||
| - parity run failed with exit code `1` | ||
|
|
||
| Observed path through the script: | ||
|
|
||
| - install/link phase completed | ||
| - an optional dependency (`unix-dgram`) failed to build under Node `22.22.0` during install, but Yarn explicitly reported it as safe to ignore and the parity script continued | ||
| - lint step reproduced the same two pre-existing warnings in `src/tests/frontend/frontend-utilities.test.ts` | ||
| - prettier parity step then failed on: | ||
| - `knip.json` | ||
|
|
||
| Current recorded blocker: | ||
|
|
||
| - `yarn run ci:local` is blocked by formatting drift in `knip.json` at the `prettier --list-different .` step | ||
|
|
||
| This note records the blocker only. It does not apply a formatting fix, because the request for this step was to record the local parity outcome rather than to change code or formatting proactively. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.