Skip to content

Select facial palsy as the first protocol pack, measured spontaneously - #23

Merged
logannye merged 1 commit into
mainfrom
docs/facial-palsy-protocol-pack-design
Jul 24, 2026
Merged

Select facial palsy as the first protocol pack, measured spontaneously#23
logannye merged 1 commit into
mainfrom
docs/facial-palsy-protocol-pack-design

Conversation

@logannye

Copy link
Copy Markdown
Owner

Records a design decision. No code changes — nothing here is implemented.

The platform vision already recommended facial palsy first in its evaluation order. This specifies it and commits to a measurement approach.

Why this indication

The face metrics have a property no voice metric has: left minus right is a within-frame contrast. Same camera, same lighting, same distance, same instant, same face. The confounds that make cross-visit voice comparison fragile — different microphone, room, interlocutor, topic — act on both hemifaces and cancel in the difference.

And the effects are gross geometry, not subtle statistical shifts: complete flaccid palsy displaces the oral commissure ~5–10 mm (≈0.08–0.16 inter-eye units) and widens the resting palpebral fissure ~1–3 mm (10–30% relative). One to two orders of magnitude above anything in the voice set. The incumbent instruments — House-Brackmann, Sunnybrook — are examiner-scored ordinal scales with documented inter-rater variability, so the bar is low.

Why spontaneous rather than elicited

Spontaneous and volitional facial movement travel different neural pathways — volitional corticobulbar, emotional extrapyramidal — and the dissociation is a classic clinical sign in both directions.

The consequence is decisive: spontaneity cannot be elicited. Asking a patient to smile makes the movement volitional by definition. Ambient capture is not a cheaper approximation of a task-based measurement for this construct — it is the only valid method, and every task-based system is structurally blind to it.

Facial reanimation surgery is the clearest case of a field that needs this and has no instrument: cross-facial nerve grafting aims to restore a spontaneous smile, masseteric transfer gives a stronger volitional-only smile requiring a clench, and outcome reporting falls back on patient-reported measures.

Accepted cost: this does not reproduce House-Brackmann or Sunnybrook, which are ~80% voluntary excursion. Equivalence is explicitly disclaimed rather than quietly implied.

Two boundaries recorded with the selection

Synkinesis is in scope from the start, as a safety requirement. In the 15–30% who don't recover fully, aberrant regeneration around months 3–6 produces a hypertonic orbicularis — the affected eye narrows, the commissure over-corrects, and asymmetry magnitude falls. A system reporting unsigned asymmetry would read the onset of a complication as recovery, at exactly the point the patient needs chemodenervation. Signed side-labelled asymmetry plus an oculo-oral synkinesis index is what prevents that.

Acute stroke screening is refused — a standing boundary in docs/safety.md, not an absence. Facial droop is one of three FAST items so the idea is structurally recurrent; forehead sparing isn't measurable here, and an instrument that abstains on low quality is the wrong shape for an emergency.

Also recorded

Myasthenia gravis, second on the pack list, is not reachable under the current architecture. Fatigability is the defining sign and a session-level aggregate averages within-session decay to nothing. That needs within-session time series, not a protocol pack.

Files

  • docs/superpowers/specs/2026-07-24-facial-palsy-protocol-pack-design.md — full design: measurement model, new primitives, contract implications, privacy analysis, abstention rules, validation requirements, decisions recorded
  • docs/telehealth-platform-vision.md — selection recorded where the pack ordering already lived
  • docs/safety.md — stroke firewall
  • README.md — moved under a new "Designed, not built" heading so the implemented-vs-not distinction the README maintains stays intact

Structure gate passes.

🤖 Generated with Claude Code

…neously

Records the design decision. No code changes; nothing here is implemented.

The platform vision already recommended facial palsy first. This specifies it
and commits to a measurement approach.

Why the indication: the face metrics are a within-frame left/right contrast, so
the confounds that make cross-visit voice comparison fragile — different
microphone, room, interlocutor, topic — act on both hemifaces and cancel in the
difference. And the effects are gross geometry, one to two orders of magnitude
above anything in the voice set.

Why spontaneous rather than elicited: spontaneous and volitional facial
movement travel different neural pathways, and spontaneity cannot be elicited —
asking a patient to smile makes the movement volitional by definition. Ambient
capture is not a cheaper approximation here; it is the only valid method, and
every task-based system is structurally blind to the construct. The accepted
cost is that this does not reproduce House-Brackmann or Sunnybrook, which are
dominated by voluntary excursion, and equivalence is explicitly disclaimed.

Two boundaries recorded alongside the selection:

Synkinesis is in scope from the start, as a safety requirement rather than a
feature. Aberrant regeneration reduces asymmetry MAGNITUDE, so a system
reporting unsigned asymmetry would read the onset of a complication as
recovery. Signed side-labelled asymmetry plus an oculo-oral synkinesis index is
what prevents that misreading.

Acute stroke screening is refused as a standing boundary in docs/safety.md.
Facial droop is one of three FAST items so the idea will recur; forehead
sparing is not measurable here, and an instrument that abstains on low quality
is the wrong shape for an emergency.

Also notes that myasthenia gravis, second on the pack list, is not reachable
under the current architecture at all: fatigability is the defining sign and a
session-level aggregate averages within-session decay to nothing. That needs
within-session time series, not a protocol pack.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@logannye
logannye merged commit b93d226 into main Jul 24, 2026
6 checks passed
@logannye
logannye deleted the docs/facial-palsy-protocol-pack-design branch July 24, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant