lint: no configuration, every rule always runs #157

Closed
opened 2026-10-07 15:44:52 +00:00 by orion · 4 comments
Collaborator

Context

Owner decision on #2 (Torben, 2026-10-07): TorbScript has no configurable linting. Every program looks the same and is formatted the same; the format is part of the language. torb format already has no option. torb lint still lets a run leave rules out with --skip, and #2 proposed a manifest setting for it; both go against the decision.

Goal

The lint rule set is fixed by the toolchain version: every rule runs on every program, and no project, file or command line can switch a rule off.

Acceptance criteria

  • torb lint --skip is removed (an unknown-flag error that names the decision is fine); compiler/src/lint/command.trb and its tests follow
  • --rule <id> stays only as a focus for one run (report or --fix a single rule, as in torb lint --fix --rule deprecated); its help text says it narrows the output and does not change what is valid
  • No manifest setting, no in-source suppression comment, no config file for lint or format
  • Docs: docs/tooling/torb-lint.md (synopsis, "What is not decided" entry replaced by the decision), docs/tooling/the-torb-command.md flag table, docs/design/PROJECT.md (non-goal: no lint or format settings), CONCEPT.md principle "the format is part of the language", generated skills/
  • Gates green in both back ends

Seed

Not expected (driver flag removed from the lint command, no syntax change, no native).

Size

One PR.

Replaces #2, which proposed the manifest setting.

## Context Owner decision on #2 (Torben, 2026-10-07): TorbScript has no configurable linting. Every program looks the same and is formatted the same; the format is part of the language. `torb format` already has no option. `torb lint` still lets a run leave rules out with `--skip`, and #2 proposed a manifest setting for it; both go against the decision. ## Goal The lint rule set is fixed by the toolchain version: every rule runs on every program, and no project, file or command line can switch a rule off. ## Acceptance criteria - [ ] `torb lint --skip` is removed (an unknown-flag error that names the decision is fine); `compiler/src/lint/command.trb` and its tests follow - [ ] `--rule <id>` stays only as a focus for one run (report or `--fix` a single rule, as in `torb lint --fix --rule deprecated`); its help text says it narrows the output and does not change what is valid - [ ] No manifest setting, no in-source suppression comment, no config file for lint or format - [ ] Docs: `docs/tooling/torb-lint.md` (synopsis, "What is not decided" entry replaced by the decision), `docs/tooling/the-torb-command.md` flag table, `docs/design/PROJECT.md` (non-goal: no lint or format settings), CONCEPT.md principle "the format is part of the language", generated `skills/` - [ ] Gates green in both back ends ## Seed Not expected (driver flag removed from the lint command, no syntax change, no native). ## Size One PR. _Replaces #2, which proposed the manifest setting._
Author
Collaborator

[loop:torbscript] claim refine by session:loop-torbscript-20261008 until 2026-10-08T09:15:00Z

[loop:torbscript] claim refine by session:loop-torbscript-20261008 until 2026-10-08T09:15:00Z
Author
Collaborator

[loop:torbscript] refine: ready. In scope: the owner decision on #2 is recorded in the issue, so no open question. Checked against ROADMAP milestone 8 (torb lint built) and CONCEPT Open Questions (lint configuration is not listed). Code: --skip lives only in compiler/src/lint/command.trb (usage, help, parser) and the test "every rule runs unless --rule picks some, and --skip leaves one out" in compiler/tests/lint.test.trb; the docs hits are docs/tooling/torb-lint.md (synopsis, flag table, "What is not decided"), docs/tooling/the-torb-command.md and their generated copies under skills/torbscript/references/tooling/. Criteria are testable, the records are pinned, seed: no (driver flag removal, no syntax or native), size: one PR. Note for the implementer: CONCEPT.md has no "format is part of the language" principle for lint yet, so it is added, not edited. Worker usage: about 55k tokens (sonnet/medium). next: implement

[loop:torbscript] refine: ready. In scope: the owner decision on #2 is recorded in the issue, so no open question. Checked against ROADMAP milestone 8 (`torb lint` built) and CONCEPT Open Questions (lint configuration is not listed). Code: `--skip` lives only in `compiler/src/lint/command.trb` (usage, help, parser) and the test "every rule runs unless --rule picks some, and --skip leaves one out" in `compiler/tests/lint.test.trb`; the docs hits are `docs/tooling/torb-lint.md` (synopsis, flag table, "What is not decided"), `docs/tooling/the-torb-command.md` and their generated copies under `skills/torbscript/references/tooling/`. Criteria are testable, the records are pinned, seed: no (driver flag removal, no syntax or native), size: one PR. Note for the implementer: CONCEPT.md has no "format is part of the language" principle for lint yet, so it is added, not edited. Worker usage: about 55k tokens (sonnet/medium). next: implement
Author
Collaborator

[loop:torbscript] claim implement by session:loop-torbscript-20261008 until 2026-10-08T13:15:00Z

[loop:torbscript] claim implement by session:loop-torbscript-20261008 until 2026-10-08T13:15:00Z
argus closed this issue 2026-10-08 07:41:49 +00:00
Author
Collaborator

[loop:torbscript] implement: PR #180 (feat(lint): run every rule on every program and drop --skip). --skip is removed from torb lint and is now an unknown flag. --rule stays as a focus for one run, and its help says it narrows the output. Docs changed: torb-lint.md (new "No configuration" section), the-torb-command.md, PROJECT.md (non-goal), CONCEPT.md (principle 6), plus the generated skills. Seed: none. The first CI run failed only on the pdisc stamp of CONCEPT.md; I amended the commit with the restamp. The merge gate (argus) approved and merged it as 8ef91c42. CI on main for that commit is green, including tier A, tier B, gates and pdisc, and the PR closed this issue. Worker usage: about 130k tokens (opus). next: close (done, nothing left)

[loop:torbscript] implement: PR https://git.torb.dev/torbscript/language/pulls/180 (`feat(lint): run every rule on every program and drop --skip`). `--skip` is removed from `torb lint` and is now an unknown flag. `--rule` stays as a focus for one run, and its help says it narrows the output. Docs changed: torb-lint.md (new "No configuration" section), the-torb-command.md, PROJECT.md (non-goal), CONCEPT.md (principle 6), plus the generated skills. Seed: none. The first CI run failed only on the pdisc stamp of CONCEPT.md; I amended the commit with the restamp. The merge gate (argus) approved and merged it as 8ef91c42. CI on `main` for that commit is green, including tier A, tier B, gates and pdisc, and the PR closed this issue. Worker usage: about 130k tokens (opus). next: close (done, nothing left)
Sign in to join this conversation.
No labels
loop
ready
No milestone
No project
No assignees
1 participant
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#157
No description provided.