Repository navigation
Characterize legacy TCP contracts and boundary policy - #5
Draft
JacobBorden wants to merge 4 commits into
Draft
JacobBorden wants to merge 4 commits into
JacobBorden wants to merge 4 commits into
Conversation
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.
November 5 increment
4ef7573d3c71a75f389371fbedefbb74096c9c0d, canonical base928837c83c3a72d8102ee8f3ffd0703a0cd44018: deterministic recv script supplies 512 binary bytes then ECONNRESET. Legacy Receive returns 511 bytes and closes the socket; two new checks preserve this defect evidence, not proposed-contract acceptance. Production unchanged.Validation:
python3 characterization/contract-baseline-v1/run.py --output <task-worktree>/work/20261105-error-progressexit 0, nine commands, Debug/Release plus 100 repetitions = 1,734 group passes. Each proposed-contract run retains five expected failures (12 passes/5 failures, CTest exit 8). GCC 15.2.1 / CMake 3.31.0 Linux; diff check passed. Source bytes unchanged across validation and commit. Remote CI pending. Consumer remains unpinned at http-server 86305e4f; no new consumer build or qualification. API/backend, five transport gaps, Windows, sanitizer, lifecycle/deadline/cancellation gates remain open. Keep draft.November 4 increment at
8f0127f7da17a234c1d0d7d9657a4eb782f7c611, canonical base928837c83c3a72d8102ee8f3ffd0703a0cd44018: added a stateful binary recv script covering 512+3 bytes, exact append offsets/bounds, short-read termination and subsequent EOF. Production implementation unchanged.Validation:
python3 characterization/contract-baseline-v1/run.py --output <task-worktree>/work/20261104-stateful-receiveexit 0; nine commands; Debug/Release plus 100 repeats = 1,530 characterization group passes. Both contract runs retain exactly five expected failures (10 passes/5 failures, expected CTest exit 8).git diff origin/master...HEAD --checkpassed. GCC 15.2.1 / CMake 3.31.0 Linux. Tested source bytes match the committed head; commit occurred during validation without changing those inputs. Unchanged policy evidence reused. Exact-head remote CI pending readback.http-server master remains
86305e4fb61d2ba06dda4523ebb64e9b65c30521; immutable CMake has no GIT_TAG, and main retains unsafe Receive string construction and detached workers. No consumer changes or new compatibility acceptance. Five transport gaps, API/backend, lifecycle/deadlines/cancellation, sanitizer and Windows qualification remain open. Keep draft.November 2 increment at
870c31b3f0d116ff8193d7f853005079b34ba57c: real IPv4 loopback binary Receive drain before EOF and persistent EOF checks. All 256 byte values across 1,024 bytes; native explicit-length send isolates Receive. Current GCC 15.2.1 / CMake 3.31.0 Linux runner passed Debug/Release plus 100 repeats: 1,326 groups, zero unexpected results; both contract runs retain exactly five expected failures (8 passes/5 failures, CTest exit 8). Canonical base remains928837c83c3a72d8102ee8f3ffd0703a0cd44018. Production transport unchanged. Exact-head CMake and both TCP characterization runs are terminal-successful (GitHub check metadata verified November 2 at 07:10 UTC).Historical publication validation follows:
Publishes the completed legacy TCP characterization, backend comparison, and executable boundary-policy proposal. The production CLIENT/SERVER implementation is unchanged. A focused Linux workflow runs the two characterization runners so the draft has executable CI beyond the existing root build.
Validation on candidate
228aae83612d7a8e7dbd75e6d60d08c32b26b13c, based on currentmasterat928837c83c3a72d8102ee8f3ffd0703a0cd44018:python3 characterization/contract-baseline-v1/run.py --output <absolute-output>passed: Debug and Release builds, 102 legacy executions including 100 consecutive repeats, and 1,122 legacy groups. Each Debug/Release proposed-contract run reproduced exactly the five expected gaps; those failures are characterization controls, not repaired-transport acceptance.python3 -B characterization/status-policy-v1/run.py --output <new-absolute-output>passed: five proposal groups, 46 assertions, and both mutation controls rejected at their expected failure labels.git diff origin/master...HEAD --checkpassed. Only characterization source/docs and its focused workflow are included; local receipts, build artifacts, and unrelated primary edits are excluded.The five transport gaps remain: embedded-NUL truncation, an all-byte payload starting with NUL, incomplete short reads, partial short writes, and negative-receive resizing before error handling. The status model is a proposal without a socket backend. Windows/MSVC, repaired lifecycle/deadline/cancellation behavior, exact-pinned http-server compatibility, package acceptance, and backend approval remain open. Remote checks must be read against this exact head; this PR stays in draft while those results and remaining gaps are reviewed.