# SCRATCH ROOT, NOT LIVE. Window rows 177-185 P3, run by darkwing from 2026-10-20T07:30:17Z (mos-0931, sage-1238).
# Plan: agents/sage/work/window-plan/repin-rows-177-185.md, sha256 2194b9b043210464add701a42df6c2abe295fef88b9131f2647fb6cfb9d98713.
# Tool: /home/jwoltje/darkwing-scratch/w185/p3/repo, a git clone --shared of the canonical checkout at 490e2771d3d057ab76991e2c7859cd251857e64c, nothing applied;
#   scripts/stack-release.sh blob f8051d81cc18aedb7b6f2e743ec0c3f505e0e44b. refactor in the clone: 490e2771d3d057ab76991e2c7859cd251857e64c.
# Copies (stack-copy.sh copy): OLD 89af38a83afa22a8a4f0d368a0a4030ad15a0efa, NEW 490e2771d3d057ab76991e2c7859cd251857e64c. Both at 3i: one activate --pm, no --migrate.
# Root: /home/jwoltje/darkwing-scratch/w185/p3/root. Config /home/jwoltje/darkwing-scratch/w185/p3/root/cfg/config.json, data root /home/jwoltje/darkwing-scratch/w185/p3/root/data, units in /home/jwoltje/darkwing-scratch/w185/p3/root/xcfg/systemd/user.
# Business file: the committed example (blob 3a81ca0faea6d3dc3b29ae513c799497ed53f9d7) made loadable by mkbiz.mjs: plugins
#   {"usage-source":["transcript"],"channel":["cli","webui"],"harness":["claude-code"]}, bus.tester true, every role's harness var
#   claude-code, launch.instances plus assistant; sha256 0e14dee45ca5655f2a22d0e3381ddda84598e2f9c685f7d4b3de095e71fe00be.
# Store: seeded at 3i by OLD's Store before the bus first started (store-seed.mjs): 5 usage_records, 2 instance_names,
#   project p3-proj and one human thread b3a7c1d2-0000-4000-8000-000000000001 on the assistant instance.
# snapshot.mjs: /mnt/storage/src/mosaic-stack/agents/darkwing/work/window-rows-177-185/snapshot.mjs, sha256 639fd28a2674aaa03ce824e3394b4052f21cdef7d6fa49bae61a9927ed341e67 (expected 639fd28a2674aaa03ce824e3394b4052f21cdef7d6fa49bae61a9927ed341e67).
# Stand-ins (/home/jwoltje/darkwing-scratch/w185/p3/b): systemctl runs the copy's real 'scripts/mosaic bus start mosaic-stack'. With pm-mode emulate a --pm
#   start runs the bus WITHOUT --pm and EMULATES the PM launch: no claude runs; a waiting runner, one sessions.json entry
#   and one 'launched chief' journal line stand in for it (no session credential goes to scratch). The Console is a
#   /healthz stand-in on 127.0.0.1:47394 and 127.0.0.1:47395. (3) starts OLD's real webui serve by hand on 47396 and
#   47397. journalctl and systemd-analyze are the test's; claude is a fixture that prints a version. Credential files are
#   fake placeholders.
# Environment for every call: env -i with HOME, PATH, TMPDIR, LANG, MOSAIC_CONFIG, XDG_* and SD_* only (names: HOME PATH TMPDIR LANG MOSAIC_CONFIG XDG_CONFIG_HOME XDG_DATA_HOME XDG_STATE_HOME XDG_RUNTIME_DIR SD_STATE SD_DATA).
# pointer: {"copy":"89af38a83afa22a8a4f0d368a0a4030ad15a0efa","business":"mosaic-stack","pm":true,"claude":"/home/jwoltje/darkwing-scratch/w185/p3/b/claude","console":["--port","47394","--business","mosaic-stack","--public-host","p3.scratch.invalid","--auth-header","X-authentik-username","--allow-user","p3-scratch-user","--send","--tester-port","47395"],"schema":"3i","activation":"20261020T073017Z-89af38a83afa","at":"2026-10-20T07:30:17Z"}
# bus unit ExecStart: /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa/scripts/mosaic bus start %i --pm
# Console unit ExecStart: /usr/bin/node /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa/packages/webui/src/cli.mjs serve --checkout /home/jwoltje/darkwing-scratch/w185/p3/repo --port 47394 --business mosaic-stack --public-host p3.scratch.invalid --auth-header X-authentik-username --allow-user p3-scratch-user --send --tester-port 47395
# activation log, last line: {"at":"2026-10-20T07:30:17Z","op":"adopt","from":null,"to":"89af38a83afa22a8a4f0d368a0a4030ad15a0efa","backup":null,"activation":"20261020T073017Z-89af38a83afa","result":"ok"}
# OLD's Console flags in the pointer: --port 47394 --business mosaic-stack --public-host p3.scratch.invalid --auth-header X-authentik-username --allow-user p3-scratch-user --send --tester-port 47395

