Conversation
|
Review of I checked out the candidate head and its actual parent Summary: the implementation looks correct and I reproduced both the defect and the fix. Four things stand between this and merge. 1. AC-003 is not yet met: CI has never run at
|
Request for cross-platform verification — the Windows path ships untestedFollowing up on my evidence comment above. Everything I reported there is linux/amd64 only, and the gap it cannot close is platform coverage: If you can run this on a Windows or Apple-silicon/Intel macOS machine, please reply with the output. Checkout (no Then the focused tests: Add What each part of that test run actually proves, so a green run means something specific:
On macOS the build risk is lower ( One extra report that would be high-value and is cheap: if you keep Please state your OS version, This is in addition to, not instead of, the blocker above: workflow approval for |
|
Closing under the fork-workflow decision recorded on 2026-09-03: repository #139, re-landed on an organization branch as #140. One commit, and its metadata makes it unmergeable independent of the fork Note that the The commits are not lost. A closed fork PR keeps its head ref: git fetch https://github.com/bytefolk/mem.git refs/pull/141/head:pr-141Every file in this branch was therefore available to the re-doing work, whether |
|
Closing as a content duplicate of #140. This is a mechanical finding, not a judgement on the work. Evidence:
#139 stays open and is tracked by #140. Nothing in this branch is lost by closing it. |
Tracking
Refs #139
Supersedes #140 (rebased onto latest
mainto resolveCHANGELOG.mdconflict with the security headers entry that landed after the original PR branch was cut).Consumed requirement revision: #139 R1. This PR must not auto-close the issue; merge and product acceptance remain separate decisions.
Scope
Repairs only the local Qoder checkpoint persistence path on current
main. It adds a persistent per-checkpoint OS advisory-lock sidecar, merges competing writes under that lock without allowingLastLineor associated diagnostic state to regress, and replaces the shared*.tmpname with a unique private staging file plus sync and atomic rename.Traceability
flock/ AIXfcntl/ WindowsLockFileEx); staging uses same-directoryCreateTemp; an owner process exits throughos.Exitwhile holding the lock and a waiting writer proceeds after kernel release..lockand transient private temp files are added beside local state.Validation
Exact candidate head:
53118ab(rebased ontoorigin/main); base:cc727db0bc72655f299166de1f60756f5c686cc7.go vet ./...,gofmt, and build pass.b9226a6and received an independent approval from@waterbro-8with adversarial discrimination checks.Risk / rollback
The lock is advisory and applies only to participating
memcheckpoint writers on a filesystem with normal OS locking semantics. A live writer can block a later save rather than allowing unsafe lock stealing; existing caller behavior reports a checkpoint-save error and does not advance the cursor. Revert this PR to restore the prior writer. No remote API, transcript format, release artifact, dependency, or repository-setting change is included.