Skip to content

QA run · records-forms.concurrent-edit-conflict (1/1) · 55a806a7 · 2026-10-17 · 1 PASS / 0 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #24122

Closed

Description

@objectstack-fleet

Run record for the re-run #24036 (half B) asks for after revising this item. Runner: an os-dev subagent dispatched by the domain:devx seat 2 PM (session session_016PVjjuVPte5XEJvaQx1E4t). Protocol: .claude/skills/checklist-test/SKILL.md + docs/qa/platform-checklist/RUNNER.md. Executed sequentially (no subagent tool in this runner).

Environment fingerprint

  • framework: 55a806a78c0442243a8ac22e7dbc6f7b2c4b3bb0 on branch claude/issue-24036-ledger-b, the commit the app was built from. Its product tree is origin/main 8a83cebc1; the branch adds docs/qa/platform-checklist/areas/*.json only, and its later commits touch those files alone. Built with pnpm install --frozen-lockfile and turbo run build (75/75 tasks).
  • .objectui-sha: f8267df93aba8fb09cc1cc0692eadc0c8c5a5e56. The console was built with pnpm objectui:build at that pin, and check:console-sha reads Console dist matches the objectui pin (objectui@f8267df93aba).
  • boot: OS_LOG_LEVEL=info OS_PORT=41931 objectstack dev --ui --seed-admin -p 41931 -d file:(run dir)/hk/data.db from examples/app-showcase, its own port and file DB (the CLI also provisioned the sibling data.telemetry.db), stopped by its own process-group id afterwards.
  • browser: Playwright (playwright-core 1.63) on /opt/pw-browsers/chromium; sessions A and B are two browser contexts, each signed in through the console form (distinct cookies); the concurrent writes in the inline legs were issued over REST as a third session
  • persona(s): the seeded admin in two independent sessions, A and B
  • timestamps: 2026-10-17, 01:11Z to 01:15Z

Scope

Selector records-forms.concurrent-edit-conflict resolves to 1 runnable item: records-forms.concurrent-edit-conflict at revision 3, P1, surface mixed. No planned or blocked-hidden item.

Per-clause verdicts

# clause (short) verdict evidence
0 losing save refused 409, A intact pass Hooli, both sessions open, B's Edit Account form opened first: A Update → PATCH If-Match 01:08:08.974Z {website: concurrent-a} 200; B Update → PATCH with the same If-Match → 409 CONCURRENT_UPDATE, currentVersion 01:12:14.903Z; an independent re-read still shows A's value
1 conflict dialog with a structured choice pass modal form: "Save conflict … Their save: 10/17/2026, 1:12:14 AM" with Keep editing / Overwrite; inline: "This record was modified by someone else" with YOUR EDIT / CURRENT VALUE and Reload latest / Overwrite anyway (screenshots)
2 Reload discards B's edit and refetches pass Wayne Enterprises: inline edit of Website open in B; a concurrent write landed concurrent-a2; B Save → 409 → Reload latest: no further write from B, the page shows concurrent-a2, the API reads concurrent-a2
3 Overwrite re-keys ifMatch, one winner pass Hooli: after the 409, Overwrite → PATCH If-Match 01:12:14.903Z (the 409's currentVersion) {website: concurrent-b} 200; final re-read concurrent-b
4 inline two-surface edit is ONE PATCH pass Globex: double-click the Website body field → the header Annual Revenue is editable in the same session, one Save bar; edit both → ONE PATCH {"website":"https://inline-b.example","annual_revenue":31000000} If-Match 01:08:08.974Z → 200; re-read both values
5 stale inline save → 409 and the dialog pass Globex: inline edit open, a concurrent REST write between read and save; inline PATCH If-Match 01:14:20.452Z → 409 CONCURRENT_UPDATE (currentVersion 01:14:24.727Z); the conflict dialog rendered

Reproduction rules

No clause scored fail, so none is owed. No authentication or authorization hole was found; nothing here is withheld under the RUNNER rule-2 carve-out.

Derived item verdict

records-forms.concurrent-edit-conflict r3: pass (6 pass of 6 clauses).

  • The revised steps hold as written: Keep editing / Overwrite on the modal form, Reload / Overwrite on the inline dialog (the inline buttons read "Reload latest" and "Overwrite anyway").

Checklist-accuracy findings and fixture gaps from this run close out on #24036.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 17, 2026

    @objectstack-fleet
    ContributorAuthor

    Close-out (domain:devx seat 2): every clause PASS; nothing to extract. Ruling C on #24127 (maintainer): a verification re-run of a ledger edit no longer carries a qa-run record, and the existing ones close out now. The revised item records-forms.concurrent-edit-conflict landed with #24141 (9ffe8af094), Part of #24036; its history row names #24036.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions