Repository navigation
Preserve native overflow feedback through selected host requests - #2095
Conversation
|
Updated candidate: 17085b0. Qualification remains pending; do not merge on static clearance. Author source review caught and corrected two issues: the synthetic SDK 400 needed a request-id, and post-error snapshots could accept changes made during the awaited dispatch. The bridge now captures fixed SHA-256 witnesses before transport and validates exact original/prepared content, selected binding, owner and options before forwarding private feedback. This adds two linear request encodings/hash operations per supporting adapter; it does not copy request bodies or scan unrelated history, and retains at most four error bindings. The previous statement about no successful-request full-history snapshots remains true, but did not describe this hashing cost. Small/1MB witness tests cover retained size and prohibit copying ChatRequest bodies. Added composed native-loop variants for a stale count followed by server 400 and one smaller retry, terminal second 400, cancellation before retry, resumed history already over 1M with signed thinking and canonical byte/hash preservation, and an oversized retained tail that must stop without trimming or a summary loop. Also added complete/stream in-flight mutation regressions. AST parsing and git diff --check pass. None of these new tests has executed yet: one consolidated managed check fable-overflow-paired-02 is still waiting for configured machine-load admission. Required PR CI is independent evidence, not qualification of these focused cases. Original failed session and installed caches remain untouched. |
|
Release Manager bec94bb7 has independently accepted final #2095 delivery input: exactd551 six-case reportSHA84318713c19ff05c9e5b69e7644f79e8878ba2224fbeaf6e622b9106221a9f63 and XML6PASS0fail/error/skip verified, source/graph comparison and origin files hash-verified; earlier30cd663native and old6host/2provider negative-control proof reused at unchanged inputs. All executed final PR checks are green. Source merged ONCE71f55fafac8acb733eb1e82c835c4747d1cbba7d, parent published0.96.1/453e6b, tree6ab8d6f1e454f8b4713728ec807211644f46412d. SELECTED RELEASE: 0.96.2 patch, sole publisher/preparation owner Release Manager Spark-1/bec94bb7 for this operation. Fresh public preflight shows no other release PR or active publisher; prior0.96.1 publisher completed. Selection is coordinated here with the commissioning repair owner/implementation worker; neither will publish. Existing release route2101 will be notified, no parallel reservation. Do not add unrelated changes without exact-main reconciliation. Only #2095 is unpublished from453e6b. Reuse accepted source/native reviews; prepare canonical version/notes/build and locked dry-run in an owned isolated profile (no owned prepared environment remains on this host; changed dev lock must be prepared normally). No repeated feature/native campaign. Notes will describe bounded context-limit feedback through host request wrappers, preserve stop/no-replay behavior, and distinguish provider component adoption from this host release. Original same-chat recovery remains with b005, not claimed by publication. No immutable old bytes, pins, live-host state or unknown actions altered. |
|
Qualification update: NOT qualified. Retained hosted native run43638932979 at a21fea7 had 9 failures/650 passes/no skips; run43639310629 at 2e6341c had 5 failures/654 passes/no skips. Actual API fixture repairs are committed. Remaining composed-loop runs stalled; a96168e adds an offline-only out-of-loop fixture stack watchdog, and 0f82344 adds native pytest verbose stage names plus global faulthandler_timeout=30 to locate a stall before a fixture body. Production inference/summary timeout policy is unchanged. Current diagnostic run: https://github.com/microsoft/amplifier-unified/actions/runs/43642320596 . The locally queued paired control eventually started after capacity became available, but failed before tests because the offline guest lacked the selected Core2.0.2 wheel. Its failed outcome and confirmed environment removal are retained. No local capacity/network boundary was bypassed; the existing hosted native owner now owns focused checks and exact old-source negative controls. Measured success-path witness cost from retained run43638932979: one 4MB synthetic request through both adapters adds 4 request encodings (16,001,404 characters), elapsed 18.299ms vs 0.314ms with capture disabled; transient tracemalloc peak 8,005,992B vs 6,248B; retained 664B vs656B. This is one workload observation, not a universal latency claim. Original-session recovery, production provider adoption, and manager activation authorization remain separate and unproven. |
|
Independent isolated qualification now returned concrete evidence for exact5d809c84c: 82passed,2failed,0skipped in8.7s (Core2.0.2 aarch64, Foundation7526bb55, loop072d50c5, contextb43fa333, Anthropic3204656/SDK1.17). No stall occurred there. The two failures were the last canonical-tool content assertion in proactive/reactive variants; all prior completion, count, summary, exactly-once tool effects assertions passed, as did second400, Stop, oversized resume with signed history and oversized retained tail. The retained diagnosis identified an existing Core/no-op-hook identity distinction that makes the loop save the whole ToolResult envelope rather than output alone. This PR does not change that separate serialization protocol. At30cd2616d8bf77306a459b7503577db65adb9917, the fixture now snapshots the actual full canonical tool row and exact content bytes at the next count boundary before compaction, then asserts unchanged hashes at each later count and final history. It decodes the envelope only to check receipt facts/no replay. Existing seed full-history hashes stay intact. All temporary stall watchdog/timeouts, memory limits, subprocess focus wrapper, workflow tee and global diagnostic arguments were removed. Ordinary maintained native workflow is restored, with the focused selectors and required Anthropic import retained. Exact old-source negative controls are explicitly opt-in with --overflow-negative-controls, not a new automatic per-PR cloning gate. Final exact-graph retest and old-source controls are pending. Still draft and unqualified; no original-session recovery/activation claim. |
|
Final qualification accepted for exactd551e3f49099cd02f500521cd601319c2eb32dff. Independent frozen30cd proof:84focused pass,112adjacent pass,663maintained native pass (overlapping coverage, not additive); same6old-host assertions fail at assert result is not None and2old-provider cold cases fail at assert decision is not None, zero errors/skips and verified old import origins. Finald551 six-case delta independently passed6/0/0 in4.42s with exact testSHA b23d4d0867993f80febcc8ed5dcb6daf689081b162a30b3ee0f66220c11d4bfd and unchanged production/dependency bytes. Delta reportSHA84318713c19ff05c9e5b69e7644f79e8878ba2224fbeaf6e622b9106221a9f63; prior reportSHA810b8b407bd335b9f413b893b56dcf7d006887fef427e2251cbb00bbc0b71911. Finald551 hosted run43647713371 also passed all six integration lanes; native663passed0failed0skipped104.763s, sourceUnchanged, actual provider3204656/contextb43/streaming072d/Core2.0.2/SDK1.17. JUnitSHA5d6737cce3e680ea113eeaac644a5d7e9a89b72065fbbd90b7a47201413f82a1. Required contracts43647711653 is now successful and no actual check is pending/failed. Astra/Fable independent source and targeted fixture reviews are approved through commissioning manager. Human authorized admin merge if only the formal review checkbox is missing; no check/protection changes. Separate follow-up2102 retains Core/no-op-hook full-envelope identity behavior; count-unavailable public-estimate gap remains explicitly unfixed. Manager owns original46c95de0 in-place adoption proof; this code qualification is NOT original-session recovery. Release Manager bec94bb7 is sole publisher, notified for next public patch; no release publication by implementation worker. |
Change
Accepted Anthropic provider PR143 (3204656) fixes exact cold Fable5.2 budget recognition. This PR qualifies that source rather than duplicating provider model policy. Original evidence is consistent with unavailable measurement and public estimation below the compaction trigger; it does not uniquely prove the original unavailable-measurement branch or exact imported dependency bytes.
Unified projects native requests through selected-model and host-observation adapters. Transparent recover_context_overflow previously forwarded outer request/options to the provider, whose private feedback correctly requires the exact inner dispatch identity. Preserve that identity mapping only for typed context overflow before any output. Consume feedback once; reject copied/changed requests, options, selection or execution adapter, including in-flight mutation. Native provider proof, loop fitting/retry/Stop/admission and completed tool effects remain unchanged.
Error-only retention is bounded to four entries per adapter. Predispatch witnesses are fixed hashes, not copied bodies. Optional protocol lookup failure cannot break normal dispatch or mask cancellation.
Validation
MERGED14:38:47PST November14:71f55fafac8acb733eb1e82c835c4747d1cbba7d from exact reviewed d551e3f. All required CI settled green; Astra/Fable approved via manager. Independent final six-case delta passed6/0/0 and unchanged production/other tests reused accepted30cd proof. Old-host6 and old-provider2 failures discriminated exact defects with zero errors/skips. Release and original-session adoption remain manager-owned and pending.
Delivery and acceptance
Root dev lock is test selection, NOT production adoption. Packaged runtime_deps/pyproject.toml and provider_sources.json retain moving main. Ordinary app-first then included-component update must qualify a NEW worker generation, verify actual loaded provider3204656/origin/hash and respect saved pins/forks/edited plans and old rollback receipts. App version alone is not evidence.
No live inference, original-session/cache/history/config mutation, merge, release or activation by this worker. Manager owns publication/adoption and original46c95de0 in-place answer proof. Count API unavailable -> None/public-estimate fallback remains a separate upstream safety gap. Core equal-copy tool-envelope behavior is a separate follow-up.