Repository navigation
CHANGELOG 1.7.0: known limit on macOS (fd report sink, 64 MiB stream RSS) - #503
Merged
Merged
Conversation
…RSS) main's post-merge CI on 4ae3f88 (run 40145973799, macos-26 Debug) ran the macOS tests for the first time on the 1.7.0 line: 4 of 1126 failed, all macOS-only (Linux passes them): test_report_nonfinite_equity_cabi_fd (#982), test_report_nonfinite_equity_cpp_fd (#983) and test_report_sink_fd (#1014) find the borrowed descriptor of the fd-based report sink changed or closed; test_sink_finalize (#1016) sees the 64 MiB stream grow peak RSS by about 1.05 MB. L6 ruling 10-25: a known limit for 1.7.0, documented here; the fix is a 1.7.1 card. CHANGELOG.md only; no sentence replaced. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
run_json --report-sink-fd: its own tests passed (#1024, #1025), so it is named as sharing the entry point, not as failing. The cause is not diagnosed: the bullet states what the tests observe. #1016 is the stdout mode only, in MiB. Linux: the Debug build of the same run passes. Replaces the bullet added by 89b22e2 on this branch (never on main). Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
tzutoo
pushed a commit
to tzutoo/pineforge-engine
that referenced
this pull request
Nov 5, 2026
…es their providers (R5 tooling lane E4, item 4) Four CTest rows pair the tree against historical ABI archives: test_script_cpp_abi, test_settlement_cpp_abi, test_aggregate_cpp_versions_runtime, test_l4g_runtime_budget. A tree configured with PINEFORGE_REQUIRE_ABI_RECEIPTS=OFF -- every plain configure, CLAUDE.md's included -- registers them --skip-if-receipt-missing, and until the six ABI providers are prepared in it each exits 77. CTest counts a skipped row as passed, so the run still prints 100% (lane Q12's report, "Recipe gap"). Reproduced at 0a47cbf on a CLAUDE.md build-on (corpus strategies off): 4/4 Test pineforge-4pass#503: test_l4g_runtime_budget ...............***Skipped 100% tests passed out of 4 (the four gated rows; 540 rows registered) scripts/check_abi_receipt_skips.py, independent of ci_verify.py: reads the rows ctest registered (--show-only=json-v1), names every receipt-gated row that will skip (or, registered --require-receipts, fail) for a missing input receipt, and exits 1 when there is one, printing the recipe. It also names a tree without compile_commands.json, which test_l4g_runtime_budget reads once its receipt exists (Q12's second gotcha: preparing the providers in a plain configure turns that row's skip into a failure). --prepare first prepares the six providers into the tree with the argv ci_verify.py uses: it fetches a missing pinned commit, reuses a matching provider, refuses a mismatched one without deleting it. On that build-on: the check prints the four rows as "skips" (the settlement row missing all six receipts, the runtime-budget row also "then fails, compile database missing") and exits 1. After re-configuring with -DCMAKE_EXPORT_COMPILE_COMMANDS=ON, --prepare built the six providers in 98 s and the check exits 0 ("every receipt they read is present: all 4 run"); a second --prepare reuses all six. Recipe: CLAUDE.md's REQUIRED block configures with CMAKE_EXPORT_COMPILE_COMMANDS=ON, prepares the providers before ctest and runs the check after it (must exit 0); docs/ci.md explains the skip contract, the script and the same recipe. Tests: scripts/test_abi_receipt_skips.py (10) drives the script against the real ctest over hand-written rows shaped like the gated ones -- including a run ctest reports as "100% tests passed out of 4" in which three gated rows skipped -- plus the preparation plan with a stubbed runner (order, fetch before a missing object, refusal that keeps the directory). ReceiptRecipe in scripts/test_ci_verify.py holds the recipe's six argv equal to the ones the ci_verify driver invokes. Registered as the CTest row test_abi_receipt_skips (ctest passed as CMAKE_CTEST_COMMAND); before the script existed the test failed with "No module named 'check_abi_receipt_skips'". Floors: the new row registers in every profile (a Python row, source-free), so the integrator adds +1 to RELEASE_MIN_TESTS and +1 to KERNEL_MIN_TESTS; this lane edits no floor. Ruling: tooling, a CTest registration and docs. No kernel, adapter, header or corpus change; no TradingView outcome can move; no epoch question. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> (cherry picked from commit 005c3c54f4fd67c7eeb1c296da1373b98dc705af)
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.
Docs-only (CHANGELOG.md only, +12 lines, a new bullet at the end of 1.7.0 "Costs that remain"; no sentence replaced): the macOS known limit for 1.7.0 per L6's ruling.
Evidence: main ci-post 40145973799 on 4ae3f88, build (macos-26, Debug): 99% passed, 4 of 1126 failed: #982 test_report_nonfinite_equity_cabi_fd and #983 ..._cpp_fd ("borrowed fd changed"), #1014 test_report_sink_fd ("L22A: NULL removal closed the borrowed fd or changed its flags"), #1016 test_sink_finalize (64 MiB stream peak RSS +1,097,728 B).
--- commit message ---
CHANGELOG 1.7.0: known limit on macOS (fd report sink, 64 MiB stream RSS)
main's post-merge CI on 4ae3f88 (run 40145973799, macos-26 Debug) ran the
macOS tests for the first time on the 1.7.0 line: 4 of 1126 failed, all
macOS-only (Linux passes them): test_report_nonfinite_equity_cabi_fd (#982),
test_report_nonfinite_equity_cpp_fd (#983) and test_report_sink_fd (#1014)
find the borrowed descriptor of the fd-based report sink changed or closed;
test_sink_finalize (#1016) sees the 64 MiB stream grow peak RSS by about
1.05 MB. L6 ruling 10-25: a known limit for 1.7.0, documented here; the fix
is a 1.7.1 card. CHANGELOG.md only; no sentence replaced.
Co-Authored-By: Claude Opus 5.5 (1M context) [email protected]
🤖 Generated with Claude Code