chore(gitea-sync): record first status-driven Gitea sync

- buglog: gitea_issue / gitea_synced_status for the 20 bugs created and the
  30 already-synced entries (#25/#35 reopened as partial)
- .kiro/specs/*/spec.json: "gitea" milestone/issue mapping for all 66 specs
  (65 milestones + 195 issues created, 158 closed at creation)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-09-24 10:22:05 +00:00
parent e915f8def4
commit b0f2aea466
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
66 changed files with 645 additions and 56 deletions

View file

@ -11476,6 +11476,7 @@
},
{
"id": "bug-1095",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-06-24",
@ -16084,6 +16085,7 @@
},
{
"id": "bug-1439",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"status_note": "654c6e8c, c1c6c9a2",
@ -16285,6 +16287,7 @@
},
{
"id": "bug-1446",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-18T00:47:00Z",
@ -16310,6 +16313,7 @@
},
{
"id": "bug-1447",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-18T01:05:02Z",
@ -16349,6 +16353,7 @@
},
{
"id": "bug-1448",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-18T01:54:00Z",
@ -16377,6 +16382,7 @@
},
{
"id": "bug-1449",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-18T09:56:00.000Z",
@ -16405,6 +16411,7 @@
},
{
"id": "bug-1450",
"gitea_synced_status": "partial",
"status": "partial",
"status_updated": "2026-09-24",
"status_note": "slow-lane offload exists (f88e4ef4) but flag defaults OFF (ha_convergence.c)",
@ -16436,6 +16443,7 @@
},
{
"id": "bug-1451",
"gitea_synced_status": "partial",
"status": "partial",
"status_updated": "2026-09-24",
"status_note": "slow-lane offload exists (f88e4ef4) but flag defaults OFF (config_repl.c)",
@ -16468,6 +16476,7 @@
},
{
"id": "bug-1452",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-18T00:00:00Z",
@ -16506,6 +16515,7 @@
},
{
"id": "bug-1453",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-20T00:00:00.000Z",
@ -16532,6 +16542,7 @@
},
{
"id": "bug-1454",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"status_note": "94f50ce6",
@ -16555,6 +16566,7 @@
},
{
"id": "bug-1455",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-20T00:00:00.000Z",
@ -16579,6 +16591,7 @@
},
{
"id": "bug-1456",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-20T00:00:00.000Z",
@ -16605,6 +16618,7 @@
},
{
"id": "bug-1457",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-07-20T22:56:00Z",
@ -22431,6 +22445,7 @@
},
{
"id": "bug-1673",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-08-24T13:40:00Z",
@ -22459,6 +22474,7 @@
},
{
"id": "bug-1674",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-08-24T13:40:00Z",
@ -22484,6 +22500,7 @@
},
{
"id": "bug-1675",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-08-24T13:40:00Z",
@ -22509,6 +22526,7 @@
},
{
"id": "bug-1676",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-08-24T13:40:00Z",
@ -22558,6 +22576,7 @@
},
{
"id": "bug-1678",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-08-24T13:55:00Z",
@ -24463,6 +24482,7 @@
},
{
"id": "bug-1742",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-01T04:10:00Z",
@ -24491,6 +24511,7 @@
},
{
"id": "bug-1743",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-01T04:10:00Z",
@ -24536,6 +24557,7 @@
},
{
"id": "bug-1744",
"gitea_synced_status": "open",
"status": "open",
"status_updated": "2026-09-24",
"status_note": "malformed resreq accepted at submit then silently dropped (controllers/jobs.go length-only check)",
@ -25321,6 +25343,8 @@
},
{
"id": "bug-1772",
"gitea_synced_status": "fixed",
"gitea_issue": 52,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-05T00:00:00Z",
@ -25565,6 +25589,7 @@
},
{
"id": "bug-1781",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T08:35:00Z",
@ -25596,6 +25621,7 @@
},
{
"id": "bug-1782",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T08:40:00Z",
@ -25622,6 +25648,7 @@
},
{
"id": "bug-1784",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T09:00:00Z",
@ -25653,6 +25680,7 @@
},
{
"id": "bug-1785",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T09:15:00Z",
@ -25682,6 +25710,7 @@
},
{
"id": "bug-1786",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T09:30:00Z",
@ -25713,6 +25742,7 @@
},
{
"id": "bug-1787",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T09:45:00Z",
@ -25743,6 +25773,7 @@
},
{
"id": "bug-1788",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T10:00:00Z",
@ -25775,6 +25806,7 @@
},
{
"id": "bug-1789",
"gitea_synced_status": "fixed",
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-07T10:30:00Z",
@ -27031,6 +27063,8 @@
},
{
"id": "bug-1830",
"gitea_synced_status": "cannot-reproduce",
"gitea_issue": 53,
"status": "cannot-reproduce",
"status_updated": "2026-09-24",
"status_note": "downgraded 07b5c989; user's own retest showed mem limit usage correctly",
@ -27064,6 +27098,8 @@
},
{
"id": "bug-1831",
"gitea_synced_status": "fixed",
"gitea_issue": 56,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-20T10:00:00Z",
@ -27091,6 +27127,8 @@
},
{
"id": "bug-1832",
"gitea_synced_status": "fixed",
"gitea_issue": 58,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-20T10:00:00Z",
@ -27118,6 +27156,8 @@
},
{
"id": "bug-1833",
"gitea_synced_status": "fixed",
"gitea_issue": 59,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-20T11:00:00Z",
@ -27146,6 +27186,8 @@
},
{
"id": "bug-1834",
"gitea_synced_status": "fixed",
"gitea_issue": 61,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-20T09:35:00Z",
@ -27179,6 +27221,8 @@
},
{
"id": "bug-1835",
"gitea_synced_status": "fixed",
"gitea_issue": 64,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-21T03:47:10Z",
@ -27215,6 +27259,8 @@
},
{
"id": "bug-1836",
"gitea_synced_status": "fixed",
"gitea_issue": 65,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-20T22:00:00Z",
@ -27250,6 +27296,8 @@
},
{
"id": "bug-1837",
"gitea_synced_status": "fixed",
"gitea_issue": 67,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-20T22:05:00Z",
@ -27282,6 +27330,8 @@
},
{
"id": "bug-1838",
"gitea_synced_status": "fixed",
"gitea_issue": 70,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-21T00:30:00Z",
@ -27317,6 +27367,8 @@
},
{
"id": "bug-1839",
"gitea_synced_status": "fixed",
"gitea_issue": 71,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-22T02:30:00Z",
@ -27349,6 +27401,8 @@
},
{
"id": "bug-1840",
"gitea_synced_status": "investigating",
"gitea_issue": 74,
"status": "investigating",
"status_updated": "2026-09-24",
"status_note": "scheduler heap corruption (malloc_consolidate abort) during TLS handshake; awaiting ASAN repro",
@ -27378,6 +27432,8 @@
},
{
"id": "bug-1841",
"gitea_synced_status": "fixed",
"gitea_issue": 75,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-22T09:00:00Z",
@ -27409,6 +27465,8 @@
},
{
"id": "bug-1842",
"gitea_synced_status": "fixed",
"gitea_issue": 77,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-22T19:35:00Z",
@ -27443,6 +27501,8 @@
},
{
"id": "bug-1843",
"gitea_synced_status": "fixed",
"gitea_issue": 78,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-22T19:35:00Z",
@ -27476,6 +27536,8 @@
},
{
"id": "bug-1844",
"gitea_synced_status": "fixed",
"gitea_issue": 81,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-23T09:15:00Z",
@ -27506,6 +27568,8 @@
},
{
"id": "bug-1845",
"gitea_synced_status": "fixed",
"gitea_issue": 83,
"status": "fixed",
"status_updated": "2026-09-24",
"timestamp": "2026-09-23T10:00:00Z",
@ -27536,6 +27600,8 @@
},
{
"id": "bug-1846",
"gitea_synced_status": "fixed",
"gitea_issue": 84,
"status": "fixed",
"status_updated": "2026-09-24",
"status_note": "77f047f2, a9feded8, ac033f47",
@ -27714,6 +27780,8 @@
},
{
"id": "bug-1855",
"gitea_synced_status": "fixed",
"gitea_issue": 88,
"status_note": "commit 'feat(buglog): status field, buglog skill, status-driven gitea-sync' (2026-09-24)",
"status": "fixed",
"status_updated": "2026-09-24",
@ -27721,7 +27789,7 @@
"error_message": "gitea-sync mirrored unfixed bugs as closed + bug:fixed: an issue was closed whenever the buglog entry's fix text was non-empty, including fix texts reading 'NOT FIXED', 'PENDING' or 'PARTIALLY FIXED' (e.g. bug-1450 #25, bug-1451 #35, bug-1744 #47)",
"file": "scripts/gitea-sync.py,.claude/skills/gitea-sync/SKILL.md",
"root_cause": "buglog.json had no status field, so scripts/gitea-sync.py and the gitea-sync skill inferred open/closed from fix being non-empty. Same script also: crashed on entries whose fix is a list (.strip() on list); replaced an issue's whole label set with just bug:fixed on close (wiping bug/category/user labels); wrote gitea_issue back only after the whole loop via a full json.dumps rewrite (a mid-run failure lost issue numbers -> duplicate issues next run, and the rewrite churned ~1,200 unrelated lines); read approvals.implementation, which no spec.json has, so spec implementation/validation issues and milestones never closed; never reopened an issue whose bug came back.",
"fix": "Added a status field to every buglog entry (backfilled 2026-09-24) and made status the only open/closed source: STATUS_MAP -> state + one bug:<status> label; entries sharing an issue take the most-open status; only status labels are swapped (other labels kept); reopen supported; gitea_synced_status tracks what was mirrored so unchanged entries make no API calls; per-entry surgical write-back via scripts/buglog.py set_fields; spec issues close on DONE_PHASES (implementation-complete/implemented/superseded). Skill doc updated to match.",
"fix": "Added a status field to every buglog entry (backfilled 2026-09-24) and made status the only open/closed source: STATUS_MAP -> state + one bug:<status> label; entries sharing an issue take the most-open status; only status labels are swapped (other labels kept); reopen supported; gitea_synced_status tracks what was mirrored so unchanged entries make no API calls; per-entry surgical write-back via scripts/buglog.py set_fields; spec issues close on DONE_PHASES (implementation-complete/implemented/superseded). Skill doc updated to match.\n\nUPDATE (2026-09-24): Found during the first live run: DELETE/204 replies have an empty body (json.loads crashed the run after the first label removal), requests had no timeout (a stalled call hung the run), spec.json write-back reflowed 15 hand-formatted files, and the implementation-issue body showed the tasks approval flag as 'Tasks generated'. All fixed; first live run: bugs 20 created, 2 reopened (#25, #35), 14 relabelled; specs 65 milestones + 195 issues (158 closed at creation).",
"tags": [
"gitea-sync",
"tooling",
@ -27735,6 +27803,8 @@
},
{
"id": "bug-1856",
"gitea_synced_status": "open",
"gitea_issue": 89,
"status": "open",
"status_updated": "2026-09-24",
"status_note": "upstream OpenWolf defect; mitigated locally by openwolf.buglog.auto_detect=false; scripts/buglog.py add uses max id + 1; report upstream",