docs(agents): delete two orphaned docs, recover their rationale (PP-22e4) - #1799
Open
timothyfroehlich wants to merge 1 commit into
Open
docs(agents): delete two orphaned docs, recover their rationale (PP-22e4)#1799timothyfroehlich wants to merge 1 commit into
timothyfroehlich wants to merge 1 commit into
Conversation
…2e4) Sweep PR 1. +4 -362. docs/ESLINT_RULES.md (328 lines) and docs/CI_WORKFLOW_SETUP.md (34) both had ZERO inbound references anywhere in the repo, and both were dormant (last substantive touches 2026-06-06 and 2026-01-07). CI_WORKFLOW_SETUP.md carried no decision: line 4 says "the actual configuration lives in .github/workflows/ci.yml", then describes it. ESLINT_RULES.md was substantially stale — it documented none of react-hooks, jsx-a11y, better-tailwindcss/no-restricted-classes, pinpoint/no-side-effects-in-transaction, the e2e blocks, or the scripts/** globals block. But it did hold rationale for three bare rule disables in eslint.config.mjs's test block, and two of those could not be re-derived from the config. Both are moved VERBATIM rather than lost: - no-unnecessary-condition: tsconfig.tests.json extends only tsconfig.base.json, so noUncheckedIndexedAccess is unset and defensive index checks read as "unnecessary". Verified with tsc --showConfig: tsconfig.app.json and e2e/tsconfig.json both extend @tsconfig/strictest and set it true; tsconfig.tests.json does not. - no-restricted-imports: tests genuinely import across the boundary (scripts/lib, eslint-rules/, e2e/support), and tsconfig paths map only ~/ and @/ to src/, so there is no alias route to those directories. Dropped deliberately: the doc's "prefer warnings over errors for new rules" policy, contradicted by every recent addition (exhaustive-deps, jsx-a11y, no-side-effects-in-transaction all landed at "error"); and the no-undef rationale, which is the documented typescript-eslint upstream recommendation. Follow-up PP-8xk7: the e2e block disables no-unnecessary-condition too, where this reason does NOT apply (e2e/tsconfig.json does extend strictest). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VsqPbD3ik51G9xwpAHqmVL
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Sweep PR 1 of the PP-22e4 deletion sweep. +4 −362.
Deletes
docs/ESLINT_RULES.md(328 lines) anddocs/CI_WORKFLOW_SETUP.md(34). Both had zero inbound references anywhere in the repo (rg --hidden, bare stem) and both were dormant — last substantive touches 2026-06-06 and 2026-01-07.What each carried
CI_WORKFLOW_SETUP.md— no decision at all. Line 4 says outright "The actual configuration lives in.github/workflows/ci.yml", then spends 30 lines describing it. Textbook cached fact.ESLINT_RULES.md— substantially stale, but held two real decisions. It documented none ofreact-hooks,jsx-a11y,better-tailwindcss/no-restricted-classes,pinpoint/no-side-effects-in-transaction, the e2e blocks, or thescripts/**globals block; its "Last Updated: November 10, 2025" header predates all of them.But
eslint.config.mjs's test block has three bare rule disables, and this doc was the only place their reasons were written down. Two could not be re-derived from the config, so they're moved verbatim rather than lost — that's the entire +4:no-unnecessary-condition—tsconfig.tests.jsonextends onlytsconfig.base.json, sonoUncheckedIndexedAccessis unset and defensive index checks read as "unnecessary" to the rule. Verified withtsc --showConfig:tsconfig.app.jsonande2e/tsconfig.jsonboth extend@tsconfig/strictestand set ittrue;tsconfig.tests.jsondoes not.no-restricted-imports— tests genuinely import across the boundary (scripts/lib/db-target.mjs,eslint-rules/,e2e/support/cleanup), andtsconfig.base.jsonmaps only~/and@/tosrc/, so there is no alias route to those directories. The override is forced, not lazy.Dropped deliberately
exhaustive-deps,jsx-a11y, andno-side-effects-in-transactionall landed aterror.no-undefrationale — it's the documented typescript-eslint upstream recommendation, re-derivable from outside the repo.Review note
This ran through the sweep's cold-read gate (fixed brief, diff-only input) before push, and it caught a real error of mine: my first pass concluded the
noUncheckedIndexedAccessclaim was false and was going to delete it. I had checkedtsconfig.jsonrather thantsconfig.app.json, which is the configtypecheckactually uses. The doc was right; I was wrong. Both rationales are in this PR because of that catch.Follow-up
PP-8xk7 — the e2e block disables
no-unnecessary-conditiontoo, where this reason does not apply, sincee2e/tsconfig.jsondoes extend strictest. Either copy-paste or an unrecorded reason.Test Plan
pnpm run check— green (218 test files, 2004 vitest, 456 pytest). Lint still passes with the new comments.Related Issues
PP-22e4. Follow-up: PP-8xk7.