From 9005fd53a2c7d7c3d68a0b2d00229c4b8a8267dd Mon Sep 17 00:00:00 2001 From: claude Date: Sat, 18 Jul 2026 00:48:43 +0200 Subject: [PATCH] docs(glossary): record the C27 author-declared sense of 'tap' (#282) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The measurement milestone overloaded 'tap': beside the closed campaign persist_taps vocabulary (equity | exposure | r_equity | net_r_equity), the word now also names a declared tap — a Composite.taps entry a hand-authored blueprint declares on an interior output wire (C27), the output-side twin of an input_role, bound run-mode-aware. Record-reality glossary update reconciling the two senses; a worked authoring example is owed at docwriter (#285). --- docs/glossary.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/glossary.md b/docs/glossary.md index 3a18fca..8e905dc 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -321,6 +321,8 @@ An orchestration axis varying tuning params (grid or random) within a fixed stru **Avoid:** — A named recorded stream produced by a recording `sink` — the addressable label (e.g. `equity`, `net_r_equity`) under which one sink's per-cycle output is persisted as a columnar (SoA) `ColumnarTrace` and selected for charting via `--tap`. Distinct from the `sink` node that emits it (a tap is the stream, the sink is the role) and from a whole recorded run (a bundle of taps); taps fire at their own cadences and are fused only by joining on the recorded timestamp, never by positional index. In a `campaign document`, `persist_taps` names taps from the CLOSED vocabulary `equity | exposure | r_equity | net_r_equity` (`tap_vocabulary`, 0109/#201) — a new observable is a new vocabulary entry or an authored blueprint sink, never an open node-path namespace. Persisted taps are charted by the printed handle: a campaign run's via the record's `trace_name`, a `sweep`/`walkforward --trace` family's via the family handle the run prints (`aura chart `; its members are keyed `/` in the chart) — or, equivalently, by the `--trace ` the user chose, when `NAME` uniquely resolves against the recorded campaign documents (#238; a name reused across runs refuses rather than guessing). +Since C27 (#282) the word also names a second, author-facing sense: a **declared tap** — a `Composite.taps` entry `Tap { name, from: {node, field} }` a hand-authored blueprint declares on an interior output wire, the output-side twin of an `input_role`. It is a pure declaration (no channel endpoint); the harness binds it run-mode-aware (a single `aura run` constructs a recorder at each and persists the series through the trace store; a sweep leaves it unbound and inert). This is an OPEN, per-blueprint author-declared name — distinct from the CLOSED campaign `persist_taps` vocabulary above, which selects among fixed observables of the standard R-harness. Both senses land as `ColumnarTrace`s in the same trace store; the closed vocabulary is what a `campaign document` selects, the declared tap is what a blueprint author names. + ### topology hash **Avoid:** — The `content id` of a run's signal blueprint in its run-record role: stamped into the manifest as `topology_hash`, keying the reproduction store and anchoring `aura reproduce` — the same SHA-256 over the same canonical bytes. Distinct from the debug-name-blind `identity id`.