Expose recent committed ledger prefixes - #8214
Draft
Amaury Chamayou (achamayou) wants to merge 8 commits into
Draft
Expose recent committed ledger prefixes#8214Amaury Chamayou (achamayou) wants to merge 8 commits into
Amaury Chamayou (achamayou) wants to merge 8 commits into
Conversation
Add opt-in discovery and immutable download endpoints for recent committed ledger entries that have not yet been published as canonical .committed files. Include host and SDK support, unit and end-to-end coverage, benchmarks, OpenAPI, and operator documentation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add the release note for draft PR #8214. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot started reviewing on behalf of
Amaury Chamayou (achamayou)
August 27, 2026 09:26
View session
Contributor
There was a problem hiding this comment.
Pull request overview
Adds opt-in access to recent committed ledger prefixes while preserving canonical ledger and recovery behavior.
Changes:
- Adds prefix discovery, immutable downloads, ranges, digests, and metadata.
- Extends host and Python ledger parsing.
- Adds tests, benchmarks, OpenAPI definitions, and operator documentation.
Custom instructions used:
.github/copilot-instructions.md.github/instructions/changelog.instructions.md.github/instructions/reviewing.instructions.md
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
CHANGELOG.md |
Records the new capability. |
include/ccf/http_consts.h |
Adds the chunk-kind header. |
src/host/ledger.h |
Materializes committed prefixes. |
src/host/ledger_filenames.h |
Recognizes and excludes prefix files. |
src/host/test/ledger.cpp |
Tests prefix creation and recovery exclusion. |
src/host/test/ledger_bench.cpp |
Benchmarks prefix materialization. |
src/host/test/files_cleanup_test.cpp |
Tests strict prefix filenames. |
src/node/rpc/file_serving_handlers.h |
Implements discovery and download endpoints. |
src/node/rpc/ledger_interface.h |
Extends the ledger subsystem interface. |
src/node/rpc/ledger_subsystem.h |
Connects RPC and host ledger operations. |
src/node/rpc/node_frontend.h |
Bumps the API version. |
python/src/ccf/ledger.py |
Parses committed-prefix filenames. |
python/tests/test_ledger.py |
Tests Python filename handling. |
tests/e2e_operations.py |
Adds endpoint integration coverage. |
tests/schema.py |
Registers the new e2e scenario. |
doc/operations/configuration.rst |
Documents operator feature gating. |
doc/operations/ledger_snapshot.rst |
Documents prefix semantics and usage. |
doc/schemas/node_openapi.json |
Updates the generated API schema. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Reject zero-length suffix ranges, cover opt-in redirects across lagging and late-joining nodes, exclude valid committed-prefix files from read-only ledger lookup, and fix the clang-tidy callable warning. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…mmitted-ledger-chunks
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Summary
include_committed_prefix=truediscovery for committed ledger entries not yet available in canonical.committedfiles..committed_prefixresources with307 Temporary Redirect,Cache-Control: no-store, range requests, ETags, and representation digests.Design discussion: #8207
Testing
ledger_testandfiles_cleanup_testledger_benchloggingsample build