report: matrix per feature, one aim × peer table per server #15

Merged
asxpi merged 4 commits from report/matrix-per-server into main 2026-11-09 10:08:56 +00:00
Member

matrix.md had one server × client table per feature, with an aggregate "worst verdict ×N" cell for the app under test that read as N runs of the app alone. Now each feature gets one small table per server: apps under test as rows, peer clients as columns, the newest run per pair (a person's beats an agent's). Features without runs get one line; totals per server on top; clients with no run are named once. report --check and tools/test_interop.py pass.

🤖 Generated with Claude Code

matrix.md had one server × client table per feature, with an aggregate "worst verdict ×N" cell for the app under test that read as N runs of the app alone. Now each feature gets one small table per server: apps under test as rows, peer clients as columns, the newest run per pair (a person's beats an agent's). Features without runs get one line; totals per server on top; clients with no run are named once. `report --check` and `tools/test_interop.py` pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
report: one matrix table per server
Some checks failed
/ check (pull_request) Has been cancelled
fe5cd724ce
The matrix had one table per feature, 198 small server x client grids,
mostly empty columns, so a server's state couldn't be read at a glance.
Give each server one table instead: a row per feature, a column per
client that has any run there, a tally of verdicts on top, and the
clients with no run yet listed under the heading rather than as empty
columns. Feature anchors stay on the first server's rows, so the links
from FEATURES.md still land.

Assisted-by: Claude:opus-5-5
asxpi changed title from report: one matrix table per server to report: matrix per feature, one aim × peer table per server 2026-11-09 09:52:09 +00:00
report: matrix per feature as app under test x peer, per server
Some checks failed
/ check (pull_request) Has been cancelled
1679ef9b5f
The per-server tables still mixed the peers' own columns with an
aggregate "worst verdict xN" cell for the app under test, which read
as if anotherim-desktop had been tested N times on its own. What a run
proves is a pair: the app under test against one peer on one server.

Show exactly that: under each feature, one small table per server with
the apps under test as rows and the peer clients as columns, the newest
run per pair (a person's beats an agent's). Features without any run
get one line instead of three empty tables, a totals table per server
sits on top, and clients with no run at all are named once.

Assisted-by: Claude:opus-5-5
Empty cells mixed two things: a pair nobody ran, and a pair that can't
be run because the peer version has no such feature (Kaidan 0.16 has
no MUC, Gajim 2.x no calls). Nothing listed which pairs a batch still
had to fill, so run agents picked combinations ad hoc and left holes.

clients.toml gets `lacks` per client; those cells show the n/a mark and
no longer count as untested in FEATURES.md. `tools/interop.py gaps`
prints the app-under-test x peer x server pairs of a feature with no
run, so a batch can be checked for completeness.

Assisted-by: Claude:opus-5-5
vms: run agents must fill every pair of their batch
All checks were successful
/ check (pull_request) Successful in 10m19s
3802076abc
The first VM batches left pairs empty without a trace: XEP-0402 was
only run after a room run that worked, so prosody (locked rooms, C35)
and one Gajim pair simply had nothing. Make coverage part of the
brief: list the pairs with `interop.py gaps` first, record blocked
pairs as fails with their cause instead of skipping them, put what a
peer can't do into clients.toml `lacks`, run own-account features with
a second device, and report the remaining gaps.

Assisted-by: Claude:opus-5-5
asxpi merged commit a77a54a9ce into main 2026-11-09 10:08:56 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
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
another-im/interop!15
No description provided.