Skip to content

Commit fecfab3

Browse files
committed
TASK-035-006: Update Obsidian notes and config files for TurboHTTP branding
Replace all TurboHttp project/namespace references with TurboHTTP across 109 Obsidian vault notes and the .gitignore file. Type names (TurboHttpClient, TurboHttpMetrics, etc.) are intentionally preserved. The likec4 config was already correct from a prior task.
1 parent d46cc79 commit fecfab3

106 files changed

Lines changed: 493 additions & 493 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ coverage-results/
363363
notes/.obsidian/
364364
notes/Debugging/
365365

366-
TurboHttp/.obsidian/
366+
TurboHTTP/.obsidian/
367367

368368
.maggus/work.pid
369369

.maggus/features/feature_035.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,10 +233,10 @@ Config files:
233233
**Important:** Use Obsidian MCP tools for notes/ files as per CLAUDE.md rules.
234234

235235
**Acceptance Criteria:**
236-
- [ ] All Obsidian notes reference `TurboHTTP` for project/namespace
237-
- [ ] `.gitignore` updated
238-
- [ ] likec4 config updated
239-
- [ ] No stale `TurboHttp` references remain outside of type names
236+
- [x] All Obsidian notes reference `TurboHTTP` for project/namespace
237+
- [x] `.gitignore` updated
238+
- [x] likec4 config updated
239+
- [x] No stale `TurboHttp` references remain outside of type names
240240

241241
### TASK-035-007: Full build and test verification
242242
**Description:** As a developer, I want to verify the entire rename is correct by running a full build and test suite.

notes/00-Index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# TurboHttp Knowledge Base
1+
# TurboHTTP Knowledge Base
22

3-
This is the central hub for all TurboHttp project knowledge — connecting session logs, architecture decisions, RFC compliance notes, and feature planning.
3+
This is the central hub for all TurboHTTP project knowledge — connecting session logs, architecture decisions, RFC compliance notes, and feature planning.
44

55
## Architecture & Design Decisions
66

@@ -60,7 +60,7 @@ See [Architecture Notes](./Architecture/) for full decision records.
6060
- [[Features/Infrastructure/Feature019_Stream_Survival|Feature 019: Stream Survival]] — Stream error absorption and survival hardening
6161

6262
### Performance
63-
- [[Features/Performance/Feature024_Benchmark_Comparison|Feature 024: Benchmark Comparison]]TurboHttp vs HttpClient performance comparison
63+
- [[Features/Performance/Feature024_Benchmark_Comparison|Feature 024: Benchmark Comparison]]TurboHTTP vs HttpClient performance comparison
6464

6565
## Active Debugging
6666

notes/Architecture/00-ONBOARDING.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Developer Onboarding Guide
33
description: >-
4-
Start here — orients new developers and fresh AI sessions to TurboHttp
4+
Start here — orients new developers and fresh AI sessions to TurboHTTP
55
architecture, workflows, and vault navigation
66
tags:
77
- architecture
@@ -13,11 +13,11 @@ updated: '2026-04-07'
1313
---
1414
# Developer Onboarding Guide
1515

16-
Welcome to TurboHttp. This note is the single starting point for new developers and fresh AI agent sessions. Read it once, then follow the links to deeper references.
16+
Welcome to TurboHTTP. This note is the single starting point for new developers and fresh AI agent sessions. Read it once, then follow the links to deeper references.
1717

1818
## Project Purpose
1919

20-
TurboHttp is a high-performance HTTP client library for .NET built on Akka.Streams. It implements HTTP/1.0, HTTP/1.1, HTTP/2, and HTTP/3 (QUIC) with full RFC compliance, including:
20+
TurboHTTP is a high-performance HTTP client library for .NET built on Akka.Streams. It implements HTTP/1.0, HTTP/1.1, HTTP/2, and HTTP/3 (QUIC) with full RFC compliance, including:
2121

