Files
praxis/server/assist/consent.py
T
Praxis CI ec397f2c65 docs(milestone): complete v0.5-live-assist — v0.1.13 tagged, milestone release, merged to main
v0.5 (Live Assist — on-the-job voice companion) milestone complete.
4 phases: P0 (pre-execution, v0.1.10) → P1 (assist core + guardrail,
v0.1.11) → P2 (integration + tech-debt + NFR, v0.1.12) → P3 (final
review + ship, v0.1.13 = milestone release).

16/16 REQs covered (3 ASSIST + 4 NFR + 9 IDEATE). 4 v0.6 backlog.
469 tests passed, 0 failed. 1 P0 fixed (guardrail processor safety).
8 P1+ flagged for v0.6. 8 v0.4 P1+ tech-debt addressed.
G-049 + G-067 grill MUSTs resolved. ESCALATION-01 (PIPEDA) OPEN for
human legal review before assist surface go-live.

---ci---
project: praxis
phase: 3
milestone: v0.5
status: complete
requirements:
  covered: [REQ-ASSIST-01, REQ-ASSIST-02, REQ-ASSIST-03, REQ-NFR-ASSIST-01, REQ-NFR-ASSIST-02, REQ-NFR-ASSIST-03, REQ-NFR-ASSIST-04, REQ-IDEATE-01, REQ-IDEATE-02, REQ-IDEATE-03, REQ-IDEATE-04, REQ-IDEATE-05, REQ-IDEATE-06, REQ-IDEATE-07, REQ-IDEATE-08, REQ-IDEATE-09]
  partial: []
---/ci---
2026-08-04 22:35:56 +00:00

28 lines
1.1 KiB
Python

"""Consent disclosure for Live Assist (D-070, D-073, TASK-02-04).
The learner-facing disclosure: the mic is active, those around you may be
recorded, you are responsible for following local consent laws, end the shift
to stop recording. Surfaced to the client in the /api/assist/shift/start
response so the client can display it.
D-073 flag: the legal review of Canada PIPEDA + one-party/two-party consent
(R-ASSIST-08) is documented as an open question for the orchestrator — the
disclosure is implemented regardless (ethically required even if the legal
review is pending).
"""
from __future__ import annotations
CONSENT_DISCLOSURE_TEXT = (
"Praxis Assist is on. Your mic is active for coaching. Those around you may be "
"recorded by your microphone. You are responsible for following your local "
"consent laws. End the shift to stop recording."
)
def get_consent_disclosure() -> str:
"""Return the learner-facing consent disclosure text (D-070)."""
return CONSENT_DISCLOSURE_TEXT
__all__ = ["CONSENT_DISCLOSURE_TEXT", "get_consent_disclosure"]