docs: feature roadmap, decisions, and versioning law#32
Merged
Conversation
Candidate features evaluated against the library's defining properties (crash-safe files, zero-infrastructure macros, maximal-speed hot path, post-mortem-first decoding): spans with open-span crash visibility, runtime trace levels, Perfetto/CTF export, dynamic tracebuffer selection for static tracepoints (enabled by the discovery section rework), a registration index to replace linear stack scans, thread names, and per-thread lock-free ringbuffers. Includes a suggested phasing where each phase ships independently. Signed-off-by: Jo5ta <jo5ta@mail.de>
Spans accepted with an explicit carryable span id (plain uint64 passed as function argument, across threads, and through APIs; decoder correlates begin/end by id across buffers and processes). The registration index is accepted as an in-file growable open-addressing table with crash-consistency requirements spelled out. Export to Perfetto/CTF accepted. Trace levels and runtime enablement rejected: tracing is unconditional by design. Smaller candidates rejected. Dynamic buffer selection and per-thread buffers stay open. Signed-off-by: Jo5ta <jo5ta@mail.de>
Define what done means for every accepted feature: library API, both decoders, file specification, unit and integration tests, a golden fixture, a runnable example, and documentation - delivered together. Add the concrete integration matrix for spans, export, and the registration index. Signed-off-by: Jo5ta <jo5ta@mail.de>
Record the version bump law in AGENTS.md: every merged change set bumps at least PATCH, any trace file layout change bumps MINOR, changes older decoders cannot safely skip bump MAJOR. Sharpen the roadmap definition of done: the kernel tracing module is explicitly evaluated per feature (implemented or documented why not), both decoders are mandatory, and features integrate at the right places in the existing structure - redesigns are their own roadmap items, never a side effect. Signed-off-by: Jo5ta <jo5ta@mail.de>
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.
Stack 3/7 — based on the cross-endian PR.
Records the feature roadmap with explicit accepted/rejected decisions (spans with carryable ids: accepted; persisted registration index: accepted; export: accepted; fmt format strings: accepted; levels/enablement: rejected — always on), the definition of done requiring every feature to ship integrated into docs, tests, and examples for both writer and decoders, and the versioning law: every merged change bumps at least patch, file layout changes bump minor, old-decoder-breaking changes bump major, kernel support considered for every feature.