2222
- Connection pooling and keep-alive management
2323
- Redirect following and retry logic
@@ -40,7 +40,7 @@ The library exposes an `ITurboHttpClient` interface compatible with `HttpMessage
4040

4141
```text
4242
src/
43-
├── TurboHttp/ # Main library
43+
├── TurboHTTP/ # Main library
4444
│ ├── Client/ # ITurboHttpClient, factory, DI
4545
│ ├── Handlers/ # TurboHandler (HttpMessageHandler bridge)
4646
│ ├── Hosting/ # DI registration extensions
@@ -57,10 +57,10 @@ src/
5757
│ ├── Connection/ # ConnectionPool, ConnectionLease, IConnectionScope, ConnectionStage
5858
│ ├── Tcp/ # TcpTransportHandler, ClientState, ClientByteMover
5959
│ └── Quic/ # QuicTransportHandler, QuicConnectionManager
60-
├── TurboHttp.Tests/ # Component-organized test suite
61-
├── TurboHttp.StreamTests/ # Akka.Streams stage tests
62-
├── TurboHttp.Benchmarks/ # BenchmarkDotNet performance suite
63-
└── TurboHttp.sln # Solution file
60+
├── TurboHTTP.Tests/ # Component-organized test suite
61+
├── TurboHTTP.StreamTests/ # Akka.Streams stage tests
62+
├── TurboHTTP.Benchmarks/ # BenchmarkDotNet performance suite
63+
└── TurboHTTP.sln # Solution file
6464
notes/ # This vault — single source of truth for non-code knowledge
6565
docs/ # VitePress documentation site
6666
```
@@ -69,30 +69,30 @@ docs/ # VitePress documentation site
6969

7070
```bash
7171
# Restore and build
72-
dotnet restore ./src/TurboHttp.sln
73-
dotnet build --configuration Release ./src/TurboHttp.sln
72+
dotnet restore ./src/TurboHTTP.sln
73+
dotnet build --configuration Release ./src/TurboHTTP.sln
7474

7575
# Run all tests
76-
dotnet test ./src/TurboHttp.sln
76+
dotnet test ./src/TurboHTTP.sln
7777

7878
# Run specific test class (xUnit v3 MTP filter — note: args after --)
79-
dotnet test ./src/TurboHttp.Tests/TurboHttp.Tests.csproj -- --filter-class "TurboHttp.Tests.Http2.Http2DecoderBasicFrameTests"
79+
dotnet test ./src/TurboHTTP.Tests/TurboHTTP.Tests.csproj -- --filter-class "TurboHTTP.Tests.Http2.Http2DecoderBasicFrameTests"
8080

8181
# Run tests for a component
82-
dotnet test ./src/TurboHttp.Tests/TurboHttp.Tests.csproj -- --filter-namespace "TurboHttp.Tests.Http2"
82+
dotnet test ./src/TurboHTTP.Tests/TurboHTTP.Tests.csproj -- --filter-namespace "TurboHTTP.Tests.Http2"
8383

8484
# Run tests with specific RFC trait
85-
dotnet test ./src/TurboHttp.Tests/TurboHttp.Tests.csproj -- --filter "Trait~RFC9113"
85+
dotnet test ./src/TurboHTTP.Tests/TurboHTTP.Tests.csproj -- --filter "Trait~RFC9113"
8686

8787
# Run benchmarks
88-
dotnet run --configuration Release ./src/TurboHttp.Benchmarks/TurboHttp.Benchmarks.csproj
88+
dotnet run --configuration Release ./src/TurboHTTP.Benchmarks/TurboHTTP.Benchmarks.csproj
8989
```
9090

9191
### Documentation Site (requires Node.js 20+)
9292

9393
```bash
9494
cd docs && npm install
95-
npm run docs:dev # Dev server at http://localhost:5173/TurboHttp/
95+
npm run docs:dev # Dev server at http://localhost:5173/TurboHTTP/
9696
npm run docs:build # Static site output: docs/.vitepress/dist/
9797
npm run docs:preview # Preview production build
9898
```
@@ -196,7 +196,7 @@ To create a feature plan, use the `maggus:maggus-plan` skill in Claude Code.
196196
### PR Process
197197

198198
1. Implement in a feature branch
199-
2. Run full test suite: `dotnet test ./src/TurboHttp.sln`
199+
2. Run full test suite: `dotnet test ./src/TurboHTTP.sln`
200200
3. Verify zero diagnostics via Roslyn Navigator `get_diagnostics`
201201
4. Stage specific changed files: `git add <files>`
202202
5. Write commit message to `COMMIT.md` in repo root
@@ -254,7 +254,7 @@ Key rules:
254254

255255
```csharp
256256
// Namespace matches component folder
257-
namespace TurboHttp.Tests.Http2.Encoding;
257+
namespace TurboHTTP.Tests.Http2.Encoding;
258258

