Repository navigation
K1 — pure named-stream schedule derivation with raw-label timebase support - #369
Merged
Merged
Conversation
…robe (lane ns-k1-02, Claude Sonnet 5.5 authored) Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Removes the three checks that could not fail (two counters and their comparisons; the third replaced by a static_assert tying the perturbation array to std::tuple_size of State::tie()). Adds tests for the walk's two termination guards, each with a mutation that must fail, and a raw-label case: bars and POST rows planned, no PRE row. R3: a raw-label partition holds no time interval, so its slot is unbounded; an opened bar keeps no end and no cursor, and the time-close of an open bar is gated by a boundary probe. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Adds three tests over the two unbounded clocks of the frozen no-boundaries case: a Tick opens a lifecycle and plans one provisional POST row when the cadence carries the tick bit; an AdvanceTime plans one provisional POST row and closes nothing by time; a quiet interval plans nothing (the walk stops at the unbounded slot). A bounded control shows the silence is the timebase's. Tests only; no source change.
luisleo526
marked this pull request as ready for review
October 11, 2026 13:17
luisleo526
added a commit
that referenced
this pull request
Oct 12, 2026
K1 (#369) added include/pineforge/native_calc_point.hpp, installed by the include/pineforge rule in CMakeLists.txt with the other headers. Name it in the 1.5.0 CHANGELOG entry and in the native C++ API list of docs/pages/public-contract.md (new in 1.5.0). Docs only.
luisleo526
added a commit
that referenced
this pull request
Oct 12, 2026
Squash of #374 (3 docs commits on 2394ba2, tree 776a3cb). The CHANGELOG entry is dated 2026-10-12, the tag date; the first commit's "2026-10-13" below is superseded. The three commit messages follow verbatim, so their doc-revert namings are kept. docs: prepare the 1.5.0 release (changelog, current pair) Date the CHANGELOG's 1.5.0 entry 2026-10-13 and give it the release link line naming the paired pineforge-codegen 1.5.0, keeping the recorded-outputs and call-scoped-report content unchanged. Add the release's other user-visible changes: the test inputs and strategy scripts moved to a private repository, where a test that needs one skips with the pinned message naming the missing file; the LEGAL.md "Data not distributed" section; and the private-fixture overlay the maintainers run the verification with. README: the current-release block, the codegen command-block pointer, the C ABI counts line and a new v1.5.0 Releases bullet now name 1.5.0; the v1.4.0 descriptions, scoreboard and benchmark measurements stay untouched. The current-release block's 1.4.0 sentence from 5a1ad3a ("The release notes cover typed and unresolved provenance, coded failures, checked settings, adapter fixes and chart-clock live input") is replaced on purpose by the 1.5.0 sentence that lists what 1.5.0 covers; that 1.4.0 summary stays in the Releases list (the v1.4.0 bullet) and in CHANGELOG.md's 1.4.0 entry. docs/pages/public-contract.md: the 1.5.0 paragraph follows the 1.4.0 one and the same-version pairing line now says 1.5.0. Scoreboard and benchmark numbers are untouched; no file outside these three changes. docs: 1.5.0 is released: status words, HPO note The CHANGELOG's 1.5.0 entry gains its HPO bullet: pineforge-hpo 0.13.2 pins pineforge-codegen <1.4, and HPO support for codegen 1.4 and 1.5 (enum options as Enum.member tags) comes in pineforge-hpo 0.14.0. Five files that still called 1.5.0, or a 1.5.0 feature, unreleased or targeted for it now read as released once the tag lands: docs/pages/abi-stability.md (the RunFailureCode exception, the symbol-inventory counts line, the recorded-outputs line), docs/pages/index.md (its counts line, matching the README wording), the run-failure page (the outputs and selected-window rows' status, the two 1.5.0 outputs reasons, and the 24 catalog rows that said none was released), docker/README.md (the recorded-outputs section) and docs/outputs.md. Only the status words change; "not part of 1.4.0" stays where it is true history, and no number, claim or other sentence moves. No file outside these six changes. Co-Authored-By: Claude Code <[email protected]> docs: list the new installed header native_calc_point.hpp for 1.5.0 K1 (#369) added include/pineforge/native_calc_point.hpp, installed by the include/pineforge rule in CMakeLists.txt with the other headers. Name it in the 1.5.0 CHANGELOG entry and in the native C++ API list of docs/pages/public-contract.md (new in 1.5.0). Docs only. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
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.
K1 — pure named-stream schedule derivation with raw-label timebase support
Branch:
ns-k1-land· Head:62cc8e495afd6d8c3696c68581e72adab3444075· Base:8d614339b9ce92c5a1b6662a29deca5deec0ed71(origin/main)What this adds
A pure schedule derivation for the named-stream contract's bar lifecycle, plus its
tests.
plan_schedulederives, from the retained state and a driving event only(
advance_time,bar_close,tick), the POST rows a run must compute, andreturns the next state; it performs no I/O and fetches nothing.
A timebase without time boundaries (a raw-label partition) is planned on data
alone: its bars open and close on their own events, it plans no PRE row, and it
keeps no bar end and no cursor.
Files
src/native_calc_plan.cpp,src/native_calc_plan.hpp(new) — the derivation and its state.include/pineforge/native_calc_point.hpp(new) — the planned-point shape.src/native_execution_consumer.cpp/.hpp— the consumer's slot lookup and engagement hook.tests/test_native_calc_plan.cpp,tests/test_native_calc_identity.cpp(new) — the derivation andidentity tests, including the frozen-frame cases and the raw-label cases.
CMakeLists.txt,tests/CMakeLists.txt— registration of the new source and the two tests.Verification
ctest -R native_calc4/4, all mutationcontrols observed to fail their named test, and the CI source guards rc 0.
lab remoteon this head:rj-20261011t085013-bd1ded(preflight, release 897/897, sanitizers 869/869, docs 0 warnings) andrj-20261011t085017-76182e(debug 878/878, kernel 328 rows, parity 312 probes, subset 54 probes): all eight steps passed.🤖 Generated with Claude Code