## L1. OLD on the rehearsal file
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> node /home/jwoltje/darkwing-scratch/w185/p3/b/load-check.mjs /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa /home/jwoltje/darkwing-scratch/w185/p3/root/cfg)
copy 89af38a83: roles 6, projects 1, arbiters 2, plugins {"usage-source":["transcript"],"channel":["cli","webui"],"harness":["claude-code"]}
HOLDS chief instance.name yes
HOLDS pm instance.name no
LOAD_OK
# exit 0

## L2. NEW on the rehearsal file
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> node /home/jwoltje/darkwing-scratch/w185/p3/b/load-check.mjs /home/jwoltje/darkwing-scratch/w185/p3/copies/490e2771d3d057ab76991e2c7859cd251857e64c /home/jwoltje/darkwing-scratch/w185/p3/root/cfg)
copy 490e2771d: roles 6, projects 1, arbiters 2, plugins {"usage-source":["transcript"],"channel":["cli","webui"],"harness":["claude-code"]}
HOLDS chief instance.name yes
HOLDS pm instance.name no
LOAD_OK
# exit 0

## L3. the P1 values of the rehearsal file
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> node -e 
const b=require(process.argv[1]);const r=Object.entries(b.roles);
console.log(JSON.stringify({busTester:b.vars["bus.tester"],pluginKinds:Object.keys(b.plugins??{}).sort(),launchBy:b.launch?.by,
assistantLaunchable:(b.launch?.instances??[]).includes("assistant"),piRoles:r.filter(([,x])=>[x.vars?.harness,x.vars?.["fallback.harness"]].includes("pi")).map(([k])=>k),
harnessByRole:Object.fromEntries(r.map(([k,x])=>[k,x.vars?.harness??null]))})) /home/jwoltje/darkwing-scratch/w185/p3/root/cfg/businesses/mosaic-stack.json)
{"busTester":true,"pluginKinds":["channel","harness","usage-source"],"launchBy":"chief","assistantLaunchable":true,"piRoles":[],"harnessByRole":{"pm":"claude-code","cto":"claude-code","coder":"claude-code","reviewer":"claude-code","chief":"claude-code","assistant":"claude-code"}}
# exit 0

## L4. run markers in this shell's ancestors (names only; the tester walk refuses one)
ancestors with a run marker: 0

## W1a. agents as the tester (OLD's CLI; the chief must not be working)
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> node /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa/packages/cli/src/cli.mjs agents --business mosaic-stack --tester --json)
[]
# exit 0

## W1b. launches list (OLD's CLI)
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> node /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa/packages/cli/src/cli.mjs launches list --json)
[
  {
    "run": "remul278975",
    "business": "mosaic-stack",
    "instance": "chief",
    "harness": "claude-code",
    "model": "emulated",
    "launchedBy": "standin-pm-emulation",
    "runnerPid": 278975,
    "runnerStartTime": "58260684",
    "startedAt": "2026-10-20T07:30:16.622Z",
    "live": true
  }
]
# exit 0
# W1 start stamp: 2026-10-20T07:30:17Z
# snapshot.mjs sha256 before S1: 639fd28a2674aaa03ce824e3394b4052f21cdef7d6fa49bae61a9927ed341e67