259259
public sealed class Http2EncoderSpec : StreamTestBase
260260
{
@@ -279,7 +279,7 @@ public sealed class Http2EncoderSpec : StreamTestBase
279279

280280
Key rules (post-Feature-040):
281281

282-
- **Test classes**: `public sealed class`, namespace matches component folder (e.g., `TurboHttp.Tests.Http2.Encoding`, `TurboHttp.Tests.Caching`)
282+
- **Test classes**: `public sealed class`, namespace matches component folder (e.g., `TurboHTTP.Tests.Http2.Encoding`, `TurboHTTP.Tests.Caching`)
283283
- **File naming**: `<Subject>Spec.cs` — descriptive name with `Spec` suffix (Akka.NET convention)
284284
- **Use `[Fact]`** for single cases, **`[Theory]`** + **`[InlineData]`** for parameterised cases
285285
- **RFC Traceability**: `[Trait("RFC", "RFC<number>-<section>")]` (e.g., `[Trait("RFC", "RFC9113-4.1")]`)

notes/Architecture/Analysis/08-HTTP2_DECODER_MIGRATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ aliases:
4343

4444
**Goal**: Remove `Http2Decoder`, `Http2DecodeResult`, `Http2StreamLifecycleState` from production
4545

46-
**Key**: Phase 44 creates `Http2ProtocolSession` (test helper in `src/TurboHttp.Tests/Http2ProtocolSession.cs`) — lightweight stateful wrapper over `Http2FrameDecoder`.
46+
**Key**: Phase 44 creates `Http2ProtocolSession` (test helper in `src/TurboHTTP.Tests/Http2ProtocolSession.cs`) — lightweight stateful wrapper over `Http2FrameDecoder`.
4747

4848
### Migration Mapping
4949

notes/Architecture/Analysis/10-DEADLOCK_ANALYSIS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ status: all-fixed
99
---
1010
# Deadlock Analysis Catalog
1111

12-
Complete catalog of all known deadlock patterns in TurboHttp, organized by layer. Each entry includes root cause, affected files, fix status, and test coverage.
12+
Complete catalog of all known deadlock patterns in TurboHTTP, organized by layer. Each entry includes root cause, affected files, fix status, and test coverage.
1313

1414
> **DL-009** and **DL-010** are **Fixed** — resolved by Feature 030 (IConnectionScope + linear topology rewrite).
1515

notes/Architecture/Analysis/11-STAGE_COMPLETION_AUDIT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ tags:
1313

1414
## Executive Summary
1515

16-
A systematic audit of all 48 GraphStage implementations in TurboHttp found **20 confirmed bugs** where stream termination signals (onUpstreamFinish, onUpstreamFailure, onDownstreamFinish) were not properly propagated. These omissions violated the Reactive Streams contract and could lead to **backpressure deadlocks**, where downstream stages wait indefinitely for termination signals that never arrive.
16+
A systematic audit of all 48 GraphStage implementations in TurboHTTP found **20 confirmed bugs** where stream termination signals (onUpstreamFinish, onUpstreamFailure, onDownstreamFinish) were not properly propagated. These omissions violated the Reactive Streams contract and could lead to **backpressure deadlocks**, where downstream stages wait indefinitely for termination signals that never arrive.
1717

18-
**Status (2026-03-27): All 20 bugs fixed.** Each fix adds `FailStage(ex)` (or `Fail(outlet, ex)` for BidiStages) after existing logging. 17 regression tests added in `TurboHttp.StreamTests/Streams/26–29_*StageCompletionRegressionTests.cs`. **0 open bugs remain.**
18+
**Status (2026-03-27): All 20 bugs fixed.** Each fix adds `FailStage(ex)` (or `Fail(outlet, ex)` for BidiStages) after existing logging. 17 regression tests added in `TurboHTTP.StreamTests/Streams/26–29_*StageCompletionRegressionTests.cs`. **0 open bugs remain.**
1919

2020
---
2121

notes/Architecture/Analysis/13-CONNECTION_POOL_HIERARCHY_ANALYSIS.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Connection Pool Actor Hierarchy Analysis
33
description: >-
4-
Deep analysis of three actor hierarchy options for TurboHttp connection
4+
Deep analysis of three actor hierarchy options for TurboHTTP connection
55
management
66
tags:
77
- architecture
@@ -17,7 +17,7 @@ aliases:
1717

1818
**Status**: Complete analysis with recommendation
1919
**Date**: 2026-04-03
20-
**Context**: TurboHttp connection pooling actor design decision
20+
**Context**: TurboHTTP connection pooling actor design decision
2121

2222
---
2323

@@ -582,7 +582,7 @@ public async Task ConnectionManagerActor_Routes_To_Child_By_Endpoint()
582582

583583
## References
584584

585-
- **Current**: `/d/GIT/Akka.Streams.Http/src/TurboHttp/Transport/ConnectionManagerActor.cs` (461 lines)
586-
- **QUIC**: `/d/GIT/Akka.Streams.Http/src/TurboHttp/Transport/QuicConnectionManager.cs` (377 lines, non-actor)
587-
- **Transport Handler**: `/d/GIT/Akka.Streams.Http/src/TurboHttp/Transport/TcpTransportHandler.cs`
585+
- **Current**: `/d/GIT/Akka.Streams.Http/src/TurboHTTP/Transport/ConnectionManagerActor.cs` (461 lines)
586+
- **QUIC**: `/d/GIT/Akka.Streams.Http/src/TurboHTTP/Transport/QuicConnectionManager.cs` (377 lines, non-actor)
587+
- **Transport Handler**: `/d/GIT/Akka.Streams.Http/src/TurboHTTP/Transport/TcpTransportHandler.cs`
588588
- **Docs**: `notes/Architecture/Design/01-LAYERED_ARCHITECTURE.md`

notes/Architecture/Analysis/14-OPTION_B_IMPLEMENTATION_GUIDE.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ ConnectionManagerActor (router/supervisor)
6363

6464
```csharp
6565
using Akka.Actor;
66-
using TurboHttp.Diagnostics;
67-
using TurboHttp.Internal;
66+
using TurboHTTP.Diagnostics;
67+
using TurboHTTP.Internal;
6868

69-
namespace TurboHttp.Transport;
69+
namespace TurboHTTP.Transport;
7070

7171
/// <summary>
7272
/// Single-host connection manager for TCP (HTTP/1.x, 2.0).
@@ -490,10 +490,10 @@ internal sealed class TcpHostConnectionActor : ReceiveActor, IWithTimers
490490

491491
```csharp
492492
using Akka.Actor;
493-
using TurboHttp.Diagnostics;
494-
using TurboHttp.Internal;
493+
using TurboHTTP.Diagnostics;
494+
using TurboHTTP.Internal;
495495

496-
namespace TurboHttp.Transport;
496+
namespace TurboHTTP.Transport;
497497

498498
/// <summary>
499499
/// Root connection manager actor that routes Acquire/Release messages
@@ -642,7 +642,7 @@ internal sealed class ConnectionManagerActor : ReceiveActor
642642

643643
### Phase 3: Update Tests (1 hour)
644644

645-
#### File: `TurboHttp.Tests/Transport/ConnectionPoolTests.cs`
645+
#### File: `TurboHTTP.Tests/Transport/ConnectionPoolTests.cs`
646646

647647
**Add new test class at end of file:**
648648

@@ -702,12 +702,12 @@ cd /d/GIT/Akka.Streams.Http/src
702702
dotnet build --configuration Release
703703

704704
# Run transport tests
705-
dotnet test --project TurboHttp.Tests/TurboHttp.Tests.csproj -- \
706-
--filter-namespace "TurboHttp.Tests.Transport"
705+
dotnet test --project TurboHTTP.Tests/TurboHTTP.Tests.csproj -- \
706+
--filter-namespace "TurboHTTP.Tests.Transport"
707707

708708
# Run integration tests (full system)
709-
dotnet test --project TurboHttp.IntegrationTests/TurboHttp.IntegrationTests.csproj -- \
710-
--filter-namespace "TurboHttp.IntegrationTests.H11"
709+
dotnet test --project TurboHTTP.IntegrationTests/TurboHTTP.IntegrationTests.csproj -- \
710+
--filter-namespace "TurboHTTP.IntegrationTests.H11"
711711
```
712712

713713
**Expected result**: All tests pass. Existing tests should not need changes (transparent refactoring).
@@ -721,7 +721,7 @@ dotnet test --project TurboHttp.IntegrationTests/TurboHttp.IntegrationTests.cspr
721721
**Replace Transport Layer section:**
722722

723723
```markdown
724-
### Transport Layer (`TurboHttp/Transport/`)
724+
### Transport Layer (`TurboHTTP/Transport/`)
725725

726726
**Hierarchical connection pool** — per-endpoint actor with fault isolation:
727727
- `ConnectionManagerActor` — root router/supervisor
@@ -768,8 +768,8 @@ dotnet test --project TurboHttp.IntegrationTests/TurboHttp.IntegrationTests.cspr
768768
- [ ] Remove per-host logic (all in child now)
769769
- [ ] Add supervision strategy
770770
- [ ] Run `dotnet build --configuration Release`
771-
- [ ] Run transport tests: `dotnet test --project TurboHttp.Tests/TurboHttp.Tests.csproj -- --filter-namespace "TurboHttp.Tests.Transport"`
772-
- [ ] Run integration tests: `dotnet test --project TurboHttp.IntegrationTests/...`
771+
- [ ] Run transport tests: `dotnet test --project TurboHTTP.Tests/TurboHTTP.Tests.csproj -- --filter-namespace "TurboHTTP.Tests.Transport"`
772+
- [ ] Run integration tests: `dotnet test --project TurboHTTP.IntegrationTests/...`
773773
- [ ] Verify GraphStage unchanged (no changes needed)
774774
- [ ] Verify TcpTransportHandler unchanged (still calls root actor)
775775
- [ ] Update documentation

notes/Architecture/Analysis/_INDEX.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ tags:
1010
---
1111
# Analysis
1212

13-
Technical investigations, audits, and migration plans for TurboHttp.
13+
Technical investigations, audits, and migration plans for TurboHTTP.
1414

1515
## Notes
1616

0 commit comments

Comments
 (0)