rdmbair15m5-changelog-20260923-1002-tyrell-cli-ticket-engine
rdmbair15m5-changelog-20260923-1002-tyrell-cli-ticket-engine
Delivered tyrell-cli command-line face and
TyrellTicketEngine per FEAT-20260901-43.
Scope
- Hosts:
rdmbair15m5,rdmsm4x - Projects:
Tyrell,issues
Changes & Implementation
TyrellTicketEngineActor (Sources/TyrellCore/Tickets/TyrellTicketEngine.swift):listTickets: Dynamic disk scanning with filtering by status, project, severity, and parent.showTicket: Retrieves summary and full markdown content.nextTicket: Atomic select-and-claim algorithm that filters open unassigned tickets, sorts by severity rank (critical > high > medium > low) then creation time, and claims with lease. Resolves INCIDENT-20260901-07.claimTicket: Atomic lease acquisition with collision prevention when active unexpired lease is held.resolveTicket: Updates frontmatter, appends delivery evidence, and moves ticket file fromopen/toresolved/.detectUnticketedWork: Heuristic Git status inspection; if dirty modifications exist with zero active ticket claims, auto-opens a newTASK-<date>-<seq>ticket.
- CLI Subcommands
(
Sources/tyrell/Tyrell.swift):tyrell ticket list [--project <proj>] [--status <status>] [--severity <sev>] [--json]tyrell ticket show <ID> [--json]tyrell ticket next [--project <proj>] [--as <who>] [--lease <mins>] [--json]tyrell ticket claim <ID> [--as <who>] [--lease <mins>] [--note <note>] [--force] [--json]tyrell ticket resolve <ID> --reason <reason> [--evidence <evidence>] [--as <who>] [--force] [--json]tyrell ticket auto-open [--repo <path>] [--as <who>] [--json]tyrell ticket audit ...(preserves existing auditor functionality)
- REV-20260901-03 Conformance:
- Zero hardcoded hostnames (
rdmsm4x,rdmbair15m5, etc.), tailnet domains, or/Users/richhpaths. - Uses dynamic
TyrellBootstrap.shared.ticketStoreRootURL,FileManager.default.homeDirectoryForCurrentUser, andHost.current().
- Zero hardcoded hostnames (
- Unit Tests
(
Tests/TyrellCoreTests/TyrellTicketEngineTests.swift):- 5/5 test cases passed (listing, atomic next selection, collision rejection, resolution move, zero hardcoded identity conformance).
Verification Evidence
swift build --target tyrell: Clean build (rc=0).swift test --filter TyrellTicketEngineTests: 5/5 passed in 0.031s.- Live CLI verification:
tyrell ticket list,auto-open,next,resolveexecuted successfully. - Commit
888cd5ainapps/Tyrellpushed acrossorigin,fleet, andbackup. - Ticket
FEAT-20260901-43resolved (c22872a). - Broadcasted on agent bus
(
20260923-100203-908F7D6E).