## snapshot S1
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> node /mnt/storage/src/mosaic-stack/agents/darkwing/work/window-rows-177-185/snapshot.mjs --store /home/jwoltje/darkwing-scratch/w185/p3/root/data/bus/bus.sqlite --held)
{
  "schema": "3i",
  "tables": {
    "decision_events": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "decisions": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "deliveries": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "events": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "instance_names": {
      "rows": 2,
      "maxSeq": 2,
      "sha256": "c460ba76e52eeb4c5870eef177bdab666db7b6ed76a53729b08025ce9cae6459"
    },
    "message_threads": {
      "rows": 0,
      "maxSeq": null
    },
    "messages": {
      "rows": 0,
      "maxSeq": null
    },
    "meta": {
      "rows": 3,
      "maxSeq": null,
      "sha256": "bdea51d4e2fbba48acf5034fc1491164709107b1b918a3389704f06c92462e7e"
    },
    "projects": {
      "rows": 1,
      "maxSeq": 1,
      "sha256": "7f2094e4205be82270767a2cd1b22c8b662bcafdd9bd270bcb99a36ee0ec3dac"
    },
    "role_claims": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "task_comment_cursors": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "task_snapshots": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "thread_claims": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "thread_opens": {
      "rows": 0,
      "maxSeq": null,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    "threads": {
      "rows": 1,
      "maxSeq": 1,
      "sha256": "5b6eacbc8f97bd33863a6b8933c5164ba5ac5651ec68b56c224d8ad4195f53e0"
    },
    "usage_records": {
      "rows": 5,
      "maxSeq": 5,
      "sha256": "23cf81fa23849b58c272cb4ee668b359a4dea7a34a4dc9e18573b9a9633bf6b2",
      "byRun": [
        {
          "business": "mosaic-stack",
          "run": "p3-run-a",
          "input": "1200",
          "output": "2400",
          "unknownTurns": 1
        },
        {
          "business": "mosaic-stack",
          "run": "p3-run-b",
          "input": "0",
          "output": "0",
          "unknownTurns": 1
        }
      ]
    }
  },
  "untimed": [
    "message_threads",
    "meta",
    "task_comment_cursors"
  ]
}
# exit 0

## W2. status
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> scripts/stack-release.sh status mosaic-stack --copies /home/jwoltje/darkwing-scratch/w185/p3/copies --bin /home/jwoltje/darkwing-scratch/w185/p3/root/bin)
pointer: /home/jwoltje/darkwing-scratch/w185/p3/root/data/state/stack-active.json
  {"copy":"89af38a83afa22a8a4f0d368a0a4030ad15a0efa","business":"mosaic-stack","pm":true,"claude":"/home/jwoltje/darkwing-scratch/w185/p3/b/claude","console":["--port","47394","--business","mosaic-stack","--public-host","p3.scratch.invalid","--auth-header","X-authentik-username","--allow-user","p3-scratch-user","--send","--tester-port","47395"],"schema":"3i","activation":"20261020T073017Z-89af38a83afa","at":"2026-10-20T07:30:17Z"}
log (last five lines):
  {"at":"2026-10-20T07:30:17Z","op":"adopt","from":null,"to":"89af38a83afa22a8a4f0d368a0a4030ad15a0efa","backup":null,"activation":"20261020T073017Z-89af38a83afa","result":"ok"}
check:
  bus: /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa
  Console: /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa
  CLI: /home/jwoltje/darkwing-scratch/w185/p3/copies/89af38a83afa22a8a4f0d368a0a4030ad15a0efa
  result: pass
bus status:
  host: mosaic-stack, pid 278923, running, since 2026-10-20T07:30:16.521Z, notifier off
  socket: present
  writer.lock: pid 278967
  boot: organization file loaded at 2026-10-20T07:30:16.521Z
unit flags: match the pointer
drift: 52 commit(s) on refactor since the pointer's copy
# exit 0

