Appearance
Reading the coverage matrix
Available now The portal's Coverage page, in your publisher workspace, answers"what has each app in my house shown, and what is missing?" without opening every results statement. Every member of the workspace can read it.
It is built from two things, and nothing else:
- Results statements your vendors shared with your organisation, while the share and the statement are live. See Results statements.
- Your house's own traffic in the last 7 days: how many messages of each family were accepted, per connection. Counts only, as everywhere in a house.
It never shows a result a vendor hasn't shared with you. A statement kept private, shared only by link, shared with another publisher, revoked or expired is not read. A vendor's rule ids and refused messages stay the vendor's: see Who sees what in a house.
Rows and columns
There is one row per app: your own apps first, then each vendor's, with the organisation that owns it. An app appears when it has an active connection into your house, or when a statement for it is shared with you (marked Not connected here).
| Column | What it shows |
|---|---|
| App | The app, its organisation and kind (producer, consumer or skill executor), and the statements shared with you for it, with the date each is valid until |
| Your traffic, 7 days | Per connection: accepted, refused and duplicate messages, and when it was last seen |
| Message families | Each SOM family the app is granted, states or receives, with its state |
| Consumer scenarios | For consumer and skill apps: how many of the suite's scenarios passed, and each one's state |
| Skill cases | For skill apps: how many of the suite's skill cases passed, and each one's state |
| Gaps | Every gap, why it is one, and the page that explains what it needs |
On a phone each row is a card, with each column labelled.
What each state means
What counts as evidence depends on the kind of app.
Producers have no results statement: test runs exercise consumers and skill executors. A producer is covered by your own traffic.
| State | For a producer's family |
|---|---|
| Seen | Messages of the family it published were accepted in your house in the last 7 days |
| Gap | You granted it the family, and nothing of it was accepted in the last 7 days |
Consumers and skill executors are covered by a statement their vendor shared with you. The messages your house routed to them are counted beside it, never instead of it: receiving a message says nothing about handling it.
| State | For a consumer's or skill executor's family |
|---|---|
| Stated | A statement shared with you names the family as one its runs exercised (or, for a skill, as the warnings it raised) |
| Gap | You granted it the family, or your house routed messages of it to the app, and no shared statement states it |
A count marked up to is an upper bound: the connection's topic prefix, or its source filter, may leave some of those messages out.
| State | For a scenario or skill case |
|---|---|
| Passed | A statement shared with you lists it as passed |
| Pending spec | It needs a message type SOM 1.0 doesn't define. It is never a gap: see Topics without a 1.0 schema |
| Gap | No statement shared with you lists it as passed |
A statement names exactly what passed, so a case left out of every statement is a gap, even when its vendor ran it. Ask the vendor for a statement that includes it.
Where each gap leads
| Gap | Links to |
|---|---|
| A message family | Its page in the SOM 1.0 schema reference |
| A consumer scenario | Consumer scenarios: what the scenario plays and what a conforming consumer holds |
| A skill case | Skill harness: what the case plays and which warnings it expects |
Suites
The matrix is for one suite at a time: the bus's current one, som-1.0.0+lib-0.2.2. When a vendor shares a statement against another suite, a Suite choice appears; a statement counts only for its own suite.
Closing a gap
- A producer's gap: the vendor publishes messages of that family into your house, or you narrow its grant on Your house: vendors.
- A consumer's or skill executor's gap: the vendor runs the missing cases in its own workspace, makes a statement that includes them and shares it with your organisation. See Test runs.
- Your own apps: grade them in your workbench and share the statement with your house.
Coverage states what passed on the sandbox, with synthetic data. SOM defines no conformance tiers, and this is not one.