{
    "table": "tickets",
    "pk": "id",
    "total": 479,
    "page": 1,
    "per": 25,
    "pages": 20,
    "filter": [],
    "rows": [
        {
            "id": 1,
            "ts": 1783260488.5340118,
            "updated": 1783260488.5362694,
            "component": "jazz_telemetry",
            "title": "selfcheck ticket",
            "severity": "low",
            "status": "CLOSED",
            "body": null,
            "meta": null,
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 2,
            "ts": 1783294822.1485283,
            "updated": 1783294850.2753022,
            "component": "ratchet",
            "title": "ratchet install failed at checkout b99",
            "severity": "high",
            "status": "CLOSED",
            "body": "deliberate installer bug-catch test (nonexistent crank b99)",
            "meta": null,
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 3,
            "ts": 1783296757.6619394,
            "updated": 1783298158.2347717,
            "component": "ratchet",
            "title": "make_state non-deterministic: `state` branch churns a new blob every run",
            "severity": "medium",
            "status": "CLOSED",
            "body": "Fixed in crank b04 (version-4.055): make_state normalizes tar members (mtime=0, uid/gid=0, fixed mode, sorted) + skips commit when blob unchanged. Verified: 3 re-runs -> identical blob d2ff5bd, state-commits steady, no churn.",
            "meta": "{\"kind\": \"bug\", \"area\": \"make_state.py / STATE.json\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 4,
            "ts": 1783296757.6798644,
            "updated": 1783298285.751584,
            "component": "ratchet",
            "title": "provision_php re-downloads PHP (~12MB) on every install; not idempotent",
            "severity": "low",
            "status": "CLOSED",
            "body": "Fixed in crank b05 (version-4.056): provision_php skips re-acquisition when a working php is at dest (dest -v == 0). Verified: present->'already provisioned' 620ms (no download); removed->fallback re-download 11.7s; present->skip.",
            "meta": "{\"kind\": \"bug\", \"area\": \"file-system-repair/provision_php.py\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 5,
            "ts": 1783297013.2305653,
            "updated": 1783298319.127645,
            "component": "ratchet",
            "title": "crank orchestrator: inject-one-script-per-crank, capture it as the patch to the next version",
            "severity": "medium",
            "status": "CLOSED",
            "body": "Built as turn 14 (mint_crank.py) + example patch. Verified: smoke crank + two real bug-fix cranks (b04 #3, b05 #4) minted end-to-end. Capture uses the lean single-repo tag (commit_release couldn't be scoped to one folded repo).",
            "meta": "{\"kind\": \"build\", \"area\": \"new tool (mint a crank)\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 6,
            "ts": 1783297013.2443478,
            "updated": 1783298693.6512287,
            "component": "ratchet",
            "title": "release step must push version tags (version-4.05x are local-only, absent on PIVOT)",
            "severity": "medium",
            "status": "CLOSED",
            "body": "Pushed version-4.050..056 tags to origin/PIVOT alongside cranks b03(turn14)/b04/b05 + state. Detents now on the remote. Future mints should push their tag as the release step.",
            "meta": "{\"kind\": \"build\", \"area\": \"push/release path\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 7,
            "ts": 1783297842.7307842,
            "updated": 1783298319.146282,
            "component": "ratchet",
            "title": "ratchet mint failed at fork",
            "severity": "high",
            "status": "CLOSED",
            "body": "Dev-time transient during build: the mint's fork guard CORRECTLY refused a dirty tree (a blanket __pycache__ rm had deleted tracked ops/*.pyc). Restored; not a shipped defect. The bug-event mechanism worked as designed.",
            "meta": "{\"step\": \"fork\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 8,
            "ts": 1783297867.3567047,
            "updated": 1783298319.1485035,
            "component": "ratchet",
            "title": "ratchet mint failed at capture (commit_release)",
            "severity": "high",
            "status": "CLOSED",
            "body": "Dev-time transient during build: commit_release 'no modules under repo' \u2014 resolved by switching capture to the lean single-repo tag (version_source.compute_next_version + git tag). Not a shipped defect.",
            "meta": "{\"step\": \"capture (commit_release)\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 9,
            "ts": 1783299445.9997175,
            "updated": 1783300412.8884501,
            "component": "ratchet",
            "title": "code anchored to file-system-repair/ (hardcoded bug-sink paths + provision_php location)",
            "severity": "medium",
            "status": "CLOSED",
            "body": "De-anchored (phases 1-2): b06 documented fsr+mcp; b07 moved provision_php -> checkouts/current/tools/, repointed registry bug_reports -> logs/bug_reports.jsonl, de-hardcoded all fixes/*.py + tools writers, + install.py fixup on main. Verified: install b07 provisions from the new home, verify 0 failed. No LIVE code anchored to file-system-repair now.",
            "meta": "{\"kind\": \"bug\", \"area\": \"file-system-repair coupling\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 10,
            "ts": 1783300412.8993669,
            "updated": 1783302619.5048888,
            "component": "ratchet",
            "title": "circle-back: remove file-system-repair remainder + vestigial mcp/ + reconcile duplicate DBs",
            "severity": "low",
            "status": "CLOSED",
            "body": "Phase 3 done (crank version-4.065): removed file-system-repair/, mcp/, and the bare checkouts/state/ store; dropped the dead registry file_system_repair block; updated the root README. Duplicate DB reconciled -> one in-tree fallback (checkouts/current/state/database.tar.xz) + the authoritative `state` branch. install --version 4.065 verified. Remaining (minor, separate): the nested tooling/tournament vs tooling/tournament-package dump duplicate.",
            "meta": "{\"kind\": \"build\", \"area\": \"phase-3 cleanup\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 11,
            "ts": 1783304753.514876,
            "updated": 1783305576.0863118,
            "component": "deploy",
            "title": "build predictions harness (predict.py) for test-first prediction-vs-actual",
            "severity": "medium",
            "status": "CLOSED",
            "body": "Delivered as crank version-4.067 (test-first; predictions CONFIRMED on logs/predictions.jsonl).",
            "meta": "{\"kind\": \"build\", \"crank\": 1}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 12,
            "ts": 1783304753.5357888,
            "updated": 1783305576.2074635,
            "component": "deploy",
            "title": "guard Constants_patched.php define()s so a JSON config loader can win",
            "severity": "medium",
            "status": "CLOSED",
            "body": "Delivered as crank version-4.068 (test-first; predictions CONFIRMED on logs/predictions.jsonl).",
            "meta": "{\"kind\": \"refactor\", \"crank\": 2}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 13,
            "ts": 1783304753.5379784,
            "updated": 1783305576.2214856,
            "component": "deploy",
            "title": "config_loader.php: load install.json JSON into CMS CONSTANTS (DB path etc.)",
            "severity": "high",
            "status": "CLOSED",
            "body": "Delivered as crank version-4.069 (test-first; predictions CONFIRMED on logs/predictions.jsonl).",
            "meta": "{\"kind\": \"build\", \"crank\": 3}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 14,
            "ts": 1783304753.544346,
            "updated": 1783305576.224033,
            "component": "deploy",
            "title": "prod_seed.php: fresh production stub DB (intro+catalog+404, no dev content)",
            "severity": "high",
            "status": "CLOSED",
            "body": "Delivered as crank version-4.070 (test-first; predictions CONFIRMED on logs/predictions.jsonl).",
            "meta": "{\"kind\": \"build\", \"crank\": 4}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 15,
            "ts": 1783304753.5465126,
            "updated": 1783305826.125156,
            "component": "deploy",
            "title": "deploy.py: production deployer (--target dir, create-if-absent, fresh DB, config-driven boot)",
            "severity": "high",
            "status": "CLOSED",
            "body": "deploy.py delivered on main (commit 61559e4). Verified: deploy version-4.070 -> /tmp/prodsite, stub home up + dev pages gone, both predictions CONFIRMED.",
            "meta": "{\"kind\": \"build\", \"crank\": 5}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 16,
            "ts": 1783304753.5493689,
            "updated": 1783305826.1489518,
            "component": "deploy",
            "title": "DEPENDENCIES.md + deploy/config/stub docs (record runtime deps + process changes)",
            "severity": "low",
            "status": "CLOSED",
            "body": "DEPENDENCIES.md + DEPLOY.md delivered (crank version-4.071).",
            "meta": "{\"kind\": \"build\", \"crank\": 6}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 17,
            "ts": 1783314447.491041,
            "updated": 1783344521.8167922,
            "component": "ratchet",
            "title": "ratchet mint failed at precondition",
            "severity": "high",
            "status": "CLOSED",
            "body": "Traceback (most recent call last):\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 223, in do\n    out = fn()\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 244, in <lambda>\n    do(\"precondition\", lambda: step_precondition(current))\n                               ~~~~~~~~~~~~~~~~~^^^^^^^^^\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 128, in step_precondition\n    raise Unexpected(\"tree has uncommitted tracked changes; refusing to mint\")\nUnexpected: tree has uncommitted tracked changes; refusing to mint\n [closed:historical] tournament jazz-ratchet artifact migrated in during consolidation; not a congruency app task. Superseded by this session's ratchet.",
            "meta": "{\"step\": \"precondition\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 18,
            "ts": 1783317187.6628208,
            "updated": 1783344521.8167922,
            "component": "deploy",
            "title": "prediction REFUTED: every relicensed .php still passes php -l",
            "severity": "high",
            "status": "CLOSED",
            "body": null,
            "meta": "{\"kind\": \"bug\", \"expected\": \"0\", \"actual\": \"1\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 19,
            "ts": 1783317187.7295434,
            "updated": 1783344521.8167922,
            "component": "ratchet",
            "title": "ratchet mint failed at run patch",
            "severity": "high",
            "status": "CLOSED",
            "body": "Traceback (most recent call last):\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 223, in do\n    out = fn()\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 246, in <lambda>\n    do(\"run patch\", lambda: step_run(dest))\n                            ~~~~~~~~^^^^^^\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 150, in step_run\n    raise Unexpected(\"patch exited %s: %s\" % (r.returncode, (r.stderr or r.stdout).strip()[-400:]))\nUnexpected: patch exited 1: in()\n    ~~~~^^\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/fixes/modernize_license.py\", line 242, in main\n    raise RuntimeError(\"REFUTED: addr=%s contact=%s franklin=%s lint_fail=%s\" % (addr, contact, franklin - allowed, lint_fail))\nRuntimeError: REFUTED: addr=[] contact=[] franklin=set() lint_fail=['checkouts/current/lib/ClassLoader/AutoLoader.php']\n [closed:historical] tournament jazz-ratchet artifact migrated in during consolidation; not a congruency app task. Superseded by this session's ratchet.",
            "meta": "{\"step\": \"run patch\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 20,
            "ts": 1783317629.9698977,
            "updated": 1783344521.8167922,
            "component": "deploy",
            "title": "prediction REFUTED: no tracked file anywhere contains the legacy street address",
            "severity": "high",
            "status": "CLOSED",
            "body": null,
            "meta": "{\"kind\": \"bug\", \"expected\": \"0\", \"actual\": \"568\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 21,
            "ts": 1783317629.9791,
            "updated": 1783344521.8167922,
            "component": "deploy",
            "title": "prediction REFUTED: no tracked file anywhere contains the legacy contact-block marker",
            "severity": "high",
            "status": "CLOSED",
            "body": null,
            "meta": "{\"kind\": \"bug\", \"expected\": \"0\", \"actual\": \"568\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 22,
            "ts": 1783317630.0392776,
            "updated": 1783344521.8167922,
            "component": "ratchet",
            "title": "ratchet mint failed at run patch",
            "severity": "high",
            "status": "CLOSED",
            "body": "Traceback (most recent call last):\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 223, in do\n    out = fn()\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 246, in <lambda>\n    do(\"run patch\", lambda: step_run(dest))\n                            ~~~~~~~~^^^^^^\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 150, in step_run\n    raise Unexpected(\"patch exited %s: %s\" % (r.returncode, (r.stderr or r.stdout).strip()[-400:]))\nUnexpected: patch exited 1: 'tooling/tournament-package/tournaments/congruency-2026/submission/lib/UserAuthentication/UserDAO.php', 'tooling/tournament-package/tournaments/congruency-2026/submission/lib/UserAuthentication/UserPrivilegeSet.php', 'tooling/tournament-package/tournaments/congruency-2026/submission/www/Constants.php', 'tooling/tournament-package/tournaments/congruency-2026/submission/www/index.php'] (applied 5/5)\n [closed:historical] tournament jazz-ratchet artifact migrated in during consolidation; not a congruency app task. Superseded by this session's ratchet.",
            "meta": "{\"step\": \"run patch\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 23,
            "ts": 1783319386.4650414,
            "updated": 1783344521.8167922,
            "component": "deploy",
            "title": "prediction REFUTED: no PHP file hardcodes the MYSQL_* define-list any more (config is JSON data)",
            "severity": "high",
            "status": "CLOSED",
            "body": null,
            "meta": "{\"kind\": \"bug\", \"expected\": \"0\", \"actual\": \"1\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 24,
            "ts": 1783319386.5336902,
            "updated": 1783344521.8167922,
            "component": "ratchet",
            "title": "ratchet mint failed at run patch",
            "severity": "high",
            "status": "CLOSED",
            "body": "Traceback (most recent call last):\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 223, in do\n    out = fn()\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 246, in <lambda>\n    do(\"run patch\", lambda: step_run(dest))\n                            ~~~~~~~~^^^^^^\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/tools/mint_crank.py\", line 150, in step_run\n    raise Unexpected(\"patch exited %s: %s\" % (r.returncode, (r.stderr or r.stdout).strip()[-400:]))\nUnexpected: patch exited 1:   main()\n    ~~~~^^\n  File \"/home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/fixes/retire_www_etc_constants.py\", line 110, in main\n    raise RuntimeError(\"REFUTED: gone=%s hardcoded=%s lint_ok=%s\" % (gone, hardcoded, lint_ok))\nRuntimeError: REFUTED: gone=['www/Constants.php', 'etc/Constants.php'] hardcoded=['checkouts/current/fixes/guard_constants.py'] lint_ok=True\n [closed:historical] tournament jazz-ratchet artifact migrated in during consolidation; not a congruency app task. Superseded by this session's ratchet.",
            "meta": "{\"step\": \"run patch\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        },
        {
            "id": 25,
            "ts": 1783320300.772631,
            "updated": 1783362190.817047,
            "component": "cms",
            "title": "Migrate the mysql_* connector to native PDO through the abstract DB class",
            "severity": "high",
            "status": "CLOSED",
            "body": null,
            "meta": "{\"kind\": \"refactor\", \"detail\": \"Retire boot/shim.php (mysql_* -> PDO/sqlite stubs). All DB-touching classes route through the abstract connection class (lib/DatabaseDrivers/MySQL/DataConnection.php); swap its mysql_connect/mysql_query/mysql_select_db internals for native PDO (prepared statements). Verify auth/content/store/order/form DAOs still work; keep sqlite as the driver. Test-first: DAO round-trips CONFIRMED, CMS verify green.\"}",
            "approval_sig": null,
            "patch": null,
            "kind": null
        }
    ]
}