## W3. activate NEW --pm --plan
# command: (cd /home/jwoltje/darkwing-scratch/w185/p3/repo && <scratch env> scripts/stack-release.sh activate 490e2771d3d057ab76991e2c7859cd251857e64c mosaic-stack --pm --plan --copies /home/jwoltje/darkwing-scratch/w185/p3/copies --bin /home/jwoltje/darkwing-scratch/w185/p3/root/bin)
plan: activate for mosaic-stack
from: 89af38a83afa22a8a4f0d368a0a4030ad15a0efa
to: 490e2771d3d057ab76991e2c7859cd251857e64c
store schema: 3i (read from the store the running bus holds)
target schema: 3i
migration: none; the store is at the target's version
backup: the run backs up the stopped store to /home/jwoltje/darkwing-scratch/w185/p3/root/data/backups/stack/<activation>/ before any migration
commits: the run adds 52 (newest first, at most 200):
  490e2771d row 185 (#1683): every activate backs up the stopped store
  6c88bc666 sessions: Filbert row 185 r1 review, approve
  b5d662cab plans: mos-0929 rulings on the mos-0928 re-pin plan (Q1-Q3, Part B list)
  52ce57dfe sessions: Sage mos-0928 plan, row 185 filed and briefed
  f38186943 queue: revs 2183-2184: row 185 (#1683) added and briefed (Sage)
  10e1bb495 plans: row 185 brief, every activate backs up the stopped store (#1683); mos-0928 window plan
  9f5153deb sessions: Dewey row 184 rebase and in-review; Sage mos-0870 assignment
  055ca6938 queue: revs 2178-2182: row 184 in-review on e7e2c763 and request comment 29395 (Dewey 2178-2179); Filbert approve comment 29396 (2180); landing note (87aca4cb8, patch-id ad846db177b3, gate passed) and done (Sage 2181-2182)
  87aca4cb8 row 184 (#1682): tester thread verbs in the CLI
  dd7656cbf sessions: Filbert row 184 r1 review, approve
  3da362982 queue: revs 2173-2177: row 178 landing note (b2b33aee5, patch-id 88e56a8a3afd, gate passed) and done (Sage 2173, 2175); row 182 Filbert approve comment 29388 (2174), landing note (33ab5eeb9, patch-id fa9a8988ebfc, gate passed) and done (Sage 2176-2177)
  ef09f8b3f sessions: Darkwing rows 180-182 and Rocko rows 138-178 pending lines
  33ab5eeb9 row 182 (#1680): a tester message reaches only a thread the tester owns
  7fc98cf19 sessions: Filbert row 182 r1 review, approve
  b2b33aee5 row 178 (#1676, P19 385): the Console checks a proxy proof header on public Hosts
  3cfa333e4 sessions: Dewey row 178 r2 review, row 184 build
  02482094a queue: revs 2154-2172: rows 182 and 184 briefs, reviewers filbert, owners Darkwing and Dewey, briefed (Sage 2154-2161); 182 start (Darkwing 2162), 184 start (Dewey 2163); row 183 landing note (d1272e714, patch-id af1cad0940dc) and done (Sage 2164-2165); row 178 r2 in-review (Rocko 2166-2167), review request comment 29384 (Sage 2168-2169), Dewey approve comment 29386 (2170); row 182 in-review, request comment 29387 (Darkwing 2171-2172)
  74ce7061d sessions: Researcher row 183 build, review and landing
  d1272e714 row 183 (#1681): chat.mjs names the transport it is given
  841c56d05 plans: rows 182 and 184 briefs set owners and reviewers
  9a3f101b0 sessions: Dewey rows 180 r2, 178 r1, 183 r1 reviews
  931651f2d queue: revs 2144-2153: row 181 Filbert approve #1679 comment 29372 (2144), landing note (ef48597d0, patch-id 1fef78100554, gate passed) and done (Sage 2151-2152); row 178 Dewey changes comment 29374 (2145), reopened (Rocko 2146); row 183 in-review (Researcher 2147-2148), review request comment 29375 (Sage 2149-2150), Dewey approve comment 29376 (2153)
  ef48597d0 row 181 (#1679, P19 390): the restore guard counts every row a restore drops
  d7184aeac sessions: Filbert row 181 r1 review, approve
  cbe4c8265 queue: revs 2135-2143: row 181 round 1 in-review #1679 comment 29370 (Darkwing 2135-2136); rows 182-184 brief re-pins to 3459e01c3358 (Sage 2137-2139); row 183 reviewer Dewey, owner Researcher, briefed (Sage 2140-2142), started (Researcher 2143)
  5a8c1340c plans: row 183 brief sets owner Researcher and reviewer Dewey
  fcfb82da2 queue: revs 2129-2134: row 181 briefed (Sage 2129) and started (Darkwing 2130); row 178 round 1 in-review (Rocko 2131-2132) and review request #1676 comment 29368 (Sage 2133-2134)
  311705d5b sessions: Sage rows 177 landing, 178 briefing, 180 landing, 181 briefing, 182-184 added
  a757f8fe6 queue: revs 2127-2128: row 180 landing note (1905e385c, patch-id 31b1d502444e, gate passed) and done (Sage)
  1905e385c row 180 (#1678, P19 391): activation ids within one second and plan-mode refusals
  828d14a0c queue: revs 2113-2126: row 178 brief re-pin, owner Rocko, reviewer Dewey, briefed (Sage 2113-2114, 2116-2117), started (Rocko 2125); row 180 round 2 in-review and resolve (Darkwing 2115, 2118), Dewey approve #1678 comment 29361 (2126); rows 182-184 added with issues #1680-#1682 (Sage 2119-2124)
  c7421cabd plans: row 178 brief sets owner Rocko and reviewer Dewey and orders its landing after rows 180/181; briefs for the three row 177 follow-ups (N1 tester thread owner check, N2 chat.mjs strings, tester CLI thread verbs)
  895c7270c sessions: Dewey row 177 round 2 build and row 180 round 1 review, changes
  7f519242e queue: revs 2103-2112: row 180 to in-review round 1 (Darkwing 2103-2104), Dewey changes #1678 comment 29352 (2109), round 2 start (Darkwing 2110); row 177 round 2 in-review #1675 comment 29350 (Dewey 2105-2107), Filbert approve 29351 (2108), landing note and done (Sage 2111-2112)
  9d9d95485 row 177 round 2 (#1675): a tester-thread run's decision.raise refuses tester-thread-human when it routes to the human; F2 dispatch comment, F3 tester-writes header and name
  1f994257a row 177 (#1675, Q173): tester threads
  a2eebf997 sessions: Filbert row 177 r2 review, approve
  c0d6bc7d5 queue: rev 2102: row 177 round 1 verdict changes, #1675 comment 29347 (Filbert)
  72c0e22cc sessions: Filbert row 177 r1 review, changes
  9241a9738 sessions: Darkwing W5-W11, cleanup and packet push lines (33), Rocko (9) and Researcher (1) pending lines, and Sage after-window rows 180/181
  a6a7d8a90 queue: revs 2096-2100: rows 180 (#1678, P19 391 + row 176 N1/N2, Darkwing, briefed) and 181 (#1679, P19 390 restore guard, after 180) added by Sage (2096-2098); row 177 to in-review round 1, request #1675 comment 29343 (Dewey 2099-2100)
  c7f3beb17 docs: row B brief amended per mos-0927 R1: item 4 classifies every table in the target schema into one of four lists, item 1 records UPDATEs that do not move the time column (#1679)
  236af5271 docs: brief for two stack-release rows after the merged B+C window: row A (P19 391 activation ids, Dewey row 176 N1/N2), row B (P19 390 restore guard, after row A)
  c5ae4d7ac darkwing: merged B+C window packet, STATE.md (sha256 7be42b6bcab5657d), W0-W11 transcripts, S1/S2/S2b snapshots, P3 rehearsals and snapshot.mjs checks (#1673, #1674; P19 386, 382)
  88f3253d9 sage: merged B+C window STATE checked and filed (P19 386 c324, 382 c325 done, #1673 29334, #1674 29335); #394 doc fixes: carry-past-row64.md runs from REPO held to the pinned sha, plan line 222 and W8 row amended (mos-0924)
  ac1e16a99 sessions: Dewey row 177 design sent to Sage
  e9aa33a77 sessions: Sage merged B+C plan draft 9, W0 go, row 177 start
  c49de08e8 sage: merged B+C window plan draft 9 (sha256 523f20e03be8aa11), Mos's formal check closed with the W0 go (mos-0907); A1-A4 text fixes to draft 8 (mos-0906)
  d3996adea queue: revs 2093-2094: row 177 brief re-pinned to blob f146cd772 at dfd3e5823 and moved to briefed for Dewey (Sage 2093, 2094)
  dfd3e5823 sage: row 177 brief re-pinned to 89af38a83 after rows 175 and 176 moved broker.mjs; point 6 names the tester listener's chat refusal (serve.mjs:442) and 7332's x-mosaic-tester refusal (:454)
  b61335ad6 sessions, build-log: Sage row 176 gate, landing and records, merged window plan draft 8
  3faa30184 queue: revs 2083-2092: row 176 round 2 claimed and moved to in-review on candidate a4c728fc (Rocko 2083, 2085, 2086), Dewey's round 1 note and round 2 approval, comment 29322 (Dewey 2084, 2089), the round 2 review request posted as jarvis (Sage 2087, 2088), landing notes and the done move on 89af38a83 (Sage 2090-2092)
bus: scripts/bus-service.sh install --copy 490e2771d3d057ab76991e2c7859cd251857e64c --copies /home/jwoltje/darkwing-scratch/w185/p3/copies --pm --claude /home/jwoltje/darkwing-scratch/w185/p3/b/claude
Console: scripts/webui-service.sh install --copy 490e2771d3d057ab76991e2c7859cd251857e64c --copies /home/jwoltje/darkwing-scratch/w185/p3/copies --port 47394 --business mosaic-stack --public-host p3.scratch.invalid --auth-header X-authentik-username --allow-user p3-scratch-user --send --tester-port 47395
CLI: scripts/stack-copy.sh wrapper 490e2771d3d057ab76991e2c7859cd251857e64c --copies /home/jwoltje/darkwing-scratch/w185/p3/copies --bin /home/jwoltje/darkwing-scratch/w185/p3/root/bin
# exit 0
# STOP: W3: the commit count is not 52
