mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-29 04:25:52 +01:00
fix(native): serialize parent completion with child notifications
Lock the parent before ordinary child status writes. Add a controlled database concurrency test and preserve incomplete intermediate eval accounting. Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
3c1cf6830c
commit
e2fc0c8e3d
4 files changed
+144
No files matched your search
@@ -665,3 +665,8 @@ review hold is resolved for this summary. The original comparison remains unchan
|
||||
- [x] Provider-free verification: 67 focused scheduler/native-conformance/authority tests and repository typecheck pass. The scheduler regression holds the parent open, dispatches/replays the child result, then verifies exactly one sequential continuation with the latest summary. Pending, consumed and current-run delivery identities have native finalization coverage.
|
||||
- [ ] Freeze and measure the corrected source in the same two original live cases, one attempt each. Do not reroll the original baseline or regrade the failed candidate.
|
||||
- [ ] Verify the latest source head in CI/review and inspect final parent artifact delivery before claiming readiness. Keep draft until these gates pass.
|
||||
|
||||
- [x] Preserve intermediate campaign `37518652522` as two cancelled, ungraded attempts on `3c1cf68`; provider activity/charges and cleanup are unverified because only invocation policies survived. These are separate from the original 17 actual runs.
|
||||
- [x] Audit the concurrency review finding with a real database barrier and distinct agents. Existing implicit locking serializes this tested ordering; make the parent lock explicit before child status writes. Do not claim a newly reproduced live defect.
|
||||
- [ ] Finish fresh source checks/review, then qualify the corrected source against the frozen baseline and inspect latest-artifact delivery.
|
||||
- [x] Explicit-lock revision: 68 focused tests and full repository typecheck pass. Fresh build, CI/review and live checks remain pending.
|
||||
@@ -95,3 +95,30 @@ The original baseline remains frozen. Measure only the corrected candidate in
|
||||
the same two cases, one attempt each, under the existing bounds and oracle. Keep
|
||||
all previous runs and inspect final artifact delivery separately from machine
|
||||
pass totals. Live qualification and fresh CI/review remain pending; keep draft.
|
||||
|
||||
|
||||
### Concurrency review and cancelled intermediate campaign
|
||||
|
||||
Fresh review of `3c1cf6830ce9db4123b834ffb99c594c383a8986` raised an
|
||||
outbox-insertion versus parent-completion race. A controlled PostgreSQL barrier
|
||||
uses distinct parent and child agents and pauses the real child transaction at
|
||||
wake insertion. The parent must wait, then preserve the pending result. The
|
||||
previous source also passes that ordering because child writes acquire an
|
||||
implicit parent foreign-key lock. This is not a reproduced additional failure.
|
||||
The correction makes parent serialization explicit before child writes, avoiding
|
||||
shared-lock upgrades between siblings. The original four failing regressions
|
||||
remain the before/after evidence for the active-parent fix.
|
||||
|
||||
Intermediate campaign `37518652522` was cancelled once that review required
|
||||
source changes. Both paid-cell steps started and both tasks were created before
|
||||
cancellation completed. Each retained artifact contains only its invocation
|
||||
policy. No original grade, API run inventory, final ledger or cleanup receipt
|
||||
survived. Provider-run count and charges are unknown; record two incomplete
|
||||
attempts, not passes or zero-provider setup failures. Preserve these separately
|
||||
from the original 17 actual runs. The next candidate must pass fresh review
|
||||
before its bounded live attempts. Original baseline, prompts and oracle stay
|
||||
frozen.
|
||||
|
||||
The final lock revision passes all 68 focused scheduler, conformance and arbiter
|
||||
tests plus repository typecheck. Build, fresh CI/review and live qualification
|
||||
remain pending.
|
||||
Reference in new issue
Block a user