pet.trezy.shameOnYou
A note that somebody was caught forging records. Written in TWO places for two different reasons: one copy in the game's own repo, keyed by the offender's DID, which they cannot delete and which is the durable account; and one copy in the offender's repo, which they can delete the moment they notice — and noticing is the point of that one. Neither is a punishment. Nothing in the game reads these records or behaves differently because one exists; the forged records were already refused at ingest, so the ledger was never wrong. This is the game saying it saw.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | trezy.pet |
| Indexed |
Record
record · key anyProperties
Every refused record, one entry each. An array rather than one record per forgery so a repeat offender accumulates a growing list at a stable address instead of littering a collection — and so the whole history is legible in one read.
minLength: 1
The sentence a person reads. Written by the server so both copies say the same thing, and so it cannot be softened by a client.
maxLength: 640
When this note was last written. NOT when the forgery happened — each entry carries its own time — because the note is rewritten in place as more turn up.
Whose forgeries these are. Carried in the body as well as being the rkey on the game's copy, because the copy in the offender's own repo has no rkey to read it from — and a record that names its subject can be quoted without its address.
#error
objectOne refused record.
Properties
What was wrong, as a sentence rather than a code. ⚠ COMPOSED SERVER-SIDE. The ingest guards store a machine reason — `invalid-signature`, `replay` — and turning that into English in a client would put the accusation's wording in the hands of the accused.
maxLength: 320
noticedAt
string · datetimeWhen this particular record was refused.
reason
stringThe machine code behind `cause`, kept so a reader can group or count without parsing English. NOT an enum: a guard that learns a new refusal should not need every reader redeployed before it can say so.
maxLength: 64knownValues: invalid-signature | missing-signature | tampered | replay | duplicate | malformed | not-the-publisher | procedure-only | unchecked
The record that was refused. It is a real address in the offender's repo, so the claim can be checked rather than taken on trust — and it stays checkable after they delete it, because the URI is the evidence of what was attempted.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
pet.trezy.getForgeries
queryEvery record of this account's that an ingest guard refused, one entry each, with the reason written out. Reads `trezy_pet_rejections`, which the guards fill as forged records arrive on the firehose — so this is a report of what was already stopped, not a check performed now. Nothing here changes what the account may do: the refusal happened at ingest and the ledger never saw the record.
-
pet.trezy.confessForgeries
procedureLooks for records of the caller's that an ingest guard refused, and if there are any, writes the note twice: once into the game's own repo through a linked repo, where the caller cannot reach it, and once into the caller's repo, where they can delete it. Called on sign-in. It changes nothing about what the account may do — the forged records were refused at ingest, so the ledger was never wrong — and it is safe to call on every visit: an unchanged list rewrites nothing.