mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-10-21 14:21:48 +00:00
* wip(managed-agent): stage the FG11f publication arms on a public Shell wake turn Not ready to push: the warm-up turn is refused with workspace_unavailable before the fault arm runs. Stage 1 of the stacked chain. * test(managed-agent): gate the FG11f lost-ack publication fault (FG11f) A wake turn that publishes a Shell capture can lose the object store's acknowledgement after the bytes landed. Nothing in CI pins what happens next: the shared OSS stub accepts every write, and the only real-bucket fault gate is opt-in and outside CI. The case runs a public Shell session through the packaged stack, faults the physical put, and pins the properties the store actually guarantees: the committed capture is kept and every large object is this run's bytes, a refused write never stores anything, the operation settles from what the store recorded, the Shell runs once, and the run settles once. `fail-before-write` and `timeout` remain scoped in the design. The fixture now registers the storage guard whenever the guard itself is enabled. It previously registered only on Linux, so a Shell turn on macOS was refused before its fault arm could run. The fork budget follows the 2x convention: the cell measured 41.1 s, so the healthy sum becomes 8527 s, the fork 9127 s, the Verify step 163 minutes and the job 256. * test(managed-agent): gate the FG11f refusing arms (FG11f) The publication gate shipped only the lost-ack arm, and the case resolves which arm to run from a property, so CI exercised whichever one the default picked. The two refusing arms now have their own methods: a put that throws before the bytes land, and a put that stays silent past the operation timeout. Both assert that nothing was stored, that the operation stays unresolved, that the Shell runs once and that the run settles once. Measured locally through the packaged stack: 41.2 s and 80.0 s. The fork budget follows the 2x convention, so the healthy sum becomes 8769 s, the fork 9369 s, the Verify step 167 minutes and the job 260. * fix(managed-agent): drop the unused import and re-align the ceiling comment The FG11f case carried an import for a symbol it never used; with includeTestSourceDirectory on and UnusedImports at error severity, that is a checkstyle failure rather than a warning. The step-ceiling comment also still read 161 while the literal beneath it is 163. * refactor(managed-agent): take the FG11f arm as a parameter and re-align the comments The wrapper methods delegated through a mutable field, which made the case property stop narrowing a run: naming one arm also ran the other wrapper and the default-resolving method. The arm is now a helper parameter and each method gates on `selected()` the way fg11b and fg11c do, so an unset property runs every arm and naming one runs only that arm. Two comments still described the older budget: the step-ceiling line read 161 against a 167 literal, and the job-ceiling derivation stopped at the 9045 s fork without the FG12d, FG11f-arm or refusing-arm steps it now includes. * test(managed-agent): pin that the fault fired and the payload is the run's own Three probes showed the arm passing for the wrong reason: with the injection removed, with the retained bytes replaced by a same-sized placeholder, and with the operation never settling, the case stayed green and only an absent object reddened it. The arm now asserts that its injection fired, that every OBJECT_PUT settles RETURNED, and that the retained payload is exactly the Shell's 2 MiB of output. Two ceiling comments still described the pre-merge budget; both now carry the FG11f step and the values the literals hold. * test(managed-agent): count the physical puts each object takes A reconcile that regressed into writing the same key again would be invisible to the arm: putIfAbsent reports FileAlreadyExists, the real adapter swallows it and the object map still holds the first write, so the settlement assertions keep passing. The stub now counts putObject calls per key and the lost-ack arm asserts every key was written exactly once. * test(managed-agent): restore the FG11b retryable-status guard The merge that retargeted this branch to main resolved the FG11b helper from the branch side, silently reverting #14645: it accepted a 409 as final and named only one code on a 503. The helper and the comment above the case are main's again, so a public route that starts answering 409 fails at once and a coded 503 must name the writer conflict or the lost-answer code. |
||
|---|---|---|
| .. | ||
| archive/managed-agent-schema | ||
| assets | ||
| design | ||
| developers | ||
| e2e-tests | ||
| images | ||
| plans | ||
| superpowers | ||
| users | ||
| verification | ||
| _meta.ts | ||
| evaluation.md | ||
| evaluation.zh-CN.md | ||
| index.md | ||