{
  "schemaVersion": 1,
  "repository": "https://github.com/acosmi/wrokbot",
  "branch": "main",
  "head": "2e5c76da369bb4d5211dc908617e29e82a333c7b",
  "checkedAt": "2026-11-10T20:00:20.003Z",
  "commits": [
    {
      "sha": "2e5c76da369bb4d5211dc908617e29e82a333c7b",
      "title": "Merge pull request #285 from acosmi/fable/ledger-20261108b",
      "date": "2026-11-09T07:54:18Z",
      "url": "https://github.com/acosmi/wrokbot/commit/2e5c76da369bb4d5211dc908617e29e82a333c7b"
    },
    {
      "sha": "df44b438b3d85425c06b129b1ebe44f1d99f61db",
      "title": "docs: record FIX-051-1, FIX-006-1, FIX-008-1 and FIX-042-1 in the ledger",
      "date": "2026-11-09T07:50:01Z",
      "url": "https://github.com/acosmi/wrokbot/commit/df44b438b3d85425c06b129b1ebe44f1d99f61db"
    },
    {
      "sha": "7cb939a26a31de6812acb641d54cc7a003afa8d0",
      "title": "Merge pull request #284 from acosmi/fable/fix-main-20261108b",
      "date": "2026-11-09T07:47:56Z",
      "url": "https://github.com/acosmi/wrokbot/commit/7cb939a26a31de6812acb641d54cc7a003afa8d0"
    },
    {
      "sha": "2b7f1dd2374ceb1030e7159c8361b5eb1e5955df",
      "title": "test(server): scope the fixture snapshot guard before the await (FIX-042-1)",
      "date": "2026-11-09T07:42:32Z",
      "url": "https://github.com/acosmi/wrokbot/commit/2b7f1dd2374ceb1030e7159c8361b5eb1e5955df"
    },
    {
      "sha": "7e9a767c55f8cccb16ab5c71ecf56986c23e668e",
      "title": "Merge pull request #283 from acosmi/fable/fix-main-20261108",
      "date": "2026-11-09T07:20:01Z",
      "url": "https://github.com/acosmi/wrokbot/commit/7e9a767c55f8cccb16ab5c71ecf56986c23e668e"
    },
    {
      "sha": "d6917db77e787aeb9916d0cf1a429522d99e49fa",
      "title": "test(server): a dropped generation CHECK is refused as schema drift",
      "date": "2026-11-09T05:14:17Z",
      "url": "https://github.com/acosmi/wrokbot/commit/d6917db77e787aeb9916d0cf1a429522d99e49fa"
    },
    {
      "sha": "53dfe7cefe8707c7fc95fae467f5b9b0de263a84",
      "title": "fix(server): the session binding guard reads the raw current generation",
      "date": "2026-11-09T04:04:23Z",
      "url": "https://github.com/acosmi/wrokbot/commit/53dfe7cefe8707c7fc95fae467f5b9b0de263a84"
    },
    {
      "sha": "a350a308a01f878e102184d1febc5d8153fdb5fc",
      "title": "fix(infra): drop the thread updated_at write from the stop/clear intent",
      "date": "2026-11-09T03:33:21Z",
      "url": "https://github.com/acosmi/wrokbot/commit/a350a308a01f878e102184d1febc5d8153fdb5fc"
    }
  ],
  "ledger": {
    "path": "IMPLEMENTATION_LEDGER.md",
    "url": "https://github.com/acosmi/wrokbot/blob/2e5c76da369bb4d5211dc908617e29e82a333c7b/IMPLEMENTATION_LEDGER.md",
    "sha256": "867f8d4c9236c6cffb3a49d88695527424eea864021747bbfa850385b5cf6918",
    "sizeBytes": 70095,
    "taskCount": 270,
    "checkpoints": [
      {
        "heading": "Pending owner checks",
        "text": "| Task | Check | PR |\n|---|---|---|\n| OMB-004 | Owner real-channel recheck of the Telegram receiver | #237 |\n| OMB-007 | Owner real-channel recheck of Telegram outbound delivery | #243 |\n| OMB-008 | Owner real-channel recheck of the closed-loop flow | #245 |\n| OMB-010 | Owner real-channel recheck of the Feishu receiver | #247 |\n| OMB-015 | Owner real-channel recheck of Telegram and Feishu through the built-in channel plugins | #263 |\n| OMB-017 | Owner real-machine check of the Grok Bot compatibility gates G1–G5 recorded under openmybot/compat/grokbot/ | #261 |"
      },
      {
        "heading": "Open",
        "text": "| Task | Status | PR |\n|---|---|---|\n| V7-IMPL-046 | Draft PR, open: bounded whole-PostgreSQL restore | #226 |\n| V6-PR-048 | Closed unmerged 2026-10-12; the naming unification moves to a separate compatibility migration | #59 |\n| V6-PR-054 | Closed unmerged 2026-10-12; skip-link keyboard focus carried as a UI accessibility item | #70 |\n| V6-PR-059 | Not approved: SDK own-login contract draft; no PR | none |\n| V6-PR-062 | Diagnostic only: initdb password read path; no production fix PR under this ID (a macOS initdb input fix merged separately as #222) | none |"
      },
      {
        "heading": "Merged",
        "text": "| Task | Scope | PR | Merge commit | Merged (UTC) |\n|---|---|---|---|---|\n| V5 rework acceptance | Wire the accepted native control and backup staging core | #1 | 03b76487fc | 2026-09-09 |\n| V5 first-batch closeout | Fix secret creation and egress plan boundaries; add offline acceptance checks | #2 | 856b9b27fe | 2026-09-09 |\n| README banner | Add the brand banner at the top of the repository introduction | #3 | 7214c1bed9 | 2026-09-09 |\n| V5 third acceptance | Capability projection, pure recovery upgrade plan and fault regressions | #4 | ce662515af | 2026-09-11 |\n| M0 start confirm | Fix startup credential errors, confirmation state and SDK response cleanup | #5 | 219e700c28 | 2026-09-11 |\n| UI shell navigation | Adjust shared layout, navigation groups and Home description | #6 | 54191636d2 | 2026-09-11 |\n| Merge webhook check | Verify the pull request merge webhook | #7 | 7d98264578 | 2026-09-12 |\n| V6-PR-001 | Startup owner and initialization refusal boundary; startup holds the install-level kernel lock and verifies ownership | #8 | 61e783b9a4 | 2026-09-12 |\n| V6-PR-002 | Durable …"
      }
    ]
  }
}
