Skip to content

T-RREG-lint-configs-that-do-nothing

State: closed/done · Impact: high · Complexity: small

Three classes of lint config in this repo are present, look configured, and do nothing. Three apps name their oxlint config a filename oxlint does not auto-discover; learn_web’s eslint config throws on load because it imports a file that does not exist; and nine packages carry biome scripts with no biome.json anywhere in the repo. Each reads as “linted” at a glance and is not, which is the same failure this effort has been closing everywhere else.

LocationRole today
apps/agentpants/src-nuxt/oxlint.jsonNot an auto-discovered oxlint filename, and "lint": "eslint . && oxlint ." passes no -c — so the rules and ignorePatterns are ignored
apps/legacy-polish/src-nuxt/oxlint.jsonSame
solutions/ontological/desktop/src-nuxt/oxlint.jsonSame
apps/pumice/src-nuxt/.oxlintrc.jsonThe only one named correctly; this is the shape the other three should have
solutions/augmented/apps/learn_web/eslint.config.mjsrequire('../../lint-config.json') — solutions/augmented/lint-config.json does not exist anywhere in the repo, so the config throws and bun run lint cannot run
packages/ts/json-canvas-core/package.jsonbiome lint/format/check scripts, biome NOT in dependencies — the scripts cannot run
packages/ts/json-canvas-vue/package.jsonSame
packages/ts/json-canvas-vue/demo/package.jsonSame
solutions/augmented/packages/ts/{books,context,entity,hierarchy,logging,utils}/package.jsonbiome scripts and the dependency, but no biome.json exists anywhere — they run on biome’s defaults, not a declared house style

Every lint config in the repo either does what it says or is gone.

The three oxlint files are renamed so oxlint reads them. learn_web’s config resolves — and since the file it wants is precisely the shared ignore list T-BBYP-shared-eslint-oxlint-layer introduces, it points there rather than at a resurrected one-off. The biome scripts are removed: there is no biome.json in the repo, no decision record adopting biome, and three of the nine cannot execute at all.

  1. git mv the three oxlint.json files to .oxlintrc.json. Verify oxlint actually reads them afterwards — the observable signal is no-console firing, since it is in the configs but not in oxlint’s default set.
  2. Check whether honouring those configs surfaces new findings. The rules are warn, and oxlint exits 0 on warnings without --deny-warnings, so the lint scripts should stay green; confirm rather than assume, and fix or record whatever appears.
  3. Delete the biome scripts from all nine package.json files, and drop @biomejs/biome from the six that declare it.
  4. Fix learn_web/eslint.config.mjs. If T-BBYP-shared-eslint-oxlint-layer has landed, import the shared ignores from it; if this task goes first, inline the ignore list and leave a note pointing at T-BBYP.
  5. Regenerate bun.lock. Six workspace manifests declare the biome dependency, so removing it is a lockfile change too.
LocationKindChange
apps/agentpants/src-nuxt/oxlint.jsondeleterenamed to .oxlintrc.json
apps/legacy-polish/src-nuxt/oxlint.jsondeleterenamed to .oxlintrc.json
solutions/ontological/desktop/src-nuxt/oxlint.jsondeleterenamed to .oxlintrc.json
solutions/augmented/apps/learn_web/eslint.config.mjsmodifystop importing a file that does not exist
packages/ts/json-canvas-core/package.jsonmodifydrop the dead biome scripts
packages/ts/json-canvas-vue/package.jsonmodifydrop the dead biome scripts
solutions/augmented/packages/ts/modifydrop biome scripts and the dependency across the six packages
  • AC-1: In each of the three renamed apps, a file containing console.log is reported by oxlint . — it is not today, which is the proof the config was being ignored.
  • AC-2: bun run lint completes in solutions/augmented/apps/learn_web instead of throwing on a missing module.
  • AC-3: grep -r '"biome' --include=package.json returns nothing outside node_modules.
  • AC-4: Every app’s existing lint script still exits 0.
  • Adding lint coverage to the ~20 packages/ts/* that have none. That is new coverage rather than repair, and belongs to whatever decision follows T-BBYP-shared-eslint-oxlint-layer.
  • Adopting biome deliberately. If it is wanted, it needs a decision entity and a checked-in config; this task only removes scripts that cannot work.
  • The 17 eslint errors that appear in learn_web once its config loads (unused vars and explicit any, across layers/ and scripts/). They are pre-existing app-code problems that were invisible only because the linter could not start. Nothing in CI runs :lint, so they gate nothing today; fixing them is app work, not config repair.
  • solutions/augmented/apps/augmented-books/docs/code-quality.md, which documents the lint-config.json + biome.json pair this task’s debris came from. That app is excluded from the workspace and the doc describes a layout this repo no longer has.
  • Soft ordering with T-BBYP-shared-eslint-oxlint-layer: learn_web’s config wants a shared ignore list, which is exactly what that task creates. Either order works; taking T-BBYP first avoids writing a throwaway inline list.

All three classes turn out to be one artifact. augmented-books/docs/code-quality.md documents a Biome + ESLint setup built around a root lint-config.json and a biome.json, and names learn_web/eslint.config.mjs as one of the configs that imports the former. Neither file exists in this repo: when augmented was folded in and augmented-books was excluded from the workspace, the shared config never came with it. What was left behind is a config importing a ghost and nine manifests scripting a linter that was never configured here.

The oxlint finding was proven, not inferred: the same config file under both names, against the same probe, gives 1 warning across 95 rules as oxlint.json and 2 across 96 as .oxlintrc.json, with no-console firing only in the second. learn_web’s missing import was found by reading the config while auditing the nine eslint files.


← Back to Tasks