Kotlin Multiplatform Matrix client & bot SDK
  • Kotlin 95.7%
  • Rust 3.1%
  • Shell 1%
  • Python 0.1%
Find a file
Marcel Malberg 30b1fbd3a5
All checks were successful
build / build (push) Successful in 30m4s
spec-lint / spec-lint (push) Successful in 11s
§4.5 manifest ships as katrix-spec-coverage; publish.yml gates on spec-lint, self-test, tripwire and the coverage generator (D99, closes #154)
A base-only module with the shared publishing convention: generateSpecCoverage
runs scripts/spec-coverage.sh (never up-to-date — IMPLEMENT links resolve
against test classes on disk), specCoverageJar packs the manifest, the triage
and the spec lock under META-INF/katrix/, and one Maven publication ships it
as de.centoria.katrix:katrix-spec-coverage:<version>. assemble depends on the
jar, so every phase-1 build regenerates the manifest and fails on an untriaged
path. The publish workflow runs the four spec scripts before uploading.

The finding's READ_ONLY half was already resolved by the #150 triage sweep
(18 entries). §4.5 shipping rule, §13.3 row, D99, ledger.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FhzpD39yChqfnUDAwAnobe
2026-09-11 22:30:15 +02:00
.forgejo/workflows §4.5 manifest ships as katrix-spec-coverage; publish.yml gates on spec-lint, self-test, tripwire and the coverage generator (D99, closes #154) 2026-09-11 22:30:15 +02:00
bench 5k-room cold-start benchmark: published, and it paid for itself 2026-08-06 14:39:33 +02:00
build-logic Browser-hosted web suites: detect a Chromium when CHROME_BIN is unset (D80, closes #130) 2026-08-27 09:57:48 +02:00
docs §4.5 manifest ships as katrix-spec-coverage; publish.yml gates on spec-lint, self-test, tripwire and the coverage generator (D99, closes #154) 2026-09-11 22:30:15 +02:00
gradle Dependency verification: pin sources/javadoc jars of the two hash-pinned groups (D20, closes #131) 2026-08-26 15:01:49 +02:00
katrix-api Appservice transaction route is the shared EndpointDefinition: Endpoints.appserviceTransaction, EndpointPath.match as the routing interpreter, AuthRequirement.HOMESERVER_TOKEN (D97, closes #152) 2026-09-11 21:30:20 +02:00
katrix-apple CI: cinterop commonization is mac-host-only — Linux skips Apple compiles but commonizeCInterop pulled the Apple cargo builds (CI #330) 2026-08-25 13:26:39 +02:00
katrix-appservice Appservice transaction route is the shared EndpointDefinition: Endpoints.appserviceTransaction, EndpointPath.match as the routing interpreter, AuthRequirement.HOMESERVER_TOKEN (D97, closes #152) 2026-09-11 21:30:20 +02:00
katrix-bot Golden offline client at ≤ 25 lines / ≤ 16 concepts; concept budgets counted structurally from the api dumps (§10.11.2, CR-20, NFR-11, D92, closes #146) 2026-09-01 16:55:28 +02:00
katrix-compat-element Apple targets spike: pure-Kotlin graph + vodozemac FFI green on macosArm64 and iosSimulatorArm64 (D54 addendum, closes #103) 2026-08-23 11:44:21 +02:00
katrix-core Appservice transaction route is the shared EndpointDefinition: Endpoints.appserviceTransaction, EndpointPath.match as the routing interpreter, AuthRequirement.HOMESERVER_TOKEN (D97, closes #152) 2026-09-11 21:30:20 +02:00
katrix-crypto UTD taxonomy v2: the js-sdk ∪ rust-sdk union, versioned on the record, missing keys refined from membership, device age and backup standing; unknown algorithm is a typed UTD (D98, closes #153) 2026-09-11 22:11:20 +02:00
katrix-crypto-oracle apiDump for the #107 driver-seam surfaces (CI #356) 2026-08-26 11:18:03 +02:00
katrix-crypto-vodozemac Dehydrated devices: MSC3814 v2 create/rotate/claim on the driver seam (§10.4.7, D73, closes #107) 2026-08-26 11:03:24 +02:00
katrix-crypto-vodozemac-wasm wasm driver: remap the sysroot src — rust-src drifted the lock off /rustc (D61 addendum, closes #128) 2026-08-26 14:39:30 +02:00
katrix-engine UTD taxonomy v2: the js-sdk ∪ rust-sdk union, versioned on the record, missing keys refined from membership, device age and backup standing; unknown algorithm is a typed UTD (D98, closes #153) 2026-09-11 22:11:20 +02:00
katrix-spec-coverage §4.5 manifest ships as katrix-spec-coverage; publish.yml gates on spec-lint, self-test, tripwire and the coverage generator (D99, closes #154) 2026-09-11 22:30:15 +02:00
katrix-store-indexeddb §12.1 fidelity: state provenance on every store, quarantine keyed by event id; sqlite v13 + IndexedDB v2 with the §10.7.3 migration proofs (D94, closes #148) 2026-09-01 17:27:53 +02:00
katrix-store-sqlite §12.1 fidelity: state provenance on every store, quarantine keyed by event id; sqlite v13 + IndexedDB v2 with the §10.7.3 migration proofs (D94, closes #148) 2026-09-01 17:27:53 +02:00
katrix-testkit Kit rows use the reopened handle: IndexedDB's reopen closes the previous connection (refs #148, CI #416) 2026-09-01 17:59:48 +02:00
katrix-testkit-crypto Retention: forget purges every store family, per-room quarantine cap, UTD accounting window (§12.2, §10.3.3, D90, closes #144) 2026-09-01 14:05:26 +02:00
katrix-timeline Golden offline client at ≤ 25 lines / ≤ 16 concepts; concept budgets counted structurally from the api dumps (§10.11.2, CR-20, NFR-11, D92, closes #146) 2026-09-01 16:55:28 +02:00
katrix-transport §5 surfaces: rateLimitState + resumeConnectivity() on session and fleet; per-class BackoffConfig; jitter bounded and tested; live-reading state (D96, closes #151) 2026-09-11 20:46:53 +02:00
kotlin-js-store IndexedDB store: katrix-store-indexeddb, kits green in headless Chromium on js/wasmJs (D62, closes #116) 2026-08-22 23:26:49 +02:00
research Scaffold spec-driven project structure 2026-07-30 16:45:24 +02:00
samples §5 surfaces: rateLimitState + resumeConnectivity() on session and fleet; per-class BackoffConfig; jitter bounded and tested; live-reading state (D96, closes #151) 2026-09-11 20:46:53 +02:00
scripts Graduation windows enforced: UnstableKatrixApi(since) within two minors, ISO reviewBy with overdue failing the lint, self-tested on fixtures (§4.3, §4.4, D93, closes #147) 2026-09-01 17:04:51 +02:00
spec-coverage Retention: forget purges every store family, per-room quarantine cap, UTD accounting window (§12.2, §10.3.3, D90, closes #144) 2026-09-01 14:05:26 +02:00
.gitignore Spike: vodozemac FFI via uniffi/Gobley — JVM, Android, macosArm64 go 2026-07-31 12:44:09 +02:00
artifact-sizes.json §12.1 fidelity: state provenance on every store, quarantine keyed by event id; sqlite v13 + IndexedDB v2 with the §10.7.3 migration proofs (D94, closes #148) 2026-09-01 17:27:53 +02:00
build.gradle.kts Build: plain ./gradlew build works off-mac — host-gate Apple cargo builds and commonizeCInterop (D79, #129) 2026-08-26 14:39:30 +02:00
CLAUDE.md Standing gates: NFR-2/3/4/12/13 in CI, hardened deps/footprint, Forgejo publishing, benchmark cadence (D68, closes #99) 2026-08-23 11:09:16 +02:00
gradle.properties CI: cinterop commonization is mac-host-only — Linux skips Apple compiles but commonizeCInterop pulled the Apple cargo builds (CI #330) 2026-08-25 13:26:39 +02:00
gradlew Scaffold Gradle KMP multi-module build per §3.1 module map 2026-07-31 12:03:42 +02:00
gradlew.bat Scaffold Gradle KMP multi-module build per §3.1 module map 2026-07-31 12:03:42 +02:00
LICENSE Add planning layer: roadmap M0–M6, CLAUDE.md, D1, license, CI 2026-07-30 17:20:48 +02:00
qodana.yaml Ephemeral lanes complete: v2 presence on its own lane, sliding sync requests + folds the typing extension (§10.3.5, D91, closes #145) 2026-09-01 14:26:33 +02:00
settings-gradle.lockfile Scaffold Gradle KMP multi-module build per §3.1 module map 2026-07-31 12:03:42 +02:00
settings.gradle.kts §4.5 manifest ships as katrix-spec-coverage; publish.yml gates on spec-lint, self-test, tripwire and the coverage generator (D99, closes #154) 2026-09-11 22:30:15 +02:00
spec-lock.json Spec lock + changelog tripwire (§4.1) 2026-08-04 19:41:11 +02:00