Remove SegmentBufferReader; unify on AsyncPipeReaderInput Migrates all SignalR chunked streaming receive logic to AsyncPipeReaderInput, fully removing SegmentBufferReader and SegmentBufferReaderInput from the codebase. Updates all references, deserialization paths, and documentation to reflect the new unified primitive. Marks ADR-0003 as accepted (partially executed), closes related TODOs, and clarifies protocol docs. Sets DoubleBuffered as the default FlushPolicy. No wire format or behavioral changes; all tests pass. |
||
|---|---|---|
| .. | ||
| 0000-TEMPLATE.md | ||
| 0001-user-bearer-token-flow.md | ||
| 0003-acbinary-streaming-receive-architecture.md | ||
| README.md | ||
README.md
Architecture Decision Records (ADRs)
Repo-wide Architecture Decision Records — design decisions that affect two or more projects in this repo, framework↔consumer boundaries, or other repo-wide concerns. Project-scoped decisions (internal to a single sub-project) belong in that project's <project>/docs/adr/ folder, not here.
See .github/skills/adr-author/SKILL.md for the full authoring procedure (routing rules, Socratic interview, trade-off elicitation, draft → review → write).
Convention
- Format: Nygard-style ADR; one file per decision.
- Filename:
NNNN-<slug>.md— zero-padded 4-digit sequence + kebab-case slug derived from the title (e.g.0001-user-bearer-token-flow.md). - Numbering: sequential, append-only. Derive next NNNN from
max(existing) + 1at write time. - Template: copy
0000-TEMPLATE.mdwhen starting a new ADR. - Status field:
Proposed (YYYY-MM-DD)→Accepted (YYYY-MM-DD)/Rejected (YYYY-MM-DD)/Superseded by ADR-XXXX (YYYY-MM-DD). Update in-place; entry body / ID / Decision text remain immutable.
Index
| ID | Title | Status |
|---|---|---|
| 0001 | User bearer-token authentication flow (HTTP + SignalR + tag dispatch) | Accepted (2026-04-25) |
| 0003 | AcBinary streaming receive — AsyncPipeReaderInput unified primitive and transport-agnostic helpers | Proposed (2026-04-27) |
Related
- Protocol-meta decisions (rule changes, skill additions, instruction-file structural shifts) live in
.github/LLM_PROTOCOL_DECISIONS.md, not here. - Cross-cutting issues / TODOs (without architectural decision component) live in
docs/XCUT/.