Make one-off gates standing: NFR-2/4/12/13, million-event assertion, publishing, periodic review #99

Closed
opened 2026-08-13 21:36:44 +02:00 by thecrealm · 1 comment
Owner

Review findings on gate durability (recommendation §7 carried-through-every-phase list):

  • NFR-2 (headless bot, 5k rooms, heap at most 512 MB): no test references it anywhere.
  • NFR-4 send-recovery latency (under 5 s after restart): correctness is asserted (zero loss/dup), the latency bound is not.
  • NFR-12 artifact-size budgets (plus-minus 10 percent in CI): nothing exists.
  • NFR-13 binary-compat check: no apiValidation/binary-compatibility-validator anywhere, although 14-stack.md cites ABI validation as a reason Gradle was chosen.
  • Million-event O(1) deep pagination: exists only as a manual CLI subcommand; no test asserts position-independence (NFR-3 was gate-run once, recorded in docs/benchmarks).
  • Comparative cold-start vs trixnity/rust-sdk is a hardware-pinned one-off by design — record a re-run cadence or trigger.
  • Conformance kits are called the third-party extension contract but there is no maven-publish/publishing configuration in the build at all — 'published' is currently source-in-repo.
  • The recommendation's quarterly which-abstraction-would-we-delete review has no trace in the repo — adopt a cadence or record dropping it.
    Each: implement the standing gate or amend the NFR/spec row.
Review findings on gate durability (recommendation §7 carried-through-every-phase list): - NFR-2 (headless bot, 5k rooms, heap at most 512 MB): no test references it anywhere. - NFR-4 send-recovery latency (under 5 s after restart): correctness is asserted (zero loss/dup), the latency bound is not. - NFR-12 artifact-size budgets (plus-minus 10 percent in CI): nothing exists. - NFR-13 binary-compat check: no apiValidation/binary-compatibility-validator anywhere, although 14-stack.md cites ABI validation as a reason Gradle was chosen. - Million-event O(1) deep pagination: exists only as a manual CLI subcommand; no test asserts position-independence (NFR-3 was gate-run once, recorded in docs/benchmarks). - Comparative cold-start vs trixnity/rust-sdk is a hardware-pinned one-off by design — record a re-run cadence or trigger. - Conformance kits are called the third-party extension contract but there is no maven-publish/publishing configuration in the build at all — 'published' is currently source-in-repo. - The recommendation's quarterly which-abstraction-would-we-delete review has no trace in the repo — adopt a cadence or record dropping it. Each: implement the standing gate or amend the NFR/spec row.
Author
Owner

Also two robustness notes on the existing standing gates: checkDependencyRules' core-has-no-IO leg inspects project edges only — an external IO dependency (ktor, okio, JDBC) added to katrix-core would pass; and checkBotFootprint matches forbidden substrings against component ids, so a renamed artifact slips through. Worth hardening while touching gate infrastructure.

Also two robustness notes on the existing standing gates: checkDependencyRules' core-has-no-IO leg inspects project edges only — an external IO dependency (ktor, okio, JDBC) added to katrix-core would pass; and checkBotFootprint matches forbidden substrings against component ids, so a renamed artifact slips through. Worth hardening while touching gate infrastructure.
thecrealm added
now
and removed
next
labels 2026-08-23 00:38:11 +02:00
Sign in to join this conversation.
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
thecrealm/katrix#99
No description provided.