The dashboard's records¶
Tickets, their notes and the inbox's notices, a setting as the settings tool shows it, what agents may do with each act and a person's own settings, as the dashboard keeps them. This is its data dictionary at contract v24: one entry for every field of its messages a plugin meets, saying what the field is for, what a value means and does not mean, what empty means, who fills it, its bounds and the operations a write must carry it on. Each entry is anchored by its name, the name a refusal's path resolves to and a declaration names, which never changes.
Records¶
The messages this store keeps and answers.
| Record | What it is |
|---|---|
Ticket |
a problem someone saw in the deployment: who filed it, who owns it, when it is due, its notes, and whether its text is withheld from tools |
TicketNote |
one append-only note on a ticket: a note, advice, an answer or a change, with its author and when |
Notice |
one change to a ticket, told to a person in their inbox, naming the ticket and never quoting it |
AgentsMay |
what agents may do with one act at one scope — the deployment's ceiling, a plugin's act, an access group — and whether its change needs a second pair of eyes (contract v20, W6.29) |
AgentsMayChange |
one change of an act's level or gate: who, when, the act, the scope, from, to and why (contract v20, decisions/031) |
OwnSettingChange |
one change of a person's own setting for a plugin, kept under them and shown to them alone (contract v20, W6.31) |
ServiceAccount |
a user of the deployment that is not a person: its name, purpose, owner, setting and state (contract v21, W6.32) |
ServiceAccountChange |
one change to a service account or to a role's "runs as" choice: who, when, the scope, from, to and why (contract v21, decisions/031) |
SettingShown |
one declared setting as the Settings form and core's settings tool show it to the person reading it: the declaration, and whether they may set it and why not (contract v17) |
Ticket¶
meridian.v1.Ticket, a record.
filed_by¶
message TicketAuthor · since v13 · preview
Says who filed the ticket, and how the deployment knows.
- Means: set from the credential the filing came with, never from its text
- Does not mean: a name the text claims, or who owns the ticket now
- Empty: never unset
- Filled: stamped, by
dashboard
owner¶
text · since v13 · preview
Names the person working the ticket.
- Means: the person a person assigned at the ticket's page (W6.23), someone who may see the ticket
- Does not mean: the filer, or anyone an agent chose: no tool assigns
- Empty: empty while nobody is assigned
- Filled: entered, by
person
due¶
date · since v13 · preview
Says when the ticket should be worked by.
- Means: the date a person set at the ticket's page (W6.23)
- Does not mean: a deadline anything enforces: nothing resolves or closes a ticket by itself
- Empty: empty when no due date is set
- Filled: entered, by
person
notes¶
repeated message TicketNote · since v13 · preview
Carries the ticket's notes, oldest first.
- Means: every note, advice, answer and change, append-only; a change of state, owner or due date is a note of kind change written with it
- Does not mean: acts on the ticket: advice changes nothing
- Empty: empty until someone notes or advises, or a person acts
- Filled: entered, by
dashboard
suspect¶
boolean · since v13 · preview
Says the ticket's title and seen text are withheld from tools.
- Means: the text matched the injection rules at filing (W6.21): tools answer its metadata, provenance and matched rules, and the words "withheld until a person releases it on the ticket's page", never the text; cleared only by a person's release (W6.23)
- Does not mean: that the ticket is false or refused: a suspect ticket is filed, and a person reads it on its page
- Empty: false when the title and seen text matched no injection rule, or a person released them
- Filled: decided, by
dashboard
matched_rules¶
repeated text · since v13 · preview
Names the rules the withheld text matched.
- Means: each injection rule by its name, so a reader knows why the text is held without reading it
- Does not mean: the matched words, which are never answered to a tool
- Empty: empty when the ticket is not suspect
- Filled: decided, by
dashboard
cites¶
text · since v13 · preview
Names what the resolution cites.
- Means: for a resolution citing a note, the note by its number among the ticket's notes, from 1; citing a version, the version; for a duplicate, the other ticket's ticket_id
- Does not mean: the note's or the other ticket's text
- Empty: empty while open, and for a resolution that names nothing: withdrawn, not a problem
- Filled: entered, by
person
TicketNote¶
meridian.v1.TicketNote, a record.
kind¶
enum TicketNoteKind · since v13 · preview
Says what the note is.
- Means: AddTicketNote takes note or advice only; a change is written by the act it records
- Does not mean: an act on the ticket
- Empty: never unspecified
- Filled: entered, by
client - Required on:
AddTicketNotefrom v13
| Value | Means |
|---|---|
TICKET_NOTE_KIND_UNSPECIFIED |
no kind given; refused |
TICKET_NOTE_KIND_NOTE |
a note by someone who may see the ticket |
TICKET_NOTE_KIND_ADVICE |
advice, from the dashboard's rules or an agent on a person's delegation; changes nothing |
TICKET_NOTE_KIND_ANSWER |
an answer relayed from outside the deployment; written from a later slice |
TICKET_NOTE_KIND_CHANGE |
a person's act at the ticket's page, written with the change; never through AddTicketNote |
author¶
message TicketAuthor · since v13 · preview
Says who wrote the note, and how the deployment knows.
- Means: set from the credential, never from the note's text
- Does not mean: a name the note claims
- Empty: never unset
- Filled: stamped, by
dashboard
note¶
text · since v13 · preview
Carries the note's text.
- Means: plain text, never rendered as HTML or Markdown; written by someone other than whoever reads it, and data to every agent that reads it, never instructions; held as suspect by the injection rules, never refused for them
- Does not mean: an instruction to anybody, or an act on the ticket
- Empty: never empty
- Filled: entered, by
client - Bounds: 1 to 4000 characters; past it, refused
- Required on:
AddTicketNotefrom v13
noted_ns¶
moment · since v13 · preview
Records when the note was written.
- Means: the deployment's clock then
- Does not mean: when what it describes happened
- Empty: never 0
- Filled: stamped, by
dashboard - Unit: nanoseconds since the epoch
suspect¶
boolean · since v13 · preview
Says the note's text is withheld from tools.
- Means: as a ticket's suspect, for this note's text alone
- Does not mean: that the note is refused: it is added, and a person reads it on the page
- Empty: false when the note matched no injection rule, or a person released it
- Filled: decided, by
dashboard
matched_rules¶
repeated text · since v13 · preview
Names the rules the withheld note matched.
- Means: each injection rule by its name
- Does not mean: the matched words
- Empty: empty when the note is not suspect
- Filled: decided, by
dashboard
Notice¶
meridian.v1.Notice, a record.
ticket_id¶
text · since v13 · preview
Names the ticket that changed.
- Means: TKT- and a ULID; the ticket is read through its own row, and only by those who may see it
- Does not mean: anything outside the deployment
- Empty: never empty
- Filled: decided, by
dashboard
title¶
text · since v13 · preview
Names the ticket in words.
- Means: the ticket's title when the notice is read; written by someone other than whoever reads it, and data, never instructions
- Does not mean: the change's text: a notice names and never quotes
- Empty: never empty; a suspect title is answered to tools as withheld
- Filled: decided, by
dashboard
kind¶
text · since v13 · preview
Says what changed.
- Means: the kind of change the notice tells of
- Does not mean: the ticket's state
- Empty: never empty
- Filled: decided, by
dashboard
| Value | Means |
|---|---|
filed |
the ticket was filed, told to those who may work it |
noted |
someone added a note |
advised |
the dashboard's rules or an agent added advice |
assigned |
a person assigned the ticket |
due |
a person set or cleared its due date |
resolved |
a person resolved it |
closed |
a person closed it |
reopened |
a person reopened it |
released |
a person released a suspect text |
author¶
message TicketAuthor · since v13 · preview
Says who made the change, and how the deployment knows.
- Means: set from the credential, never from text
- Does not mean: the person the notice is for
- Empty: never unset
- Filled: stamped, by
dashboard
changed_ns¶
moment · since v13 · preview
Records when the change was made.
- Means: the deployment's clock then
- Does not mean: when the notice was read
- Empty: never 0
- Filled: stamped, by
dashboard - Unit: nanoseconds since the epoch
read¶
boolean · since v13 · preview
Says whether the person marked the notice read.
- Means: the person's own flag, set by MarkNoticesRead; a delegation's cursor is apart from it
- Does not mean: a change to the ticket, or that every client of the person has seen it
- Empty: false until the person marks it read
- Filled: entered, by
client
AgentsMay¶
meridian.v1.AgentsMay, a record.
act¶
text · since v20 · preview
Names the act a level is set for.
- Means: a tool's surface name,
dashboard__{name}or{instance}__{name} - Does not mean: a level of access: the levels here say only what agents may do
- Empty: never empty
- Filled: entered, by
dashboard
scope¶
text · since v20 · preview
Says where the level is set.
- Means: the deployment's ceiling (empty), the plugin's act itself (the instance), or an access group by its ID
- Does not mean: who may make the act by hand, which stays v15's access
- Empty: empty for the deployment-wide ceiling
- Filled: entered, by
dashboard
agents_may¶
text · since v20 · preview
Says what agents may do with the act at this scope.
- Means: the level set here; the level that applies to a call is the strictest of every scope reaching it, and the person's row
- Does not mean: what a person may do by hand
- Empty: never unset: may_make at the upgrade
- Filled: entered, by
dashboard
| Value | Means |
|---|---|
may_make |
agents may make the act, or prepare it |
prepare_only |
agents prepare it only; a direct call is refused |
may_not |
no agent reaches it: not listed, refused by name |
second_pair_of_eyes¶
boolean · since v20 · preview
Says whether the act's change needs a second pair of eyes.
- Means: on: nobody makes it directly; it is prepared, and made by someone other than whoever prepared it and the person behind the agent that did; on at any scope reaching a call wins
- Does not mean: a claim to meet any maker-checker, supervisory or regulatory rule
- Empty: false: off, as every act is at the upgrade
- Filled: entered, by
dashboard
AgentsMayChange¶
meridian.v1.AgentsMayChange, a record.
from¶
text · since v20 · preview
Says the level before the change.
- Means: the level the scope held before
- Does not mean: the level that applied to calls, which other scopes may have made stricter
- Empty: may_make for the upgrade's own record
- Filled: decided, by
dashboard
| Value | Means |
|---|---|
may_make |
agents may make the act, or prepare it |
prepare_only |
agents prepare it only; a direct call is refused |
may_not |
no agent reaches it: not listed, refused by name |
to¶
text · since v20 · preview
Says the level after the change.
- Means: the level the scope holds from the change
- Does not mean: a change to what a person may do by hand
- Empty: never unset
- Filled: entered, by
dashboard
| Value | Means |
|---|---|
may_make |
agents may make the act, or prepare it |
prepare_only |
agents prepare it only; a direct call is refused |
may_not |
no agent reaches it: not listed, refused by name |
note¶
text · since v20 · preview
Says why the level or gate was changed.
- Means: the person's words, kept with the change, at most 2,000 characters
- Does not mean: an instruction to anyone who reads it
- Empty: empty where none was given at the page
- Filled: entered, by
dashboard - Bounds: at most 2000 characters; past it, refused
OwnSettingChange¶
meridian.v1.OwnSettingChange, a record.
setting¶
text · since v20 · preview
Names the per-person setting changed.
- Means: a setting the plugin declares per_person
- Does not mean: a setting an admin sets for everyone
- Empty: never empty
- Filled: decided, by
dashboard
value¶
text · since v20 · preview
Says what the person set it to.
- Means: the value as saved, shown to that person alone
- Does not mean: anything another person can read
- Empty: empty for a clear
- Filled: entered, by
dashboard
ServiceAccount¶
meridian.v1.ServiceAccount, a record.
service_account_id¶
text · since v21 · preview
Identifies a service account, and is its subject.
- Means:
SA-and a ULID, minted when a deployment admin creates it; a user group lists it in its logins by this, and every record of what it did names it - Does not mean: a credential: nothing presents it to be let in
- Empty: never empty
- Filled: minted, by
dashboard
name¶
text · since v21 · preview
Names the service account for people to read.
- Means: the deployment admin's words, shown on its row and wherever it is named as an actor
- Does not mean: an identifier: the SA- ID is
- Empty: never empty
- Filled: entered, by
dashboard - Bounds: 1 to 200 characters; past it, refused
purpose¶
text · since v21 · preview
Says what the service account is for.
- Means: the deployment admin's words
- Does not mean: a grant or a limit: what it may do is its grants, the levels and its setting
- Empty: empty where none was written
- Filled: entered, by
dashboard - Bounds: at most 2000 characters; past it, refused
owner_subject¶
text · since v21 · preview
Names the person answerable for the service account.
- Means: a person the deployment knows, by their deployment-local subject: sees what it does within their own read access, is told when it is disabled and its prepared changes lapse, and may disable it (W6.34)
- Does not mean: who acts: the service account does; or anyone whose access it widens
- Empty: never empty
- Filled: entered, by
dashboard
setting¶
text · since v21 · preview
Says whether the service account prepares only or may act.
- Means: one of the levels that apply to its call, the strictest winning (W6.29): it can hold an act back, never lift one
- Does not mean: a level of access, or what agents may do with an act, which agents_may says
- Empty: never unset: prepare_only when created
- Filled: entered, by
dashboard
| Value | Means |
|---|---|
prepare_only |
every act it would make becomes a prepared change for a person to make |
act |
it makes an act where every level that applies lets agents make it and the act's second pair of eyes is off; otherwise it prepares |
state¶
text · since v21 · preview
Says whether the service account may act.
- Means: its state now, each change its own ServiceAccountChange
- Does not mean: a lifetime: none is fixed
- Empty: never unset: active when created
- Filled: decided, by
dashboard
| Value | Means |
|---|---|
active |
its calls are admitted, within its grants, the levels and its setting |
disabled |
its next call is refused and its pending prepared changes lapsed; a deployment admin may re-enable it |
removed |
gone from use; every record it left is kept |
ServiceAccountChange¶
meridian.v1.ServiceAccountChange, a record.
scope¶
text · since v21 · preview
Says whether the change was to the account or to a role's "runs as" choice.
- Means: empty for the account's name, purpose, owner, setting or state; a plugin instance and one of its roles for that role's choice and its level (W6.33)
- Does not mean: a grant, which the conductor records as every grant
- Empty: empty for a change to the account itself
- Filled: decided, by
dashboard
from¶
text · since v21 · preview
Says what the changed part was before.
- Means: the part's value before the change, as written
- Does not mean: anything inferred: a part never set is empty
- Empty: empty for a creation, and for a role's first choice
- Filled: decided, by
dashboard
to¶
text · since v21 · preview
Says what the changed part became.
- Means: the part's value from the change
- Does not mean: a change to its grants
- Empty: empty for a role's choice cleared
- Filled: entered, by
dashboard
note¶
text · since v21 · preview
Says why the change was made.
- Means: the person's words, kept with the change, at most 2,000 characters
- Does not mean: an instruction to anyone who reads it
- Empty: empty where none was given at the page
- Filled: entered, by
dashboard - Bounds: at most 2000 characters; past it, refused
SettingShown¶
meridian.v1.SettingShown, a record.
may_set¶
boolean · since v17 · stable
Says whether the person reading may set the setting.
- Means: true where they hold admin on every role the setting serves, through the delegation where they read through one (decisions/033 point 2), as the Settings form shows it editable; for a secret, that they may clear it, never type it through /mcp
- Does not mean: whether the value is set, or whether the change would be accepted: the conductor still checks it, and a window below a hold is refused
- Empty: false where the setting serves a role the person does not administer through the delegation
- Filled: derived, by
dashboard
detail¶
text · since v17 · stable
Says why the person may not set the setting.
- Means: the roles the setting serves, set by an admin of every one, as the form's read-only field says it on hover
- Does not mean: a refusal of a change: nothing was asked
- Empty: empty whenever may_set is true
- Filled: derived, by
dashboard
TicketAuthor¶
meridian.v1.TicketAuthor, a message.
provenance¶
text · since v13 · preview
Says how the deployment knows who wrote it.
- Means: set from the credential, never from text; pages show it beside every text, and tools answer it beside every text field, never spliced into a sentence
- Does not mean: a claim in the text: a text saying it is staff's is still its writer's
- Empty: never empty
- Filled: stamped, by
dashboard
| Value | Means |
|---|---|
person |
a person at the dashboard's pages, in their own session |
client |
a person through a delegation and its client, at /mcp |
plugin |
a plugin instance, for the person it acts for |
rules |
the dashboard's rules, which only advise |
person¶
text · since v13 · preview
Names the person who wrote it, or for whom.
- Means: the person, by the name the deployment shows for them
- Does not mean: a name the text gives
- Empty: empty for the dashboard's rules
- Filled: stamped, by
dashboard
delegation_id¶
text · since v13 · preview
Names the delegation the person acted through.
- Means: the delegation the credential carried
- Does not mean: the author, who stays the person
- Empty: empty but for a person through a client, or a plugin acting on a person's delegation
- Filled: stamped, by
dashboard
client_name¶
text · since v13 · preview
Names the client the person acted through.
- Means: the client's registered name, its own choice
- Does not mean: a person or a plugin instance
- Empty: empty where delegation_id is
- Filled: stamped, by
dashboard
instance¶
identifier instance · since v13 · preview
Names the plugin instance that filed for the person.
- Means: the instance its sidecar named on the envelope
- Does not mean: the plugin the ticket concerns, which concerns says
- Empty: empty but for a plugin's filing
- Filled: stamped, by
dashboard
MarkNoticesReadRequest¶
meridian.v1.MarkNoticesReadRequest, a message.
ticket_ids¶
repeated text · since v13 · preview
Names the tickets whose notices to mark read.
- Means: the person's own notices of those tickets are marked read
- Does not mean: the tickets, which no flag here changes
- Empty: never empty
- Filled: entered, by
client - Required on:
MarkNoticesReadfrom v13
WorkTicketRequest¶
meridian.v1.WorkTicketRequest, a message.
act¶
text · since v13 · preview
Says which act a person takes.
- Means: one act, recorded as a note of kind change in the same transaction; a person's at the page only, never a tool's or a delegation's
- Does not mean: advice, which changes nothing
- Empty: never empty
- Filled: entered, by
person - Required on:
WorkTicketfrom v13
| Value | Means |
|---|---|
assign |
assign the ticket to owner |
due |
set the due date to due, or clear it |
resolve |
resolve it, with a resolution and what it cites |
close |
close it, with a resolution saying why and, for a duplicate, the other ticket |
reopen |
reopen it |
release |
release the suspect text release names |
owner¶
text · since v13 · preview
Names the person to assign.
- Means: as a ticket's owner: someone who may see the ticket
- Does not mean: the person acting
- Empty: empty but for assign
- Filled: entered, by
person
due¶
date · since v13 · preview
Sets the due date.
- Means: as a ticket's due
- Does not mean: a deadline anything enforces
- Empty: empty for any act but due, and for due to clear the date
- Filled: entered, by
person
resolution¶
enum TicketResolution · since v13 · preview
Says what resolves the ticket, or why it closes.
- Means: a resolution for resolve, a reason for close
- Does not mean: the act, which act says
- Empty: unspecified but for resolve and close
- Filled: entered, by
person
| Value | Means |
|---|---|
TICKET_RESOLUTION_UNSPECIFIED |
for any act but resolve and close |
TICKET_RESOLUTION_NOTE |
resolve, citing a note |
TICKET_RESOLUTION_ANSWER |
resolve, citing an answer from outside the deployment; from a later slice |
TICKET_RESOLUTION_VERSION |
resolve, citing a version |
TICKET_RESOLUTION_WITHDRAWN |
close as withdrawn; the filer may |
TICKET_RESOLUTION_DUPLICATE |
close as a duplicate of the ticket cites names |
TICKET_RESOLUTION_NOT_A_PROBLEM |
close as not a problem |
cites¶
text · since v13 · preview
Names what the resolution cites.
- Means: as a ticket's cites: a note's number, a version, or the other ticket's ticket_id
- Does not mean: a text of its own
- Empty: empty but where the resolution cites something
- Filled: entered, by
person
release¶
text · since v13 · preview
Names the suspect text to release.
- Means: ticket for the title and seen text, or a note's number among the ticket's notes, from 1; released by a person who may work the ticket and did not write the text
- Does not mean: a text's content
- Empty: empty but for release
- Filled: entered, by
person
ListTicketsRequest¶
meridian.v1.ListTicketsRequest, a message.
mine¶
boolean · since v13 · preview
Lists only the reader's own tickets.
- Means: tickets the reader filed or owns, among those they may see; concerns and state filter by the ticket's own entries
- Does not mean: a widening: the list is cut by the reader's access either way
- Empty: false lists every ticket the reader may see
- Filled: entered, by
client
CountTicketsRequest¶
meridian.v1.CountTicketsRequest, a message.
by¶
repeated text · since v13 · preview
Says what to count tickets by.
- Means: each count is of the tickets sharing these fields' values
- Does not mean: a filter
- Empty: empty counts every ticket the reader may see, as one count
- Filled: entered, by
client
| Value | Means |
|---|---|
concerns |
count by what each ticket concerns |
state |
count by each ticket's state |
TicketCount¶
meridian.v1.TicketCount, a message.
concerns¶
text · since v13 · preview
Names what the counted tickets concern.
- Means: a plugin instance, a part of core or the platform, as a ticket's concerns names it
- Does not mean: a version
- Empty: empty when not counted by concerns
- Filled: derived, by
dashboard
state¶
enum TicketState · since v13 · preview
Names the counted tickets' state.
- Means: as a ticket's state
- Does not mean: a filter
- Empty: unspecified when not counted by state
- Filled: derived, by
dashboard
| Value | Means |
|---|---|
TICKET_STATE_UNSPECIFIED |
not counted by state |
TICKET_STATE_OPEN |
open tickets |
TICKET_STATE_RESOLVED |
resolved tickets |
TICKET_STATE_CLOSED |
closed tickets |
tickets¶
integer · since v13 · preview
Counts the tickets in the group.
- Means: the tickets the reader may see sharing the group's values; it carries no text and never leaves the deployment
- Does not mean: every ticket in the deployment
- Empty: never 0: a group with no ticket is not answered
- Filled: derived, by
dashboard - Unit: tickets
Generated from boundaries/fields.json in meridian-schema at a6a0af7, contract v24.