[quickfix] Re-enable gdlint disabled rules + split autoload singletons #4

Closed
opened 2026-09-21 22:14:50 +00:00 by Mark · 1 comment
Owner

Four gdlint rules are currently disabled in .gdlintrc to keep the preflight gate green. Disabling happened at commit 2696977. The tech-debt should be addressed properly so the rules can come back.

What to do

1. class-definitions-order (16 violations)

Same fix as cybertactics — reorder globals to canonical order. Run gdlint on each file in scripts/, scenes/, tests/ to track progress. Affected (sample): scripts/core/entity_base.gd, scripts/autoload/network_manager.gd, tests/e2e.gd.

2. max-line-length (still some stragglers; 3 in net/protocol.gd, 1 in autoload/game_state.gd)

Long regex patterns and type-shape dict comments exceed 100. Wrap them manually.

3. max-public-methods (1 hit, scripts/autoload/network_manager.gd)

NetworkManager has >20 public methods. Split into focused surfaces (e.g. network_session.gd, network_message_router.gd, network_state.gd); keep NetworkManager as the public-facing facade.

4. unused-argument (2 hits)

scripts/core/entity_base.gd:81 (param from_peer) and scripts/autoload/network_manager.gd:375 (param script_src) are signal-handler shim signatures. Prefix with _ per Godot convention: _from_peer, _script_src.

Acceptance

After all four fixes, .gdlintrc only contains project-specific carve-outs that are documented one-per-line, and bash .gsd/gates/lint.sh exits 0.

Labels

bug, quickfix, triage-approved

Four gdlint rules are currently disabled in `.gdlintrc` to keep the preflight gate green. Disabling happened at commit `2696977`. The tech-debt should be addressed properly so the rules can come back. ## What to do ### 1. `class-definitions-order` (16 violations) Same fix as cybertactics — reorder globals to canonical order. Run `gdlint` on each file in `scripts/`, `scenes/`, `tests/` to track progress. Affected (sample): `scripts/core/entity_base.gd`, `scripts/autoload/network_manager.gd`, `tests/e2e.gd`. ### 2. `max-line-length` (still some stragglers; 3 in net/protocol.gd, 1 in autoload/game_state.gd) Long regex patterns and type-shape dict comments exceed 100. Wrap them manually. ### 3. `max-public-methods` (1 hit, `scripts/autoload/network_manager.gd`) NetworkManager has >20 public methods. Split into focused surfaces (e.g. `network_session.gd`, `network_message_router.gd`, `network_state.gd`); keep NetworkManager as the public-facing facade. ### 4. `unused-argument` (2 hits) `scripts/core/entity_base.gd:81` (param `from_peer`) and `scripts/autoload/network_manager.gd:375` (param `script_src`) are signal-handler shim signatures. Prefix with `_` per Godot convention: `_from_peer`, `_script_src`. ## Acceptance After all four fixes, `.gdlintrc` only contains project-specific carve-outs that are documented one-per-line, and `bash .gsd/gates/lint.sh` exits 0. ## Labels bug, quickfix, triage-approved
Author
Owner

Closed: implementation already shipped on main as 816c834 — fix: re-enable all gdlint rules per Mark/veilwalkers#4. Acceptance verified locally: .gdlintrc has empty disable: []; bash .gsd/gates/lint.sh exits 0; bash .gsd/gates/verify.sh exits 0. NetworkManager split landed (facade 23 lines + NetSession 218 lines).

Closed: implementation already shipped on `main` as `816c834` — fix: re-enable all gdlint rules per Mark/veilwalkers#4. Acceptance verified locally: `.gdlintrc` has empty `disable: []`; `bash .gsd/gates/lint.sh` exits 0; `bash .gsd/gates/verify.sh` exits 0. NetworkManager split landed (facade 23 lines + NetSession 218 lines).
Mark 2026-09-22 16:39:52 +00:00
Sign in to join this conversation.
No description provided.