Every ticket as the root of its provenance graph — goal, patch, approval, runs and (as the ticket-class build lands) mandate, manifestations, guarantees, journey, artifacts and children. Rendered through the <<<TicketGraphList>>> tag.
Spec: universal identifier resolver — ANY of {name, file-name, UUID, sha256, git hash, similarity, ticket ref} -> ALL matches
goal
ONE query surface, any identifier IN, a unified MATCH COLLECTION out — the substrate for finding and DEDUPLICATING source. Identifier modes and their backing index: (a) NAME (symbol/function/class) -> omni-git occ index (occurrences across repos); (b) FILE-NAME/path -> path match across all forge repos; (c) UUID (codebean work UID, ticket_works uid, embedded uuids) -> exact string index; (d) SHA256 content sum -> omni-git BLOB index (content-addressed = EXACT-duplicate detection); (e) GIT HASH (commit/tree/blob) -> git object lookup across bare repos; (f) SIMILARITY (snippet/path) -> the #190 semantic search (NEAR-duplicate detection); (g) TICKET REFERENCE -> ticket_works/memgraph edges -> code locations. The resolver auto-detects the identifier type (hex-len -> sha/git; uuid regex; #N -> ticket; path-ish -> file; else name or free-text->similarity) or takes an explicit mode. Every match normalizes to {repo, path, line-range, identifier-kind, associated tickets, score}. This is the collection that dedup consumes.
patch
none
approval
unapproved
runs
no runs recorded
mandate (clauses)
not yet recorded — lands with the ticket-class build
manifestations
not yet recorded — lands with the ticket-class build
guarantees
not yet recorded — lands with the ticket-class build
journey (blunders & successes)
not yet recorded — lands with the ticket-class build
artifacts (forge)
not yet recorded — lands with the ticket-class build