/how it works

How moc. thinks without pretending it has the whole story.

Not another confidence-only chatbot. A turn lands, a cautious answer ships, and only selected, provenance-carrying thread receipts may survive into the next turn.

Core operating loop

input → safety gate → thread draft → correction check → constrained reply → continuity ledger

text/voice inputrisk + abuse checksobservation parserauthority resolverresponse synthesissession graph

Architecture callout

This is the operational sketch we use in reviews: deterministic enough for trust, soft enough for real humans.

Signal route (full turn)

Signal flow from input to continuity ledger User signal Safety & policy gate Continuity parser Reply + thread state t0 t1 t2 t3 Capture Guard Frame Persist

Safety route map

Safety gate decision path Risk scan Policy check Escalation lane Post-response audit No risk Care endpoint

If a gate flags risk, the room hands control to a fixed escalation/review path before any reply leaves.

Entry point: what the room accepts

Text is always the default. Voice and camera are optional, secondary textures.

Permission copy and prompts

Prompts only appear if they help safety, continuity, or unlock a real task.

What passes to continuity

Layer What we do What never passes
Ephemeral layer Current-turn response shaping, tone calibration, and immediate helper suggestions. Any claim that depends on uncertain or unsupported signals.
Continuity candidate layer Recurring phrases, corrections, goals, and user-confirmed context with a timestamp. Therapeutic diagnosis, mental state labels, or medical advice claims.
Thread ledger Small thread receipts: what passed, why it passed, and when it should be revisited. Raw camera stream, raw emotion certainty claims, or uncorrected assumptions.

Authority and correction logic

moc. is built around one control principle: user intent is the highest authority. Correction is not cosmetic; it is structural.

assertionvalidationcorrectionreconcilethread updateopenings rechecked

Infrastructure in plain English

The product is not trying to be a clinician. It is trying to be a consistent room where the next thought lands somewhere it can actually continue.

When it refuses

Refusal is not failure here. It is the default when confidence, context, or safety signal is not sufficient.

Safety refusal

High-risk content and crisis patterns follow fixed escalation paths. This is not improvisation; it is a hard gate.

Uncertain refusal

If the ledger cannot anchor a confident response path, moc. says so and asks for clarity rather than pretending certainty.

Notification copy guard

Notifications never mention generic wellness progress. They only trigger for specific user-owned threads and include a local action path to silence the prompt.