Skip to content

chore(lint): drain the standing violation baseline - #707

Merged
forkwright merged 1 commit into
mainfrom
chore/lint-debt-drain
Aug 12, 2026
Merged

chore(lint): drain the standing violation baseline#707
forkwright merged 1 commit into
mainfrom
chore/lint-debt-drain

Conversation

@forkwright

Copy link
Copy Markdown
Owner

Summary

Drains the standing basanos violation baseline (12 → 1, and that one — NIX/flake-lock-committed — resolves when #706 merges, taking the workspace to zero). Per the operator's standing rule that the baseline and suppressions are in scope.

Real fixes:

  • paroche/routes/download.rs: ReleaseMetadata gains a validating constructor — non-empty title/URL enforced once at the persistence boundary; both construction sites (HTTP route, MCP bridge) now go through it. ReleasePersistError is #[non_exhaustive] with a new EmptyMetadata variant and a forward-safe wildcard arm in the bridge's match.
  • eksetasis/rate_limit.rs + komide/fetch.rs: the two genuinely wall-clock tests rewritten — paused-clock + tokio::time::timeout as the bound. Same properties asserted (prompt cancel-unblock; client timeout beats a stalled server), no Instant::now() measurement.
  • CONTRIBUTING.md / docs/integrations.md: internal .lan FQDN literals replaced (placeholder for the forge host; reserved example.com domain for the KOReader examples).

Suppressions (each with a WHY):

  • search/tests.rs wall-clock: the assertion measures tokio::time::Instant under an explicitly paused clock — virtual time, deterministic by construction; the rule's flake concern doesn't apply.
  • gate-attestation.yml unpinned-action: forkwright/.github is fleet-owned and @main is the deliberate single-update channel for the shared hybrid gate (9 of 10 fleet repos call it this way).

Cruft deleted: four stale suppression entries that matched no files (an as-cast glob for a moved module, a checksum glob, a dep-count entry, and a per-crate ignore file whose suppressed field was removed in #575).

Verification

cargo test -p eksetasis: 316 passed; 0 failed
cargo test -p komide:     82 passed; 0 failed
cargo test -p paroche download: 33 passed; 0 failed
cargo test -p archon mcp_bridge: 28 passed; 0 failed
cargo check -p paroche -p archon: clean
cargo fmt --check: clean
kanon lint: 2 remaining (flake.lock → #706; the two justified suppressions above)

Refs #705 (the full 159-entry suppression audit is its own campaign)

- ReleaseMetadata gains a validating constructor (non-empty title/URL at
  the persistence boundary); ReleasePersistError is now #[non_exhaustive]
  with the bridge's match given a forward-safe arm.
- Two wall-clock tests rewritten to deterministic forms (paused-clock
  timeout wrapper; outer-timeout bound) — the asserted property is
  unchanged. The paused-clock retry-after test is suppressed with a WHY
  (virtual time is exact, not wall latency).
- Internal .lan FQDN literals out of CONTRIBUTING.md and
  docs/integrations.md (placeholder / reserved example domain).
- Four stale suppression entries deleted (matched no files), including a
  per-crate ignore file whose field was deleted in #575.
- The hybrid-gate @main call is suppressed with a WHY: fleet-owned
  reusable workflow, deliberate single-update channel.

The flake-lock violation resolves with #706, taking the workspace to zero.

Refs #705
@forkwright
forkwright enabled auto-merge (squash) August 12, 2026 14:46
@forkwright
forkwright merged commit bf6c48f into main Aug 12, 2026
15 checks passed
@forkwright
forkwright deleted the chore/lint-debt-drain branch August 12, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant