{"id":"solid-isomorphic-to-pattern-mastery","text":"SOLID's two-axis organization (substitutability pipeline LSP→DIP→OCP plus cohesion pair SRP/ISP) and pattern mastery's two dimensions (positive SOLID-based framework plus negative inter-pattern constraints) share a structural resemblance: the substitutability pipeline addresses principled composition, which may relate to the positive framework for applying patterns, while the cohesion pair constrains responsibility scope, which may relate to the negative dimension of knowing when not to apply patterns — but the antecedents establish these as independent observations about SOLID's structure and pattern mastery's dimensions, not as a demonstrated structural mapping between them.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["solid-two-orthogonal-axes","pattern-mastery-requires-principles-and-constraints"],"outlist":[],"label":"SOLID's two structural axes map directly onto the two knowledge dimensions required for pattern mastery, making SOLID the natural theoretical framework for developing pattern judgment"}],"dependents":["solid-as-expert-design-map","solid-structurally-and-empirically-validated-mastery-framework"],"metadata":{"source_type":"derived","review_result":"invalid","repair_action":"softened"},"created_at":"2026-06-17T18:42:56+00:00","updated_at":"2026-06-18T06:46:46+00:00","reviewed_at":"2026-06-18T06:15:08+00:00","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"solid-isomorphic-to-pattern-mastery","truth_value":"IN","reason":"SL justification valid","antecedents":["solid-two-orthogonal-axes","pattern-mastery-requires-principles-and-constraints"],"label":"SOLID's two structural axes map directly onto the two knowledge dimensions required for pattern mastery, making SOLID the natural theoretical framework for developing pattern judgment"},{"node":"solid-two-orthogonal-axes","truth_value":"IN","reason":"SL justification valid","antecedents":["lsp-dip-ocp-dependency-chain","srp-isp-dual-cohesion-principles"],"label":"These two depth-2/depth-1 conclusions describe independent substructures within SOLID; recognizing their orthogonality reveals SOLID as a two-axis coordinate system rather than a flat list"},{"node":"lsp-dip-ocp-dependency-chain","truth_value":"IN","reason":"SL justification valid","antecedents":["lsp-enables-abstraction-dependence","dip-enables-ocp"],"label":"Transitive dependency — LSP enables DIP (depth-1) and DIP enables OCP (depth-1), so LSP transitively enables OCP"},{"node":"lsp-enables-abstraction-dependence","truth_value":"IN","reason":"SL justification valid","antecedents":["lsp-substitutability-of-subtypes","dip-depend-on-abstractions-not-concretions","program-to-interface-not-implementation"],"label":"Substitutability guarantees make abstraction-dependence safe"},{"node":"lsp-substitutability-of-subtypes","truth_value":"IN","reason":"premise"},{"node":"dip-depend-on-abstractions-not-concretions","truth_value":"IN","reason":"premise"},{"node":"program-to-interface-not-implementation","truth_value":"IN","reason":"premise"},{"node":"dip-enables-ocp","truth_value":"IN","reason":"SL justification valid","antecedents":["dip-depend-on-abstractions-not-concretions","ocp-open-for-extension-closed-for-modification","program-to-interface-not-implementation"],"label":"Abstraction-dependency is the mechanism enabling extension-without-modification"},{"node":"ocp-open-for-extension-closed-for-modification","truth_value":"IN","reason":"premise"},{"node":"srp-isp-dual-cohesion-principles","truth_value":"IN","reason":"SL justification valid","antecedents":["srp-rooted-in-cohesion","isp-related-to-grasp-high-cohesion","srp-canonical-definition","isp-no-forced-dependency-on-unused-methods"],"label":"Both principles independently cite cohesion as their root, but constrain it at class vs. interface granularity"},{"node":"srp-rooted-in-cohesion","truth_value":"IN","reason":"premise"},{"node":"isp-related-to-grasp-high-cohesion","truth_value":"IN","reason":"premise"},{"node":"srp-canonical-definition","truth_value":"IN","reason":"premise"},{"node":"isp-no-forced-dependency-on-unused-methods","truth_value":"IN","reason":"premise"},{"node":"pattern-mastery-requires-principles-and-constraints","truth_value":"IN","reason":"SL justification valid","antecedents":["solid-grounds-pattern-judgment","visitor-exposes-pattern-mutual-constraints"],"label":"Positive guidance (SOLID grounding) and negative constraints (mutual pattern tensions) are both required for judgment — either alone is insufficient"},{"node":"solid-grounds-pattern-judgment","truth_value":"IN","reason":"SL justification valid","antecedents":["solid-mutual-reinforcement","pattern-judgment-required"],"label":"SOLID gives the vocabulary and criteria for the judgment that the GoF warns is necessary"},{"node":"solid-mutual-reinforcement","truth_value":"IN","reason":"SL justification valid","antecedents":["srp-violation-increases-coupling","ocp-open-for-extension-closed-for-modification","lsp-substitutability-of-subtypes","isp-no-forced-dependency-on-unused-methods","dip-depend-on-abstractions-not-concretions"],"label":"Five SOLID principles form a reinforcing system, not independent rules"},{"node":"srp-violation-increases-coupling","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"},{"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"}]}}