Ticket graphs

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.

← all ticket-graphs

CLOSED#58 bug

shim.php:45 uses STDERR (undefined under php -S web SAPI) -> uncaught fatal

goal

Rendering these tags standalone in the gallery (?page=tags&tag=NAME) leaks an UNCAUGHT PHP fatal into the 200 response (TagList's try/catch does not stop it). Found by tools/tagcheck.py. reproduce: GET /?page=tags&tag=BodyTag and /?page=tags&tag=Catalog_Controller BodyTag: Fatal error</b>: Uncaught Error: Undefined constant &quot;STDERR&quot; in /home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/boot/shim.php:45 Stack t Catalog_Controller: Fatal error</b>: Uncaught Error: Undefined constant &quot;STDERR&quot; in /home/notificationsforsteven/big-jazz-main/packages/congruencey/checkouts/current/boot/shim.php:45 Stack t likely cause: these need request/page context (or are not standalone-renderable tags); the fatal is an Error type not caught, or thrown outside get_document(). Fix options: (a) filter non-standalone tags out of the gallery, or (b) harden TagList to render each sub-tag in an output-buffered, shutdown-guarded sandbox. [ROOT CAUSE] boot/shim.php:45 references the STDERR constant, which is only defined in the CLI SAPI, not under php -S. Any path reaching it fatals; BodyTag/Catalog_Controller trigger it. FIX: guard with defined('STDERR') or use error_log() / php://stderr. Small, safe next crank. [FIXED] shim.php:45 now uses error_log() (SAPI-portable). Verified: the 'Undefined constant STDERR' fatal is gone; the tags now fail with a DIFFERENT, deeper error (Content::__toString null) -> filed separately.

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

source (forge tree)

browse congruency source (forge-parked tree)

children

not yet recorded — lands with the ticket-class build