feat(lint): run every rule on every program and drop --skip #180

Merged
argus merged 1 commit from loop/157-lint-no-configuration into main 2026-10-08 07:41:49 +00:00
Collaborator

Closes #157

What

torb lint has no configuration: every rule runs on every program, and no project, file or command line switches one off. The rule set belongs to the toolchain version, the same way torb format has no option.

  • compiler/src/lint/command.trb: --skip is gone. It is now an unknown flag, so torb lint --skip <id> prints the usage and exits with 2. The usage says the rules "run on every program, and none can be switched off". --rule <id> stays as a focus for one run (torb lint --fix --rule deprecated); its help text says it narrows the output and does not change what is valid.
  • compiler/tests/lint.test.trb: the command-line test drops the --skip case and now asserts --skip is refused. A new test checks the help text: --rule narrows, and nothing mentions --skip.
  • There was no manifest setting, suppression comment or config file for lint or format to remove. The redundant-closure rule's doc comment already says "no setting and no suppression comment".

Docs

  • docs/tooling/torb-lint.md: synopsis and flag list updated. A new section "No configuration" records the decision (owner, 2026-10-07) and replaces the "Where a project chooses its rules" entry under "What is not decided".
  • docs/tooling/the-torb-command.md: the lint flag table loses --skip, --rule is reworded, and one sentence says every rule always runs.
  • docs/design/PROJECT.md section 13: new non-goal "Not a place for lint or format settings".
  • CONCEPT.md: new design principle 6, "The format is part of the language" (added, not edited: there was no such principle yet).
  • skills/torbscript/references/tooling/{torb-lint,the-torb-command}.md: the generated copies, edited to match the generator's output (torb docs skill docs skills --check runs in CI).

Seed

None. This removes a lint driver flag that the build does not use, with no syntax change and no native.

Test

This worker had no torb binary or C compiler, so no local checks ran (not even torb format --check). tools/check-commits.sh origin/main is clean. Tier A gates, including format, docs-skill --check and the compiler suite with the lint.test.trb group "The command line", run in forge CI on this PR.

Closes #157 ## What `torb lint` has no configuration: every rule runs on every program, and no project, file or command line switches one off. The rule set belongs to the toolchain version, the same way `torb format` has no option. - `compiler/src/lint/command.trb`: `--skip` is gone. It is now an unknown flag, so `torb lint --skip <id>` prints the usage and exits with 2. The usage says the rules "run on every program, and none can be switched off". `--rule <id>` stays as a focus for one run (`torb lint --fix --rule deprecated`); its help text says it narrows the output and does not change what is valid. - `compiler/tests/lint.test.trb`: the command-line test drops the `--skip` case and now asserts `--skip` is refused. A new test checks the help text: `--rule` narrows, and nothing mentions `--skip`. - There was no manifest setting, suppression comment or config file for lint or format to remove. The redundant-closure rule's doc comment already says "no setting and no suppression comment". ## Docs - `docs/tooling/torb-lint.md`: synopsis and flag list updated. A new section "No configuration" records the decision (owner, 2026-10-07) and replaces the "Where a project chooses its rules" entry under "What is not decided". - `docs/tooling/the-torb-command.md`: the `lint` flag table loses `--skip`, `--rule` is reworded, and one sentence says every rule always runs. - `docs/design/PROJECT.md` section 13: new non-goal "Not a place for lint or format settings". - `CONCEPT.md`: new design principle 6, "The format is part of the language" (added, not edited: there was no such principle yet). - `skills/torbscript/references/tooling/{torb-lint,the-torb-command}.md`: the generated copies, edited to match the generator's output (`torb docs skill docs skills --check` runs in CI). ## Seed None. This removes a lint driver flag that the build does not use, with no syntax change and no native. ## Test This worker had no `torb` binary or C compiler, so no local checks ran (not even `torb format --check`). `tools/check-commits.sh origin/main` is clean. Tier A gates, including format, docs-skill `--check` and the compiler suite with the `lint.test.trb` group "The command line", run in forge CI on this PR.
feat(lint): run every rule on every program and drop --skip
Some checks failed
ci / commit messages (pull_request) Successful in 12s
ci / what the change touches (pull_request) Successful in 11s
ci / which runners exist (pull_request) Successful in 1s
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
pdisc / pdisc (pull_request) Failing after 2m18s
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 21s
ci / gates (pull_request) Has been cancelled
ci / tier A (linux-x64) (pull_request) Has been cancelled
ci / tier B (linux-x64) (pull_request) Has been cancelled
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been cancelled
ci / every host emits the same C (pull_request) Has been cancelled
ci / the playground (torb as WebAssembly) (pull_request) Has been cancelled
ci / pack the seed (pull_request) Has been cancelled
ci / archives (pull_request) Has been cancelled
ci / bootstrap (linux-x64) (pull_request) Has been cancelled
1c6118326d
The rule set of torb lint belongs to the version of the toolchain, like the
layout of torb format: no project setting, no suppression comment, no config
file and no flag switches a rule off. --skip is now an unknown flag, and
--rule only narrows one run's report or fix. CONCEPT gains design principle 6,
"the format is part of the language", and PROJECT.md lists lint and format
settings as a non-goal.

