typescript-lint-coverage: Widen TypeScript lint coverage #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "task/typescript-lint-coverage"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Assigned idea
Benchmark authoring specification.
Summary: Extend the repo’s TypeScript ESLint override so the same lint policy applies to TypeScript files outside src, while preserving the existing rule behavior.
Task intent: Upstream-facing work: update the flat ESLint configuration so project TypeScript files such as future tooling or helper files receive the same parser options and rules currently applied only to src/**/*.ts.
Benchmark plan: Construct the task package as a small maintainer request focused on eslint.config.mjs. The solver prompt should ask for consistent TypeScript linting across the repo and should not mention hidden verifier fixture filenames. Keep the expected change deterministic: broaden the TypeScript files glob or add an equivalent override that covers non-src .ts files while preserving the current rule settings.
Environment plan: environment/repo: materialize jumbocontext/jumbo.cli at 86dd61acb27cc547b2768120beadce9391a59df7, use Node.js 20, and install dependencies with npm ci when possible, otherwise npm install. task/environment: test_outputs.py owns temporary fixture files it creates during verification and removes them after checks; these fixtures are not part of the upstream patch.
Verifier plan: test_outputs.py should create lint-fixtures/outside-src.ts containing an exported function with an underscore-prefixed unused parameter and explicit any usage, plus src/inside-lint-fixture.ts containing a prefer-const case. It should run npm exec eslint -- lint-fixtures/outside-src.ts -f json and assert zero lint messages, proving the TypeScript override applies outside src. It should also run npm exec eslint -- src/inside-lint-fixture.ts -f json and assert a prefer-const warning is still reported, proving existing src rule behavior was preserved. Cleanup must remove both fixture files and the lint-fixtures directory.
Oracle plan: The oracle solution edits eslint.config.mjs only, changing the files selector from ['src//*.ts'] to an equivalent project-wide TypeScript selector such as ['/*.ts'] while keeping parserOptions, @typescript-eslint/no-explicit-any: off, @typescript-eslint/no-unused-vars ignore patterns, no-unused-vars: off, and prefer-const: warn intact.
Difficulty plan: This is deceptively small: weaker solutions may add package scripts, silence ESLint globally, remove recommended configs, or change rule severities instead of widening the scoped TypeScript override. The hidden outside-src fixture distinguishes a true glob/config fix from changes that only keep current src behavior working.
Repo patch scope: Expected upstream edit scope is limited to eslint.config.mjs. Persistent changes to src/ or added lint fixture files are not expected.
Anti-leakage notes: The solver-facing prompt must not mention benchmark, harness, Snorkel, Harbor, std-ts, agent, stage, attempt, retry, generated task, or evaluation context. It should also avoid revealing the hidden fixture paths or exact JSON assertions.
Approach: Ask for a flat-config ESLint change that makes the custom TypeScript override cover all repository .ts files rather than only src/**/*.ts. The intended implementation is a minimal glob adjustment or equivalent additional override in eslint.config.mjs.
Verification: Run test_outputs.py. It should execute npm exec eslint -- lint-fixtures/outside-src.ts -f json and npm exec eslint -- src/inside-lint-fixture.ts -f json, then assert no messages for the outside-src explicit-any underscore-parameter fixture and a prefer-const warning for the src fixture.
Risk: If the project dependency installation changes, npm exec eslint may fail before testing the patch; the environment should treat that as setup failure. Avoid dot-prefixed temporary fixture directories because common glob matching may not include them under a simple **/*.ts selector.
Path rules: task package is tasks/; mutable upstream checkout is tasks//environment/repo; benchmark package files are under tasks//task; verifier/container environment belongs under tasks//task/environment; regular and UI verifier logic belongs in task/tests/test_outputs.py and test.sh only runs that file through pytest.
Agent context
Task slug: typescript-lint-coverage
Branch: task/typescript-lint-coverage
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.