Skip to content

docs: changelog and version scoping for 1.1.0 - #163

Merged
luisleo526 merged 6 commits into
mainfrom
rel/1.1.0-notes
Oct 4, 2026
Merged

luisleo526 merged 6 commits into
mainfrom
rel/1.1.0-notes

Conversation

@luisleo526

@luisleo526 luisleo526 commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Release notes and version scoping for codegen 1.1.0, the pair of engine v1.1.0. The release workflow writes only VERSION; this PR carries the rest, so the README (PyPI's long description for 1.1.0) is right at the tag. Rebased on main b3904ca (#164).

What changes

Compatibility notes

Verified

  • lab facts render / lab facts check --repo . --facts https://raw.githubusercontent.com/pineforge-4pass/pineforge-release/eef6d7ecc06c824c2d70e6638c5c36adc23386b5/facts/facts.json (sha256 7c796c3f…): PASS: 15 fact markers; 0 file(s) drifted.
  • Discover the other symbols' feeds a script requests before it runs #164's C++ note, re-checked on this branch: the engine corpus's 325 sources and the 540 test-fixture .pine files, one fresh process per file (PYTHONHASHSEED=0), c5d97ee against b3904ca: 0 differ, 51 refused with the same message.
  • Discover the other symbols' feeds a script requests before it runs #164's README and contract examples match transpile_full() and transpile_json output for tests/fixtures/request_discovery/case_strategy.pine (the line-7 entry, same fields and order); the error envelope carries no requests.
  • Earlier on this branch, for Emit checked strategy settings and contain C ABI exceptions #159: the 325 corpus sources and 277 gate fixtures transpile, with the settings code removed (tests/_legacy_cpp.py), to 1.0.1's C++ byte for byte; the README tutorial was re-run on a Linux x86_64 build box (9 trades, +738.20; 13 trades with the old sizing declared); timing on CPython 3.14.6, Apple M4 Max.
  • git diff --check; twine check --strict on a fresh sdist and wheel.

🤖 Generated with Claude Code

luisleo526 and others added 6 commits October 4, 2026 13:32
1.1.0 pairs with engine v1.1.0, whose pineforge.h declares the six
checked settings functions (engine #317) that the C++ of codegen 1.1.0
defines (#159). The changelog section covers #159 and #160: the checked
settings functions, the exception handling at the C ABI and the latched
setter failure, the input.enum default that came out as the enum's first
member, the names reserved for the settings code, the pairing and the
migration step. The Python and JSON contract does not change; the
engine's Docker harness adds applied_runtime.syminfo and two failure
messages for syminfo.mincontract (engine #322).

The README, AGENTS.md / CLAUDE.md, CONTRIBUTING.md,
docs/PUBLIC_CONTRACT.md and docs/pine-cap-activation.md name 1.1.0 where
they named 1.0.1 as the current release or pair, and the pairing table
gets a 1.1.0 row. The release scoreboard sentence renders
releases[1.1.0] from the facts file; the active scoreboard moves to
baseline pineforge-parity-baseline-20261003-engine-dbd17b38. The
anomalies sentence no longer starts its line with a facts marker, so
GitHub keeps it out of a raw HTML block.

Measured for 1.1.0: the engine's 325 corpus sources and the 277 gate
fixtures transpile, with the settings code removed, to 1.0.1's C++ byte
for byte (13 refusals, same messages), each in under 0.1 s on CPython
3.14.6 on an Apple M4 Max. The tutorial run of the quick-start C++
against engine e9f78a6f (Linux x86_64, GCC 13) prints 9 trades and
+738.20, and 13 trades with the old sizing declared.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
A review of every claim against #159's code and tests and the engine at
main found these:

- transpile_full()'s inputs and transpile_json report the folded enum
  member as the default of an input.enum whose default is a variable,
  where 1.0.1 reported null: the contract keeps its shape, one value
  changes;
- the enum fold needs a variable set to a literal member, and the C++
  beyond the settings code changes for the fold and the renamed names;
- the receipt gives min, max and step as numbers or null;
- #322 leaves a gridless report's bytes as they were apart from
  elapsed_seconds, but across 1.0.1 and 1.1.0 the fingerprint records the
  versions and the generated C++'s hash, and engine #315 and #316 can
  change trades; the second mincontract message is for a library without
  strategy_set_syminfo_metadata; the fingerprint field is
  fingerprint.provenance.runtime.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
The engine's Docker harness gains --symbol-feeds (PINEFORGE_SYMBOL_FEEDS
in the hub image; engine #327, pineforge-release #23), which installs
other symbols' bars for request.security through C ABI calls that exist
since 1.0.0, so the generated C++ does not change. Its report key
applied_runtime.symbol_feeds and its failure output join the report-key
notes. The documentation bullet names #162, merged since.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
releases[1.1.0] now names pineforge-parity-baseline-20261004-engine-7b596622
(engine 7b596622, the merge of engine #325, with this repository at
c5d97ee): 7,951 excellent / 38 strong of 7,989. The README's markers are
re-rendered from that facts file (pineforge-release #24), and the
changelog's documentation bullet names the baseline in place of
20261003-engine-dbd17b38. The README's release sentence says the release
"grades", as the engine README does, since 1.1.0 is the current release.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
#164 merged with an Unreleased changelog section and "(unreleased)"
wording; it ships in 1.1.0. Its Request discovery section moves into
1.1.0 with the pull request's link, and the lead names #164 and #162.
The compatibility note no longer says the Python and JSON contract keeps
its result keys: it is additive (transpile_full() and the JSON success
envelope gain requests, input.symbol manifest entries gain kind), nothing
is removed or renamed, and #159's changed enum default stays. #164's
own note joins it: its emitted C++ is unchanged over the engine's 325
corpus sources and the 540 test fixtures, each in a fresh process (51
refused with the same message), which this branch re-checked.

README.md and docs/PUBLIC_CONTRACT.md name 1.1.0 where #164 wrote
"(unreleased)" or "Development builds"; the contract's heading is now
"Request discovery", the anchor the changelog links. The contract's
result-key table, success envelope example and manifest paragraph list
requests and kind, which the error envelope does not carry.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@luisleo526
luisleo526 merged commit bbb126c into main Oct 4, 2026
9 checks passed
luisleo526 added a commit that referenced this pull request Oct 4, 2026
The 1.1.0 notes said release 1.1.0 is graded with engine 7b596622, "whose
library source is v1.1.0's". Engine v1.1.0 adds a performance fix to
7b596622, so its library source differs; what holds is that the fix
changes no trade or report, which the engine merge gate checks. The
sentence now says that. Replaces text introduced by bbb126c (#163).

Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
@luisleo526
luisleo526 deleted the rel/1.1.0-notes branch October 4, 2026 08:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant