feat(api): add Fiber operational HTTP adapter - #8
Merged
Conversation
9 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked Issue
Fixes #7
Summary
pkg/apiboundary/livezand provider-authoritative/readyzoperational probes without wiring a node command or active listenerServe(net.Listener)and deadline-requiredShutdown(context.Context)lifecycle methodsRequired Format
feat/fiber-operational-httpScope And Project Status
No throughput or latency claim is introduced.
Protocol, Safety, And Compatibility
Apply.The PR adds an operational HTTP adapter, so the networking/API checkbox is intentionally unchecked. It adds no business route or FinalWeave protocol schema. Construction starts no listener or goroutine. A future recovered composition root must provide the pre-bound listener and TLS wrapper; current CLI behavior remains fail-closed and cannot call
Serve./livezmeans only that the HTTP event loop responds./readyznever synthesizes readiness and returns only the injected authority's bounded status.Request work is bounded by positive hard-capped bytes, header buffer, connection count, and timeouts. The request context deadline is cooperative for application code; Fiber read/write deadlines bound transport I/O. Panic values and arbitrary readiness details are never reflected or logged.
Validation
git diff --checkpython3 scripts/check_docs.pygo mod verifyand a cleango mod tidydiffgo vet ./...go test -count=1 -mod=readonly ./...go test -race -count=1 -mod=readonly ./...python3 scripts/check_go_architecture.pyAdditional validation:
go test -count=20 ./pkg/api/httpservergo test -race -count=5 ./pkg/api/httpserver-trimpathProtocol vector, model, Byzantine, partition, recovery, snapshot, and chaos tests are not applicable because no protocol/application runtime, storage, consensus, P2P, or durable state path is added.
Risk And Rollback
Fiber adds a larger transitive dependency graph, including generic codecs that are not imported as FinalWeave canonical encoding. The adapter intentionally performs synchronous access logging, which can apply logger-writer backpressure. Request deadlines require downstream providers to honor
context.Context; the transport read/write deadlines remain independent bounds.Rollback by reverting this PR. No persisted state, migration, protocol version, canonical encoding, business API compatibility promise, or active deployment changes.