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.
Content::sql_assoc_array() dereferences null when content lookup misses
goal
User: tags -> all tags -> body tag emits PHP warnings Trying to access array offset on null in lib/Content/Content.php:38-39. ContentDAO::lookupContent returns NULL for a missing ContentID; sql_assoc_array(NULL) then does $array_data[FIELD] on null. Fix: guard is_array($array_data). [FIXED] Content::sql_assoc_array now guards is_array($array_data) — a content-lookup miss (lookupContent->null) no longer derefs null. ?page=tags&tag=BodyTag warnings 2->0; warning sweep across 29 tags + 9 pages: NONE. Also hardened tools/tagcheck.py to flag Warning/Notice/Deprecated, not just fatals (would have caught this).
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