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---
This commit is contained in:
+16
-5
@@ -142,21 +142,32 @@ class LLMProvider(ABC):
|
||||
|
||||
@dataclass
|
||||
class GuardrailVerdict:
|
||||
"""Verdict from a guardrail check (D-019)."""
|
||||
"""Verdict from a guardrail check (D-019).
|
||||
|
||||
category values:
|
||||
- ok / blocked_legal / blocked_financial / blocked_medical /
|
||||
blocked_impersonation / blocked_off_role / blocked_pii (v0.1 CS guardrail)
|
||||
- blocked_direct_script / blocked_imperative / blocked_false_authority /
|
||||
coaching / neutral (v0.5 LiveAssistGuardrail — D-068)
|
||||
"""
|
||||
|
||||
allowed: bool
|
||||
reason: str = ""
|
||||
filtered_text: str | None = None
|
||||
category: str = "ok" # ok | blocked_legal | blocked_financial | blocked_medical |
|
||||
# blocked_impersonation | blocked_off_role | blocked_pii
|
||||
category: str = "ok" # see category values above
|
||||
extra: dict[str, Any] = field(default_factory=dict)
|
||||
|
||||
|
||||
@dataclass
|
||||
class GuardrailContext:
|
||||
"""Context passed to a guardrail check."""
|
||||
"""Context passed to a guardrail check.
|
||||
|
||||
role: Literal["system", "user", "assistant", "debrief"] = "user"
|
||||
role: 'system' | 'user' | 'assistant' | 'debrief' | 'assist' (v0.5 — REQ-IDEATE-02).
|
||||
The 'assist' role is the LiveAssistGuardrail's context (in-loop guardrail
|
||||
processor, post-LLM, pre-TTS).
|
||||
"""
|
||||
|
||||
role: Literal["system", "user", "assistant", "debrief", "assist"] = "user"
|
||||
scenario_id: str | None = None
|
||||
session_id: str | None = None
|
||||
turn_seq: int | None = None
|
||||
|
||||
Reference in New Issue
Block a user