{"id":"null-iterator-propagates-transparency-cost-across-pattern-boundaries","text":"NullIterator is a direct consequence of Composite's transparency choice propagating to Iterator infrastructure: because Composite treats leaves uniformly with composites, leaves must provide iterators even though they have no children, requiring NullIterator as a degenerate always-done implementation — demonstrating that pattern design decisions have transitive costs across pattern boundaries.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["null-iterator-always-done","null-iterator-for-leaf-glyphs","composite-transparency-vs-safety-tradeoff"],"outlist":[],"label":"Composite's transparency decision creates infrastructure obligations in Iterator, showing design costs propagate across patterns"}],"dependents":[],"metadata":{"source_type":"derived","review_result":"unnecessary"},"created_at":"2026-06-18T02:11:31+00:00","updated_at":"2026-06-18T06:15:08+00:00","reviewed_at":"2026-06-18T06:15:08+00:00","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"null-iterator-propagates-transparency-cost-across-pattern-boundaries","truth_value":"IN","reason":"SL justification valid","antecedents":["null-iterator-always-done","null-iterator-for-leaf-glyphs","composite-transparency-vs-safety-tradeoff"],"label":"Composite's transparency decision creates infrastructure obligations in Iterator, showing design costs propagate across patterns"},{"node":"null-iterator-always-done","truth_value":"IN","reason":"premise"},{"node":"null-iterator-for-leaf-glyphs","truth_value":"IN","reason":"premise"},{"node":"composite-transparency-vs-safety-tradeoff","truth_value":"IN","reason":"premise"}]}}