## User
- **User:** Howard Enos (howard)
- **Machine:** Howard-Home
- **Role:** tech

# Bug Tracker Recovery, Gitea Sync, and Source-of-Truth Consolidation

## Session Summary

Recovered the crashed tracker-build session (transcript d3a9b57c) which had built and deployed the ACG Bug Tracker (Gitea Issues backend + HTML dashboard at tracker.azcomputerguru.com). Wrote a verified session log for it.

The main work was syncing RMM_THOUGHTS.md with Gitea Issues. Filed 19 missing thought issues (#81-99) plus 2 bug issues (#100-101) into the gururmm repo that the crashed session had not reached. Added Gitea cross-references (<!-- Gitea: gururmm#NN --> comments) to every section heading in RMM_THOUGHTS.md (32/34 sections tagged, 2 meta sections excluded). Ran a full sync validation confirming all 38 cross-refs resolve to real Gitea issues and all 34 thought-labeled issues are referenced in the md.

Caught and fixed a data integrity issue: guru-rmm #1 (Code Review Remediation) had been closed for repo-migration reasons only, but gururmm #75 (its migration target) had a one-line body with no detail about the 13 pending Phase 3 items. Updated #75 with the full outstanding checklist and added clarifying comments to both issues.

Filed 5 Prairie Schooner client projects (claudetools #82-86) that were missing from the tracker due to the crashed session's bash quoting failure. Fixed the bug-tracker skill's tracker.py to accept "thought" as a --type filter.

Identified that #100 (WS comms bug) was a duplicate of Mike's #78 (filed earlier the same day). Marked #100 as duplicate and closed it. Established that FEATURE_ROADMAP.md, RMM_THOUGHTS.md, and Gitea Issues are three overlapping sources -- agreed with Howard that Gitea is the single tracker, ROADMAP is the product vision reference doc, and THOUGHTS is design notes cross-referenced to Gitea. No more status tracking in markdown files.

## Key Decisions

- Gitea Issues is the single canonical tracker for active work. FEATURE_ROADMAP.md stays as a product vision document (not a tracker). RMM_THOUGHTS.md stays as design notes (cross-referenced to Gitea, no status tracking in the file).
- "Thought" label distinguishes ideas from committed features/bugs in Gitea. Thoughts live in the tracker but are not in the build backlog until explicitly promoted.
- Feature 14 (Client/site project tracking) added to RMM_THOUGHTS.md with Gitea cross-ref.
- Issues closed for administrative reasons (repo migration) must carry their pending work into the target issue -- a bare "migrated from X" body is a data loss.
- Pre-tracker feature issues (#10, #15, #18, #19 in gururmm, filed May 2026) are Gitea-native and do NOT need RMM_THOUGHTS.md entries.
- Sync-lint (automated check that md and Gitea stay aligned) parked -- waiting on Mike's decision on design.

## Problems Encountered

- Crashed session recovery script's `--print` output was 134KB (too large for inline) -- read from the persisted tool-results file in chunks.
- The xref script initially matched "Feature 1 " against "Feature 10/11/12/13" (substring). Fixed with `\b` word-boundary regex.
- Filed #100 as duplicate of Mike's #78 (WS comms bug). Mike had already filed it from his machine earlier the same day. Closed #100 as dupe.
- The bulk client-project filing from the crashed session failed on apostrophes in bash heredocs (Len's Auto, O'odham). Those issues DID make it in via a different code path in that session; verified present.
- tracker.py's --type argument didn't include "thought" (label added after the skill was built). Fixed.

## Configuration Changes

- [modified] `projects/msp-tools/guru-rmm/docs/RMM_THOUGHTS.md` -- added Gitea cross-references to all 32 trackable sections + TOC, added Feature 14 entry
- [modified] `.claude/skills/bug-tracker/scripts/tracker.py` -- added "thought" to --type choices
- [created] `session-logs/2026-07-18-howard-bug-tracker-build-and-deploy.md` -- recovered session log
- [deleted] `.x-file-thoughts.py` -- temp script for bulk-filing issues
- [deleted] `.x-xref-thoughts.py` -- temp script for adding cross-refs

## Credentials & Secrets

None new. All API calls used the existing Gitea token from vault (`services/gitea` -> `credentials.api.api-token`).

## Infrastructure & Servers

- **Gitea:** git.azcomputerguru.com (API at /api/v1, token auth)
- **Tracker dashboard:** tracker.azcomputerguru.com / 172.16.3.20:8089 (Docker container `acg-tracker` on Jupiter)

## Commands & Outputs

```
python .claude/skills/bug-tracker/scripts/tracker.py status
# gururmm: 43 open, 18 closed | guru-connect: 13 open, 5 closed | claudetools: 73 open, 8 closed
```

Sync validation (final):
```
[OK] All 43 open issues have type + priority labels
[OK] 61 total issues in gururmm
[OK] 38 cross-refs in md, all verified against Gitea
[OK] 34 thought issues, all referenced in md
=== ALL CHECKS PASS - FULLY IN SYNC ===
```

## Pending / Incomplete Tasks

- Sync-lint automation (check md <-> Gitea alignment on a schedule) -- waiting on Mike's design decision
- 13 client labels exist with no filed projects (VWP, Wolkin, Attrebesch, etc.) -- most are dormant, file when active work starts
- Mike should scan his sessions for client projects not yet in the tracker
- FEATURE_ROADMAP.md has no Gitea cross-references yet -- parked until the source-of-truth hierarchy is finalized with Mike
- Auto-filing integration (bugs surfaced during sessions get auto-filed) -- not built yet (claudetools issue #13)

## Reference Information

- Recovered session transcript: `d3a9b57c-eab2-4149-bc84-f0fafbdd8a36`
- Duplicate closed: gururmm #100 (dupe of #78)
- Issues filed this session: gururmm #81-101, claudetools #82-86 (prairie schooner)
- gururmm #75 updated with full Phase 3 pending checklist
- Tracker skill: `.claude/skills/bug-tracker/scripts/tracker.py`
- Dashboard source: `projects/msp-tools/bug-tracker/dashboard.html`

---

## Update: 15:50 MST — ROADMAP bugs migration, cleanup, source-of-truth finalized

### Session Summary

Continued the tracker consolidation work. Filed all 22 remaining FEATURE_ROADMAP.md bugs into Gitea (18 closed/fixed, 4 open), completing the migration of the ROADMAP bugs section into the tracker. This means the ROADMAP bug section can be retired as a tracker -- all bug status now lives exclusively in Gitea.

Fixed gururmm #75 (Code Review Remediation) which had been closed prematurely during a repo migration -- its body was a one-liner with no detail about 13 pending Phase 3 items. Updated with the full outstanding checklist.

Filed 5 Prairie Schooner client projects (claudetools #82-86) that were missing from the tracker. Cleaned up duplicates: gururmm #2 marked as dupe of #1, #100 already marked dupe of #78. Test issues #11/12/80/81 confirmed closed and marked IGNORE.

Established the source-of-truth hierarchy with Howard:
- Gitea Issues = single canonical tracker (bugs, features, thoughts, projects)
- FEATURE_ROADMAP.md = product vision doc (what the RMM will eventually be), NOT a tracker
- RMM_THOUGHTS.md = design notes cross-referenced to Gitea, no status tracking in-file

Discussed auto-file integration (claudetools #13) -- the remaining unfulfilled goal where bugs would be automatically proposed as Gitea issues when errors surface during sessions. Howard said we will work on that tomorrow.

### Key Decisions

- All 26 FEATURE_ROADMAP.md bugs now live in Gitea. The ROADMAP bug section is retired as a tracker.
- FEATURE_ROADMAP.md's 667 `[ ]` planned features stay in the file as product vision -- they do NOT all become Gitea issues. Only when actively picked up does a feature get a Gitea issue.
- gururmm #75 corrected: Phase 3 (13 items) and testing checklist are NOT done. Issue body updated with full outstanding work.
- Auto-file integration is tomorrow's work.

### Problems Encountered

- Filed gururmm #100 as duplicate of Mike's #78 (WS comms bug) -- Mike had already filed it earlier the same day. Closed as dupe.
- Mike flagged that "thoughts and roadmap are already in Gitea" -- investigated and found: the thoughts I filed (#82-99) are NOT duplicates of #60-74 (different items), but the ROADMAP bugs WERE a parallel tracking system that needed consolidation.

### Configuration Changes

- [modified] `.claude/skills/bug-tracker/scripts/tracker.py` -- added "thought" to --type choices

### Credentials & Secrets

None new.

### Infrastructure & Servers

No changes.

### Commands & Outputs

```
python .claude/skills/bug-tracker/scripts/tracker.py status
# gururmm: 47 open, 36 closed (83 total)
# guru-connect: 13 open, 5 closed
# claudetools: 73 open, 8 closed
# Total: 129 open, 32 closed (before ROADMAP bug migration)
```

Final gururmm state after ROADMAP bugs filed:
```
Open:   47 (34 thoughts, 6 bugs, 4 features, 2 security, 1 project)
Closed: 36
Total:  83
```

### Pending / Incomplete Tasks

- Auto-file integration (claudetools #13) -- tomorrow's work
- Sync-lint -- waiting on Mike
- External HTTPS -- port forward needed
- Dashboard enhancements -- sort/group/filter
- Mike should scan his sessions for unfiled client projects

### Reference Information

- ROADMAP bugs filed: gururmm #102-123
- Prairie Schooner projects: claudetools #82-86
- Duplicates cleaned: gururmm #2 (dupe of #1), #100 (dupe of #78)
- Test issues: claudetools #11, 12, 80, 81 (closed, marked IGNORE)
- Code Review Remediation corrected: gururmm #75 (Phase 3 pending, not done)