Closes #157
orion requested review from argus 2026-10-08 07:20:30 +00:00
orion force-pushed loop/157-lint-no-configuration from 1c6118326d
Some checks failed
ci / commit messages (pull_request) Successful in 12s
ci / what the change touches (pull_request) Successful in 11s
ci / which runners exist (pull_request) Successful in 1s
ci / bootstrap and conformance (windows-x64) (pull_request) Has been skipped
ci / bootstrap and conformance (linux-arm64) (pull_request) Has been skipped
ci / bootstrap and conformance (macos-arm64) (pull_request) Has been skipped
pdisc / pdisc (pull_request) Failing after 2m18s
ci / the VS Code extension (editors/vscode) (pull_request) Successful in 21s
ci / gates (pull_request) Has been cancelled
ci / tier A (linux-x64) (pull_request) Has been cancelled
ci / tier B (linux-x64) (pull_request) Has been cancelled
ci / tools/release-sync and tools/registry (linux-x64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (windows-x64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (linux-arm64) (pull_request) Has been cancelled
ci / cross-compiled on linux-x64 (macos-arm64) (pull_request) Has been cancelled
ci / every host emits the same C (pull_request) Has been cancelled
ci / the playground (torb as WebAssembly) (pull_request) Has been cancelled
ci / pack the seed (pull_request) Has been cancelled
ci / archives (pull_request) Has been cancelled
ci / bootstrap (linux-x64) (pull_request) Has been cancelled
to 8ef91c42c6
All checks were successful
ci / tier A (linux-x64) (pull_request) Successful in 2m59s
ci / the playground (torb as WebAssembly) (pull_request) Successful in 1m55s
ci / every host emits the same C (pull_request) Successful in 4m36s
ci / pack the seed (pull_request) Successful in 10s
ci / archives (pull_request) Has been skipped
ci / gates (pull_request) Successful in 0s
images / cr.torb.dev/torbscript/registry (push) Has been skipped
images / cr.torb.dev/torbscript/release-sync (push) Has been skipped
images / cr.torb.dev/torbscript/site (push) Has been skipped
ci / commit messages (push) Successful in 5s
ci / what the change touches (push) Successful in 5s
images / cr.torb.dev/torbscript/site:edge (main) (push) Successful in 3m46s
ci / which runners exist (push) Successful in 1s
ci / bootstrap and conformance (windows-x64) (push) Has been skipped
ci / bootstrap and conformance (linux-arm64) (push) Has been skipped
ci / bootstrap and conformance (macos-arm64) (push) Has been skipped
pdisc / pdisc (push) Successful in 2m14s
ci / the VS Code extension (editors/vscode) (push) Successful in 19s
ci / bootstrap (linux-x64) (push) Successful in 2m21s
ci / cross-compiled on linux-x64 (windows-x64) (push) Has been skipped
ci / cross-compiled on linux-x64 (linux-arm64) (push) Has been skipped
ci / cross-compiled on linux-x64 (macos-arm64) (push) Has been skipped
ci / tier A (linux-x64) (push) Successful in 3m3s
ci / tools/release-sync and tools/registry (linux-x64) (push) Successful in 2m53s
ci / every host emits the same C (push) Successful in 4m42s
ci / tier B (linux-x64) (push) Successful in 10m28s
ci / pack the seed (push) Has been skipped
ci / archives (push) Has been skipped
ci / the playground (torb as WebAssembly) (push) Successful in 2m1s
ci / gates (push) Successful in 0s
2026-10-08 07:23:42 +00:00
Compare
argus approved these changes 2026-10-08 07:41:48 +00:00
argus left a comment

Approved. CI green on 8ef91c4 (tier A incl. compiler suite, pdisc, docs-skill check).

  • Tests: ok - command-line test now asserts --skip is refused; new help-text test.
  • Correctness: ok - --skip falls into the unknown-flag branch (exit 2 with usage); --rule unchanged; no leftover --skip use of lint in the repo (remaining hits are unrelated vsce/ovsx/git flags).
  • Scope: ok - matches #157; no manifest/config to remove, as stated.
  • Docs: ok - lint/command docs, PROJECT.md non-goal, CONCEPT principle 6 and the generated skill copies agree; pdisc sidecar updated.
  • Security/data/architecture: nothing affected.

Non-blocking: none.

Approved. CI green on 8ef91c4 (tier A incl. compiler suite, pdisc, docs-skill check). - Tests: ok - command-line test now asserts `--skip` is refused; new help-text test. - Correctness: ok - `--skip` falls into the unknown-flag branch (exit 2 with usage); `--rule` unchanged; no leftover `--skip` use of lint in the repo (remaining hits are unrelated vsce/ovsx/git flags). - Scope: ok - matches #157; no manifest/config to remove, as stated. - Docs: ok - lint/command docs, PROJECT.md non-goal, CONCEPT principle 6 and the generated skill copies agree; pdisc sidecar updated. - Security/data/architecture: nothing affected. Non-blocking: none.
argus merged commit 8ef91c42c6 into main 2026-10-08 07:41:49 +00:00
argus deleted branch loop/157-lint-no-configuration 2026-10-08 07:41:49 +00:00
Sign in to join this conversation.
No reviewers
No labels
loop
ready
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
torbscript/language!180
No description provided.