| name | streaming-contracts |
| description | Use when changing SSE events, streaming payload contracts, parser behavior, degraded-state handling, or provider-specific streaming notes. |
Hussh Streaming Contracts Skill
Purpose and Trigger
- Primary scope:
streaming-contracts
- Trigger on SSE events, streaming payload contracts, parser behavior, degraded-state handling, and provider-specific streaming implementation notes.
- Avoid overlap with
quality-contracts and backend-api-contracts.
Coverage and Ownership
- Role:
spoke
- Owner family:
security-audit
Owned repo surfaces:
docs/reference/streaming
hushh-webapp/lib/streaming
hushh-webapp/__tests__/streaming
consent-protocol/api/routes/sse.py
consent-protocol/api/routes/kai/stream.py
consent-protocol/api/routes/kai/_streaming.py
Non-owned surfaces:
security-audit
backend
frontend
Do Use
- SSE event and payload contract work.
- Frontend parser or client-stream behavior that must stay aligned with backend stream semantics.
- Streaming degraded-state, provider-note, or implementation-guide updates.
Do Not Use
- Broad security or backend intake where the correct spoke is still unclear.
- Generic API contract work outside streaming.
- General quality policy when streaming is not the main contract.
Read First
docs/reference/streaming/streaming-contract.md
docs/reference/streaming/streaming-implementation-guide.md
docs/reference/streaming/vertex-ai-streaming-notes.md
Workflow
- Treat backend events, frontend parsers, and streaming docs as one contract surface.
- Keep degraded-state handling explicit in both docs and tests.
- Keep UI stream mapping explicit: model/assistant token frames produce response text, app-owned tool/stage events produce progress rows, and optional provider thinking telemetry never drives control flow. Do not simulate tokens from progress placeholders.
- When changing Agent Chat, One Voice, or portfolio-import stream UI, update the shared stream primitive, the implementation guide, and focused component/parser tests together.
- Route broad quality-policy work to
quality-contracts and broad backend routing to backend.
Handoff Rules
- If the request is still broad or ambiguous, route it back to
security-audit.
- If the task becomes general quality-policy work, use
quality-contracts.
- If the task becomes general backend API contract work, use
backend-api-contracts.
Required Checks
cd hushh-webapp && npm test -- __tests__/streaming/sse-parser.test.ts
cd hushh-webapp && npx vitest run components/agent/__tests__/agent-turn-stream-panel.test.tsx __tests__/components/import-progress-view.test.tsx
cd consent-protocol && python3 -m pytest tests/test_kai_stream_contract.py -q