/examples/srs-receipt

Reading an SRS receipt

Here is the artifact; here is how to read it; here is how to check it.

This page takes one synthetic SRS receipt and shows it four ways: the JSON envelope that is the authoritative artifact, a plain-language reading aid for the envelope, a body-specific reading aid for the part GARP owns, and the conformance check you would run against it. Everything here is fictional and read-only. A receipt is an artifact, not a verdict.

The reading aids never replace the artifact. The JSON is authoritative; the renderings are conveniences for a human reader. A weak receipt renders weak; no reading aid strengthens it.

1. The artifact

The JSON envelope

The envelope is the authoritative artifact. It carries a version, an id, the boundary event it was issued at, the subject it points at, the artifacts it covers, its conformance posture, and a GARP body extension. ARCS owns the SRS envelope, its schema, its conformance check, and the plain-language envelope renderer. GARP owns body-kind rendering under extensions.garp.body.

srs-receipt.json
{
  "srs_version": "1.0.0",
  "receipt_id": "SYN-SRS-RCPT-0001",
  "issued_at": "2026-05-09T15:04:05Z",
  "boundary_event": "publication_boundary",
  "subject": {
    "kind": "record_projection",
    "ref": "SYN-REC-RW-0001"
  },
  "artifacts": [
    {
      "role": "page_model",
      "sha256": "synthetic-sha256-rw-0001-2b9e3c5a7f81",
      "path": "/garpedia/page-models/SYN-REC-RW-0001.json"
    }
  ],
  "conformance": {
    "schema": "arcs/srs/envelope@1",
    "checked": false,
    "posture": "synthetic_reference_only"
  },
  "extensions": {
    "garp": {
      "body": {
        "body_kind": "reverse_wiki_record",
        "title": "Synthetic Demo: Reverse-Wiki Record for the Bootstrap Layout",
        "anchor_resolution": "all_resolved",
        "section_count": 3,
        "cited_fragment_count": 4
      }
    }
  }
}

The subject points at the synthetic record SYN-REC-RW-0001. The pointer is a reference, not an endorsement. A conformant envelope is not an admitted record.

2. How to read it — the envelope

ARCS plain-language envelope reading

ARCS renders the envelope's own fields in plain language. This is a reading aid for the artifact above; it adds no field the JSON does not already carry, and it claims nothing the JSON does not say.

srs_version1.0.0
Which version of the SRS envelope shape this receipt was written against.
receipt_idSYN-SRS-RCPT-0001
The identifier for this receipt. It names this artifact; it does not assert that its subject is true.
issued_at2026-05-09T15:04:05Z
When the receipt was issued, in UTC.
boundary_eventpublication_boundary
The boundary the receipt was issued at — here, a publication boundary. The event is that a projection crossed a boundary, not that a claim was admitted.
subject.refSYN-REC-RW-0001
What the receipt is about: a reference to the projected record. The reference is a pointer, not an admission of the record.
artifacts[0].sha256synthetic-sha256-rw-0001-2b9e3c5a7f81
A named hash of the artifact the receipt covers. On this surface it is a fixture string; verifying it is the conformance check's job, not the reader's.
conformance.posturesynthetic_reference_only
How far the receipt has been checked. Here it is a synthetic reference only — no live check was run, and the reading aid says so rather than implying one was.

3. How GARP reads the body

GARP body-kind reading

The body under extensions.garp.body is body-kind-specific, and a body renderer is downstream and GARP-side: it knows how to read this body kind and would read another differently. The reading below describes that downstream GARP-side renderer; GARPedia does not depend on it and does not import it.

extensions.garp.body.body_kindreverse_wiki_record
The body kind tells a GARP-side renderer which body-specific reader to use. A different body kind would be read by a different reader.
extensions.garp.body.titleSynthetic Demo: Reverse-Wiki Record for the Bootstrap Layout
The record title carried in the body, for the reader's context.
extensions.garp.body.anchor_resolutionall_resolved
A body-specific posture field: whether every cited fragment resolved to its anchor. A body with unresolved anchors would render that plainly.
extensions.garp.body.cited_fragment_count4
How many fragments the body cites. A body that cited nothing would render as a thin body, not a strong one.

4. How to check it — conformance

The verify command

Conformance is owned by ARCS. The verify command checks the envelope against the SRS schema and reports whether its shape is valid. Conformance is a schema check, not a truth check.

shell
arcs srs verify ./SYN-SRS-RCPT-0001.json

What it checks

  • The envelope matches the SRS envelope schema for its declared srs_version.
  • Required envelope fields are present and well-formed.
  • Each artifact entry names a role, a hash, and a path.
  • The GARP body under extensions.garp.body is shaped like a known body kind.

What it does not check

  • Whether the subject record is true.
  • Whether the record was admitted anywhere.
  • Whether including the record endorses it, or excluding one refutes it.
  • Whether a weak body is a strong one — a weak receipt stays weak after a conformance pass.

conformance: schema shape OK (synthetic). This is a conformance result on the envelope, not a verdict on its subject.

What this example does not claim

The boundary is the point of the example, so it is stated plainly. GARPedia projects this example; it is not the authority for it.