The specification

This page is the specification pack, republished unchanged from pcoc commit 1b9f632 (spec/ at that commit; the same bytes are on pcoc main at e8030ba). The reading guide in this section is not part of the specification and changes nothing in it. Where the two differ, the specification wins. The pack is specification 2.3. It changes no object byte. The wire kind stays v2.2-pcoc-object.

How to read it

Reader: someone implementing produce, measure, or admission in any language. The pack is enough to build a conforming producer or verifier. Its conformance pack, spec/conformance/pack, is the one pack of pinned bytes. The pack id stays pack-2.2.0. The manifest SHA-256 is 91ded57e5c05b7cb4cd74d313a51d83d2373fa86dc625df41faed9586e9032af.

Current SDK tags and quickstarts are on the SDK page. Discover the current tags from that page and the repository.

The index below is the pack README. Read the documents in the order it names. Start with the developer guide if you are building something. Section numbers keep their old homes: Construction holds sections 1–4 and 6–12, Producer holds section 13 except 13.6, Waypoint Publication holds section 13.6, Measurement holds sections 14 and 18, Admission holds section 15, and Conformance holds sections 16, 17, and 19.

Sign-in outcome words in section 15.1 are in Admission Process. groundinglab's own lever choices, and the evidence for them, are on How we set groundinglab's admission policy. Those values are a policy instance. They are not in this pack.

How-to material, the CLI wrappers, services and deployment are in the other Technical docs.

Satoshi Hike 2.3 — Specification pack

Status. Public specification for Satoshi Hike 2.3, tag spec-2.3.0, standalone under spec/.

Start here if you are building something: GUIDE.md — which documents to use for a producer, a verifier, an admission gate, or policy tuning.

Also: INTENT.md · GLOSSARY.md.

Versions. This pack is specification 2.3. SDK packages are 2.3.x and are not the specification version. The object kind wire label remains v2.2-pcoc-object (same bytes). The conformance manifest id pack-2.2.0 is a historical name; the pinned bytes are 2.3-valid. See conformance/pack/README.md.

Definitional pair

Construction + Conformance = specification + matching test specification. That pair is fundamental: object cost, encodings, and the two-way Bitcoin commitment bind, plus the yes/no rules and vectors that prove an object (and a tool) matches Construction.

Producer and Measurement are process documents constrained by that pair. Waypoint Publication is our scoped Bitcoin-anchor batching channel (Construction still owns the bind). Admission Process is downstream and value-free; policy instances (gl-admit-*) stay outside this pack.

Language: valid → measured → admitted. Do not use “verified” loosely.

Anchored-path inclusion uses Bari’s anchor window (offsets 2, 3, and 4). This specification defines no tip-versus-last-beacon submit deadline.

Documents

# File Role
01 Satoshi Hike Construction Object, terrain, leg, stage/waypoint slots, encodings, two-way Bitcoin bind. Definitional. Sections 1–4, 6–12.
02 Producer Process Live produce sequence that realises Construction. Section 13 (except 13.6).
03 Waypoint Publication Process Scoped batching channel (BR1–BR4). Section 13.6.
04 Admission Process Generic consume measurement + policy → decide. Value-free. Section 15.
05 Conformance Process Test specification paired with Construction. Sections 16, 17, 19.
06 Measurement Record Process Full measure procedure + record shape + verify CLI. Fact-only. Sections 14 and 18.

Vectors. The one conformance pack of pinned bytes is conformance/pack/. Doc 05 defines how that pack is used.

Dependencies

Construction  ↔  Conformance     ← definitional pair
       ↑                ↑
   Producer        Measurement     ← realise / read the object
       \                |
        Waypoint Publication       ← scoped anchor channel (batching)
                        |
                 Admission Process ← generic consumer
                        ↑
              policy instance (outside pack, e.g. gl-admit-*)

Reader paths

Full developer instructions: GUIDE.md.

  • Builder (producer implementer): Construction + Conformance; Producer Process; Waypoint Publication if planting via our channel; Measurement §14.3 only for the path-body / validate_for check (Producer §13.1 cites “section 14.3”).
  • Measurer / verifier implementer: Construction + Conformance; Measurement Record (including §14.3); Waypoint Publication only to interpret that channel’s evidence. Record tokens, including mismatch. Do not admit or refuse, and do not treat validity as a reject gate before measuring.
  • Gate / admission implementer: Construction (shape), Measurement Record (inputs), Admission Process (measurement record + policy → decide), then your policy instance outside this pack.
  • Policy tuner: policy instance only — do not edit Admission Process to change thresholds.
  • Conformance claimant: Conformance + every document claimed (always Construction).

Republished from pcoc 1b9f632 (spec/README.md of the six-doc pack; same bytes at e8030ba). Raw markdown.