# X-4 Tara Rail channel integration

Date: 2026-07-22

## Source-authority audit

| Concern                     | Authoritative source                                                               | Rail decision                                                                                                                                                            |
| --------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Breath pace                 | `@tara/features` `getModalityTaxonomyEntry('breathwork-coherent')`                 | Read the live five-second inhale/five-second exhale cadence at runtime. The adapter has no copied pace table and fails closed if Tara removes the cadence.               |
| Safe exit and accessibility | The same Tara modality entry's `accessibilityFallback` and `contraindicationNotes` | Carry both into the tile. The act is voluntary and the user can abandon it through the existing Rail host.                                                               |
| Hour turns                  | IANA local time supplied to `taraHourlyBellDripsBetween`                           | Emit one `tara.hourly-bell` content event at each local top of hour, including fractional UTC offsets and DST transitions. The 48-hour read window is bounded.           |
| Delivery authority          | V10 channel contract and Rail policy                                               | The bell is an ordinary strict drip with no priority or interrupt field. It declares no live moment, elevation, autoplay, sound, visual, or haptic delivery instruction. |

The Oshun BFF Tara adapter was also inspected. It owns recommended-session,
continuation, progress, favourite, and audio reads, but it does not own a
canonical short breath cadence or hour-boundary stream. Using it here would add
an indirection without adding authority. Tara's domain taxonomy is therefore the
correct source for the one-breath act.

## Adapter

`@oshun/v10-rail-channel-tara` provides:

- a strict wellness manifest for `v1.tara`, with one spectator face, one
  `tara.hourly-bell` drip type, one `tara-one-breath` micro-act, and zero live
  moments;
- a two-second-glance tile whose pace, accessibility fallback, and safety note
  are derived from Tara's coherent-breath entry;
- a real-time executor which paces exactly one canonical ten-second cycle. Its
  twelve-second host budget leaves transport overhead without extending the
  breath itself;
- a local-hour drip projector driven by IANA time zones. Its minute scan is
  bounded to 48 hours and correctly handles quarter-/half-hour offsets as well
  as offset changes;
- strict input and completion schemas with no score, streak, reward, penalty, or
  attendance state.

The frontend treatment follows a single quiet breath line rather than a
meditation dashboard. The production directory exposes Tara using the existing
cardless settings list; no new autoplay, ornamental motion, or competing chrome
was introduced.

## Invariants and production registration

Tara is registered in the shipped V10 web channel directory and in Phase A's
post-pilot invariant set. It is intentionally not reclassified as a Phase A
pilot. The shared suite proves the manifest and every declared drip type pass
`no-absence-punishment`, every face stays motionless below loudness 3, and Tara
has no live-moment route into the elevation budget.

The hour event contains content facts only (`boundaryAt`, `bellKind`, IANA time
zone, source, and optional-participation semantics). Rendering, batching,
haptics, and sound remain Rail-owned.

## Verification

- Tara channel typecheck and lint: pass.
- Tara channel Vitest: 12/12 pass, including real Rail-host schema binding,
  exact pacing, local fractional-offset scheduling, bounded ranges, and strict
  failure cases.
- Tara source taxonomy Vitest: 5/5 pass; focused source lint passes.
- Phase A typecheck and lint: pass; invariant Vitest 30/30 passes.
- V10 web typecheck and lint: pass; Vitest 166/166 passes.
- Frozen offline filtered lockfile validation: pass.
- Production-directory Playwright: 4/4 across desktop and mobile Chromium,
  including the repository's automatic Axe accessibility scan and horizontal
  overflow assertion.

## Thread dependency

This adapter supplies the real Tara channel authority needed by the composed
morning Thread. X-3 remains open until Arete is adapted and the V1 review's
ritual ordering is reconciled with the Rail-specific sequence.
