{"id":"visitor-exposes-pattern-mutual-constraints","text":"The Visitor pattern demonstrates that design patterns impose mutual constraints: Visitor directly inverts OCP's standard extension axis (favoring new operations over new types), proving that applying one pattern necessarily forecloses options that another pattern assumes — which is exactly why indiscriminate pattern application is harmful and judgment about which extension axis to keep open is essential.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["visitor-inverts-ocp-axis","pattern-judgment-required"],"outlist":[],"label":"Visitor's OCP inversion is the strongest evidence for why pattern judgment matters"}],"dependents":["pattern-judgment-inter-and-intra-constraints","pattern-mastery-requires-principles-and-constraints"],"metadata":{"source_type":"derived","review_result":"pass"},"created_at":"2026-06-17T17:57:39+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":"visitor-exposes-pattern-mutual-constraints","truth_value":"IN","reason":"SL justification valid","antecedents":["visitor-inverts-ocp-axis","pattern-judgment-required"],"label":"Visitor's OCP inversion is the strongest evidence for why pattern judgment matters"},{"node":"visitor-inverts-ocp-axis","truth_value":"IN","reason":"SL justification valid","antecedents":["visitor-enables-open-ended-operations","visitor-tradeoff-stable-structure-required","ocp-open-for-extension-closed-for-modification"],"label":"Visitor's open-ops/closed-structure stance is the precise mirror of OCP's open-structure/closed-ops stance"},{"node":"visitor-enables-open-ended-operations","truth_value":"IN","reason":"premise"},{"node":"visitor-tradeoff-stable-structure-required","truth_value":"IN","reason":"premise"},{"node":"ocp-open-for-extension-closed-for-modification","truth_value":"IN","reason":"premise"},{"node":"pattern-judgment-required","truth_value":"IN","reason":"SL justification valid","antecedents":["patterns-should-not-be-applied-indiscriminately","gof-language-choice-affects-pattern-applicability","dip-overgeneralization-pitfall"],"label":"Three independent cautions converge on the need for judgment in pattern application"},{"node":"patterns-should-not-be-applied-indiscriminately","truth_value":"IN","reason":"premise"},{"node":"gof-language-choice-affects-pattern-applicability","truth_value":"IN","reason":"premise"},{"node":"dip-overgeneralization-pitfall","truth_value":"IN","reason":"premise"}]}}