Repository navigation
Preserve raw empty-object bytes while assembling streamed tool arguments - #330
Conversation
|
Independent review found no introduced defect in the narrow seven-path raw-byte preservation change. It also reproduced a separate pre-existing Responses item-lifecycle defect, now #331: mismatched item IDs and contradictory done arguments can fold into a successful call. This PR does not claim to repair that boundary or establish historical #326 provenance. Exact Native Sol is now composing this unchanged reviewed scope onto newly landed compaction main |
|
Merged at The composed source passed MSRV/stable owning/root gates and a rebuilt release authenticated display-formatting task: actual verified-digest edit followed by all three unchanged tests passing. The earlier failed digest task is retained separately. Fresh run Local failed ENOSPC and inherited extra direct-core clippy receipts are not relabelled green. Historical #326 empty-call provenance remains unestablished. Separate pre-existing item-framing defect #331 remains open. Final actually merged-main build and a new authenticated task are running; that result is not claimed yet. |
|
Final actually merged-main usability passed at One new authenticated Sol300000/localoauth task executed eight actual tools across nine rounds: read fixture/tests, demonstrate one expected baseline failure, calculate actual SHA-256, make a verified replacement, run the same three unchanged tests successfully and read back the edit. Real framed SessionStore reconstruction validates every checkpointed call and completed suffix. Selected live transcript, durable look-back and separate nine-call cache observations are preserved. No accepted request replay or manual completion. No product source changed. The original dirty outer checkout is untouched. The PR queue is empty. Remaining qualifications: #331 is unresolved, historical #326 provenance unknown, prior failed digest task and local ENOSPC/unrun package receipts retained. Final report and machine manifest: |
Proven product defect
The shared
ToolCallPartDelta::applytreated received raw"{}"as an initial placeholder and replaced it with the next fragment. This can discard valid argument bytes or erase a malformed prefix. The fix distinguishes a typed initial empty-object placeholder from raw received bytes and appends raw fragments without parser repair, guessed fields or replay.Five compiled current-route regressions cover
{}plus whitespace, split braces, concatenated malformed objects, empty/partial/array arguments, interleaved calls and reasoning, split UTF-8, request boundaries and typed initialization. Two baseline byte assertions fail; all five pass on candidate6d142ae9. The regenerated vendor patch and unchanged strict provenance comparisons are bound to the actual delta.Relation to #326
This investigation found a current owned-code defect. The original historical
read_fileempty-argument cause remains unestablished. Its terminal envelope has no framing evidence, and no accepted historical request was replayed. This PR must not be represented as proof of that historical provenance.Verification and remaining gates
MSRV/stable root/xtask gates, owning model/Responses checks and all 12 existing SSE tests passed locally. Independent initial review is active; no approval yet. Exact-head CI, strict release/source/extracted acceptance and final candidate runtime proof remain pending.
Negative receipts remain: local aggregate release fixtures failed with ENOSPC. An extra direct-core all-feature clippy invocation reproduces nine unchanged baseline lints; it is not green. Root and established direct model/Responses clippy passed. No lint rule, threshold, assertion, scanner exclusion, compatibility allowance or replay policy was weakened. Raw evidence is under
evalwork/results/pr-landing-20261003/fix326-evidence/.