← Q-Branch launcher

Watch Tap — codebook

# TAP CODEBOOK — Watch Tap Signal (Item 5)
**Horizon Works · Q-Branch · 2026-10-31 · Theme: "Signal Brass"**
**Status: PROTOTYPE — paper codebook + browser demo only. No watch app, no radio link, no correlator wiring exists yet.**

A silent language for the wrist: four tap patterns a wearer can send — and feel — without looking at a screen, speaking, or pulling out a phone. Each pattern maps to exactly one `house.event/1` message. The codebook is deliberately tiny: four signals, learnable in one sitting, distinguishable by count and length alone.

---

## 1. Timing primitives

| Primitive | Duration | Meaning |
|---|---|---|
| SHORT tap / buzz | 120 ms | One beat |
| LONG tap / buzz | 400 ms | One held beat |
| Intra-pattern gap | 100–120 ms pause | Separates taps inside one signal |
| Group gap (DISTRESS only) | 250 ms pause | Separates the 3-3-3 groups |

A sender double-taps, holds, or repeats on the watch case/bezel (or, in a future build, on a paired tap surface). A receiver feels the same durations as vibration. The prototype page in this folder renders both directions with `navigator.vibrate()` patterns built from exactly these numbers.

## 2. The four patterns

### CHECK-IN — 2 short taps
- **Pattern:** SHORT · SHORT  (`[120, 120, 120]` as vibrate/pause/vibrate)
- **Plain meaning:** "I'm here / I'm okay / routine hello."
- **Use:** Arriving, settling in, periodic okay at an agreed interval.
- **Emits:** `signal: "CHECK-IN"`, output **RECORD** — logged, no one is paged.

### COME-HERE — 3 short + 1 long
- **Pattern:** SHORT · SHORT · SHORT · LONG  (`[120, 100, 120, 100, 120, 100, 400]`)
- **Plain meaning:** "Come to me / I need you here, not urgent."
- **Use:** Calling the other person over — across a venue, a house, a show floor.
- **Emits:** `signal: "COME-HERE"`, output **CHECK** — the correlator proposes; the owner decides and acts.

### ALL-CLEAR — 1 long
- **Pattern:** LONG  (`[400]`)
- **Plain meaning:** "Resolved / stand down / all good now."
- **Use:** Closing a CHECK-IN chain or answering a COME-HERE / DISTRESS follow-up.
- **Emits:** `signal: "ALL-CLEAR"`, output **RECORD** — logged as the closing line of the thread.

### DISTRESS — repeating SOS-style 3-3-3
- **Pattern:** SHORT·SHORT·SHORT — LONG·LONG·LONG — SHORT·SHORT·SHORT, then repeat
  (`[120, 100, 120, 100, 120, 250, 400, 100, 400, 100, 400, 250, 120, 100, 120, 100, 120]`)
- **Plain meaning:** "I need help now."
- **Use:** The wearer feels unsafe, unwell, or needs immediate human attention.
- **Emits:** `signal: "DISTRESS"`, output **CHECK — never an automated action.**
- **Fence (verbatim discipline):** DISTRESS routes as **CHECK, never automated action.** No call is placed, no door is unlocked, no alert leaves the house on the strength of a tap pattern alone. A human — the owner — sees the CHECK, confirms by an independent sense (voice, eyes, a second device), and actuates. This is Defense Ruling 1 applied to the wrist: **the system proposes, the owner actuates.**

## 3. house.event/1 message shapes

Every pattern emits one event in the house spine schema. Common envelope for all four:

- `schema` — always `"house.event/1"`
- `kind` — always `"watch.tap"`
- `signal` — one of `CHECK-IN` / `COME-HERE` / `ALL-CLEAR` / `DISTRESS`
- `output` — one of `CHECK` / `RECORD` only (see §4 — never `CONFIRM` from a tap alone)
- `source` — `"watch"` (future builds name the device, e.g. `"watch.owner"`)
- `ts` — ISO-8601 timestamp with timezone, set at send time
- `detail` — human-readable one-liner

### CHECK-IN
```json
{
  "schema": "house.event/1",
  "kind": "watch.tap",
  "signal": "CHECK-IN",
  "pattern": "2-short",
  "output": "RECORD",
  "source": "watch",
  "ts": "2026-10-31T20:55:00-04:00",
  "detail": "Routine check-in — wearer okay."
}
```

### COME-HERE
```json
{
  "schema": "house.event/1",
  "kind": "watch.tap",
  "signal": "COME-HERE",
  "pattern": "3-short-1-long",
  "output": "CHECK",
  "source": "watch",
  "ts": "2026-10-31T20:55:00-04:00",
  "detail": "Wearer requests the other person come to them. Non-urgent."
}
```

### ALL-CLEAR
```json
{
  "schema": "house.event/1",
  "kind": "watch.tap",
  "signal": "ALL-CLEAR",
  "pattern": "1-long",
  "output": "RECORD",
  "source": "watch",
  "ts": "2026-10-31T20:55:00-04:00",
  "detail": "Stand down — situation resolved."
}
```

### DISTRESS
```json
{
  "schema": "house.event/1",
  "kind": "watch.tap",
  "signal": "DISTRESS",
  "pattern": "sos-3-3-3-repeat",
  "output": "CHECK",
  "source": "watch",
  "ts": "2026-10-31T20:55:00-04:00",
  "detail": "Wearer needs help now. Routes as CHECK only — no automated action. Owner confirms and actuates."
}
```

## 4. Defense Ruling 1 compliance

Defense Ruling 1 (adopted 2026-10-25) fixes the fusion spine's outputs at **CHECK / CONFIRM / RECORD only**, with **CONFIRM requiring two physics-independent senses** and **the owner as the only actuator against people**.

Watch Tap honors it three ways:

1. **No CONFIRM, ever, from a tap.** A tap is one sense (touch/haptics). No pattern in this codebook — including DISTRESS — emits `CONFIRM`. Confirmation always needs a second, independent sense supplied by a human or another producer.
2. **Only CHECK and RECORD are emitted.** CHECK-IN and ALL-CLEAR are `RECORD` (the ledger remembers). COME-HERE and DISTRESS are `CHECK` (a human looks).
3. **No automated actuation.** Nothing in this codebook dials, unlocks, dispatches, or messages a third party. The event lands on the spine; the correlator may surface it (LAN page → phone buzz → watch tap, per Ruling 1's channels); the owner acts.

## 5. Learning & confusion notes

- CHECK-IN (2 short) vs. the start of COME-HERE (3 short + long): the long tail is the discriminator — if it ends long, it's COME-HERE.
- ALL-CLEAR (1 long) vs. a single stray long press: ALL-CLEAR is only meaningful inside an open thread; a lone long with no open thread still logs as RECORD and harms nothing.
- DISTRESS cannot be confused with any other pattern: it is the only repeating pattern and the only one with long-group middles.
- Send discipline: one pattern, pause two seconds, optionally repeat once. Rapid-fire mixed patterns are read as noise and logged RECORD.

## 6. What this codebook is not

Not a medical-alert system, not a substitute for calling for help when a phone and voice are available, and not a covert-signaling guarantee — it is a quiet convenience layer on the house spine, honest about its one-sense limit.