> For the complete documentation index, see [llms.txt](https://faction-os.gitbook.io/faction-os-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/phases/phase_24/session_05_scrying_and_alert_focus.md).

# Session 05: Scrying And Alert Focus

**Session ID**: `phase24-session05-scrying-and-alert-focus` **Package**: apps/web **Status**: Not Started **Estimated Tasks**: \~14 **Estimated Duration**: 2-4 hours

***

## Objective

Make silence legible and urgency singular: heroes active but event-silent for more than the threshold shift to a visible scrying (channeling) posture, and exactly one board element - the projection's `alertFocus` - pulses at any moment.

***

## Scope

### In Scope (MVP)

* Scrying posture: a silent-but-active hero (active mission, no tool event past the threshold, default \~20s as a named constant) renders a slow rune-circle pulse in motion mode and a static channeling badge joining the existing state-badge set in `Battlefield.tsx`.
* Threshold derivation stays pure and selector-fed (projection `lastEventAt` / per-hero activity), with no per-component timers beyond one shared clock source.
* Alert pulse layer: render the single `alertFocus` ring around whichever DOM node owns the focus (flare > gate > siege > ram > skirmisher > newCamp), replacing any per-component pulsing introduced earlier.
* Silence behavior: ten event-free minutes keep the board in a calm, legible state with zero urgency signals - tested.
* Reduced-motion twins for both posture and pulse.
* Component tests: posture appears/clears at the threshold, only one pulse at a time, focus promotion when cleared, silence emits no urgency.

### Out of Scope

* World ambience art passes, dynamic audio, keep smoke (later phases).
* Changes to the alert-focus priority ladder itself (already in projection).

***

## Prerequisites

* [ ] Session 03 complete (live enemy markers exist for focus targets).

***

## Deliverables

1. Scrying posture badge/pulse integrated into the existing hero state vocabulary.
2. Alert pulse layer rendering the single `alertFocus`.
3. Focused component/selector tests.

***

## Success Criteria

* [ ] A silent-but-active hero reads as channeling, not stalled or disconnected, in both motion modes.
* [ ] Exactly one element pulses; clearing it promotes the next focus.
* [ ] Ten event-free minutes pass the glance test with zero urgency signals.
* [ ] Web typecheck and focused tests pass.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/phases/phase_24/session_05_scrying_and_alert_focus.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
