[
  {
    "id": 1,
    "slug": "design-thinking-ideo",
    "name": "Design Thinking (IDEO/Stanford d.school)",
    "name_zh": "设计思维（IDEO/斯坦福模型）",
    "url": "https://sdframe.caldis.me/frameworks/design-thinking-ideo",
    "api_url": "https://sdframe.caldis.me/api/frameworks/design-thinking-ideo.json",
    "category": "thinking",
    "description": "Human-centered 5-stage empathy-to-test design process",
    "description_zh": "以人为本的五阶段从共情到测试的设计流程",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "design",
      "empathy",
      "user-centered",
      "prototyping",
      "iteration"
    ],
    "origin_author": "David Kelley / Tim Brown (IDEO) & Hasso Plattner Institute of Design at Stanford, 2005",
    "primary_source": "Tim Brown (2009). \"Change by Design: How Design Thinking Transforms Organizations and Inspires Innovation\". Harper Business."
  },
  {
    "id": 2,
    "slug": "domain-driven-design",
    "name": "Domain-Driven Design (DDD)",
    "name_zh": "领域驱动设计",
    "url": "https://sdframe.caldis.me/frameworks/domain-driven-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/domain-driven-design.json",
    "category": "thinking",
    "description": "Model software around core business domain language and logic",
    "description_zh": "围绕核心业务领域语言与逻辑构建软件模型",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "domain-modeling",
      "bounded-context",
      "ubiquitous-language",
      "strategic-design"
    ],
    "origin_author": "Eric Evans, 2003",
    "primary_source": "Eric Evans (2003). \"Domain-Driven Design: Tackling Complexity in the Heart of Software\". Addison-Wesley."
  },
  {
    "id": 3,
    "slug": "systems-thinking",
    "name": "Systems Thinking",
    "name_zh": "系统思维",
    "url": "https://sdframe.caldis.me/frameworks/systems-thinking",
    "api_url": "https://sdframe.caldis.me/api/frameworks/systems-thinking.json",
    "category": "thinking",
    "description": "Analyze software as interconnected feedback loops, not parts",
    "description_zh": "将软件视为相互关联的反馈回路而非孤立部件进行分析",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "systems",
      "feedback-loops",
      "leverage-points",
      "holistic-analysis"
    ],
    "origin_author": "Donella Meadows / Jay Forrester (MIT), 1950s-1990s",
    "primary_source": "Donella Meadows (2008). \"Thinking in Systems: A Primer\". Chelsea Green Publishing."
  },
  {
    "id": 4,
    "slug": "jobs-to-be-done",
    "name": "Jobs-to-Be-Done (JTBD)",
    "name_zh": "待完成任务理论",
    "url": "https://sdframe.caldis.me/frameworks/jobs-to-be-done",
    "api_url": "https://sdframe.caldis.me/api/frameworks/jobs-to-be-done.json",
    "category": "thinking",
    "description": "Frame user needs as functional, social, emotional 'jobs'",
    "description_zh": "将用户需求框架化为功能性、社会性、情感性「任务」",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "user-needs",
      "product-strategy",
      "innovation",
      "customer-research"
    ],
    "origin_author": "Clayton Christensen / Tony Ulwick, 1990s-2003",
    "primary_source": "Clayton Christensen (2003). \"The Innovator's Solution: Creating and Sustaining Successful Growth\". Harvard Business Review Press."
  },
  {
    "id": 5,
    "slug": "first-principles-thinking",
    "name": "First Principles Thinking",
    "name_zh": "第一性原理思维",
    "url": "https://sdframe.caldis.me/frameworks/first-principles-thinking",
    "api_url": "https://sdframe.caldis.me/api/frameworks/first-principles-thinking.json",
    "category": "thinking",
    "description": "Decompose problems to foundational truths, then rebuild up",
    "description_zh": "将问题分解至基本真理，再从底层重新构建解决方案",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "reasoning",
      "decomposition",
      "fundamentals",
      "innovation"
    ],
    "origin_author": "Aristotle (classical origin); popularized in tech by Elon Musk, 2002-present",
    "primary_source": "Aristotle (circa 350 BCE). \"Metaphysics\". Classical philosophical text."
  },
  {
    "id": 6,
    "slug": "design-by-contract",
    "name": "Design by Contract (DbC)",
    "name_zh": "契约式设计",
    "url": "https://sdframe.caldis.me/frameworks/design-by-contract",
    "api_url": "https://sdframe.caldis.me/api/frameworks/design-by-contract.json",
    "category": "thinking",
    "description": "Define explicit preconditions, postconditions, invariants per unit",
    "description_zh": "为每个软件单元定义明确的前置条件、后置条件与不变式",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "contracts",
      "preconditions",
      "postconditions",
      "invariants",
      "correctness"
    ],
    "origin_author": "Bertrand Meyer, 1986",
    "primary_source": "Bertrand Meyer (1988). \"Object-Oriented Software Construction\". Prentice Hall."
  },
  {
    "id": 7,
    "slug": "cynefin-framework",
    "name": "Cynefin Framework",
    "name_zh": "库内文框架",
    "url": "https://sdframe.caldis.me/frameworks/cynefin-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/cynefin-framework.json",
    "category": "thinking",
    "description": "Categorize problems into Simple, Complicated, Complex, Chaotic",
    "description_zh": "将问题归类为简单、繁杂、复杂、混沌四个领域以选择对策",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "decision-making",
      "complexity",
      "problem-classification",
      "sense-making"
    ],
    "origin_author": "Dave Snowden, 1999",
    "primary_source": "Dave Snowden and Mary Boone (2007). \"A Leader's Framework for Decision Making\". Harvard Business Review."
  },
  {
    "id": 8,
    "slug": "wardley-mapping",
    "name": "Wardley Mapping",
    "name_zh": "沃德利地图",
    "url": "https://sdframe.caldis.me/frameworks/wardley-mapping",
    "api_url": "https://sdframe.caldis.me/api/frameworks/wardley-mapping.json",
    "category": "thinking",
    "description": "Visualize value chains by evolution stage to drive strategy",
    "description_zh": "按演化阶段可视化价值链，以驱动技术与商业战略决策",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "strategy",
      "value-chain",
      "evolution",
      "mapping",
      "technology-decisions"
    ],
    "origin_author": "Simon Wardley, 2005",
    "primary_source": "Simon Wardley (2018). \"Wardley Maps: Topographical Intelligence in Business\". Creative Commons."
  },
  {
    "id": 9,
    "slug": "problem-framing-how-now-wow",
    "name": "Problem Framing (How-Now-Wow Matrix)",
    "name_zh": "问题框架化（如何-现在-哇矩阵）",
    "url": "https://sdframe.caldis.me/frameworks/problem-framing-how-now-wow",
    "api_url": "https://sdframe.caldis.me/api/frameworks/problem-framing-how-now-wow.json",
    "category": "thinking",
    "description": "Frame and prioritize ideas by feasibility and originality axes",
    "description_zh": "通过可行性与原创性两轴框架化并优先排序设计创意",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "ideation",
      "prioritization",
      "feasibility",
      "creativity"
    ],
    "origin_author": "The Gamestorming community / Dave Gray, Sunni Brown, James Macanufo, 2010",
    "primary_source": "Dave Gray, Sunni Brown, and James Macanufo (2010). \"Gamestorming: A Playbook for Innovators, Rulebreakers, and Changemakers\". O'Reilly Media."
  },
  {
    "id": 10,
    "slug": "six-thinking-hats",
    "name": "Six Thinking Hats",
    "name_zh": "六顶思考帽",
    "url": "https://sdframe.caldis.me/frameworks/six-thinking-hats",
    "api_url": "https://sdframe.caldis.me/api/frameworks/six-thinking-hats.json",
    "category": "thinking",
    "description": "Parallel thinking method using 6 cognitive perspective modes",
    "description_zh": "采用六种认知视角模式的平行思维决策方法",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "decision-making",
      "perspectives",
      "collaboration",
      "parallel-thinking"
    ],
    "origin_author": "Edward de Bono, 1985",
    "primary_source": "Edward de Bono (1985). \"Six Thinking Hats\". Little, Brown and Company."
  },
  {
    "id": 11,
    "slug": "analogical-thinking",
    "name": "Analogical Thinking",
    "name_zh": "类比思维",
    "url": "https://sdframe.caldis.me/frameworks/analogical-thinking",
    "api_url": "https://sdframe.caldis.me/api/frameworks/analogical-thinking.json",
    "category": "thinking",
    "description": "Transfer structural solutions from source domains to software",
    "description_zh": "将源领域的结构性解决方案迁移到软件设计问题中",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "analogy",
      "cross-domain",
      "pattern-transfer",
      "creative-thinking"
    ],
    "origin_author": "Dedre Gentner, 1983 (Structure-Mapping Theory); broadly rooted in cognitive science",
    "primary_source": "Dedre Gentner (1983). \"Structure-Mapping: A Theoretical Framework for Analogy\". Cognitive Science, 7(2)."
  },
  {
    "id": 12,
    "slug": "human-ai-interaction-design",
    "name": "Human-AI Interaction Design (HAI)",
    "name_zh": "人机交互设计（AI时代）",
    "url": "https://sdframe.caldis.me/frameworks/human-ai-interaction-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/human-ai-interaction-design.json",
    "category": "thinking",
    "description": "Design AI-augmented workflows balancing autonomy and control",
    "description_zh": "设计平衡自主性与控制权的AI增强型工作流程",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "usability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "human-ai",
      "trust",
      "explainability",
      "interaction-design",
      "autonomy"
    ],
    "origin_author": "Microsoft Research / Saleema Amershi et al., 2019",
    "primary_source": "Saleema Amershi et al. (2019). \"Guidelines for Human-AI Interaction\". ACM CHI 2019."
  },
  {
    "id": 13,
    "slug": "agent-oriented-design-thinking",
    "name": "Agent-Oriented Design Thinking",
    "name_zh": "智能体导向设计思维",
    "url": "https://sdframe.caldis.me/frameworks/agent-oriented-design-thinking",
    "api_url": "https://sdframe.caldis.me/api/frameworks/agent-oriented-design-thinking.json",
    "category": "thinking",
    "description": "Design multi-agent systems around roles, goals, and environments",
    "description_zh": "围绕角色、目标与环境设计多智能体系统的思维框架",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "agents",
      "multi-agent",
      "roles",
      "goals",
      "emergent-behavior"
    ],
    "origin_author": "Michael Wooldridge & Nicholas Jennings, 1995; extended by modern AI agent frameworks (LangChain, AutoGen, CrewAI), 2023",
    "primary_source": "Michael Wooldridge and Nicholas Jennings (1995). \"Intelligent Agents: Theory and Practice\". The Knowledge Engineering Review, 10(2)."
  },
  {
    "id": 14,
    "slug": "trade-off-sliders",
    "name": "Trade-off Sliders Model",
    "name_zh": "权衡滑块模型",
    "url": "https://sdframe.caldis.me/frameworks/trade-off-sliders",
    "api_url": "https://sdframe.caldis.me/api/frameworks/trade-off-sliders.json",
    "category": "thinking",
    "description": "Make design trade-offs explicit by ranking competing qualities",
    "description_zh": "通过排列相互竞争的质量属性，将设计权衡显式化",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "trade-offs",
      "quality-attributes",
      "prioritization",
      "stakeholder-alignment"
    ],
    "origin_author": "Kent Beck (Extreme Programming) / SEI Architecture Trade-off Analysis Method (ATAM), late 1990s",
    "primary_source": "Kent Beck (1999). \"Extreme Programming Explained: Embrace Change\". Addison-Wesley."
  },
  {
    "id": 161,
    "slug": "complexity-budget",
    "name": "Complexity Budget",
    "name_zh": "复杂度预算",
    "url": "https://sdframe.caldis.me/frameworks/complexity-budget",
    "api_url": "https://sdframe.caldis.me/api/frameworks/complexity-budget.json",
    "category": "thinking",
    "description": "Every module gets a complexity budget; exceed it and you must decompose",
    "description_zh": "每个模块拥有复杂度预算；超出时必须进行分解",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "complexity",
      "modularity",
      "software-design",
      "decomposition",
      "cognitive-load"
    ],
    "origin_author": "John Ousterhout, 2018",
    "primary_source": "John Ousterhout (2018). \"A Philosophy of Software Design\". Yaknyam Press."
  },
  {
    "id": 162,
    "slug": "deep-vs-shallow-modules",
    "name": "Deep vs Shallow Modules",
    "name_zh": "深模块与浅模块",
    "url": "https://sdframe.caldis.me/frameworks/deep-vs-shallow-modules",
    "api_url": "https://sdframe.caldis.me/api/frameworks/deep-vs-shallow-modules.json",
    "category": "thinking",
    "description": "Prefer deep modules (simple interface, complex implementation) over shallow ones (complex interface, simple implementation)",
    "description_zh": "优先选择深模块（简单接口、复杂实现）而非浅模块（复杂接口、简单实现）",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "abstraction",
      "interface-design",
      "modularity",
      "software-architecture",
      "information-hiding"
    ],
    "origin_author": "John Ousterhout, 2018",
    "primary_source": "John Ousterhout (2018). \"A Philosophy of Software Design\". Yaknyam Press."
  },
  {
    "id": 163,
    "slug": "bounded-rationality-in-design",
    "name": "Bounded Rationality in Design",
    "name_zh": "设计中的有限理性",
    "url": "https://sdframe.caldis.me/frameworks/bounded-rationality-in-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/bounded-rationality-in-design.json",
    "category": "thinking",
    "description": "Designers satisfice rather than optimize; design for human cognitive limits rather than ideal rationality",
    "description_zh": "设计者满意即可而非追求最优；为人类认知极限而非理想理性而设计",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "cognitive-science",
      "decision-making",
      "user-experience",
      "satisficing",
      "choice-architecture"
    ],
    "origin_author": "Herbert A. Simon, 1947/1996",
    "primary_source": "Herbert A. Simon (1947). \"Administrative Behavior: A Study of Decision-Making Processes in Administrative Organization\". Macmillan."
  },
  {
    "id": 164,
    "slug": "separation-of-concerns",
    "name": "Separation of Concerns",
    "name_zh": "关注点分离",
    "url": "https://sdframe.caldis.me/frameworks/separation-of-concerns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/separation-of-concerns.json",
    "category": "thinking",
    "description": "The foundational principle of modular design: each module should address a single, well-defined concern",
    "description_zh": "模块化设计的基础原则：每个模块应解决一个定义明确的关注点",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "modularity",
      "architecture",
      "software-design",
      "coupling",
      "cohesion"
    ],
    "origin_author": "Edsger W. Dijkstra, 1974",
    "primary_source": "Edsger W. Dijkstra (1974). \"On the Role of Scientific Thought\". EWD447."
  },
  {
    "id": 165,
    "slug": "leaky-abstractions",
    "name": "Leaky Abstractions",
    "name_zh": "抽象泄漏",
    "url": "https://sdframe.caldis.me/frameworks/leaky-abstractions",
    "api_url": "https://sdframe.caldis.me/api/frameworks/leaky-abstractions.json",
    "category": "thinking",
    "description": "All non-trivial abstractions leak; design systems to handle the inevitable failures of abstraction layers",
    "description_zh": "所有非平凡抽象都会泄漏；设计系统时应考虑抽象层不可避免的失效",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "abstraction",
      "software-engineering",
      "debugging",
      "system-design",
      "failure-modes"
    ],
    "origin_author": "Joel Spolsky, 2002",
    "primary_source": "Joel Spolsky (2002). \"The Law of Leaky Abstractions\". Joel on Software (joelonsoftware.com)."
  },
  {
    "id": 166,
    "slug": "worse-is-better",
    "name": "Worse is Better",
    "name_zh": "更差即更好",
    "url": "https://sdframe.caldis.me/frameworks/worse-is-better",
    "api_url": "https://sdframe.caldis.me/api/frameworks/worse-is-better.json",
    "category": "thinking",
    "description": "Simpler, less correct implementations often win over complex, theoretically correct ones through easier adoption and faster evolution",
    "description_zh": "更简单但不够正确的实现往往通过更容易的采纳和更快的演进击败复杂的理论正确实现",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "portability"
    ],
    "ai_relevant": true,
    "tags": [
      "simplicity",
      "pragmatism",
      "software-philosophy",
      "adoption",
      "evolution"
    ],
    "origin_author": "Richard P. Gabriel, 1989",
    "primary_source": "Richard P. Gabriel (1989). \"Lisp: Good News, Bad News, How to Win Big\". AI Expert."
  },
  {
    "id": 253,
    "slug": "occams-razor-in-design",
    "name": "Occam's Razor in Design",
    "name_zh": "奥卡姆剃刀原则（设计应用）",
    "url": "https://sdframe.caldis.me/frameworks/occams-razor-in-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/occams-razor-in-design.json",
    "category": "thinking",
    "description": "Among competing design solutions, prefer the simplest one that fully satisfies the requirements",
    "description_zh": "在相互竞争的设计方案中，优先选择能完全满足需求的最简单方案",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "simplicity",
      "parsimony",
      "decision-making",
      "design-philosophy",
      "complexity"
    ],
    "origin_author": "William of Ockham (c. 1287-1347); design application by various authors",
    "primary_source": "Ockham, W. (c. 1323). Summa Logicae. Translated in: Spade, P. V. (1995). Five Texts on the Mediaeval Problem of Universals. Hackett."
  },
  {
    "id": 254,
    "slug": "architectural-kata",
    "name": "Architectural Kata",
    "name_zh": "架构卡塔",
    "url": "https://sdframe.caldis.me/frameworks/architectural-kata",
    "api_url": "https://sdframe.caldis.me/api/frameworks/architectural-kata.json",
    "category": "thinking",
    "description": "Structured practice exercises where architects design systems for fictional scenarios to build architectural intuition and decision-making skills",
    "description_zh": "架构师为虚构场景设计系统的结构化练习，用于培养架构直觉和决策能力",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "architecture",
      "practice",
      "learning",
      "deliberate-practice",
      "decision-making"
    ],
    "origin_author": "Ted Neward, 2009",
    "primary_source": "Neward, T. (2009). 'Architectural Katas.' tednew ard.com. (Original presentation at NFJS symposium.)"
  },
  {
    "id": 255,
    "slug": "theory-of-constraints",
    "name": "Theory of Constraints (TOC)",
    "name_zh": "约束理论（TOC）",
    "url": "https://sdframe.caldis.me/frameworks/theory-of-constraints",
    "api_url": "https://sdframe.caldis.me/api/frameworks/theory-of-constraints.json",
    "category": "thinking",
    "description": "Identify and systematically exploit the binding constraint in a system to maximize throughput, then elevate or break it",
    "description_zh": "识别并系统性地利用系统中的制约因素以最大化吞吐量，然后提升或打破它",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "performance",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "constraints",
      "throughput",
      "bottleneck",
      "systems-thinking",
      "goldratt"
    ],
    "origin_author": "Eliyahu M. Goldratt, 1984",
    "primary_source": "Goldratt, E. M. & Cox, J. (1984). The Goal: A Process of Ongoing Improvement. North River Press."
  },
  {
    "id": 15,
    "slug": "adr",
    "name": "Architecture Decision Records (ADR)",
    "name_zh": "架构决策记录",
    "url": "https://sdframe.caldis.me/frameworks/adr",
    "api_url": "https://sdframe.caldis.me/api/frameworks/adr.json",
    "category": "architecture",
    "description": "Lightweight docs capturing context and rationale for decisions",
    "description_zh": "轻量级文档，记录架构决策的背景与理由",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "documentation",
      "decisions",
      "rationale",
      "governance"
    ],
    "origin_author": "Michael Nygard, 2011",
    "primary_source": "Michael Nygard (2011). \"Documenting Architecture Decisions\". Cognitect Blog (cognitect.com)."
  },
  {
    "id": 16,
    "slug": "atam",
    "name": "Architecture Tradeoff Analysis Method (ATAM)",
    "name_zh": "架构权衡分析法",
    "url": "https://sdframe.caldis.me/frameworks/atam",
    "api_url": "https://sdframe.caldis.me/api/frameworks/atam.json",
    "category": "architecture",
    "description": "Structured method to evaluate architecture against quality goals",
    "description_zh": "系统评估架构对质量目标的结构化分析方法",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "evaluation",
      "trade-offs",
      "quality-attributes",
      "stakeholders"
    ],
    "origin_author": "Rick Kazman, Mark Klein, Paul Clements / SEI, 2000",
    "primary_source": "Rick Kazman, Mark Klein, and Paul Clements (2000). \"ATAM: Method for Architecture Evaluation\". SEI Technical Report CMU/SEI-2000-TR-004."
  },
  {
    "id": 17,
    "slug": "cap-theorem",
    "name": "CAP Theorem",
    "name_zh": "CAP定理",
    "url": "https://sdframe.caldis.me/frameworks/cap-theorem",
    "api_url": "https://sdframe.caldis.me/api/frameworks/cap-theorem.json",
    "category": "architecture",
    "description": "Distributed systems can guarantee only 2 of 3: C, A, P",
    "description_zh": "分布式系统只能同时保证一致性、可用性、分区容错性中的两个",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "distributed-systems",
      "consistency",
      "availability",
      "partition-tolerance"
    ],
    "origin_author": "Eric Brewer, 2000",
    "primary_source": "Eric Brewer (2000). \"Towards Robust Distributed Systems\". ACM PODC Keynote."
  },
  {
    "id": 18,
    "slug": "c4-model",
    "name": "C4 Model",
    "name_zh": "C4模型",
    "url": "https://sdframe.caldis.me/frameworks/c4-model",
    "api_url": "https://sdframe.caldis.me/api/frameworks/c4-model.json",
    "category": "architecture",
    "description": "Four-level hierarchy for visualizing software architecture",
    "description_zh": "用于可视化软件架构的四层次模型",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "visualization",
      "diagrams",
      "architecture-views",
      "documentation"
    ],
    "origin_author": "Simon Brown, 2011",
    "primary_source": "Simon Brown (2018). \"The C4 Model for Visualising Software Architecture\". c4model.com."
  },
  {
    "id": 19,
    "slug": "cqrs-pattern",
    "name": "CQRS Pattern",
    "name_zh": "命令查询职责分离模式",
    "url": "https://sdframe.caldis.me/frameworks/cqrs-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/cqrs-pattern.json",
    "category": "architecture",
    "description": "Separate read/write models for optimized scalability",
    "description_zh": "分离读写模型以实现优化的可扩展性",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "performance",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "cqrs",
      "read-write-separation",
      "scalability",
      "event-driven"
    ],
    "origin_author": "Greg Young, 2010",
    "primary_source": "Greg Young (2010). \"CQRS Documents\". cqrs.files.wordpress.com."
  },
  {
    "id": 20,
    "slug": "eda",
    "name": "Event-Driven Architecture (EDA)",
    "name_zh": "事件驱动架构",
    "url": "https://sdframe.caldis.me/frameworks/eda",
    "api_url": "https://sdframe.caldis.me/api/frameworks/eda.json",
    "category": "architecture",
    "description": "Systems communicate via asynchronous events for loose coupling",
    "description_zh": "系统通过异步事件通信，实现松耦合",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "events",
      "async",
      "messaging",
      "loose-coupling",
      "choreography"
    ],
    "origin_author": "Concept has roots in publish-subscribe systems; popularized by Gregor Hohpe and Bobby Woolf, 2003",
    "primary_source": "Gregor Hohpe and Bobby Woolf (2003). \"Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions\". Addison-Wesley."
  },
  {
    "id": 21,
    "slug": "microservices-decomposition",
    "name": "Microservices Decomposition Patterns",
    "name_zh": "微服务分解模式",
    "url": "https://sdframe.caldis.me/frameworks/microservices-decomposition",
    "api_url": "https://sdframe.caldis.me/api/frameworks/microservices-decomposition.json",
    "category": "architecture",
    "description": "Strategies to split monoliths into focused, independent services",
    "description_zh": "将单体应用拆分为职责明确的独立服务的策略集合",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "microservices",
      "decomposition",
      "monolith",
      "service-boundaries"
    ],
    "origin_author": "James Lewis and Martin Fowler, 2014",
    "primary_source": "James Lewis and Martin Fowler (2014). \"Microservices: A Definition of This New Architectural Term\". martinfowler.com."
  },
  {
    "id": 22,
    "slug": "saga-pattern",
    "name": "Saga Pattern",
    "name_zh": "Saga 模式",
    "url": "https://sdframe.caldis.me/frameworks/saga-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/saga-pattern.json",
    "category": "architecture",
    "description": "Manage distributed transactions via compensating actions",
    "description_zh": "通过补偿动作管理分布式事务，保障跨服务数据一致性",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "distributed-transactions",
      "compensation",
      "orchestration",
      "choreography",
      "consistency"
    ],
    "origin_author": "Hector Garcia-Molina and Kenneth Salem, 1987",
    "primary_source": "Hector Garcia-Molina and Kenneth Salem (1987). \"Sagas\". ACM SIGMOD Conference."
  },
  {
    "id": 23,
    "slug": "togaf-adm",
    "name": "TOGAF Architecture Development Method (ADM)",
    "name_zh": "TOGAF架构开发方法",
    "url": "https://sdframe.caldis.me/frameworks/togaf-adm",
    "api_url": "https://sdframe.caldis.me/api/frameworks/togaf-adm.json",
    "category": "architecture",
    "description": "Iterative enterprise architecture lifecycle with defined phases",
    "description_zh": "具有明确阶段的迭代式企业架构生命周期方法",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "enterprise-architecture",
      "governance",
      "lifecycle",
      "methodology"
    ],
    "origin_author": "The Open Group, 1995",
    "primary_source": "The Open Group (1995). \"TOGAF: The Open Group Architecture Framework\". The Open Group."
  },
  {
    "id": 24,
    "slug": "qaw",
    "name": "Quality Attribute Workshop (QAW)",
    "name_zh": "质量属性工作坊",
    "url": "https://sdframe.caldis.me/frameworks/qaw",
    "api_url": "https://sdframe.caldis.me/api/frameworks/qaw.json",
    "category": "architecture",
    "description": "Elicit and prioritize quality attribute requirements collaboratively",
    "description_zh": "协作式挖掘并优先排序质量属性需求",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "quality-attributes",
      "workshop",
      "stakeholders",
      "requirements"
    ],
    "origin_author": "Mario Barbacci, Robert Ellison, et al. / SEI, 2003",
    "primary_source": "Mario Barbacci, Robert Ellison et al. (2003). \"Quality Attribute Workshop (QAWs), Third Edition\". SEI Technical Report CMU/SEI-2003-TR-016."
  },
  {
    "id": 25,
    "slug": "actor-model",
    "name": "Actor Model",
    "name_zh": "Actor 模型",
    "url": "https://sdframe.caldis.me/frameworks/actor-model",
    "api_url": "https://sdframe.caldis.me/api/frameworks/actor-model.json",
    "category": "architecture",
    "description": "Concurrent computation using message-passing actors",
    "description_zh": "通过消息传递的 Actor 实现并发计算模型",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "scalability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "concurrency",
      "message-passing",
      "actors",
      "fault-tolerance",
      "distributed"
    ],
    "origin_author": "Carl Hewitt, Peter Bishop, Richard Steiger, 1973",
    "primary_source": "Carl Hewitt, Peter Bishop, and Richard Steiger (1973). \"A Universal Modular ACTOR Formalism for Artificial Intelligence\". IJCAI 1973."
  },
  {
    "id": 26,
    "slug": "dependency-injection",
    "name": "Dependency Injection",
    "name_zh": "依赖注入",
    "url": "https://sdframe.caldis.me/frameworks/dependency-injection",
    "api_url": "https://sdframe.caldis.me/api/frameworks/dependency-injection.json",
    "category": "architecture",
    "description": "Invert control flow by injecting dependencies externally",
    "description_zh": "通过外部注入依赖来反转控制流，降低模块耦合度",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "testability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "dependency-injection",
      "inversion-of-control",
      "decoupling",
      "testability"
    ],
    "origin_author": "Martin Fowler, 2004",
    "primary_source": "Martin Fowler (2004). \"Inversion of Control Containers and the Dependency Injection Pattern\". martinfowler.com."
  },
  {
    "id": 27,
    "slug": "service-mesh-pattern",
    "name": "Service Mesh Pattern",
    "name_zh": "服务网格模式",
    "url": "https://sdframe.caldis.me/frameworks/service-mesh-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/service-mesh-pattern.json",
    "category": "architecture",
    "description": "Dedicated infrastructure for service-to-service communication",
    "description_zh": "为服务间通信提供专用基础设施层的架构模式",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": false,
    "tags": [
      "service-mesh",
      "sidecar",
      "traffic-management",
      "observability",
      "mTLS"
    ],
    "origin_author": "William Morgan (Buoyant), 2017",
    "primary_source": "William Morgan (2017). \"What's a Service Mesh? And Why Do I Need One?\". buoyant.io."
  },
  {
    "id": 28,
    "slug": "llm-system-design-patterns",
    "name": "LLM System Design Patterns",
    "name_zh": "LLM系统设计模式",
    "url": "https://sdframe.caldis.me/frameworks/llm-system-design-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/llm-system-design-patterns.json",
    "category": "architecture",
    "description": "Architectural patterns for production LLM-powered applications",
    "description_zh": "面向生产环境的LLM驱动应用架构模式集合",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "llm",
      "ai-architecture",
      "rag",
      "prompt-engineering",
      "production"
    ],
    "origin_author": "Community-evolved; key contributors include Harrison Chase (LangChain, 2022) and Jerry Liu (LlamaIndex, 2022)",
    "primary_source": "Harrison Chase (2022). \"LangChain: Building Applications with LLMs through Composability\". github.com/langchain-ai."
  },
  {
    "id": 167,
    "slug": "layered-architecture",
    "name": "Layered Architecture",
    "name_zh": "分层架构",
    "url": "https://sdframe.caldis.me/frameworks/layered-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/layered-architecture.json",
    "category": "architecture",
    "description": "Traditional n-tier architecture separating presentation, business logic, and data access into horizontal layers with strict dependency rules",
    "description_zh": "将表现层、业务逻辑层和数据访问层分离为水平层次，并设定严格依赖规则的传统N层架构",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "n-tier",
      "separation-of-concerns",
      "layering",
      "monolith",
      "dependency-rules"
    ],
    "origin_author": "Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal, 1996",
    "primary_source": "Frank Buschmann et al. (1996). \"Pattern-Oriented Software Architecture, Volume 1: A System of Patterns\". Wiley."
  },
  {
    "id": 168,
    "slug": "modular-monolith",
    "name": "Modular Monolith",
    "name_zh": "模块化单体",
    "url": "https://sdframe.caldis.me/frameworks/modular-monolith",
    "api_url": "https://sdframe.caldis.me/api/frameworks/modular-monolith.json",
    "category": "architecture",
    "description": "A single deployable unit with strictly enforced module boundaries, combining monolith simplicity with modular maintainability",
    "description_zh": "具有严格模块边界的单一可部署单元，结合了单体的简洁性和模块化的可维护性",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "modularity",
      "monolith",
      "bounded-context",
      "encapsulation",
      "decomposition"
    ],
    "origin_author": "Simon Brown, 2015; elaborated by Mark Richards and Neal Ford, 2020",
    "primary_source": "Mark Richards and Neal Ford (2020). \"Fundamentals of Software Architecture\". O'Reilly Media."
  },
  {
    "id": 169,
    "slug": "space-based-architecture",
    "name": "Space-Based Architecture",
    "name_zh": "基于空间的架构",
    "url": "https://sdframe.caldis.me/frameworks/space-based-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/space-based-architecture.json",
    "category": "architecture",
    "description": "Distributed architecture using in-memory data grids and processing units to achieve high scalability by eliminating the central database bottleneck",
    "description_zh": "使用内存数据网格和处理单元消除中央数据库瓶颈，实现高可扩展性的分布式架构",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "scalability",
      "in-memory",
      "data-grid",
      "elasticity",
      "distributed-processing"
    ],
    "origin_author": "Mark Richards, 2006; formalized in Richards & Ford, 2020",
    "primary_source": "Mark Richards (2015). \"Software Architecture Patterns\". O'Reilly Media."
  },
  {
    "id": 170,
    "slug": "pipe-and-filter",
    "name": "Pipe and Filter Architecture",
    "name_zh": "管道与过滤器架构",
    "url": "https://sdframe.caldis.me/frameworks/pipe-and-filter",
    "api_url": "https://sdframe.caldis.me/api/frameworks/pipe-and-filter.json",
    "category": "architecture",
    "description": "Architecture pattern that decomposes data processing into independent, composable stages connected by data channels",
    "description_zh": "将数据处理分解为通过数据通道连接的独立可组合阶段的架构模式",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "portability"
    ],
    "ai_relevant": true,
    "tags": [
      "data-processing",
      "composability",
      "streaming",
      "pipeline",
      "transformation"
    ],
    "origin_author": "Doug McIlroy, 1964; formalized by Mary Shaw and David Garlan, 1996",
    "primary_source": "Mary Shaw and David Garlan (1996). \"Software Architecture: Perspectives on an Emerging Discipline\". Prentice Hall."
  },
  {
    "id": 171,
    "slug": "architecture-fitness-functions",
    "name": "Architecture Fitness Functions",
    "name_zh": "架构适应度函数",
    "url": "https://sdframe.caldis.me/frameworks/architecture-fitness-functions",
    "api_url": "https://sdframe.caldis.me/api/frameworks/architecture-fitness-functions.json",
    "category": "architecture",
    "description": "Automated, objective compliance checks that continuously validate whether an architecture meets its defined characteristics",
    "description_zh": "自动化的客观合规检查，持续验证架构是否满足其定义的特征",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "governance",
      "automation",
      "compliance",
      "evolutionary-architecture",
      "metrics"
    ],
    "origin_author": "Neal Ford, Rebecca Parsons, Patrick Kua, 2017",
    "primary_source": "Neal Ford, Rebecca Parsons, and Patrick Kua (2017). \"Building Evolutionary Architectures: Support Constant Change\". O'Reilly Media."
  },
  {
    "id": 172,
    "slug": "decision-matrix",
    "name": "Decision Matrix (Weighted Scoring)",
    "name_zh": "决策矩阵（加权评分法）",
    "url": "https://sdframe.caldis.me/frameworks/decision-matrix",
    "api_url": "https://sdframe.caldis.me/api/frameworks/decision-matrix.json",
    "category": "architecture",
    "description": "Systematic trade-off evaluation method that scores architecture alternatives against weighted criteria to make objective, transparent decisions",
    "description_zh": "针对加权标准对架构备选方案进行评分的系统化权衡评估方法，以做出客观透明的决策",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "decision-making",
      "trade-offs",
      "evaluation",
      "scoring",
      "prioritization"
    ],
    "origin_author": "Stuart Pugh, 1991; adapted for software architecture by Bass, Clements, and Kazman",
    "primary_source": "Stuart Pugh (1991). \"Total Design: Integrated Methods for Successful Product Engineering\". Addison-Wesley."
  },
  {
    "id": 261,
    "slug": "cell-based-architecture",
    "name": "Cell-Based Architecture",
    "name_zh": "单元化架构",
    "url": "https://sdframe.caldis.me/frameworks/cell-based-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/cell-based-architecture.json",
    "category": "architecture",
    "description": "An architectural pattern where a system is divided into independent, self-contained cells that own their data, compute, and network resources, enabling granular scaling, fault isolation, and independent deployability",
    "description_zh": "将系统划分为独立、自包含的单元（cell）的架构模式，每个单元拥有自己的数据、计算和网络资源，实现细粒度扩展、故障隔离和独立部署能力",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "scalability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "cell-based",
      "fault-isolation",
      "multi-tenant",
      "scalability",
      "wso2",
      "cloud-native"
    ],
    "origin_author": "WSO2",
    "primary_source": "Siriwardena, P. & Fremantle, P. (2018). \"Cell-Based Architecture\". WSO2. wso2.com/whitepapers/cell-based-architecture-and-reference-implementation."
  },
  {
    "id": 262,
    "slug": "ports-and-adapters",
    "name": "Ports and Adapters (Hexagonal Architecture)",
    "name_zh": "端口与适配器（六边形架构）",
    "url": "https://sdframe.caldis.me/frameworks/ports-and-adapters",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ports-and-adapters.json",
    "category": "architecture",
    "description": "Alistair Cockburn's architectural pattern that isolates the application core from external technology concerns by defining explicit ports (interfaces) and adapters (technology-specific implementations)",
    "description_zh": "Alistair Cockburn的架构模式，通过定义明确的端口（接口）和适配器（特定技术实现），将应用核心与外部技术关注点隔离",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "hexagonal",
      "ports-adapters",
      "clean-architecture",
      "testability",
      "cockburn"
    ],
    "origin_author": "Alistair Cockburn",
    "primary_source": "Cockburn, A. (2005). \"Hexagonal Architecture\". alistair.cockburn.us/hexagonal-architecture."
  },
  {
    "id": 263,
    "slug": "evolutionary-architecture",
    "name": "Evolutionary Architecture",
    "name_zh": "演进式架构",
    "url": "https://sdframe.caldis.me/frameworks/evolutionary-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/evolutionary-architecture.json",
    "category": "architecture",
    "description": "Neal Ford's approach to designing software systems that support incremental, guided change across all dimensions through fitness functions and architectural coupling analysis",
    "description_zh": "Neal Ford提出的软件系统设计方法，通过适应度函数和架构耦合分析支持在所有维度上的增量、有指导的变化",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "evolutionary",
      "fitness-function",
      "continuous-architecture",
      "neal-ford",
      "thoughtworks"
    ],
    "origin_author": "Neal Ford",
    "primary_source": "Ford, N., Parsons, R. & Kua, P. (2017). \"Building Evolutionary Architectures\". O'Reilly Media."
  },
  {
    "id": 316,
    "slug": "mvc",
    "name": "MVC (Model-View-Controller)",
    "name_zh": "MVC（模型-视图-控制器）",
    "url": "https://sdframe.caldis.me/frameworks/mvc",
    "api_url": "https://sdframe.caldis.me/api/frameworks/mvc.json",
    "category": "architecture",
    "description": "Separates an application into three interconnected components — Model (data/logic), View (UI), and Controller (input handling) — to decouple presentation from business logic.",
    "description_zh": "将应用程序分为三个相互关联的组件——模型（数据/逻辑）、视图（界面）和控制器（输入处理）——以解耦表示层与业务逻辑。",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "ui-pattern",
      "separation-of-concerns",
      "component-architecture",
      "presentation-pattern"
    ],
    "origin_author": "Trygve Reenskaug, 1979, Xerox PARC",
    "primary_source": "Reenskaug, T. (1979). Models-Views-Controllers. Xerox PARC technical note, December 10."
  },
  {
    "id": 317,
    "slug": "mvvm",
    "name": "MVVM (Model-View-ViewModel)",
    "name_zh": "MVVM（模型-视图-视图模型）",
    "url": "https://sdframe.caldis.me/frameworks/mvvm",
    "api_url": "https://sdframe.caldis.me/api/frameworks/mvvm.json",
    "category": "architecture",
    "description": "Separates UI from business logic by introducing a ViewModel that exposes data streams and commands for two-way data binding, enabling declarative view construction and high testability.",
    "description_zh": "通过引入ViewModel将UI与业务逻辑分离，ViewModel暴露数据流和命令用于双向数据绑定，从而实现声明式视图构建和高度可测试性。",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "ui-pattern",
      "data-binding",
      "component-architecture",
      "reactive"
    ],
    "origin_author": "John Gossman, 2005, Microsoft (WPF team)",
    "primary_source": "Gossman, J. (2005). Introduction to Model/View/ViewModel pattern for building WPF apps. Microsoft MSDN blogs."
  },
  {
    "id": 318,
    "slug": "mvp",
    "name": "MVP (Model-View-Presenter)",
    "name_zh": "MVP（模型-视图-呈现者）",
    "url": "https://sdframe.caldis.me/frameworks/mvp",
    "api_url": "https://sdframe.caldis.me/api/frameworks/mvp.json",
    "category": "architecture",
    "description": "Evolves MVC by replacing the Controller with a Presenter that holds all UI logic, while the View becomes a passive interface that delegates every user gesture to the Presenter.",
    "description_zh": "在MVC基础上演进，将控制器替换为持有全部UI逻辑的呈现者，同时视图成为被动接口，将所有用户手势委托给呈现者处理。",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "ui-pattern",
      "testability",
      "component-architecture",
      "presentation-pattern"
    ],
    "origin_author": "Mike Potel / Taligent, 1996",
    "primary_source": "Potel, M. (1996). MVP: Model-View-Presenter. Taligent Inc. white paper."
  },
  {
    "id": 319,
    "slug": "clean-architecture",
    "name": "Clean Architecture",
    "name_zh": "整洁架构",
    "url": "https://sdframe.caldis.me/frameworks/clean-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/clean-architecture.json",
    "category": "architecture",
    "description": "Organizes code into concentric dependency rings — Entities, Use Cases, Interface Adapters, Frameworks — where the Dependency Rule mandates all source-code dependencies point inward, making the system independent of UI, database, and frameworks.",
    "description_zh": "将代码组织为同心依赖环——实体、用例、接口适配器、框架——依赖规则规定所有源代码依赖指向内部，使系统独立于UI、数据库和框架。",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "testability",
      "portability"
    ],
    "ai_relevant": false,
    "tags": [
      "dependency-inversion",
      "testability",
      "framework-independence",
      "enterprise-architecture"
    ],
    "origin_author": "Robert C. Martin (Uncle Bob), 2012",
    "primary_source": "Martin, R.C. (2012). The Clean Architecture. blog.cleancoder.com, August 13."
  },
  {
    "id": 320,
    "slug": "onion-architecture",
    "name": "Onion Architecture",
    "name_zh": "洋葱架构",
    "url": "https://sdframe.caldis.me/frameworks/onion-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/onion-architecture.json",
    "category": "architecture",
    "description": "Structures applications as concentric rings around a Domain Model core, where all dependencies flow inward and infrastructure lives in the outermost ring, making the domain model completely independent of persistence and UI concerns.",
    "description_zh": "将应用程序构建为围绕领域模型核心的同心环，所有依赖指向内部，基础设施位于最外层环，使领域模型完全独立于持久化和UI关注点。",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "domain-model",
      "dependency-inversion",
      "testability",
      "enterprise-architecture"
    ],
    "origin_author": "Jeffrey Palermo, 2008",
    "primary_source": "Palermo, J. (2008). The Onion Architecture: parts 1–4. jeffreypalermo.com."
  },
  {
    "id": 321,
    "slug": "n-tier-layered",
    "name": "N-Tier / Layered Architecture",
    "name_zh": "N层/分层架构",
    "url": "https://sdframe.caldis.me/frameworks/n-tier-layered",
    "api_url": "https://sdframe.caldis.me/api/frameworks/n-tier-layered.json",
    "category": "architecture",
    "description": "Organizes software into horizontal layers — typically Presentation, Business Logic, and Data Access — where each layer depends only on the layer directly below it, establishing clear separation of concerns across the entire application.",
    "description_zh": "将软件组织为水平层次——通常是表示层、业务逻辑层和数据访问层——其中每层仅依赖其正下方的层，在整个应用程序中建立清晰的关注点分离。",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "enterprise-architecture",
      "separation-of-concerns",
      "layering",
      "scalability"
    ],
    "origin_author": "1990s enterprise computing; formalized by Microsoft and Sun Microsystems",
    "primary_source": "Fowler, M. (2002). Patterns of Enterprise Application Architecture, Chapter 1: Layering. Addison-Wesley."
  },
  {
    "id": 322,
    "slug": "microkernel-architecture",
    "name": "Microkernel (Plugin) Architecture",
    "name_zh": "微内核（插件）架构",
    "url": "https://sdframe.caldis.me/frameworks/microkernel-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/microkernel-architecture.json",
    "category": "architecture",
    "description": "Separates a minimal stable core system from interchangeable plug-in modules, enabling feature extension without modifying the core — the core provides services and a registry; plugins contribute functionality through a defined contract.",
    "description_zh": "将最小稳定核心系统与可互换插件模块分离，使功能扩展无需修改核心——核心提供服务和注册表；插件通过定义的契约贡献功能。",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "portability"
    ],
    "ai_relevant": false,
    "tags": [
      "extensibility",
      "plugin-system",
      "open-closed-principle",
      "modularity"
    ],
    "origin_author": "OS design lineage (Mach microkernel, 1985, Carnegie Mellon); applied to software architecture by Richards and Ford (2015)",
    "primary_source": "Richards, M. (2015). Software Architecture Patterns. O'Reilly Media."
  },
  {
    "id": 323,
    "slug": "flux-unidirectional",
    "name": "Flux / Unidirectional Data Flow",
    "name_zh": "Flux / 单向数据流",
    "url": "https://sdframe.caldis.me/frameworks/flux-unidirectional",
    "api_url": "https://sdframe.caldis.me/api/frameworks/flux-unidirectional.json",
    "category": "architecture",
    "description": "Enforces a strict one-way data cycle — Action → Dispatcher → Store → View → Action — eliminating the cascading update problems of two-way binding by making state changes predictable and traceable.",
    "description_zh": "强制执行严格的单向数据循环——动作→调度器→存储→视图→动作——通过使状态变更可预测和可追踪，消除双向绑定的级联更新问题。",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "state-management",
      "unidirectional",
      "react",
      "frontend-architecture"
    ],
    "origin_author": "Facebook (Jing Chen, Bill Fisher), 2014",
    "primary_source": "Chen, J. & Fisher, B. (2014). Flux: An Application Architecture for React. Facebook Engineering, F8 Conference."
  },
  {
    "id": 29,
    "slug": "solid-principles",
    "name": "SOLID Principles",
    "name_zh": "SOLID 原则",
    "url": "https://sdframe.caldis.me/frameworks/solid-principles",
    "api_url": "https://sdframe.caldis.me/api/frameworks/solid-principles.json",
    "category": "coding",
    "description": "Five OOP design principles for maintainable, flexible code",
    "description_zh": "面向对象设计的五大原则，打造可维护、灵活的代码",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "solid",
      "oop",
      "design-principles",
      "maintainability"
    ],
    "origin_author": "Robert C. Martin, 2000",
    "primary_source": "Robert C. Martin (2000). \"Design Principles and Design Patterns\". objectmentor.com."
  },
  {
    "id": 30,
    "slug": "grasp-patterns",
    "name": "GRASP Patterns",
    "name_zh": "GRASP 模式",
    "url": "https://sdframe.caldis.me/frameworks/grasp-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/grasp-patterns.json",
    "category": "coding",
    "description": "Nine patterns for assigning responsibility to classes properly",
    "description_zh": "九种将职责正确分配给类的通用模式",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "grasp",
      "responsibility-assignment",
      "oop",
      "coupling",
      "cohesion"
    ],
    "origin_author": "Craig Larman, 2004",
    "primary_source": "Craig Larman (2004). \"Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd Edition\". Prentice Hall."
  },
  {
    "id": 31,
    "slug": "gof-design-patterns",
    "name": "GoF Design Patterns",
    "name_zh": "GoF 设计模式",
    "url": "https://sdframe.caldis.me/frameworks/gof-design-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/gof-design-patterns.json",
    "category": "coding",
    "description": "23 classic creational, structural, behavioral design patterns",
    "description_zh": "23种经典的创建型、结构型、行为型设计模式",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "design-patterns",
      "gof",
      "creational",
      "structural",
      "behavioral"
    ],
    "origin_author": "Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides), 1994",
    "primary_source": "Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 32,
    "slug": "clean-code-principles",
    "name": "Clean Code Principles",
    "name_zh": "整洁代码原则",
    "url": "https://sdframe.caldis.me/frameworks/clean-code-principles",
    "api_url": "https://sdframe.caldis.me/api/frameworks/clean-code-principles.json",
    "category": "coding",
    "description": "Write readable, simple, expressive code that minimizes surprise",
    "description_zh": "编写可读、简洁、表达力强且最小化意外的代码",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "clean-code",
      "readability",
      "naming",
      "refactoring",
      "simplicity"
    ],
    "origin_author": "Robert C. Martin, 2008",
    "primary_source": "Robert C. Martin (2008). \"Clean Code: A Handbook of Agile Software Craftsmanship\". Prentice Hall."
  },
  {
    "id": 33,
    "slug": "ddd-tactical-patterns",
    "name": "DDD Tactical Patterns",
    "name_zh": "DDD 战术模式",
    "url": "https://sdframe.caldis.me/frameworks/ddd-tactical-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ddd-tactical-patterns.json",
    "category": "coding",
    "description": "Implementation building blocks: entities, value objects, aggregates",
    "description_zh": "领域驱动设计的实现构建块：实体、值对象、聚合",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "ddd",
      "entities",
      "value-objects",
      "aggregates",
      "domain-events"
    ],
    "origin_author": "Eric Evans, 2003",
    "primary_source": "Eric Evans (2003). \"Domain-Driven Design: Tackling Complexity in the Heart of Software\". Addison-Wesley."
  },
  {
    "id": 34,
    "slug": "hexagonal-architecture",
    "name": "Hexagonal Architecture",
    "name_zh": "六边形架构",
    "url": "https://sdframe.caldis.me/frameworks/hexagonal-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/hexagonal-architecture.json",
    "category": "coding",
    "description": "Isolate core logic from external concerns via ports and adapters",
    "description_zh": "通过端口与适配器将核心逻辑与外部关注点隔离",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "hexagonal",
      "ports-adapters",
      "clean-architecture",
      "isolation",
      "testability"
    ],
    "origin_author": "Alistair Cockburn, 2005",
    "primary_source": "Alistair Cockburn (2005). \"Hexagonal Architecture (Ports and Adapters)\". alistair.cockburn.us."
  },
  {
    "id": 35,
    "slug": "functional-core-imperative-shell",
    "name": "Functional Core / Imperative Shell",
    "name_zh": "函数式核心 / 命令式外壳",
    "url": "https://sdframe.caldis.me/frameworks/functional-core-imperative-shell",
    "api_url": "https://sdframe.caldis.me/api/frameworks/functional-core-imperative-shell.json",
    "category": "coding",
    "description": "Pure logic in the center, side effects only at the boundaries",
    "description_zh": "纯逻辑居于核心，副作用仅存在于边界层",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "functional-programming",
      "pure-functions",
      "side-effects",
      "testability",
      "architecture"
    ],
    "origin_author": "Gary Bernhardt, 2012",
    "primary_source": "Gary Bernhardt (2012). \"Boundaries\". Destroy All Software Screencasts / RubyConf Talk."
  },
  {
    "id": 36,
    "slug": "reactive-extensions",
    "name": "Reactive Extensions (Rx)",
    "name_zh": "响应式扩展（Rx）",
    "url": "https://sdframe.caldis.me/frameworks/reactive-extensions",
    "api_url": "https://sdframe.caldis.me/api/frameworks/reactive-extensions.json",
    "category": "coding",
    "description": "Compose async event streams with observable sequences and operators",
    "description_zh": "通过可观察序列和操作符组合异步事件流",
    "complexity": "advanced",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "performance",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "reactive",
      "observables",
      "streams",
      "async",
      "operators"
    ],
    "origin_author": "Erik Meijer, 2009",
    "primary_source": "Erik Meijer (2010). \"Reactive Extensions (Rx): Curing Your Asynchronous Programming Blues\". Microsoft DevLabs."
  },
  {
    "id": 37,
    "slug": "richardson-maturity-model",
    "name": "Richardson Maturity Model",
    "name_zh": "Richardson 成熟度模型",
    "url": "https://sdframe.caldis.me/frameworks/richardson-maturity-model",
    "api_url": "https://sdframe.caldis.me/api/frameworks/richardson-maturity-model.json",
    "category": "coding",
    "description": "Four levels of REST API maturity from RPC to hypermedia",
    "description_zh": "REST API 从 RPC 到超媒体的四级成熟度模型",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "rest",
      "api-design",
      "maturity-model",
      "hateoas",
      "http"
    ],
    "origin_author": "Leonard Richardson, 2008",
    "primary_source": "Leonard Richardson (2008). \"Justice Will Take Us Millions of Intricate Moves\". QCon Conference Talk."
  },
  {
    "id": 38,
    "slug": "event-sourcing-pattern",
    "name": "Event Sourcing Pattern",
    "name_zh": "事件溯源模式",
    "url": "https://sdframe.caldis.me/frameworks/event-sourcing-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/event-sourcing-pattern.json",
    "category": "coding",
    "description": "Persist state as an immutable append-only sequence of events",
    "description_zh": "将状态持久化为不可变的追加事件序列而非当前快照",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "event-sourcing",
      "immutable",
      "append-only",
      "replay",
      "audit-trail"
    ],
    "origin_author": "Greg Young, 2005",
    "primary_source": "Greg Young (2010). \"CQRS and Event Sourcing\". cqrs.files.wordpress.com."
  },
  {
    "id": 39,
    "slug": "prompt-engineering-patterns",
    "name": "Prompt Engineering Patterns",
    "name_zh": "提示工程模式",
    "url": "https://sdframe.caldis.me/frameworks/prompt-engineering-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/prompt-engineering-patterns.json",
    "category": "coding",
    "description": "Structured techniques for crafting effective LLM prompts",
    "description_zh": "构建高效大模型提示词的结构化技术模式集合",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "usability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "prompt-engineering",
      "few-shot",
      "chain-of-thought",
      "llm",
      "ai"
    ],
    "origin_author": "Jason Wei, Xuezhi Wang et al. (Google Brain), 2022",
    "primary_source": "Jason Wei et al. (2022). \"Chain-of-Thought Prompting Elicits Reasoning in Large Language Models\". NeurIPS 2022."
  },
  {
    "id": 40,
    "slug": "tool-use-react-pattern",
    "name": "Tool-Use / ReAct Pattern",
    "name_zh": "工具使用 / ReAct 模式",
    "url": "https://sdframe.caldis.me/frameworks/tool-use-react-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/tool-use-react-pattern.json",
    "category": "coding",
    "description": "Enable LLM agents to call external tools in reasoning loops",
    "description_zh": "使大模型代理能在推理循环中调用外部工具",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "tool-use",
      "react",
      "agents",
      "function-calling",
      "reasoning"
    ],
    "origin_author": "Shunyu Yao, Jeffrey Zhao et al. (Princeton/Google Brain), 2022",
    "primary_source": "Shunyu Yao et al. (2023). \"ReAct: Synergizing Reasoning and Acting in Language Models\". ICLR 2023."
  },
  {
    "id": 41,
    "slug": "conventional-comments",
    "name": "Conventional Comments",
    "name_zh": "约定式评论",
    "url": "https://sdframe.caldis.me/frameworks/conventional-comments",
    "api_url": "https://sdframe.caldis.me/api/frameworks/conventional-comments.json",
    "category": "coding",
    "description": "Prefixed code review comments for clarity and actionability",
    "description_zh": "带前缀的代码评审注释，提升清晰度与可操作性",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "code-review",
      "comments",
      "collaboration",
      "conventions"
    ],
    "origin_author": "Paul Slaughter, 2020",
    "primary_source": "Paul Slaughter (2020). \"Conventional Comments\". conventionalcomments.org."
  },
  {
    "id": 42,
    "slug": "semantic-versioning",
    "name": "Semantic Versioning (SemVer)",
    "name_zh": "语义化版本控制",
    "url": "https://sdframe.caldis.me/frameworks/semantic-versioning",
    "api_url": "https://sdframe.caldis.me/api/frameworks/semantic-versioning.json",
    "category": "coding",
    "description": "Version APIs and libraries with MAJOR.MINOR.PATCH semantics",
    "description_zh": "使用主版本.次版本.补丁版本语义对API和库进行版本控制",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "versioning",
      "semver",
      "api",
      "changelog",
      "release-management"
    ],
    "origin_author": "Tom Preston-Werner, 2011",
    "primary_source": "Tom Preston-Werner (2011). \"Semantic Versioning 2.0.0\". semver.org."
  },
  {
    "id": 43,
    "slug": "contract-testing",
    "name": "Contract Testing",
    "name_zh": "契约测试",
    "url": "https://sdframe.caldis.me/frameworks/contract-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/contract-testing.json",
    "category": "coding",
    "description": "Verify service interactions via shared consumer-provider contracts",
    "description_zh": "通过共享的消费者-提供者契约验证服务间交互的正确性",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "contract-testing",
      "pact",
      "consumer-driven",
      "api-compatibility",
      "microservices"
    ],
    "origin_author": "Ian Robinson, Martin Fowler, 2006",
    "primary_source": "Ian Robinson (2006). \"Consumer-Driven Contracts: A Service Evolution Pattern\". martinfowler.com."
  },
  {
    "id": 173,
    "slug": "strangler-fig-at-code-level",
    "name": "Strangler Fig at Code Level",
    "name_zh": "代码级绞杀者模式",
    "url": "https://sdframe.caldis.me/frameworks/strangler-fig-at-code-level",
    "api_url": "https://sdframe.caldis.me/api/frameworks/strangler-fig-at-code-level.json",
    "category": "coding",
    "description": "Incrementally replace legacy code modules by wrapping them and redirecting calls to new implementations",
    "description_zh": "通过包装遗留代码模块并将调用重定向到新实现来渐进式替换旧代码",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "refactoring",
      "legacy-code",
      "incremental-replacement",
      "strangler-fig",
      "migration"
    ],
    "origin_author": "Martin Fowler, 2004; Michael Feathers, 2004",
    "primary_source": "Martin Fowler (2004). \"StranglerFigApplication\". martinfowler.com."
  },
  {
    "id": 174,
    "slug": "feature-toggles-at-code-level",
    "name": "Feature Toggles at Code Level",
    "name_zh": "代码级功能开关",
    "url": "https://sdframe.caldis.me/frameworks/feature-toggles-at-code-level",
    "api_url": "https://sdframe.caldis.me/api/frameworks/feature-toggles-at-code-level.json",
    "category": "coding",
    "description": "Control code execution paths using conditional branching to enable or disable features without redeployment",
    "description_zh": "使用条件分支控制代码执行路径，无需重新部署即可启用或禁用功能",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "feature-toggles",
      "feature-flags",
      "branching-in-code",
      "conditional-logic",
      "trunk-based"
    ],
    "origin_author": "Martin Fowler, 2010; Pete Hodgson, 2017",
    "primary_source": "Pete Hodgson (2017). \"Feature Toggles (aka Feature Flags)\". martinfowler.com."
  },
  {
    "id": 175,
    "slug": "immutability-pattern",
    "name": "Immutability Pattern",
    "name_zh": "不可变性模式",
    "url": "https://sdframe.caldis.me/frameworks/immutability-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/immutability-pattern.json",
    "category": "coding",
    "description": "Prefer immutable data structures to eliminate shared mutable state and improve safety, concurrency, and reasoning",
    "description_zh": "优先使用不可变数据结构以消除共享可变状态，提高安全性、并发性和可推理性",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "immutability",
      "functional-programming",
      "concurrency",
      "data-structures",
      "thread-safety"
    ],
    "origin_author": "John Ousterhout, 2018; Rich Hickey, 2007",
    "primary_source": "Rich Hickey (2007). \"Clojure: A Dynamic Programming Language for the JVM\". clojure.org."
  },
  {
    "id": 176,
    "slug": "null-object-pattern",
    "name": "Null Object Pattern",
    "name_zh": "空对象模式",
    "url": "https://sdframe.caldis.me/frameworks/null-object-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/null-object-pattern.json",
    "category": "coding",
    "description": "Eliminate null checks by providing default-behavior objects that implement the expected interface with no-op or safe defaults",
    "description_zh": "通过提供实现预期接口的默认行为对象（无操作或安全默认值）来消除空值检查",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "null-object",
      "design-pattern",
      "defensive-programming",
      "null-safety",
      "polymorphism"
    ],
    "origin_author": "Bobby Woolf, 1998; Martin Fowler, 2018",
    "primary_source": "Bobby Woolf (1998). \"Null Object\". Pattern Languages of Program Design 3. Addison-Wesley."
  },
  {
    "id": 177,
    "slug": "type-driven-design",
    "name": "Type-Driven Design",
    "name_zh": "类型驱动设计",
    "url": "https://sdframe.caldis.me/frameworks/type-driven-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/type-driven-design.json",
    "category": "coding",
    "description": "Use the type system to encode business rules and constraints, making invalid states unrepresentable at compile time",
    "description_zh": "利用类型系统编码业务规则和约束，使无效状态在编译时不可表示",
    "complexity": "advanced",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "type-system",
      "type-safety",
      "domain-modeling",
      "compile-time-safety",
      "make-illegal-states-unrepresentable"
    ],
    "origin_author": "John Ousterhout, 2018; Scott Wlaschin, 2018",
    "primary_source": "Scott Wlaschin (2018). \"Domain Modeling Made Functional\". Pragmatic Bookshelf."
  },
  {
    "id": 225,
    "slug": "strategy-pattern",
    "name": "Strategy Pattern",
    "name_zh": "策略模式",
    "url": "https://sdframe.caldis.me/frameworks/strategy-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/strategy-pattern.json",
    "category": "coding",
    "description": "Encapsulate interchangeable algorithms behind a common interface",
    "description_zh": "将可互换的算法封装在统一接口后，使算法可独立于使用方变化",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "gof",
      "behavioral",
      "design-patterns",
      "algorithm",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 226,
    "slug": "observer-pattern",
    "name": "Observer Pattern",
    "name_zh": "观察者模式",
    "url": "https://sdframe.caldis.me/frameworks/observer-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/observer-pattern.json",
    "category": "coding",
    "description": "Notify dependents automatically when state changes",
    "description_zh": "当对象状态发生变化时自动通知所有依赖方",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "gof",
      "behavioral",
      "design-patterns",
      "event",
      "pub-sub",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 227,
    "slug": "factory-method-pattern",
    "name": "Factory Method Pattern",
    "name_zh": "工厂方法模式",
    "url": "https://sdframe.caldis.me/frameworks/factory-method-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/factory-method-pattern.json",
    "category": "coding",
    "description": "Delegate object creation to subclasses",
    "description_zh": "将对象的创建委托给子类决定，使父类无需依赖具体产品类",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "creational",
      "design-patterns",
      "object-creation",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 228,
    "slug": "abstract-factory-pattern",
    "name": "Abstract Factory Pattern",
    "name_zh": "抽象工厂模式",
    "url": "https://sdframe.caldis.me/frameworks/abstract-factory-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/abstract-factory-pattern.json",
    "category": "coding",
    "description": "Create families of related objects without specifying concrete classes",
    "description_zh": "在不指定具体类的情况下创建一系列相关或相互依赖的对象",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "creational",
      "design-patterns",
      "object-creation",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 229,
    "slug": "decorator-pattern",
    "name": "Decorator Pattern",
    "name_zh": "装饰器模式",
    "url": "https://sdframe.caldis.me/frameworks/decorator-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/decorator-pattern.json",
    "category": "coding",
    "description": "Attach additional responsibilities to objects dynamically",
    "description_zh": "动态地为对象添加额外职责，是子类化扩展功能的灵活替代方案",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "structural",
      "design-patterns",
      "composition",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 230,
    "slug": "adapter-pattern",
    "name": "Adapter Pattern",
    "name_zh": "适配器模式",
    "url": "https://sdframe.caldis.me/frameworks/adapter-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/adapter-pattern.json",
    "category": "coding",
    "description": "Convert one interface to another that clients expect",
    "description_zh": "将一个类的接口转换为客户期望的另一个接口，使原本不兼容的类可以协作",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "portability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "structural",
      "design-patterns",
      "interface",
      "integration",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 231,
    "slug": "singleton-pattern",
    "name": "Singleton Pattern",
    "name_zh": "单例模式",
    "url": "https://sdframe.caldis.me/frameworks/singleton-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/singleton-pattern.json",
    "category": "coding",
    "description": "Ensure a class has only one instance with a global access point",
    "description_zh": "确保一个类只有一个实例，并提供一个访问它的全局入口点",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "creational",
      "design-patterns",
      "instance-management",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 232,
    "slug": "command-pattern",
    "name": "Command Pattern",
    "name_zh": "命令模式",
    "url": "https://sdframe.caldis.me/frameworks/command-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/command-pattern.json",
    "category": "coding",
    "description": "Encapsulate a request as an object for undo, queue, or logging",
    "description_zh": "将请求封装为对象，从而支持撤销、排队或日志记录等操作",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "gof",
      "behavioral",
      "design-patterns",
      "undo",
      "queue",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 233,
    "slug": "template-method-pattern",
    "name": "Template Method Pattern",
    "name_zh": "模板方法模式",
    "url": "https://sdframe.caldis.me/frameworks/template-method-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/template-method-pattern.json",
    "category": "coding",
    "description": "Define algorithm skeleton in base class, let subclasses override specific steps",
    "description_zh": "在基类中定义算法骨架，允许子类覆盖特定步骤而不改变算法整体结构",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "behavioral",
      "design-patterns",
      "inheritance",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 234,
    "slug": "state-pattern",
    "name": "State Pattern",
    "name_zh": "状态模式",
    "url": "https://sdframe.caldis.me/frameworks/state-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/state-pattern.json",
    "category": "coding",
    "description": "Allow object behavior to change automatically when its internal state changes",
    "description_zh": "允许对象在内部状态改变时自动改变其行为，使其看起来像改变了类",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "behavioral",
      "design-patterns",
      "state-machine",
      "oop"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 235,
    "slug": "repository-pattern",
    "name": "Repository Pattern",
    "name_zh": "仓储模式",
    "url": "https://sdframe.caldis.me/frameworks/repository-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/repository-pattern.json",
    "category": "coding",
    "description": "Mediate between domain model and data mapping layers using a collection-like interface",
    "description_zh": "使用类集合接口在领域模型与数据映射层之间进行中介，解耦业务逻辑与数据访问",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "fowler",
      "poeaa",
      "data-access",
      "domain-driven-design",
      "persistence"
    ],
    "origin_author": "Martin Fowler, 2002",
    "primary_source": "Fowler, M. (2002). \"Patterns of Enterprise Application Architecture\". Addison-Wesley."
  },
  {
    "id": 236,
    "slug": "unit-of-work-pattern",
    "name": "Unit of Work Pattern",
    "name_zh": "工作单元模式",
    "url": "https://sdframe.caldis.me/frameworks/unit-of-work-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/unit-of-work-pattern.json",
    "category": "coding",
    "description": "Track object changes during a business transaction and commit them as a single atomic batch",
    "description_zh": "在业务事务期间跟踪对象变更，并将其作为单一原子批次提交到数据库",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "fowler",
      "poeaa",
      "transactions",
      "data-access",
      "persistence"
    ],
    "origin_author": "Martin Fowler, 2002",
    "primary_source": "Fowler, M. (2002). \"Patterns of Enterprise Application Architecture\". Addison-Wesley."
  },
  {
    "id": 237,
    "slug": "data-mapper-pattern",
    "name": "Data Mapper Pattern",
    "name_zh": "数据映射器模式",
    "url": "https://sdframe.caldis.me/frameworks/data-mapper-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-mapper-pattern.json",
    "category": "coding",
    "description": "Transfer data between in-memory objects and a database while keeping them independent of each other",
    "description_zh": "在内存对象与数据库之间传输数据，同时保持两者相互独立，领域对象对持久化完全无知",
    "complexity": "advanced",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "fowler",
      "poeaa",
      "data-access",
      "orm",
      "persistence"
    ],
    "origin_author": "Martin Fowler, 2002",
    "primary_source": "Fowler, M. (2002). \"Patterns of Enterprise Application Architecture\". Addison-Wesley."
  },
  {
    "id": 238,
    "slug": "builder-pattern",
    "name": "Builder Pattern",
    "name_zh": "构建器模式",
    "url": "https://sdframe.caldis.me/frameworks/builder-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/builder-pattern.json",
    "category": "coding",
    "description": "Construct complex objects step by step using a fluent API, separating construction from representation",
    "description_zh": "使用流式 API 逐步构建复杂对象，将构建过程与对象表示分离，支持多种表示形式",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "gof",
      "creational",
      "design-patterns",
      "fluent-api",
      "immutability"
    ],
    "origin_author": "Gamma, Helm, Johnson, Vlissides, 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 239,
    "slug": "middleware-pipeline-pattern",
    "name": "Middleware / Pipeline Pattern",
    "name_zh": "中间件/管道模式",
    "url": "https://sdframe.caldis.me/frameworks/middleware-pipeline-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/middleware-pipeline-pattern.json",
    "category": "coding",
    "description": "Chain processing steps that can inspect, transform, or short-circuit a request as it flows through a pipeline",
    "description_zh": "将处理步骤链接成管道，每个步骤可检查、转换请求或短路请求的流动，实现横切关注点的解耦",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "pipeline",
      "middleware",
      "behavioral",
      "http",
      "cross-cutting-concerns"
    ],
    "origin_author": "Community practice; popularized by TJ Holowaychuk (Express.js / Koa), 2010s",
    "primary_source": "Holowaychuk, T. (2010). Express.js framework documentation. expressjs.com."
  },
  {
    "id": 277,
    "slug": "strangler-fig-code-level",
    "name": "Strangler Fig at Code Level",
    "name_zh": "代码层面的绞杀者模式",
    "url": "https://sdframe.caldis.me/frameworks/strangler-fig-code-level",
    "api_url": "https://sdframe.caldis.me/api/frameworks/strangler-fig-code-level.json",
    "category": "coding",
    "description": "Gradually replacing legacy code modules by growing new implementations alongside old ones until the legacy can be safely removed",
    "description_zh": "通过在旧实现旁边逐步构建新实现来替换遗留代码模块，直到遗留代码可以安全移除",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "refactoring",
      "legacy",
      "strangler-fig",
      "martin-fowler",
      "migration",
      "incremental",
      "code-level"
    ],
    "origin_author": "Martin Fowler",
    "primary_source": "Fowler, M. (2004). \"StranglerFigApplication\". martinfowler.com."
  },
  {
    "id": 278,
    "slug": "vertical-slice-architecture",
    "name": "Vertical Slice Architecture",
    "name_zh": "垂直切片架构",
    "url": "https://sdframe.caldis.me/frameworks/vertical-slice-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/vertical-slice-architecture.json",
    "category": "coding",
    "description": "Organizing code by feature rather than by technical layer, grouping all code for a feature — from HTTP handler to database query — in a single cohesive slice",
    "description_zh": "按功能而非技术层次组织代码，将一个功能的所有代码——从HTTP处理器到数据库查询——组合在单一的内聚切片中",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "vertical-slice",
      "architecture",
      "feature-organization",
      "cqrs",
      "mediatr",
      "jimmy-bogard",
      "dotnet"
    ],
    "origin_author": "Jimmy Bogard",
    "primary_source": "Bogard, J. (2018). \"Vertical Slice Architecture\". NDC Sydney. jimmybogard.com."
  },
  {
    "id": 279,
    "slug": "specification-pattern",
    "name": "Specification Pattern",
    "name_zh": "规格模式",
    "url": "https://sdframe.caldis.me/frameworks/specification-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/specification-pattern.json",
    "category": "coding",
    "description": "Encapsulating business rules as composable, reusable objects that can be combined with boolean logic to express complex domain predicates",
    "description_zh": "将业务规则封装为可组合、可复用的对象，通过布尔逻辑组合来表达复杂的领域谓词",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "specification-pattern",
      "ddd",
      "eric-evans",
      "business-rules",
      "domain-logic",
      "composable",
      "predicate"
    ],
    "origin_author": "Eric Evans",
    "primary_source": "Evans, E. & Fowler, M. (1997). \"Specifications\". martinfowler.com."
  },
  {
    "id": 299,
    "slug": "flyweight-pattern",
    "name": "Flyweight Pattern",
    "name_zh": "享元模式",
    "url": "https://sdframe.caldis.me/frameworks/flyweight-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/flyweight-pattern.json",
    "category": "coding",
    "description": "GoF structural pattern that minimises memory usage by sharing fine-grained objects whose state can be externalised, enabling large numbers of similar objects to be represented efficiently.",
    "description_zh": "GoF 结构型模式，通过共享可外化状态的细粒度对象来最小化内存使用，使大量相似对象得以高效表示。",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "performance",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "flyweight",
      "gof",
      "structural-pattern",
      "memory-optimization",
      "object-sharing",
      "design-patterns"
    ],
    "origin_author": "Gang of Four",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). \"Design Patterns: Elements of Reusable Object-Oriented Software\". Addison-Wesley."
  },
  {
    "id": 330,
    "slug": "data-transfer-object",
    "name": "Data Transfer Object (DTO)",
    "name_zh": "数据传输对象（DTO）",
    "url": "https://sdframe.caldis.me/frameworks/data-transfer-object",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-transfer-object.json",
    "category": "coding",
    "description": "A simple object that carries data between processes or layers, containing no business logic — its sole purpose is to reduce the number of method calls by bundling data into a single transfer unit",
    "description_zh": "在进程或层之间传递数据的简单对象，不包含任何业务逻辑——其唯一目的是通过将数据打包成单一传输单元来减少方法调用次数",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "performance",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "data-transfer",
      "layered-architecture",
      "api-design",
      "decoupling",
      "serialization"
    ],
    "origin_author": "Martin Fowler, \"Patterns of Enterprise Application Architecture\", 2002",
    "primary_source": "Fowler, M. (2002). \"Patterns of Enterprise Application Architecture\". Addison-Wesley. Chapter: Distribution Patterns — Data Transfer Object."
  },
  {
    "id": 324,
    "slug": "dry-principle",
    "name": "DRY (Don't Repeat Yourself)",
    "name_zh": "DRY 原则（不要重复自己）",
    "url": "https://sdframe.caldis.me/frameworks/dry-principle",
    "api_url": "https://sdframe.caldis.me/api/frameworks/dry-principle.json",
    "category": "coding",
    "description": "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. When you find yourself writing the same code in two places, extract it into one canonical source.",
    "description_zh": "系统中的每一条知识都必须有唯一、明确、权威性的表述。当你在两个地方写相同的代码时，就应该将其提取为唯一的权威来源。",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "dry",
      "code-quality",
      "maintainability",
      "abstraction",
      "refactoring"
    ],
    "origin_author": "Andy Hunt & Dave Thomas, 1999",
    "primary_source": "Hunt, A. & Thomas, D. (1999). 「The Pragmatic Programmer: From Journeyman to Master.」 Addison-Wesley."
  },
  {
    "id": 325,
    "slug": "kiss-principle",
    "name": "KISS (Keep It Simple, Stupid)",
    "name_zh": "KISS 原则（保持简单，不要复杂）",
    "url": "https://sdframe.caldis.me/frameworks/kiss-principle",
    "api_url": "https://sdframe.caldis.me/api/frameworks/kiss-principle.json",
    "category": "coding",
    "description": "Most systems work best if they are kept simple rather than made complicated. Complexity is the enemy of reliability. Design the simplest thing that could possibly work, and resist the temptation to add cleverness.",
    "description_zh": "大多数系统保持简单比过度设计更有效。复杂性是可靠性的敌人。设计最简单可能工作的方案，抗拒过度巧妙的诱惑。",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "kiss",
      "simplicity",
      "code-quality",
      "maintainability",
      "design-principles"
    ],
    "origin_author": "Kelly Johnson, Lockheed Skunk Works, 1960s",
    "primary_source": "Kelly Johnson's design principle documented in Lockheed Skunk Works engineering history (1960s). Popularized in software by McIlroy's Unix philosophy (1978)."
  },
  {
    "id": 326,
    "slug": "yagni-principle",
    "name": "YAGNI (You Aren't Gonna Need It)",
    "name_zh": "YAGNI 原则（你不会用到它的）",
    "url": "https://sdframe.caldis.me/frameworks/yagni-principle",
    "api_url": "https://sdframe.caldis.me/api/frameworks/yagni-principle.json",
    "category": "coding",
    "description": "Always implement things when you actually need them, never when you just foresee that you might need them. Premature generalization is as harmful as premature optimization.",
    "description_zh": "只在真正需要时才实现功能，不要因为预见未来可能需要就提前实现。过早泛化与过早优化同样有害。",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "yagni",
      "xp",
      "agile",
      "over-engineering",
      "simplicity"
    ],
    "origin_author": "Ron Jeffries, Extreme Programming community, late 1990s",
    "primary_source": "Jeffries, R. (1999). Extreme Programming Installed. Addison-Wesley."
  },
  {
    "id": 327,
    "slug": "composition-over-inheritance",
    "name": "Composition over Inheritance",
    "name_zh": "组合优于继承",
    "url": "https://sdframe.caldis.me/frameworks/composition-over-inheritance",
    "api_url": "https://sdframe.caldis.me/api/frameworks/composition-over-inheritance.json",
    "category": "coding",
    "description": "Favor object composition over class inheritance to achieve code reuse and polymorphism. Inheritance creates tight coupling between parent and child classes; composition assembles behavior from interchangeable parts, making systems more flexible and testable.",
    "description_zh": "为了实现代码复用和多态，应优先采用对象组合而非类继承。继承在父子类之间建立紧耦合；组合则将行为从可互换的部件中组装，使系统更灵活、可测试。",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "composition",
      "inheritance",
      "oop",
      "design-principles",
      "testability"
    ],
    "origin_author": "Gang of Four (Gamma, Helm, Johnson, Vlissides), 1994",
    "primary_source": "Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). 「Design Patterns: Elements of Reusable Object-Oriented Software.」 Addison-Wesley."
  },
  {
    "id": 328,
    "slug": "law-of-demeter",
    "name": "Law of Demeter (Principle of Least Knowledge)",
    "name_zh": "迪米特得法则（最少知识原则）",
    "url": "https://sdframe.caldis.me/frameworks/law-of-demeter",
    "api_url": "https://sdframe.caldis.me/api/frameworks/law-of-demeter.json",
    "category": "coding",
    "description": "A module should not know about the internal workings of the objects it manipulates. An object should only call methods on: itself, its parameters, objects it creates, and its direct component objects — never on objects returned by those calls.",
    "description_zh": "模块不应该了解其操作对象的内部运作。一个对象只应调用：它自身、它的参数、它创建的对象以及它直接的组件对象的方法——而不是这些调用返回的对象。",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": false,
    "tags": [
      "law-of-demeter",
      "coupling",
      "encapsulation",
      "oop",
      "maintainability"
    ],
    "origin_author": "Karl Lieberherr, Ian Holland, Arthur Riel — Northeastern University, 1987",
    "primary_source": "Lieberherr, K., Holland, I., & Riel, A. (1988). 「Object-Oriented Programming: An Objective Sense of Style.」 OOPSLA '87 Proceedings."
  },
  {
    "id": 331,
    "slug": "active-record-pattern",
    "name": "Active Record Pattern",
    "name_zh": "活动记录模式",
    "url": "https://sdframe.caldis.me/frameworks/active-record-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/active-record-pattern.json",
    "category": "coding",
    "description": "Domain object that wraps a database row and encapsulates CRUD logic within itself",
    "description_zh": "将数据库行封装并在对象内部实现 CRUD 逻辑的领域对象模式",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "active-record",
      "orm",
      "persistence",
      "database"
    ],
    "origin_author": "Martin Fowler, 2002",
    "primary_source": "Fowler, M. (2002). \"Patterns of Enterprise Application Architecture\". Addison-Wesley. pp. 160–164."
  },
  {
    "id": 44,
    "slug": "test-pyramid",
    "name": "Test Pyramid",
    "name_zh": "测试金字塔",
    "url": "https://sdframe.caldis.me/frameworks/test-pyramid",
    "api_url": "https://sdframe.caldis.me/api/frameworks/test-pyramid.json",
    "category": "quality",
    "description": "Balance unit, integration, and E2E tests by cost and speed",
    "description_zh": "按成本与速度平衡单元测试、集成测试和端到端测试",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "testability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "testing",
      "test-pyramid",
      "unit-tests",
      "integration-tests",
      "e2e"
    ],
    "origin_author": "Mike Cohn, 2009",
    "primary_source": "Mike Cohn (2009). \"Succeeding with Agile: Software Development Using Scrum\". Addison-Wesley."
  },
  {
    "id": 45,
    "slug": "testing-trophy",
    "name": "Testing Trophy",
    "name_zh": "测试奖杯模型",
    "url": "https://sdframe.caldis.me/frameworks/testing-trophy",
    "api_url": "https://sdframe.caldis.me/api/frameworks/testing-trophy.json",
    "category": "quality",
    "description": "Emphasize integration tests as the highest-ROI testing layer",
    "description_zh": "强调集成测试作为投资回报率最高的测试层级",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "testing",
      "integration-tests",
      "static-analysis",
      "test-strategy"
    ],
    "origin_author": "Kent C. Dodds, 2018",
    "primary_source": "Kent C. Dodds (2018). \"The Testing Trophy and Testing Classifications\". kentcdodds.com."
  },
  {
    "id": 46,
    "slug": "tdd",
    "name": "Test-Driven Development (TDD)",
    "name_zh": "测试驱动开发",
    "url": "https://sdframe.caldis.me/frameworks/tdd",
    "api_url": "https://sdframe.caldis.me/api/frameworks/tdd.json",
    "category": "quality",
    "description": "Write failing tests first, then code to pass, then refactor",
    "description_zh": "先写失败测试，再编写代码使之通过，最后重构",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "testability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "tdd",
      "red-green-refactor",
      "test-first",
      "design",
      "feedback"
    ],
    "origin_author": "Kent Beck, 1999",
    "primary_source": "Kent Beck (2002). \"Test-Driven Development: By Example\". Addison-Wesley."
  },
  {
    "id": 47,
    "slug": "bdd",
    "name": "Behavior-Driven Development (BDD)",
    "name_zh": "行为驱动开发",
    "url": "https://sdframe.caldis.me/frameworks/bdd",
    "api_url": "https://sdframe.caldis.me/api/frameworks/bdd.json",
    "category": "quality",
    "description": "Specify behavior in Given-When-Then shared by all stakeholders",
    "description_zh": "用 Given-When-Then 格式描述行为，所有干系人共享理解",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "bdd",
      "gherkin",
      "given-when-then",
      "living-documentation",
      "collaboration"
    ],
    "origin_author": "Dan North, 2006",
    "primary_source": "Dan North (2006). \"Introducing BDD\". dannorth.net."
  },
  {
    "id": 48,
    "slug": "property-based-testing",
    "name": "Property-Based Testing",
    "name_zh": "基于属性的测试",
    "url": "https://sdframe.caldis.me/frameworks/property-based-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/property-based-testing.json",
    "category": "quality",
    "description": "Test invariant properties with auto-generated random inputs",
    "description_zh": "使用自动生成的随机输入测试不变性质",
    "complexity": "advanced",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "property-testing",
      "fuzzing",
      "generators",
      "invariants",
      "quickcheck"
    ],
    "origin_author": "Koen Claessen & John Hughes, 2000",
    "primary_source": "Koen Claessen and John Hughes (2000). \"QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs\". ACM ICFP 2000."
  },
  {
    "id": 49,
    "slug": "chaos-engineering",
    "name": "Chaos Engineering",
    "name_zh": "混沌工程",
    "url": "https://sdframe.caldis.me/frameworks/chaos-engineering",
    "api_url": "https://sdframe.caldis.me/api/frameworks/chaos-engineering.json",
    "category": "quality",
    "description": "Inject controlled failures to build confidence in system resilience",
    "description_zh": "注入受控故障以增强对系统韧性的信心",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "chaos-engineering",
      "resilience",
      "fault-injection",
      "reliability"
    ],
    "origin_author": "Netflix, 2011",
    "primary_source": "Netflix Technology Blog (2011). \"The Netflix Simian Army\". netflixtechblog.com."
  },
  {
    "id": 50,
    "slug": "circuit-breaker-pattern",
    "name": "Circuit Breaker Pattern",
    "name_zh": "熔断器模式",
    "url": "https://sdframe.caldis.me/frameworks/circuit-breaker-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/circuit-breaker-pattern.json",
    "category": "quality",
    "description": "Prevent cascading failures by short-circuiting failing calls",
    "description_zh": "通过短路失败调用防止级联故障扩散",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "circuit-breaker",
      "resilience",
      "fault-tolerance",
      "cascading-failure",
      "fallback"
    ],
    "origin_author": "Michael Nygard, 2007",
    "primary_source": "Michael Nygard (2007). \"Release It! Design and Deploy Production-Ready Software\". Pragmatic Bookshelf."
  },
  {
    "id": 51,
    "slug": "bulkhead-pattern",
    "name": "Bulkhead Pattern",
    "name_zh": "舱壁模式",
    "url": "https://sdframe.caldis.me/frameworks/bulkhead-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/bulkhead-pattern.json",
    "category": "quality",
    "description": "Isolate components so a failure in one doesn't sink the whole system",
    "description_zh": "隔离组件使某一部分的故障不会导致整个系统崩溃",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "bulkhead",
      "isolation",
      "resilience",
      "resource-partitioning"
    ],
    "origin_author": "Michael Nygard, 2007",
    "primary_source": "Michael Nygard (2007). \"Release It! Design and Deploy Production-Ready Software\". Pragmatic Bookshelf."
  },
  {
    "id": 52,
    "slug": "use-method",
    "name": "USE Method",
    "name_zh": "USE 方法",
    "url": "https://sdframe.caldis.me/frameworks/use-method",
    "api_url": "https://sdframe.caldis.me/api/frameworks/use-method.json",
    "category": "quality",
    "description": "Check Utilization, Saturation, Errors for every resource",
    "description_zh": "对每项资源检查利用率、饱和度和错误率",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "observability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "use-method",
      "utilization",
      "saturation",
      "errors",
      "performance"
    ],
    "origin_author": "Brendan Gregg, 2012",
    "primary_source": "Brendan Gregg (2012). \"The USE Method\". brendangregg.com."
  },
  {
    "id": 53,
    "slug": "red-method",
    "name": "RED Method",
    "name_zh": "RED 方法",
    "url": "https://sdframe.caldis.me/frameworks/red-method",
    "api_url": "https://sdframe.caldis.me/api/frameworks/red-method.json",
    "category": "quality",
    "description": "Monitor Request rate, Error rate, Duration for each service",
    "description_zh": "对每个服务监控请求率、错误率和持续时间",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "observability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "red-method",
      "request-rate",
      "error-rate",
      "duration",
      "monitoring"
    ],
    "origin_author": "Tom Wilkie, 2018",
    "primary_source": "Tom Wilkie (2018). \"The RED Method: How to Instrument Your Services\". Grafana Labs blog / KubeCon talk."
  },
  {
    "id": 54,
    "slug": "four-golden-signals",
    "name": "Four Golden Signals",
    "name_zh": "四大黄金信号",
    "url": "https://sdframe.caldis.me/frameworks/four-golden-signals",
    "api_url": "https://sdframe.caldis.me/api/frameworks/four-golden-signals.json",
    "category": "quality",
    "description": "Monitor Latency, Traffic, Errors, Saturation for any service",
    "description_zh": "对任何服务监控延迟、流量、错误率和饱和度",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "observability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "golden-signals",
      "latency",
      "traffic",
      "errors",
      "saturation"
    ],
    "origin_author": "Google SRE Team, 2016",
    "primary_source": "Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy (2016). \"Site Reliability Engineering: How Google Runs Production Systems\". O'Reilly Media. Chapter 6."
  },
  {
    "id": 55,
    "slug": "llm-evaluation-framework",
    "name": "LLM Evaluation Framework",
    "name_zh": "大模型评估框架",
    "url": "https://sdframe.caldis.me/frameworks/llm-evaluation-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/llm-evaluation-framework.json",
    "category": "quality",
    "description": "Systematically evaluate LLM output quality and reliability",
    "description_zh": "系统化评估大语言模型输出的质量与可靠性",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "testability"
    ],
    "ai_relevant": true,
    "tags": [
      "llm-eval",
      "benchmarks",
      "quality-metrics",
      "automated-evaluation",
      "ai"
    ],
    "origin_author": "OpenAI / Anthropic / Google, 2023",
    "primary_source": "Percy Liang et al. (2022). \"Holistic Evaluation of Language Models (HELM)\". Stanford CRFM."
  },
  {
    "id": 56,
    "slug": "ai-output-verification",
    "name": "AI Output Verification",
    "name_zh": "AI 输出验证",
    "url": "https://sdframe.caldis.me/frameworks/ai-output-verification",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-output-verification.json",
    "category": "quality",
    "description": "Multi-layer checks ensuring AI-generated content is trustworthy",
    "description_zh": "多层检查确保AI生成内容的可信度与正确性",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "verification",
      "hallucination-detection",
      "safety",
      "grounding",
      "ai"
    ],
    "origin_author": "Guardrails AI / NeMo Guardrails (NVIDIA), 2023",
    "primary_source": "Shreya Rajpal (2023). \"Guardrails AI: Adding Guardrails to Large Language Models\". github.com/guardrails-ai."
  },
  {
    "id": 57,
    "slug": "agent-reliability-patterns",
    "name": "Agent Reliability Patterns",
    "name_zh": "智能体可靠性模式",
    "url": "https://sdframe.caldis.me/frameworks/agent-reliability-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/agent-reliability-patterns.json",
    "category": "quality",
    "description": "Patterns ensuring AI agents behave predictably in production",
    "description_zh": "确保AI智能体在生产环境中行为可预测的模式集合",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "agent-reliability",
      "bounded-execution",
      "idempotency",
      "checkpointing",
      "ai"
    ],
    "origin_author": "Anthropic / LangChain / OpenAI, 2023",
    "primary_source": "Anthropic (2024). \"Building Effective Agents\". anthropic.com."
  },
  {
    "id": 58,
    "slug": "prompt-testing",
    "name": "Prompt Testing",
    "name_zh": "提示词测试",
    "url": "https://sdframe.caldis.me/frameworks/prompt-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/prompt-testing.json",
    "category": "quality",
    "description": "Automated regression testing for LLM prompt changes",
    "description_zh": "对大模型提示词变更进行自动化回归测试",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "testability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "prompt-testing",
      "regression",
      "ci-cd",
      "evaluation",
      "ai"
    ],
    "origin_author": "Promptfoo (Ian Webster), 2023",
    "primary_source": "Ian Webster (2023). \"Promptfoo: Test Your LLM App\". promptfoo.dev."
  },
  {
    "id": 178,
    "slug": "mutation-testing",
    "name": "Mutation Testing",
    "name_zh": "变异测试",
    "url": "https://sdframe.caldis.me/frameworks/mutation-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/mutation-testing.json",
    "category": "quality",
    "description": "Test the tests by introducing code mutations and verifying that tests catch them",
    "description_zh": "通过引入代码变异来测试测试本身，验证测试能否捕获这些变异",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability"
    ],
    "ai_relevant": true,
    "tags": [
      "testing",
      "mutation-testing",
      "test-quality",
      "code-coverage",
      "quality-gate"
    ],
    "origin_author": "Richard Lipton, 1971",
    "primary_source": "Richard Lipton (1971). \"Fault Diagnosis of Computer Programs\". PhD Dissertation, Carnegie Mellon University."
  },
  {
    "id": 179,
    "slug": "snapshot-testing",
    "name": "Snapshot Testing",
    "name_zh": "快照测试",
    "url": "https://sdframe.caldis.me/frameworks/snapshot-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/snapshot-testing.json",
    "category": "quality",
    "description": "Capture output snapshots for regression detection by comparing current output against stored baselines",
    "description_zh": "通过将当前输出与存储的基线进行比较，捕获输出快照以检测回归",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability"
    ],
    "ai_relevant": true,
    "tags": [
      "testing",
      "snapshot-testing",
      "regression",
      "ui-testing",
      "baseline"
    ],
    "origin_author": "Jest team at Facebook, 2016",
    "primary_source": "Facebook/Meta (2016). \"Jest Snapshot Testing\". jestjs.io."
  },
  {
    "id": 180,
    "slug": "load-testing-patterns",
    "name": "Load Testing Patterns",
    "name_zh": "负载测试模式",
    "url": "https://sdframe.caldis.me/frameworks/load-testing-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/load-testing-patterns.json",
    "category": "quality",
    "description": "Stress, spike, soak testing methodologies to validate system behavior under varying load conditions",
    "description_zh": "压力测试、尖峰测试、浸泡测试方法论，验证系统在不同负载条件下的行为",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "testing",
      "load-testing",
      "performance",
      "stress-testing",
      "soak-testing"
    ],
    "origin_author": "Michael Nygard, 2007",
    "primary_source": "Michael Nygard (2007). \"Release It! Design and Deploy Production-Ready Software\". Pragmatic Bookshelf."
  },
  {
    "id": 181,
    "slug": "error-handling-patterns",
    "name": "Error Handling Patterns",
    "name_zh": "错误处理模式",
    "url": "https://sdframe.caldis.me/frameworks/error-handling-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/error-handling-patterns.json",
    "category": "quality",
    "description": "Fail-fast, retry, fallback, and dead letter queue patterns for resilient error management",
    "description_zh": "快速失败、重试、回退和死信队列模式，用于弹性错误管理",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "resilience",
      "error-handling",
      "retry",
      "fallback",
      "dead-letter-queue"
    ],
    "origin_author": "Michael Nygard, 2007",
    "primary_source": "Michael Nygard (2007). \"Release It! Design and Deploy Production-Ready Software\". Pragmatic Bookshelf."
  },
  {
    "id": 182,
    "slug": "observability-driven-development",
    "name": "Observability-Driven Development",
    "name_zh": "可观测性驱动开发",
    "url": "https://sdframe.caldis.me/frameworks/observability-driven-development",
    "api_url": "https://sdframe.caldis.me/api/frameworks/observability-driven-development.json",
    "category": "quality",
    "description": "Design for observability from the start, not after — build systems that explain their own behavior",
    "description_zh": "从一开始就为可观测性设计，而非事后补救——构建能解释自身行为的系统",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "observability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "monitoring",
      "logging",
      "tracing",
      "sre"
    ],
    "origin_author": "Charity Majors, 2018",
    "primary_source": "Charity Majors (2018). \"Observability: A Manifesto\". charity.wtf."
  },
  {
    "id": 269,
    "slug": "continuous-testing",
    "name": "Continuous Testing",
    "name_zh": "持续测试",
    "url": "https://sdframe.caldis.me/frameworks/continuous-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/continuous-testing.json",
    "category": "quality",
    "description": "Automated testing at every pipeline stage to provide continuous feedback on software quality throughout the delivery lifecycle",
    "description_zh": "在每个流水线阶段自动化测试，在交付生命周期中持续提供软件质量反馈",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "continuous-testing",
      "ci-cd",
      "quality-gates",
      "shift-left",
      "devops"
    ],
    "origin_author": "Wayne Ariola",
    "primary_source": "Ariola, W. & Cois, C. (2014). \"Continuous Testing for DevOps Professionals\". Addison-Wesley Professional."
  },
  {
    "id": 270,
    "slug": "visual-regression-testing",
    "name": "Visual Regression Testing",
    "name_zh": "视觉回归测试",
    "url": "https://sdframe.caldis.me/frameworks/visual-regression-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/visual-regression-testing.json",
    "category": "quality",
    "description": "Screenshot comparison between baseline and current UI to catch unintended visual changes automatically",
    "description_zh": "通过对比基准截图与当前 UI 截图自动捕获意外视觉变更",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "testability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "visual-testing",
      "screenshot-comparison",
      "ui-regression",
      "pixel-diff",
      "storybook"
    ],
    "origin_author": "Percy.io",
    "primary_source": "Percy.io Documentation. \"Visual Testing Handbook\". percy.io/docs."
  },
  {
    "id": 271,
    "slug": "pact-contract-testing",
    "name": "Pact Contract Testing",
    "name_zh": "Pact 契约测试",
    "url": "https://sdframe.caldis.me/frameworks/pact-contract-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/pact-contract-testing.json",
    "category": "quality",
    "description": "Consumer-driven contract verification between services ensuring API compatibility without end-to-end integration environments",
    "description_zh": "消费者驱动的服务间契约验证，无需端到端集成环境即确保 API 兼容性",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "contract-testing",
      "consumer-driven",
      "microservices",
      "api-compatibility",
      "pact"
    ],
    "origin_author": "Ron Holshausen",
    "primary_source": "Pact Foundation. \"Pact Documentation\". docs.pact.io."
  },
  {
    "id": 301,
    "slug": "fuzz-testing",
    "name": "Fuzz Testing",
    "name_zh": "模糊测试",
    "url": "https://sdframe.caldis.me/frameworks/fuzz-testing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/fuzz-testing.json",
    "category": "quality",
    "description": "Automated testing technique that feeds randomly generated, malformed, or unexpected inputs to a program to discover crashes, security vulnerabilities, and undefined behaviour.",
    "description_zh": "向程序输入随机生成、畸形或意外数据的自动化测试技术，用于发现崩溃、安全漏洞和未定义行为。",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "fuzzing",
      "security-testing",
      "afl",
      "libfuzzer",
      "random-testing",
      "vulnerability-discovery"
    ],
    "origin_author": "Barton Miller",
    "primary_source": "Miller, B., Fredriksen, L., & So, B. (1990). \"An Empirical Study of the Reliability of UNIX Utilities\". Communications of the ACM, 33(12), 32-44."
  },
  {
    "id": 302,
    "slug": "accessibility-testing-wcag",
    "name": "Accessibility Testing (WCAG)",
    "name_zh": "无障碍测试（WCAG）",
    "url": "https://sdframe.caldis.me/frameworks/accessibility-testing-wcag",
    "api_url": "https://sdframe.caldis.me/api/frameworks/accessibility-testing-wcag.json",
    "category": "quality",
    "description": "Systematic testing approach combining automated scanning and manual evaluation to verify that digital products comply with WCAG accessibility guidelines and are usable by people with disabilities.",
    "description_zh": "结合自动化扫描和手动评估的系统性测试方法，用于验证数字产品符合 WCAG 无障碍指南且对残障人士可用。",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "accessibility",
      "wcag",
      "a11y",
      "screen-reader",
      "inclusive-design",
      "compliance"
    ],
    "origin_author": "W3C WAI",
    "primary_source": "W3C WAI (2023). \"Web Content Accessibility Guidelines (WCAG) 2.2\". w3.org/TR/WCAG22/."
  },
  {
    "id": 59,
    "slug": "blue-green-deployment",
    "name": "Blue-Green Deployment",
    "name_zh": "蓝绿部署",
    "url": "https://sdframe.caldis.me/frameworks/blue-green-deployment",
    "api_url": "https://sdframe.caldis.me/api/frameworks/blue-green-deployment.json",
    "category": "deployment",
    "description": "Zero-downtime releases via two identical prod environments",
    "description_zh": "通过两套相同生产环境实现零停机发布",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "deployment",
      "zero-downtime",
      "blue-green",
      "rollback"
    ],
    "origin_author": "Daniel Quinlan / early web ops community, ~2005",
    "primary_source": "Jez Humble and David Farley (2010). \"Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation\". Addison-Wesley."
  },
  {
    "id": 60,
    "slug": "canary-deployment",
    "name": "Canary Deployment",
    "name_zh": "金丝雀发布",
    "url": "https://sdframe.caldis.me/frameworks/canary-deployment",
    "api_url": "https://sdframe.caldis.me/api/frameworks/canary-deployment.json",
    "category": "deployment",
    "description": "Gradually roll out changes to a small user subset first",
    "description_zh": "先向小部分用户灰度发布变更，再逐步全量推送",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "deployment",
      "canary",
      "gradual-rollout",
      "progressive-delivery"
    ],
    "origin_author": "Google / early site reliability engineering teams, ~2004",
    "primary_source": "Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy (2016). \"Site Reliability Engineering: How Google Runs Production Systems\". O'Reilly Media."
  },
  {
    "id": 61,
    "slug": "feature-flags",
    "name": "Feature Flags",
    "name_zh": "功能开关",
    "url": "https://sdframe.caldis.me/frameworks/feature-flags",
    "api_url": "https://sdframe.caldis.me/api/frameworks/feature-flags.json",
    "category": "deployment",
    "description": "Decouple code deployment from feature release via toggles",
    "description_zh": "通过开关将代码部署与功能发布解耦",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "feature-flags",
      "toggles",
      "release-management",
      "progressive-delivery"
    ],
    "origin_author": "Flickr / early continuous deployment pioneers, ~2009",
    "primary_source": "Martin Fowler (2010). \"FeatureToggle\". martinfowler.com."
  },
  {
    "id": 62,
    "slug": "gitops",
    "name": "GitOps",
    "name_zh": "GitOps",
    "url": "https://sdframe.caldis.me/frameworks/gitops",
    "api_url": "https://sdframe.caldis.me/api/frameworks/gitops.json",
    "category": "deployment",
    "description": "Use Git as the single source of truth for infra state",
    "description_zh": "以Git作为基础设施状态的唯一可信来源",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "gitops",
      "declarative",
      "reconciliation",
      "kubernetes"
    ],
    "origin_author": "Weaveworks / Alexis Richardson, 2017",
    "primary_source": "Alexis Richardson (2017). \"GitOps - Operations by Pull Request\". Weaveworks Blog."
  },
  {
    "id": 63,
    "slug": "dora-metrics",
    "name": "DORA Metrics",
    "name_zh": "DORA指标",
    "url": "https://sdframe.caldis.me/frameworks/dora-metrics",
    "api_url": "https://sdframe.caldis.me/api/frameworks/dora-metrics.json",
    "category": "deployment",
    "description": "Four elite metrics measuring software delivery performance",
    "description_zh": "衡量软件交付效能的四项精英指标",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "dora",
      "delivery-performance",
      "metrics",
      "devops"
    ],
    "origin_author": "Nicole Forsgren, Jez Humble, Gene Kim, 2018",
    "primary_source": "Nicole Forsgren, Jez Humble, and Gene Kim (2018). \"Accelerate: The Science of Lean Software and DevOps\". IT Revolution Press."
  },
  {
    "id": 64,
    "slug": "calms-framework",
    "name": "CALMS Framework",
    "name_zh": "CALMS框架",
    "url": "https://sdframe.caldis.me/frameworks/calms-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/calms-framework.json",
    "category": "deployment",
    "description": "Five DevOps pillars: Culture, Automation, Lean, Measurement, Sharing",
    "description_zh": "DevOps五大支柱：文化、自动化、精益、度量、共享",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "devops",
      "culture",
      "automation",
      "lean",
      "sharing"
    ],
    "origin_author": "Jez Humble & John Willis, 2010",
    "primary_source": "Jez Humble and John Willis (2010). \"CALMS Framework\". Presented at DevOpsDays."
  },
  {
    "id": 65,
    "slug": "three-ways-devops",
    "name": "Three Ways of DevOps",
    "name_zh": "DevOps三步法",
    "url": "https://sdframe.caldis.me/frameworks/three-ways-devops",
    "api_url": "https://sdframe.caldis.me/api/frameworks/three-ways-devops.json",
    "category": "deployment",
    "description": "Flow, Feedback, and Continual Learning as DevOps foundations",
    "description_zh": "以流动、反馈、持续学习为核心的DevOps基础原则",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "devops",
      "flow",
      "feedback",
      "continual-learning"
    ],
    "origin_author": "Gene Kim, 2013",
    "primary_source": "Gene Kim, Kevin Behr, and George Spafford (2013). \"The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win\". IT Revolution Press."
  },
  {
    "id": 66,
    "slug": "infrastructure-as-code",
    "name": "Infrastructure as Code",
    "name_zh": "基础设施即代码",
    "url": "https://sdframe.caldis.me/frameworks/infrastructure-as-code",
    "api_url": "https://sdframe.caldis.me/api/frameworks/infrastructure-as-code.json",
    "category": "deployment",
    "description": "Manage and provision infrastructure through machine-readable config",
    "description_zh": "通过机器可读配置文件管理和供应基础设施",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "iac",
      "terraform",
      "infrastructure",
      "automation",
      "declarative"
    ],
    "origin_author": "Mark Burgess (CFEngine, 1993) / Luke Kanies (Puppet, 2005) / modern era: Mitchell Hashimoto (Terraform, 2014)",
    "primary_source": "Kief Morris (2016). \"Infrastructure as Code: Managing Servers in the Cloud\". O'Reilly Media."
  },
  {
    "id": 67,
    "slug": "twelve-factor-app",
    "name": "Twelve-Factor App",
    "name_zh": "十二要素应用",
    "url": "https://sdframe.caldis.me/frameworks/twelve-factor-app",
    "api_url": "https://sdframe.caldis.me/api/frameworks/twelve-factor-app.json",
    "category": "deployment",
    "description": "12 principles for building scalable, maintainable cloud services",
    "description_zh": "构建可扩展、可维护云服务的12条原则",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "scalability",
      "portability"
    ],
    "ai_relevant": false,
    "tags": [
      "twelve-factor",
      "cloud-native",
      "saas",
      "principles",
      "scalability"
    ],
    "origin_author": "Adam Wiggins / Heroku, 2011",
    "primary_source": "Adam Wiggins (2011). \"The Twelve-Factor App\". 12factor.net."
  },
  {
    "id": 68,
    "slug": "sli-slo-sla",
    "name": "SLI/SLO/SLA",
    "name_zh": "SLI/SLO/SLA",
    "url": "https://sdframe.caldis.me/frameworks/sli-slo-sla",
    "api_url": "https://sdframe.caldis.me/api/frameworks/sli-slo-sla.json",
    "category": "deployment",
    "description": "Define and measure service reliability through layered objectives",
    "description_zh": "通过分层目标体系定义和度量服务可靠性",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "sli",
      "slo",
      "sla",
      "reliability",
      "error-budget"
    ],
    "origin_author": "Google SRE team, formalized by Ben Treynor Sloss, ~2003",
    "primary_source": "Betsy Beyer, Chris Jones, Jennifer Petoff, and Niall Richard Murphy (2016). \"Site Reliability Engineering: How Google Runs Production Systems\". O'Reilly Media. Chapters 4-5."
  },
  {
    "id": 70,
    "slug": "mlops",
    "name": "MLOps",
    "name_zh": "MLOps",
    "url": "https://sdframe.caldis.me/frameworks/mlops",
    "api_url": "https://sdframe.caldis.me/api/frameworks/mlops.json",
    "category": "deployment",
    "description": "Apply DevOps practices to ML model lifecycle in production",
    "description_zh": "将DevOps实践应用于机器学习模型的生产全生命周期",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "mlops",
      "machine-learning",
      "model-lifecycle",
      "training-pipeline"
    ],
    "origin_author": "D. Sculley et al. (Google), 2015; term MLOps coined ~2018",
    "primary_source": "D. Sculley et al. (2015). \"Hidden Technical Debt in Machine Learning Systems\". NeurIPS 2015."
  },
  {
    "id": 71,
    "slug": "llmops",
    "name": "LLMOps",
    "name_zh": "LLMOps",
    "url": "https://sdframe.caldis.me/frameworks/llmops",
    "api_url": "https://sdframe.caldis.me/api/frameworks/llmops.json",
    "category": "deployment",
    "description": "Operationalize LLM-based apps with prompt, eval, and cost management",
    "description_zh": "通过提示、评测与成本管理将大语言模型应用投入生产运营",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "llmops",
      "prompt-management",
      "evaluation",
      "cost-management",
      "ai"
    ],
    "origin_author": "Emerging from AI/ML ops community, ~2023; influenced by Chip Huyen, Hamel Husain, and teams at Anthropic, OpenAI, and Google",
    "primary_source": "Chip Huyen (2023). \"Building LLM Applications for Production\". huyenchip.com."
  },
  {
    "id": 72,
    "slug": "agent-deployment-patterns",
    "name": "Agent Deployment Patterns",
    "name_zh": "Agent部署模式",
    "url": "https://sdframe.caldis.me/frameworks/agent-deployment-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/agent-deployment-patterns.json",
    "category": "deployment",
    "description": "Patterns for reliably deploying autonomous AI agents in production",
    "description_zh": "在生产环境中可靠部署自主AI Agent的架构模式",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "agent-deployment",
      "guardrails",
      "staged-rollout",
      "kill-switch",
      "ai"
    ],
    "origin_author": "Emerging from AI engineering community, ~2024; influenced by practices at Anthropic, OpenAI, Google DeepMind, and LangChain",
    "primary_source": "Anthropic (2024). \"Building Effective Agents\". anthropic.com."
  },
  {
    "id": 183,
    "slug": "progressive-delivery",
    "name": "Progressive Delivery",
    "name_zh": "渐进式交付",
    "url": "https://sdframe.caldis.me/frameworks/progressive-delivery",
    "api_url": "https://sdframe.caldis.me/api/frameworks/progressive-delivery.json",
    "category": "deployment",
    "description": "Combine canary, feature flags, and observability for controlled rollouts",
    "description_zh": "结合金丝雀发布、特性开关和可观测性实现受控发布",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "progressive-delivery",
      "canary",
      "feature-flags",
      "observability",
      "rollout"
    ],
    "origin_author": "James Governor (RedMonk), 2018",
    "primary_source": "James Governor (2018). \"Progressive Delivery\". redmonk.com."
  },
  {
    "id": 184,
    "slug": "immutable-infrastructure",
    "name": "Immutable Infrastructure",
    "name_zh": "不可变基础设施",
    "url": "https://sdframe.caldis.me/frameworks/immutable-infrastructure",
    "api_url": "https://sdframe.caldis.me/api/frameworks/immutable-infrastructure.json",
    "category": "deployment",
    "description": "Never patch; replace with new images",
    "description_zh": "永不修补，用全新镜像替换",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "immutable",
      "infrastructure",
      "images",
      "no-patch",
      "deployment"
    ],
    "origin_author": "Chad Fowler, 2013 (blog post: 'Trash Your Servers and Burn Your Code')",
    "primary_source": "Chad Fowler (2013). \"Trash Your Servers and Burn Your Code: Immutable Infrastructure and Disposable Components\". chadfowler.com."
  },
  {
    "id": 185,
    "slug": "chaos-engineering-practices",
    "name": "Chaos Engineering Practices",
    "name_zh": "混沌工程实践",
    "url": "https://sdframe.caldis.me/frameworks/chaos-engineering-practices",
    "api_url": "https://sdframe.caldis.me/api/frameworks/chaos-engineering-practices.json",
    "category": "deployment",
    "description": "Operational practices for controlled failure injection: GameDays, blast radius control, and resilience validation",
    "description_zh": "受控故障注入的运维实践：GameDay 演练、爆炸半径控制与韧性验证",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "chaos-engineering",
      "gameday",
      "blast-radius",
      "resilience",
      "operational-practice"
    ],
    "origin_author": "Netflix (Casey Rosenthal, Nora Jones), 2011-2017",
    "primary_source": "Casey Rosenthal and Nora Jones (2020). \"Chaos Engineering: System Resiliency in Practice\". O'Reilly Media."
  },
  {
    "id": 186,
    "slug": "platform-as-a-product",
    "name": "Platform as a Product",
    "name_zh": "平台即产品",
    "url": "https://sdframe.caldis.me/frameworks/platform-as-a-product",
    "api_url": "https://sdframe.caldis.me/api/frameworks/platform-as-a-product.json",
    "category": "deployment",
    "description": "Treat internal platforms like products with users and roadmaps",
    "description_zh": "将内部平台视为拥有用户和路线图的产品来运营",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "platform-engineering",
      "product-thinking",
      "developer-experience",
      "internal-platform",
      "team-topologies"
    ],
    "origin_author": "Evan Bottcher (ThoughtWorks), 2018; expanded by Team Topologies (Skelton & Pais, 2019)",
    "primary_source": "Evan Bottcher (2018). \"What I Talk About When I Talk About Platforms\". martinfowler.com."
  },
  {
    "id": 290,
    "slug": "feature-environments",
    "name": "Feature Environments",
    "name_zh": "功能环境",
    "url": "https://sdframe.caldis.me/frameworks/feature-environments",
    "api_url": "https://sdframe.caldis.me/api/frameworks/feature-environments.json",
    "category": "deployment",
    "description": "Ephemeral full-stack environments provisioned per pull request or branch",
    "description_zh": "为每个拉取请求或分支自动创建临时全栈环境",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "ephemeral-environments",
      "preview-environments",
      "pull-request",
      "ci-cd",
      "deployment"
    ],
    "origin_author": "Vercel",
    "primary_source": "Vercel (2018). \"Preview Deployments\". vercel.com/docs."
  },
  {
    "id": 291,
    "slug": "deployment-stamps-pattern",
    "name": "Deployment Stamps Pattern",
    "name_zh": "部署印章模式",
    "url": "https://sdframe.caldis.me/frameworks/deployment-stamps-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/deployment-stamps-pattern.json",
    "category": "deployment",
    "description": "Scale by deploying multiple isolated copies of the application stack per tenant or region",
    "description_zh": "通过为每个租户或地区部署多个隔离的应用栈副本来扩展规模",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "security"
    ],
    "ai_relevant": false,
    "tags": [
      "stamps",
      "multi-tenant",
      "scaling",
      "isolation",
      "cloud-architecture"
    ],
    "origin_author": "Microsoft Azure",
    "primary_source": "Microsoft Azure Architecture Center (2019). \"Deployment Stamps pattern\". learn.microsoft.com/azure/architecture/patterns/deployment-stamp."
  },
  {
    "id": 292,
    "slug": "iac-maturity-model",
    "name": "Infrastructure as Code Maturity Model",
    "name_zh": "基础设施即代码成熟度模型",
    "url": "https://sdframe.caldis.me/frameworks/iac-maturity-model",
    "api_url": "https://sdframe.caldis.me/api/frameworks/iac-maturity-model.json",
    "category": "deployment",
    "description": "Staged progression from manual infrastructure to fully automated self-service IaC",
    "description_zh": "从手动基础设施到完全自动化自服务 IaC 的阶段性演进",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "iac",
      "maturity-model",
      "infrastructure",
      "automation",
      "self-service"
    ],
    "origin_author": "Kief Morris",
    "primary_source": "Kief Morris (2020). \"Infrastructure as Code: Dynamic Systems for the Cloud Age\" (2nd ed.). O'Reilly Media."
  },
  {
    "id": 73,
    "slug": "strangler-fig-pattern",
    "name": "Strangler Fig Pattern",
    "name_zh": "绞杀榕模式",
    "url": "https://sdframe.caldis.me/frameworks/strangler-fig-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/strangler-fig-pattern.json",
    "category": "evolution",
    "description": "Incrementally replace a legacy system by routing traffic to new modules",
    "description_zh": "通过逐步将流量路由至新模块，渐进式替换遗留系统",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "migration",
      "legacy",
      "incremental",
      "strangler-fig"
    ],
    "origin_author": "Martin Fowler, 2004",
    "primary_source": "Martin Fowler (2004). \"StranglerFigApplication\". martinfowler.com."
  },
  {
    "id": 74,
    "slug": "branch-by-abstraction",
    "name": "Branch by Abstraction",
    "name_zh": "抽象分支法",
    "url": "https://sdframe.caldis.me/frameworks/branch-by-abstraction",
    "api_url": "https://sdframe.caldis.me/api/frameworks/branch-by-abstraction.json",
    "category": "evolution",
    "description": "Replace a component in-place via an abstraction layer without feature branches",
    "description_zh": "通过抽象层原地替换组件，无需功能分支",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "abstraction",
      "migration",
      "refactoring",
      "trunk-based"
    ],
    "origin_author": "Paul Hammant, 2007",
    "primary_source": "Paul Hammant (2007). \"Branch by Abstraction\". paulhammant.com."
  },
  {
    "id": 75,
    "slug": "parallel-run",
    "name": "Parallel Run",
    "name_zh": "并行运行模式",
    "url": "https://sdframe.caldis.me/frameworks/parallel-run",
    "api_url": "https://sdframe.caldis.me/api/frameworks/parallel-run.json",
    "category": "evolution",
    "description": "Run old and new implementations simultaneously and compare outputs for safety",
    "description_zh": "同时运行新旧实现并对比输出，确保迁移安全性",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "parallel-run",
      "migration",
      "comparison",
      "verification"
    ],
    "origin_author": "Michael Feathers, 2004",
    "primary_source": "Michael Feathers (2004). \"Working Effectively with Legacy Code\". Prentice Hall."
  },
  {
    "id": 76,
    "slug": "technical-debt-quadrant",
    "name": "Technical Debt Quadrant",
    "name_zh": "技术债务象限",
    "url": "https://sdframe.caldis.me/frameworks/technical-debt-quadrant",
    "api_url": "https://sdframe.caldis.me/api/frameworks/technical-debt-quadrant.json",
    "category": "evolution",
    "description": "Classify tech debt by deliberate/inadvertent and reckless/prudent axes",
    "description_zh": "按有意/无意与鲁莽/谨慎两轴对技术债务分类",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "tech-debt",
      "classification",
      "prioritization",
      "risk-management"
    ],
    "origin_author": "Martin Fowler, 2009",
    "primary_source": "Martin Fowler (2009). \"TechnicalDebtQuadrant\". martinfowler.com."
  },
  {
    "id": 77,
    "slug": "architectural-fitness-functions",
    "name": "Architectural Fitness Functions",
    "name_zh": "架构适应度函数",
    "url": "https://sdframe.caldis.me/frameworks/architectural-fitness-functions",
    "api_url": "https://sdframe.caldis.me/api/frameworks/architectural-fitness-functions.json",
    "category": "evolution",
    "description": "Automated tests that continuously verify architectural characteristics stay intact",
    "description_zh": "通过自动化测试持续验证架构特性保持完整",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "fitness-functions",
      "automated-testing",
      "architecture-governance",
      "ci-cd"
    ],
    "origin_author": "Neal Ford, Rebecca Parsons & Patrick Kua, 2017",
    "primary_source": "Neal Ford, Rebecca Parsons, and Patrick Kua (2017). \"Building Evolutionary Architectures: Support Constant Change\". O'Reilly Media."
  },
  {
    "id": 78,
    "slug": "conways-law",
    "name": "Conway's Law",
    "name_zh": "康威定律",
    "url": "https://sdframe.caldis.me/frameworks/conways-law",
    "api_url": "https://sdframe.caldis.me/api/frameworks/conways-law.json",
    "category": "evolution",
    "description": "Systems mirror the communication structure of the organizations that build them",
    "description_zh": "系统的结构反映构建它的组织的沟通结构",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "conways-law",
      "org-structure",
      "architecture-alignment",
      "communication"
    ],
    "origin_author": "Melvin Conway, 1967",
    "primary_source": "Melvin Conway (1968). \"How Do Committees Invent?\". Datamation, 14(4)."
  },
  {
    "id": 79,
    "slug": "inverse-conway-maneuver",
    "name": "Inverse Conway Maneuver",
    "name_zh": "逆康威策略",
    "url": "https://sdframe.caldis.me/frameworks/inverse-conway-maneuver",
    "api_url": "https://sdframe.caldis.me/api/frameworks/inverse-conway-maneuver.json",
    "category": "evolution",
    "description": "Deliberately restructure teams to produce the desired system architecture",
    "description_zh": "主动重组团队结构，以引导产出期望的系统架构",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "inverse-conway",
      "team-design",
      "org-restructuring",
      "architecture"
    ],
    "origin_author": "Jonny LeRoy & Matt Simons, 2010",
    "primary_source": "Jonny LeRoy and Matt Simons (2010). \"Inverse Conway Maneuver\". ThoughtWorks Technology Radar."
  },
  {
    "id": 80,
    "slug": "team-topologies",
    "name": "Team Topologies",
    "name_zh": "团队拓扑",
    "url": "https://sdframe.caldis.me/frameworks/team-topologies",
    "api_url": "https://sdframe.caldis.me/api/frameworks/team-topologies.json",
    "category": "evolution",
    "description": "Four team types and three interaction modes for fast, sustainable software delivery",
    "description_zh": "通过四种团队类型与三种交互模式实现快速可持续的软件交付",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "team-topologies",
      "cognitive-load",
      "org-design",
      "stream-aligned"
    ],
    "origin_author": "Matthew Skelton & Manuel Pais, 2019",
    "primary_source": "Matthew Skelton and Manuel Pais (2019). \"Team Topologies: Organizing Business and Technology Teams for Fast Flow\". IT Revolution Press."
  },
  {
    "id": 81,
    "slug": "database-migration-patterns",
    "name": "Database Migration Patterns",
    "name_zh": "数据库迁移模式",
    "url": "https://sdframe.caldis.me/frameworks/database-migration-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/database-migration-patterns.json",
    "category": "evolution",
    "description": "Safe techniques for evolving database schemas without downtime or data loss",
    "description_zh": "无停机、无数据丢失地演进数据库模式的安全技术集合",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "database",
      "migration",
      "schema-evolution",
      "zero-downtime"
    ],
    "origin_author": "Pramod Sadalage & Scott Ambler, 2006",
    "primary_source": "Pramod Sadalage and Scott Ambler (2006). \"Refactoring Databases: Evolutionary Database Design\". Addison-Wesley."
  },
  {
    "id": 83,
    "slug": "ai-assisted-refactoring",
    "name": "AI-Assisted Refactoring",
    "name_zh": "AI 辅助重构",
    "url": "https://sdframe.caldis.me/frameworks/ai-assisted-refactoring",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-assisted-refactoring.json",
    "category": "evolution",
    "description": "Use LLMs to identify, plan, and execute code refactoring at scale",
    "description_zh": "利用大语言模型规模化识别、规划和执行代码重构",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "ai-refactoring",
      "code-quality",
      "llm",
      "automation"
    ],
    "origin_author": "Industry practice, 2022",
    "primary_source": "GitHub (2021). \"GitHub Copilot: Your AI Pair Programmer\". github.com/features/copilot."
  },
  {
    "id": 84,
    "slug": "continuous-architecture",
    "name": "Continuous Architecture",
    "name_zh": "持续架构",
    "url": "https://sdframe.caldis.me/frameworks/continuous-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/continuous-architecture.json",
    "category": "evolution",
    "description": "Evolve architecture incrementally in sync with delivery rather than big up-front design",
    "description_zh": "与交付节奏同步地增量演进架构，取代前期大设计",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "continuous-architecture",
      "evolutionary",
      "agile",
      "incremental"
    ],
    "origin_author": "Murat Erder & Pierre Pureur, 2015",
    "primary_source": "Murat Erder and Pierre Pureur (2015). \"Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World\". Morgan Kaufmann."
  },
  {
    "id": 85,
    "slug": "evolutionary-agent-systems",
    "name": "Evolutionary Agent Systems",
    "name_zh": "演进式智能体系统",
    "url": "https://sdframe.caldis.me/frameworks/evolutionary-agent-systems",
    "api_url": "https://sdframe.caldis.me/api/frameworks/evolutionary-agent-systems.json",
    "category": "evolution",
    "description": "Iteratively evolve AI agent architectures using feedback, eval, and capability staging",
    "description_zh": "通过反馈、评估和能力分级持续迭代演进 AI 智能体架构",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "agent-evolution",
      "capability-staging",
      "evaluation",
      "ai"
    ],
    "origin_author": "Industry practice, 2023",
    "primary_source": "Anthropic (2024). \"Building Effective Agents\". anthropic.com."
  },
  {
    "id": 86,
    "slug": "mikado-method",
    "name": "Mikado Method",
    "name_zh": "米卡多方法",
    "url": "https://sdframe.caldis.me/frameworks/mikado-method",
    "api_url": "https://sdframe.caldis.me/api/frameworks/mikado-method.json",
    "category": "evolution",
    "description": "Visualize and untangle large refactorings as a dependency graph of small safe steps",
    "description_zh": "将大型重构可视化为依赖图，分解为一系列小而安全的步骤",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "mikado",
      "refactoring",
      "dependency-graph",
      "safe-steps"
    ],
    "origin_author": "Ola Ellnestam & Daniel Brolund, 2014",
    "primary_source": "Ola Ellnestam and Daniel Brolund (2014). \"The Mikado Method\". Manning Publications."
  },
  {
    "id": 187,
    "slug": "evolutionary-database-design",
    "name": "Evolutionary Database Design",
    "name_zh": "演进式数据库设计",
    "url": "https://sdframe.caldis.me/frameworks/evolutionary-database-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/evolutionary-database-design.json",
    "category": "evolution",
    "description": "Incremental schema changes (Sadalage & Fowler)",
    "description_zh": "增量式模式变更（Sadalage & Fowler）",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "database",
      "schema-migration",
      "evolutionary-design",
      "backward-compatibility"
    ],
    "origin_author": "Pramod Sadalage & Martin Fowler, 2002-2016",
    "primary_source": "Pramod Sadalage and Scott Ambler (2006). \"Refactoring Databases: Evolutionary Database Design\". Addison-Wesley."
  },
  {
    "id": 188,
    "slug": "feature-branch-strategy",
    "name": "Feature Branch Strategy",
    "name_zh": "特性分支策略",
    "url": "https://sdframe.caldis.me/frameworks/feature-branch-strategy",
    "api_url": "https://sdframe.caldis.me/api/frameworks/feature-branch-strategy.json",
    "category": "evolution",
    "description": "Git branching models (GitFlow, trunk-based)",
    "description_zh": "Git 分支模型（GitFlow、主干开发等）",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "git",
      "branching",
      "gitflow",
      "trunk-based",
      "version-control"
    ],
    "origin_author": "Vincent Driessen (GitFlow, 2010); various (trunk-based development, ~2000s)",
    "primary_source": "Vincent Driessen (2010). \"A Successful Git Branching Model\". nvie.com."
  },
  {
    "id": 189,
    "slug": "deprecation-strategy",
    "name": "Deprecation Strategy",
    "name_zh": "弃用策略",
    "url": "https://sdframe.caldis.me/frameworks/deprecation-strategy",
    "api_url": "https://sdframe.caldis.me/api/frameworks/deprecation-strategy.json",
    "category": "evolution",
    "description": "Systematic approach to retiring old APIs/features",
    "description_zh": "系统性地退役旧 API 和功能的方法",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "deprecation",
      "api-lifecycle",
      "sunset",
      "migration",
      "backward-compatibility"
    ],
    "origin_author": "Industry practice formalized across Google, Stripe, and major API providers, ~2010s",
    "primary_source": "JJ Geewax (2021). \"API Design Patterns\". Manning Publications."
  },
  {
    "id": 190,
    "slug": "living-documentation",
    "name": "Living Documentation",
    "name_zh": "活文档",
    "url": "https://sdframe.caldis.me/frameworks/living-documentation",
    "api_url": "https://sdframe.caldis.me/api/frameworks/living-documentation.json",
    "category": "evolution",
    "description": "Generate docs from tests and code (Martraire, 2019)",
    "description_zh": "从测试和代码生成文档（Martraire，2019）",
    "complexity": "intermediate",
    "abstraction_level": "code",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "testability"
    ],
    "ai_relevant": true,
    "tags": [
      "documentation",
      "living-docs",
      "bdd",
      "executable-specs",
      "code-as-documentation"
    ],
    "origin_author": "Cyrille Martraire, 2019",
    "primary_source": "Cyrille Martraire (2019). \"Living Documentation: Continuous Knowledge Sharing by Design\". Addison-Wesley."
  },
  {
    "id": 245,
    "slug": "fitness-function-driven-development",
    "name": "Fitness Function-Driven Development",
    "name_zh": "适应度函数驱动开发",
    "url": "https://sdframe.caldis.me/frameworks/fitness-function-driven-development",
    "api_url": "https://sdframe.caldis.me/api/frameworks/fitness-function-driven-development.json",
    "category": "evolution",
    "description": "Automated architecture governance using executable fitness functions that continuously verify architectural characteristics are preserved during system evolution",
    "description_zh": "使用可执行适应度函数进行自动化架构治理，持续验证架构特性在系统演进过程中得以保留",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "maintainability",
      "reliability",
      "testability"
    ],
    "ai_relevant": true,
    "tags": [
      "evolutionary-architecture",
      "fitness-functions",
      "architecture-governance",
      "ci-cd",
      "architectural-testing"
    ],
    "origin_author": "Neal Ford",
    "primary_source": "Ford, N., Parsons, R. & Kua, P. (2017). \"Building Evolutionary Architectures\". O'Reilly Media."
  },
  {
    "id": 246,
    "slug": "expansion-contraction-pattern",
    "name": "Expansion/Contraction Pattern",
    "name_zh": "扩展/收缩模式",
    "url": "https://sdframe.caldis.me/frameworks/expansion-contraction-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/expansion-contraction-pattern.json",
    "category": "evolution",
    "description": "Safe API and schema migration technique that introduces new capabilities before removing old ones, allowing all clients to migrate without downtime",
    "description_zh": "安全的 API 和模式迁移技术，在移除旧能力之前引入新能力，让所有客户端无需停机即可完成迁移",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability",
      "portability"
    ],
    "ai_relevant": false,
    "tags": [
      "migration",
      "backward-compatibility",
      "api-evolution",
      "zero-downtime",
      "deprecation"
    ],
    "origin_author": "Sam Newman",
    "primary_source": "Newman, S. (2019). \"Monolith to Microservices\". O'Reilly Media."
  },
  {
    "id": 247,
    "slug": "adr-y-statements",
    "name": "Architecture Decision Records (Y-Statements)",
    "name_zh": "架构决策记录（Y 型陈述）",
    "url": "https://sdframe.caldis.me/frameworks/adr-y-statements",
    "api_url": "https://sdframe.caldis.me/api/frameworks/adr-y-statements.json",
    "category": "evolution",
    "description": "Structured decision documentation using the Y-statement format to capture context, decision, and consequences of significant architectural choices",
    "description_zh": "使用 Y 型陈述格式记录背景、决策和后果，结构化记录重大架构决策",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "architecture",
      "decision-records",
      "documentation",
      "y-statements",
      "governance",
      "knowledge-management"
    ],
    "origin_author": "Olaf Zimmermann",
    "primary_source": "Nygard, M. (2011). \"Documenting Architecture Decisions\". thinkrelevance.com."
  },
  {
    "id": 314,
    "slug": "monolith-decomposition-patterns",
    "name": "Monolith Decomposition Patterns",
    "name_zh": "单体分解模式",
    "url": "https://sdframe.caldis.me/frameworks/monolith-decomposition-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/monolith-decomposition-patterns.json",
    "category": "evolution",
    "description": "A catalog of proven strategies for systematically extracting microservices from a monolithic codebase while maintaining system stability and team velocity throughout the migration",
    "description_zh": "从单体代码库系统化提取微服务的成熟策略目录，在整个迁移过程中保持系统稳定性和团队速度",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "migration",
      "microservices",
      "decomposition",
      "monolith",
      "evolution"
    ],
    "origin_author": "Sam Newman (Building Microservices); Martin Fowler (StranglerFig, BranchByAbstraction)",
    "origin_year": 2015,
    "primary_source": "Newman, S. (2019). \"Monolith to Microservices\". O'Reilly Media. ISBN 978-1-492-04714-1"
  },
  {
    "id": 87,
    "slug": "react-framework",
    "name": "ReAct Framework",
    "name_zh": "ReAct 推理-行动框架",
    "url": "https://sdframe.caldis.me/frameworks/react-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/react-framework.json",
    "category": "ai",
    "description": "Interleave reasoning traces and actions in LLM agents",
    "description_zh": "在大模型代理中交织推理轨迹与动作执行",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "react",
      "reasoning",
      "agents",
      "llm",
      "tool-use"
    ],
    "origin_author": "Shunyu Yao et al., 2022",
    "primary_source": "Shunyu Yao et al. (2023). \"ReAct: Synergizing Reasoning and Acting in Language Models\". ICLR 2023."
  },
  {
    "id": 88,
    "slug": "rag-architecture",
    "name": "RAG Architecture",
    "name_zh": "检索增强生成架构",
    "url": "https://sdframe.caldis.me/frameworks/rag-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/rag-architecture.json",
    "category": "ai",
    "description": "Ground LLM responses with retrieved external knowledge",
    "description_zh": "通过检索外部知识为大模型响应提供事实依据",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "rag",
      "retrieval",
      "vector-store",
      "grounding",
      "knowledge"
    ],
    "origin_author": "Patrick Lewis et al. (Meta AI / UCL), 2020",
    "primary_source": "Patrick Lewis et al. (2020). \"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks\". NeurIPS 2020."
  },
  {
    "id": 89,
    "slug": "multi-agent-orchestration-pattern",
    "name": "Multi-Agent Orchestration Pattern",
    "name_zh": "多代理编排模式",
    "url": "https://sdframe.caldis.me/frameworks/multi-agent-orchestration-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/multi-agent-orchestration-pattern.json",
    "category": "ai",
    "description": "Coordinate specialized AI agents via an orchestrator layer",
    "description_zh": "通过编排层协调多个专职 AI 代理协同工作",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "scalability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "multi-agent",
      "orchestration",
      "coordination",
      "task-decomposition"
    ],
    "origin_author": "Qian Chen et al. (Tsinghua / Microsoft Research), 2023",
    "primary_source": "Qian Chen et al. (2023). \"Communicative Agents for Software Development (ChatDev)\". arXiv:2307.07924."
  },
  {
    "id": 90,
    "slug": "human-in-the-loop",
    "name": "Human-in-the-Loop Design",
    "name_zh": "人机协同回路设计",
    "url": "https://sdframe.caldis.me/frameworks/human-in-the-loop",
    "api_url": "https://sdframe.caldis.me/api/frameworks/human-in-the-loop.json",
    "category": "ai",
    "description": "Insert human checkpoints into automated AI workflows",
    "description_zh": "在自动化 AI 工作流中插入人工审核节点",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "human-in-the-loop",
      "oversight",
      "escalation",
      "feedback"
    ],
    "origin_author": "DARPA / Weng et al., 2003 (concept); modern AI-HITL formalized by Monarch (Google), 2020",
    "primary_source": "Robert Munro (2021). \"Human-in-the-Loop Machine Learning: Active Learning and Annotation\". O'Reilly Media."
  },
  {
    "id": 91,
    "slug": "prompt-chaining",
    "name": "Prompt Chaining Pattern",
    "name_zh": "提示词链模式",
    "url": "https://sdframe.caldis.me/frameworks/prompt-chaining",
    "api_url": "https://sdframe.caldis.me/api/frameworks/prompt-chaining.json",
    "category": "ai",
    "description": "Decompose complex tasks into sequential prompt stages",
    "description_zh": "将复杂任务分解为顺序执行的提示词阶段",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "prompt-chaining",
      "pipeline",
      "decomposition",
      "sequential"
    ],
    "origin_author": "Harrison Chase (LangChain) / Wu Tongshuang et al., 2022",
    "primary_source": "Tongshuang Wu et al. (2022). \"AI Chains: Transparent and Controllable Human-AI Interaction by Chaining Large Language Model Prompts\". ACM CHI 2022."
  },
  {
    "id": 92,
    "slug": "ai-pair-programming",
    "name": "AI Pair Programming Model",
    "name_zh": "AI 结对编程模型",
    "url": "https://sdframe.caldis.me/frameworks/ai-pair-programming",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-pair-programming.json",
    "category": "ai",
    "description": "Structure developer and AI collaboration in the coding loop",
    "description_zh": "在编码循环中结构化人类开发者与 AI 的协作方式",
    "complexity": "beginner",
    "abstraction_level": "code",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "pair-programming",
      "ai-collaboration",
      "coding",
      "developer-tools"
    ],
    "origin_author": "GitHub (Oege de Moor et al.), 2021",
    "primary_source": "Mark Chen et al. (2021). \"Evaluating Large Language Models Trained on Code (Codex)\". arXiv:2107.03374."
  },
  {
    "id": 93,
    "slug": "guardrails-framework",
    "name": "Guardrails Framework",
    "name_zh": "AI 护栏框架",
    "url": "https://sdframe.caldis.me/frameworks/guardrails-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/guardrails-framework.json",
    "category": "ai",
    "description": "Enforce input/output constraints on LLM-powered systems",
    "description_zh": "对大模型驱动系统强制执行输入输出约束",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "guardrails",
      "safety",
      "validation",
      "constraints",
      "policy"
    ],
    "origin_author": "Shreya Rajpal (Guardrails AI), 2023; NVIDIA NeMo Guardrails team, 2023",
    "primary_source": "Shreya Rajpal (2023). \"Guardrails AI: Adding Guardrails to Large Language Models\". github.com/guardrails-ai."
  },
  {
    "id": 94,
    "slug": "context-window-management",
    "name": "Context Window Management Pattern",
    "name_zh": "上下文窗口管理模式",
    "url": "https://sdframe.caldis.me/frameworks/context-window-management",
    "api_url": "https://sdframe.caldis.me/api/frameworks/context-window-management.json",
    "category": "ai",
    "description": "Strategically manage LLM context to maximize coherence",
    "description_zh": "战略性管理大模型上下文以最大化对话连贯性",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "context-window",
      "token-management",
      "compression",
      "memory"
    ],
    "origin_author": "Community-evolved pattern; formalized by LangChain (ConversationBufferWindowMemory, 2022) and Anthropic (long context research, 2023)",
    "primary_source": "Nelson Liu et al. (2023). \"Lost in the Middle: How Language Models Use Long Contexts\". arXiv:2307.03172."
  },
  {
    "id": 95,
    "slug": "tool-use-design-pattern",
    "name": "Tool-Use Design Pattern",
    "name_zh": "工具使用设计模式",
    "url": "https://sdframe.caldis.me/frameworks/tool-use-design-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/tool-use-design-pattern.json",
    "category": "ai",
    "description": "Design agent-callable tools with reliable interfaces",
    "description_zh": "为 AI 代理设计可靠可调用的工具接口",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "tool-use",
      "function-calling",
      "api-design",
      "agent-tools"
    ],
    "origin_author": "Timo Schick et al. (Meta AI), 2023; OpenAI Function Calling team, 2023",
    "primary_source": "Timo Schick et al. (2023). \"Toolformer: Language Models Can Teach Themselves to Use Tools\". NeurIPS 2023."
  },
  {
    "id": 96,
    "slug": "ai-first-api-design",
    "name": "AI-First API Design",
    "name_zh": "AI 优先 API 设计",
    "url": "https://sdframe.caldis.me/frameworks/ai-first-api-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-first-api-design.json",
    "category": "ai",
    "description": "Design APIs optimized for consumption by AI agents",
    "description_zh": "面向 AI 代理消费优化设计 API 接口",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "api-design",
      "ai-first",
      "machine-readable",
      "agent-friendly"
    ],
    "origin_author": "Community-evolved pattern; influenced by Anthropic MCP (2024), OpenAI Plugins (2023), and Stripe API design philosophy",
    "primary_source": "Anthropic (2024). \"Model Context Protocol Specification\". modelcontextprotocol.io."
  },
  {
    "id": 97,
    "slug": "self-healing-systems",
    "name": "Self-Healing Systems Pattern",
    "name_zh": "自愈系统模式",
    "url": "https://sdframe.caldis.me/frameworks/self-healing-systems",
    "api_url": "https://sdframe.caldis.me/api/frameworks/self-healing-systems.json",
    "category": "ai",
    "description": "Use AI agents to detect, diagnose, and remediate failures",
    "description_zh": "利用 AI 代理自动检测、诊断并修复系统故障",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "self-healing",
      "auto-remediation",
      "monitoring",
      "runbook"
    ],
    "origin_author": "IBM (Autonomic Computing Manifesto), 2001; modern AI-ops formalized by PagerDuty and Shoreline.io, 2022",
    "primary_source": "Jeffrey Kephart and David Chess (2003). \"The Vision of Autonomic Computing\". IEEE Computer, 36(1)."
  },
  {
    "id": 98,
    "slug": "ai-observability-framework",
    "name": "AI Observability Framework",
    "name_zh": "AI 系统可观测性框架",
    "url": "https://sdframe.caldis.me/frameworks/ai-observability-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-observability-framework.json",
    "category": "ai",
    "description": "Trace, monitor, and explain LLM system behavior in prod",
    "description_zh": "在生产环境中追踪、监控并解释大模型系统行为",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "observability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "tracing",
      "monitoring",
      "llm-metrics",
      "drift"
    ],
    "origin_author": "Arize AI (founding team), 2020; LangSmith (LangChain), 2023",
    "primary_source": "Arize AI (2021). \"ML Observability: Monitoring, Troubleshooting, and Explaining Machine Learning Models\". arize.com."
  },
  {
    "id": 99,
    "slug": "responsible-ai-design",
    "name": "Responsible AI Design Framework",
    "name_zh": "负责任 AI 设计框架",
    "url": "https://sdframe.caldis.me/frameworks/responsible-ai-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/responsible-ai-design.json",
    "category": "ai",
    "description": "Embed fairness, safety, and accountability in AI systems",
    "description_zh": "在 AI 系统中内嵌公平性、安全性与问责机制",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "responsible-ai",
      "fairness",
      "safety",
      "accountability",
      "ethics"
    ],
    "origin_author": "Microsoft (Responsible AI Standard, 2022); Google (AI Principles, 2018); EU AI Act (2024)",
    "primary_source": "Microsoft (2022). \"Microsoft Responsible AI Standard, v2\". microsoft.com."
  },
  {
    "id": 100,
    "slug": "agent-communication-protocol",
    "name": "Agent Communication Protocol",
    "name_zh": "代理通信协议模式",
    "url": "https://sdframe.caldis.me/frameworks/agent-communication-protocol",
    "api_url": "https://sdframe.caldis.me/api/frameworks/agent-communication-protocol.json",
    "category": "ai",
    "description": "Standardize message contracts between autonomous AI agents",
    "description_zh": "标准化自主 AI 代理之间的消息契约",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "agent-protocol",
      "messaging",
      "interoperability",
      "standards"
    ],
    "origin_author": "FIPA (Foundation for Intelligent Physical Agents), 1996; modern: Agent Protocol (e2b), 2023; Anthropic MCP, 2024",
    "primary_source": "FIPA (2002). \"FIPA Agent Communication Language Specifications\". IEEE Foundation for Intelligent Physical Agents."
  },
  {
    "id": 191,
    "slug": "agentic-workflow-patterns",
    "name": "Agentic Workflow Patterns",
    "name_zh": "智能体工作流模式",
    "url": "https://sdframe.caldis.me/frameworks/agentic-workflow-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/agentic-workflow-patterns.json",
    "category": "ai",
    "description": "Plan-execute-reflect loops for autonomous agents",
    "description_zh": "用于自主智能体的规划-执行-反思循环",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "experimental",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "agentic",
      "workflow",
      "plan-execute-reflect",
      "autonomous-agents",
      "llm-agents"
    ],
    "origin_author": "Andrew Ng (2024 keynotes); Anthropic, OpenAI, and LangChain agent frameworks",
    "primary_source": "Anthropic (2024). \"Building Effective Agents\". anthropic.com."
  },
  {
    "id": 192,
    "slug": "model-context-protocol-mcp",
    "name": "Model Context Protocol (MCP)",
    "name_zh": "模型上下文协议（MCP）",
    "url": "https://sdframe.caldis.me/frameworks/model-context-protocol-mcp",
    "api_url": "https://sdframe.caldis.me/api/frameworks/model-context-protocol-mcp.json",
    "category": "ai",
    "description": "Standardized tool integration for LLMs (Anthropic, 2024)",
    "description_zh": "大模型标准化工具集成协议（Anthropic，2024）",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "experimental",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "mcp",
      "tool-integration",
      "protocol",
      "llm-tools",
      "anthropic"
    ],
    "origin_author": "Anthropic, 2024",
    "primary_source": "Anthropic (2024). \"Model Context Protocol Specification\". modelcontextprotocol.io."
  },
  {
    "id": 193,
    "slug": "retrieval-augmented-fine-tuning-raft",
    "name": "Retrieval-Augmented Fine-Tuning (RAFT)",
    "name_zh": "检索增强微调（RAFT）",
    "url": "https://sdframe.caldis.me/frameworks/retrieval-augmented-fine-tuning-raft",
    "api_url": "https://sdframe.caldis.me/api/frameworks/retrieval-augmented-fine-tuning-raft.json",
    "category": "ai",
    "description": "Combine RAG with fine-tuning for domain adaptation",
    "description_zh": "结合检索增强生成与微调实现领域适配",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "experimental",
    "quality_concerns": [
      "performance",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "raft",
      "rag",
      "fine-tuning",
      "domain-adaptation",
      "retrieval"
    ],
    "origin_author": "Tianjun Zhang et al. (UC Berkeley), 2024",
    "primary_source": "Tianjun Zhang et al. (2024). \"RAFT: Adapting Language Model to Domain Specific RAG\". arXiv:2403.10131."
  },
  {
    "id": 194,
    "slug": "ai-safety-layers",
    "name": "AI Safety Layers (Defense in Depth for AI)",
    "name_zh": "AI 安全层（AI 纵深防御）",
    "url": "https://sdframe.caldis.me/frameworks/ai-safety-layers",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-safety-layers.json",
    "category": "ai",
    "description": "Multi-layer AI safety architecture",
    "description_zh": "多层 AI 安全架构",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "ai-safety",
      "defense-in-depth",
      "guardrails",
      "security",
      "responsible-ai"
    ],
    "origin_author": "Industry convergence: Anthropic (Constitutional AI), NIST (AI RMF), OWASP (LLM Top 10), 2023-2024",
    "primary_source": "NIST (2023). \"AI Risk Management Framework (AI RMF 1.0)\". nist.gov."
  },
  {
    "id": 293,
    "slug": "multimodal-pipeline-design",
    "name": "Multimodal Pipeline Design",
    "name_zh": "多模态流水线设计",
    "url": "https://sdframe.caldis.me/frameworks/multimodal-pipeline-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/multimodal-pipeline-design.json",
    "category": "ai",
    "description": "Architecture for processing text, image, audio, and video in unified AI pipelines",
    "description_zh": "在统一 AI 流水线中处理文本、图像、音频和视频的架构",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "multimodal",
      "pipeline",
      "vision",
      "audio",
      "embeddings",
      "llm"
    ],
    "origin_author": "Google DeepMind",
    "primary_source": "Google DeepMind (2023). \"Gemini: A Family of Highly Capable Multimodal Models\". arXiv:2312.11805."
  },
  {
    "id": 294,
    "slug": "ai-cost-optimization",
    "name": "AI Cost Optimization",
    "name_zh": "AI 成本优化",
    "url": "https://sdframe.caldis.me/frameworks/ai-cost-optimization",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-cost-optimization.json",
    "category": "ai",
    "description": "Systematic strategies for managing and reducing LLM inference costs at production scale",
    "description_zh": "在生产规模下系统性管理和降低大模型推理成本的策略",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "cost-optimization",
      "llm",
      "inference",
      "caching",
      "model-routing",
      "production-ai"
    ],
    "origin_author": "a16z",
    "primary_source": "a16z (2023). \"The Economics of Generative AI\". a16z.com/2023/04/the-economics-of-generative-ai/."
  },
  {
    "id": 297,
    "slug": "semantic-caching",
    "name": "Semantic Caching",
    "name_zh": "语义缓存",
    "url": "https://sdframe.caldis.me/frameworks/semantic-caching",
    "api_url": "https://sdframe.caldis.me/api/frameworks/semantic-caching.json",
    "category": "ai",
    "description": "Caching strategy for LLM applications that stores and retrieves responses based on semantic similarity of queries rather than exact string match.",
    "description_zh": "LLM 应用的缓存策略，基于查询的语义相似度而非精确字符串匹配来存储和检索响应。",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "semantic-caching",
      "llm",
      "cost-optimization",
      "embeddings",
      "vector-search",
      "inference"
    ],
    "origin_author": "GPTCache",
    "primary_source": "Liu, B. et al. (2023). \"GPTCache: An Open-Source Semantic Cache for LLM Applications\". arXiv:2306.03799."
  },
  {
    "id": 298,
    "slug": "ai-red-teaming",
    "name": "AI Red Teaming",
    "name_zh": "AI 红队测试",
    "url": "https://sdframe.caldis.me/frameworks/ai-red-teaming",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-red-teaming.json",
    "category": "ai",
    "description": "Adversarial testing methodology for AI systems that uses structured attack exercises to discover safety vulnerabilities, harmful outputs, and failure modes before deployment.",
    "description_zh": "AI 系统的对抗性测试方法，通过结构化攻击演练在部署前发现安全漏洞、有害输出和失效模式。",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "red-teaming",
      "ai-safety",
      "adversarial-testing",
      "jailbreak",
      "prompt-injection",
      "responsible-ai"
    ],
    "origin_author": "Microsoft",
    "primary_source": "Microsoft (2023). \"Microsoft AI Red Team building future of safer AI\". microsoft.com/security/blog."
  },
  {
    "id": 303,
    "slug": "ai-gateway-pattern",
    "name": "AI Gateway Pattern",
    "name_zh": "AI 网关模式",
    "url": "https://sdframe.caldis.me/frameworks/ai-gateway-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/ai-gateway-pattern.json",
    "category": "ai",
    "description": "Centralized proxy for LLM API management, rate limiting, caching, and observability",
    "description_zh": "集中式代理，用于大模型 API 管理、限流、缓存与可观测性",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "gateway",
      "proxy",
      "rate-limiting",
      "caching",
      "llm-ops",
      "cost-control"
    ],
    "origin_author": "Anthropic",
    "primary_source": "Anthropic (2023). \"Building responsible LLM infrastructure with API gateways\". anthropic.com/engineering."
  },
  {
    "id": 304,
    "slug": "prompt-caching-strategies",
    "name": "Prompt Caching Strategies",
    "name_zh": "提示词缓存策略",
    "url": "https://sdframe.caldis.me/frameworks/prompt-caching-strategies",
    "api_url": "https://sdframe.caldis.me/api/frameworks/prompt-caching-strategies.json",
    "category": "ai",
    "description": "Reducing LLM inference costs and latency by reusing KV cache from shared prompt prefixes",
    "description_zh": "通过复用共享提示词前缀的 KV 缓存，降低大模型推理成本与延迟",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "caching",
      "cost-optimization",
      "kv-cache",
      "prompt-engineering",
      "llm-ops"
    ],
    "origin_author": "OpenAI",
    "primary_source": "Anthropic (2024). \"Prompt Caching\". docs.anthropic.com/en/docs/build-with-claude/prompt-caching."
  },
  {
    "id": 305,
    "slug": "evaluation-driven-development",
    "name": "Evaluation-Driven Development",
    "name_zh": "评估驱动开发",
    "url": "https://sdframe.caldis.me/frameworks/evaluation-driven-development",
    "api_url": "https://sdframe.caldis.me/api/frameworks/evaluation-driven-development.json",
    "category": "ai",
    "description": "Building AI applications by writing eval suites before features, using test results to guide iteration",
    "description_zh": "通过在编写功能前先构建评估套件来开发 AI 应用，并以测试结果驱动迭代",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "maintainability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "evals",
      "testing",
      "llm-ops",
      "quality-assurance",
      "prompt-engineering",
      "ai-safety"
    ],
    "origin_author": "Hamel Husain",
    "primary_source": "Husain, H. (2023). \"Your AI Product Needs Evals\". hamel.dev/blog/posts/evals."
  },
  {
    "id": 101,
    "slug": "data-mesh",
    "name": "Data Mesh",
    "name_zh": "数据网格",
    "url": "https://sdframe.caldis.me/frameworks/data-mesh",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-mesh.json",
    "category": "data",
    "description": "Domain-oriented decentralized data ownership and architecture",
    "description_zh": "面向领域的去中心化数据所有权与架构",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "scalability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "data-mesh",
      "decentralization",
      "data-products",
      "domain-ownership",
      "governance"
    ],
    "origin_author": "Zhamak Dehghani, 2019",
    "primary_source": "Dehghani, Z. (2022). \"Data Mesh: Delivering Data-Driven Value at Scale\". O'Reilly Media."
  },
  {
    "id": 102,
    "slug": "lambda-architecture",
    "name": "Lambda Architecture",
    "name_zh": "Lambda 架构",
    "url": "https://sdframe.caldis.me/frameworks/lambda-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/lambda-architecture.json",
    "category": "data",
    "description": "Batch plus speed layers for scalable big data processing",
    "description_zh": "批处理加速度层的可扩展大数据处理架构",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "performance",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "big-data",
      "batch-processing",
      "stream-processing",
      "lambda"
    ],
    "origin_author": "Nathan Marz, 2011",
    "primary_source": "Marz, N. & Warren, J. (2015). \"Big Data: Principles and Best Practices of Scalable Real-Time Data Systems\". Manning Publications."
  },
  {
    "id": 103,
    "slug": "kappa-architecture",
    "name": "Kappa Architecture",
    "name_zh": "Kappa 架构",
    "url": "https://sdframe.caldis.me/frameworks/kappa-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/kappa-architecture.json",
    "category": "data",
    "description": "Stream-first architecture eliminating the batch layer entirely",
    "description_zh": "以流为核心、完全消除批处理层的数据架构",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "maintainability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "streaming",
      "kappa",
      "event-log",
      "real-time",
      "simplicity"
    ],
    "origin_author": "Jay Kreps, 2014",
    "primary_source": "Kreps, J. (2014). \"Questioning the Lambda Architecture\". O'Reilly Radar."
  },
  {
    "id": 104,
    "slug": "stream-processing-patterns",
    "name": "Stream Processing Patterns",
    "name_zh": "流处理模式",
    "url": "https://sdframe.caldis.me/frameworks/stream-processing-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/stream-processing-patterns.json",
    "category": "data",
    "description": "Patterns for continuous data stream windowing, joining, and semantics",
    "description_zh": "连续数据流窗口化、连接和语义保证的处理模式",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "performance",
      "scalability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "streaming",
      "windowing",
      "exactly-once",
      "joins",
      "watermarks"
    ],
    "origin_author": "Jay Kreps / Martin Kleppmann, 2014-2017",
    "primary_source": "Kleppmann, M. (2017). \"Designing Data-Intensive Applications\", Ch. 11: Stream Processing. O'Reilly Media."
  },
  {
    "id": 105,
    "slug": "change-data-capture",
    "name": "Change Data Capture (CDC)",
    "name_zh": "变更数据捕获",
    "url": "https://sdframe.caldis.me/frameworks/change-data-capture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/change-data-capture.json",
    "category": "data",
    "description": "Track database changes as real-time event streams for downstream",
    "description_zh": "将数据库变更作为实时事件流捕获并传递给下游系统",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "cdc",
      "replication",
      "event-streams",
      "debezium",
      "database"
    ],
    "origin_author": "Database community / Popularized by Debezium (Red Hat), 2015",
    "primary_source": "Kleppmann, M. (2017). \"Designing Data-Intensive Applications\", Ch. 11: Stream Processing. O'Reilly Media."
  },
  {
    "id": 106,
    "slug": "data-lakehouse",
    "name": "Data Lakehouse",
    "name_zh": "数据湖仓一体",
    "url": "https://sdframe.caldis.me/frameworks/data-lakehouse",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-lakehouse.json",
    "category": "data",
    "description": "Unified architecture combining data lake flexibility with warehouse reliability",
    "description_zh": "结合数据湖灵活性与数据仓库可靠性的统一架构",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "scalability",
      "performance",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "lakehouse",
      "delta-lake",
      "iceberg",
      "unified-analytics",
      "data-warehouse"
    ],
    "origin_author": "Databricks (Armbrust, Ghodsi, Zaharia et al.), 2020",
    "primary_source": "Armbrust, M., Ghodsi, A., Xin, R. & Zaharia, M. (2021). \"Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics\". Proceedings of CIDR."
  },
  {
    "id": 107,
    "slug": "star-schema",
    "name": "Star Schema",
    "name_zh": "星型模式",
    "url": "https://sdframe.caldis.me/frameworks/star-schema",
    "api_url": "https://sdframe.caldis.me/api/frameworks/star-schema.json",
    "category": "data",
    "description": "Dimensional modeling with fact and dimension tables for analytics",
    "description_zh": "以事实表和维度表进行维度建模的分析架构",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "performance",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "dimensional-modeling",
      "star-schema",
      "kimball",
      "analytics",
      "data-warehouse"
    ],
    "origin_author": "Ralph Kimball, 1996",
    "primary_source": "Kimball, R. & Ross, M. (2013). \"The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling\", 3rd ed. Wiley."
  },
  {
    "id": 108,
    "slug": "data-vault-2",
    "name": "Data Vault 2.0",
    "name_zh": "Data Vault 2.0",
    "url": "https://sdframe.caldis.me/frameworks/data-vault-2",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-vault-2.json",
    "category": "data",
    "description": "Agile, auditable data warehousing with hubs, links, and satellites",
    "description_zh": "以Hub、Link和Satellite实现敏捷可审计的数据仓库方法论",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "data-vault",
      "agile-warehouse",
      "auditability",
      "hub-link-satellite"
    ],
    "origin_author": "Dan Linstedt, 2000 (formalized as 2.0 in 2013)",
    "primary_source": "Linstedt, D. & Olschimke, M. (2015). \"Building a Scalable Data Warehouse with Data Vault 2.0\". Morgan Kaufmann."
  },
  {
    "id": 109,
    "slug": "polyglot-persistence",
    "name": "Polyglot Persistence",
    "name_zh": "多语言持久化",
    "url": "https://sdframe.caldis.me/frameworks/polyglot-persistence",
    "api_url": "https://sdframe.caldis.me/api/frameworks/polyglot-persistence.json",
    "category": "data",
    "description": "Use purpose-fit databases for different data access patterns",
    "description_zh": "为不同数据访问模式使用最合适的数据库技术",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "performance",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "polyglot",
      "database",
      "persistence",
      "microservices",
      "data-access"
    ],
    "origin_author": "Martin Fowler / Pramod Sadalage, 2011",
    "primary_source": "Sadalage, P.J. & Fowler, M. (2012). \"NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence\". Addison-Wesley."
  },
  {
    "id": 110,
    "slug": "feature-store-pattern",
    "name": "Feature Store Pattern",
    "name_zh": "特征存储模式",
    "url": "https://sdframe.caldis.me/frameworks/feature-store-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/feature-store-pattern.json",
    "category": "data",
    "description": "Centralized ML feature management for training and serving",
    "description_zh": "集中化ML特征管理，统一训练与在线服务",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "scalability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "feature-store",
      "ml-features",
      "training-serving",
      "mlops",
      "data-management"
    ],
    "origin_author": "Uber Michelangelo team (Hermann, Del Balso et al.), 2017",
    "primary_source": "Hermann, J., Del Balso, M. et al. (2017). \"Meet Michelangelo: Uber's Machine Learning Platform\". Uber Engineering Blog."
  },
  {
    "id": 195,
    "slug": "slowly-changing-dimensions",
    "name": "Slowly Changing Dimensions (SCD)",
    "name_zh": "缓慢变化维度",
    "url": "https://sdframe.caldis.me/frameworks/slowly-changing-dimensions",
    "api_url": "https://sdframe.caldis.me/api/frameworks/slowly-changing-dimensions.json",
    "category": "data",
    "description": "Techniques for tracking historical changes in dimension tables (Kimball, 1996)",
    "description_zh": "在维度表中追踪历史变更的技术体系（Kimball，1996）",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "scd",
      "dimensional-modeling",
      "data-warehouse",
      "kimball",
      "history-tracking"
    ],
    "origin_author": "Ralph Kimball, 1996",
    "primary_source": "Kimball, R. & Ross, M. (2013). \"The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling\", 3rd ed. Wiley."
  },
  {
    "id": 196,
    "slug": "data-lineage",
    "name": "Data Lineage",
    "name_zh": "数据血缘",
    "url": "https://sdframe.caldis.me/frameworks/data-lineage",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-lineage.json",
    "category": "data",
    "description": "Tracking data origin, transformations, and consumption across pipelines",
    "description_zh": "追踪数据在管道中的来源、转换过程和消费情况",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "lineage",
      "metadata",
      "governance",
      "observability",
      "openlineage"
    ],
    "origin_author": "Industry-wide practice; standardized by OpenLineage (Astronomer/Linux Foundation, 2021)",
    "primary_source": "OpenLineage Project (2021). \"OpenLineage: An Open Standard for Data Lineage\". openlineage.io."
  },
  {
    "id": 197,
    "slug": "schema-registry-pattern",
    "name": "Schema Registry Pattern",
    "name_zh": "模式注册表模式",
    "url": "https://sdframe.caldis.me/frameworks/schema-registry-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/schema-registry-pattern.json",
    "category": "data",
    "description": "Centralized schema management for data contracts (Confluent, 2015)",
    "description_zh": "用于数据契约的集中化模式管理体系（Confluent，2015）",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "schema-registry",
      "data-contracts",
      "avro",
      "protobuf",
      "compatibility"
    ],
    "origin_author": "Confluent (Jay Kreps et al.), 2015",
    "primary_source": "Confluent Inc. (2015). \"Schema Registry Documentation\". docs.confluent.io."
  },
  {
    "id": 198,
    "slug": "data-quality-framework",
    "name": "Data Quality Framework",
    "name_zh": "数据质量框架",
    "url": "https://sdframe.caldis.me/frameworks/data-quality-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-quality-framework.json",
    "category": "data",
    "description": "Systematic validation of data accuracy, completeness, and consistency",
    "description_zh": "系统性验证数据准确性、完整性和一致性的方法体系",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "data-quality",
      "observability",
      "validation",
      "great-expectations",
      "dbt-tests"
    ],
    "origin_author": "Thomas C. Redman (1992); operationalized by DAMA International DMBOK",
    "primary_source": "DAMA International (2017). \"DMBOK2: Data Management Body of Knowledge\", 2nd ed. Technics Publications."
  },
  {
    "id": 199,
    "slug": "medallion-architecture",
    "name": "Medallion Architecture",
    "name_zh": "奖章架构",
    "url": "https://sdframe.caldis.me/frameworks/medallion-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/medallion-architecture.json",
    "category": "data",
    "description": "Bronze/Silver/Gold layered data processing pattern (Databricks, 2021)",
    "description_zh": "铜/银/金分层数据处理模式（Databricks，2021）",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "scalability",
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "medallion",
      "lakehouse",
      "delta-lake",
      "data-layers",
      "databricks"
    ],
    "origin_author": "Databricks (Reza Shiftehfar et al.), 2021",
    "primary_source": "Databricks Engineering (2021). \"Building a Medallion Architecture with Delta Lake\". databricks.com/blog."
  },
  {
    "id": 306,
    "slug": "data-catalog",
    "name": "Data Catalog",
    "name_zh": "数据目录",
    "url": "https://sdframe.caldis.me/frameworks/data-catalog",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-catalog.json",
    "category": "data",
    "description": "Centralized metadata management system that enables data discovery, governance, and self-service analytics across an organization.",
    "description_zh": "集中式元数据管理系统，支持组织内的数据发现、治理和自助分析。",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "observability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "metadata",
      "data-discovery",
      "governance",
      "data-catalog",
      "alation"
    ],
    "origin_author": "Alation",
    "primary_source": "Alation (2012). 'The Collaborative Data Catalog'. alation.com. Shi, M. et al. (2016). 'Goods: Organizing Google's Datasets'. SIGMOD 2016."
  },
  {
    "id": 307,
    "slug": "schema-registry",
    "name": "Schema Registry",
    "name_zh": "模式注册表",
    "url": "https://sdframe.caldis.me/frameworks/schema-registry",
    "api_url": "https://sdframe.caldis.me/api/frameworks/schema-registry.json",
    "category": "data",
    "description": "Centralized service for storing, versioning, and enforcing data schemas in streaming and event-driven architectures, ensuring producer-consumer compatibility.",
    "description_zh": "集中式服务，用于在流式和事件驱动架构中存储、版本化和强制执行数据模式，确保生产者与消费者的兼容性。",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "schema",
      "kafka",
      "avro",
      "compatibility",
      "confluent",
      "streaming"
    ],
    "origin_author": "Confluent",
    "primary_source": "Confluent (2015). 'Schema Registry Documentation'. docs.confluent.io/platform/current/schema-registry/index.html."
  },
  {
    "id": 308,
    "slug": "data-lineage-governance",
    "name": "Data Lineage",
    "name_zh": "数据血缘",
    "url": "https://sdframe.caldis.me/frameworks/data-lineage-governance",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-lineage-governance.json",
    "category": "data",
    "description": "Systematic tracking and visualization of data flow from origin through all transformations to final consumption, enabling impact analysis and regulatory compliance.",
    "description_zh": "系统地追踪和可视化数据从起源经过所有转换到最终消费的流动，支持影响分析和法规合规。",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "observability",
      "maintainability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "lineage",
      "apache-atlas",
      "openlineage",
      "governance",
      "impact-analysis",
      "data-quality"
    ],
    "origin_author": "Apache Atlas",
    "primary_source": "Apache Software Foundation (2015). 'Apache Atlas: Data Governance and Metadata Framework'. atlas.apache.org."
  },
  {
    "id": 309,
    "slug": "feature-store",
    "name": "Feature Store",
    "name_zh": "特征仓库",
    "url": "https://sdframe.caldis.me/frameworks/feature-store",
    "api_url": "https://sdframe.caldis.me/api/frameworks/feature-store.json",
    "category": "data",
    "description": "Centralized repository that manages the full lifecycle of ML features — from computation and storage to serving — enabling feature reuse, consistency between training and inference, and governance.",
    "description_zh": "集中式存储库，管理ML特征的完整生命周期——从计算和存储到服务——支持特征复用、训练与推理之间的一致性以及治理。",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "scalability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "feature-store",
      "machine-learning",
      "mlops",
      "uber",
      "michelangelo",
      "training-serving-skew"
    ],
    "origin_author": "Uber (Michelangelo)",
    "primary_source": "Hermann, J. & Del Balso, M. (2017). 'Meet Michelangelo: Uber's Machine Learning Platform'. Uber Engineering Blog. eng.uber.com/michelangelo-machine-learning-platform."
  },
  {
    "id": 310,
    "slug": "data-contract",
    "name": "Data Contract",
    "name_zh": "数据契约",
    "url": "https://sdframe.caldis.me/frameworks/data-contract",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-contract.json",
    "category": "data",
    "description": "Formal, versioned agreements between data producers and consumers that specify schema, quality expectations, SLAs, and ownership, treating data as a product with explicit interface guarantees.",
    "description_zh": "数据生产者和消费者之间的正式、版本化协议，规定模式、质量期望、SLA和所有权，将数据视为具有明确接口保证的产品。",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "maintainability",
      "testability"
    ],
    "ai_relevant": true,
    "tags": [
      "data-contract",
      "data-quality",
      "producer-consumer",
      "data-mesh",
      "governance",
      "andrew-jones"
    ],
    "origin_author": "Andrew Jones",
    "primary_source": "Jones, A. (2022). 'Driving Data Quality with Data Contracts'. andrewjones.substack.com."
  },
  {
    "id": 111,
    "slug": "threat-modeling-stride",
    "name": "Threat Modeling (STRIDE)",
    "name_zh": "威胁建模（STRIDE）",
    "url": "https://sdframe.caldis.me/frameworks/threat-modeling-stride",
    "api_url": "https://sdframe.caldis.me/api/frameworks/threat-modeling-stride.json",
    "category": "security",
    "description": "Systematic identification and mitigation of security threats using the STRIDE taxonomy",
    "description_zh": "使用 STRIDE 分类法系统识别和缓解安全威胁",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "threat-modeling",
      "stride",
      "risk-assessment",
      "data-flow",
      "microsoft"
    ],
    "origin_author": "Loren Kohnfelder & Praerit Garg (Microsoft), 1999; popularized by Adam Shostack",
    "primary_source": "Shostack, A. (2014). \"Threat Modeling: Designing for Security\". Wiley."
  },
  {
    "id": 112,
    "slug": "zero-trust-architecture",
    "name": "Zero Trust Architecture",
    "name_zh": "零信任架构",
    "url": "https://sdframe.caldis.me/frameworks/zero-trust-architecture",
    "api_url": "https://sdframe.caldis.me/api/frameworks/zero-trust-architecture.json",
    "category": "security",
    "description": "Never trust, always verify — eliminate implicit trust from network architecture",
    "description_zh": "永不信任、持续验证——消除网络架构中的隐式信任",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "zero-trust",
      "network-security",
      "identity",
      "micro-segmentation",
      "access-control"
    ],
    "origin_author": "John Kindervag (Forrester Research), 2010",
    "primary_source": "Rose, S. et al. (2020). \"Zero Trust Architecture\". NIST Special Publication 800-207."
  },
  {
    "id": 113,
    "slug": "oauth2-openid-connect",
    "name": "OAuth 2.0 / OpenID Connect",
    "name_zh": "OAuth 2.0 / OpenID Connect 授权与身份框架",
    "url": "https://sdframe.caldis.me/frameworks/oauth2-openid-connect",
    "api_url": "https://sdframe.caldis.me/api/frameworks/oauth2-openid-connect.json",
    "category": "security",
    "description": "Delegated authorization and federated identity for secure API and application access",
    "description_zh": "用于安全 API 和应用访问的委托授权与联合身份框架",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "oauth",
      "openid-connect",
      "authorization",
      "identity",
      "tokens",
      "api-security"
    ],
    "origin_author": "Eran Hammer, Dick Hardt et al. (IETF); OpenID Foundation",
    "primary_source": "Hardt, D. (2012). \"The OAuth 2.0 Authorization Framework\". IETF RFC 6749."
  },
  {
    "id": 114,
    "slug": "defense-in-depth",
    "name": "Defense in Depth",
    "name_zh": "纵深防御",
    "url": "https://sdframe.caldis.me/frameworks/defense-in-depth",
    "api_url": "https://sdframe.caldis.me/api/frameworks/defense-in-depth.json",
    "category": "security",
    "description": "Layer multiple independent security controls so that no single point of failure compromises the system",
    "description_zh": "分层部署多个独立安全控制，确保任何单点故障不会导致整个系统沦陷",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "defense-in-depth",
      "layered-security",
      "controls",
      "risk-management",
      "nist"
    ],
    "origin_author": "Military strategy concept; adapted to information security by NSA and NIST",
    "primary_source": "NSA (2010). \"Information Assurance Technical Framework (IATF)\". National Security Agency."
  },
  {
    "id": 115,
    "slug": "privacy-by-design",
    "name": "Privacy by Design",
    "name_zh": "隐私设计",
    "url": "https://sdframe.caldis.me/frameworks/privacy-by-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/privacy-by-design.json",
    "category": "security",
    "description": "Embed privacy protections into the design and architecture of systems from the outset, not as an afterthought",
    "description_zh": "从一开始就将隐私保护嵌入系统的设计和架构中，而非事后补救",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "security",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "privacy",
      "gdpr",
      "data-protection",
      "pbd",
      "data-minimization",
      "consent"
    ],
    "origin_author": "Ann Cavoukian (Information and Privacy Commissioner of Ontario), 1990s; formalized 2009",
    "primary_source": "Cavoukian, A. (2009). \"Privacy by Design: The 7 Foundational Principles\". Information and Privacy Commissioner of Ontario."
  },
  {
    "id": 116,
    "slug": "owasp-top-10",
    "name": "OWASP Top 10",
    "name_zh": "OWASP 十大 Web 应用安全风险",
    "url": "https://sdframe.caldis.me/frameworks/owasp-top-10",
    "api_url": "https://sdframe.caldis.me/api/frameworks/owasp-top-10.json",
    "category": "security",
    "description": "A prioritized framework of the most critical web application security risks with proven mitigation strategies",
    "description_zh": "最关键 Web 应用安全风险的优先级框架及经过验证的缓解策略",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security"
    ],
    "ai_relevant": false,
    "tags": [
      "owasp",
      "web-security",
      "application-security",
      "vulnerabilities",
      "appsec"
    ],
    "origin_author": "OWASP Foundation (community-driven, led by Andrew van der Stock et al.)",
    "primary_source": "OWASP Foundation (2021). \"OWASP Top 10 — 2021\". owasp.org/Top10."
  },
  {
    "id": 117,
    "slug": "principle-of-least-privilege",
    "name": "Principle of Least Privilege",
    "name_zh": "最小权限原则",
    "url": "https://sdframe.caldis.me/frameworks/principle-of-least-privilege",
    "api_url": "https://sdframe.caldis.me/api/frameworks/principle-of-least-privilege.json",
    "category": "security",
    "description": "Grant each subject only the minimum permissions necessary to perform its function, nothing more",
    "description_zh": "仅授予每个主体执行其功能所需的最小权限，不多不少",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "least-privilege",
      "access-control",
      "rbac",
      "abac",
      "authorization",
      "iam"
    ],
    "origin_author": "Jerome Saltzer and Michael Schroeder, 1975",
    "primary_source": "Saltzer, J.H. & Schroeder, M.D. (1975). \"The Protection of Information in Computer Systems\". Proceedings of the IEEE, 63(9)."
  },
  {
    "id": 118,
    "slug": "security-by-design",
    "name": "Security by Design",
    "name_zh": "安全设计",
    "url": "https://sdframe.caldis.me/frameworks/security-by-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/security-by-design.json",
    "category": "security",
    "description": "Integrate security considerations into every phase of the software development lifecycle from requirements through deployment",
    "description_zh": "将安全考量集成到从需求到部署的软件开发生命周期的每个阶段",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "security",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "secure-sdlc",
      "security-by-design",
      "shift-left",
      "secure-coding",
      "devsecops"
    ],
    "origin_author": "Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano (book); Microsoft SDL (process)",
    "primary_source": "Johnsson, D.B., Deogun, D. & Sawano, D. (2019). \"Secure by Design\". Manning Publications."
  },
  {
    "id": 119,
    "slug": "supply-chain-security-slsa",
    "name": "Supply Chain Security (SLSA)",
    "name_zh": "软件供应链安全（SLSA）",
    "url": "https://sdframe.caldis.me/frameworks/supply-chain-security-slsa",
    "api_url": "https://sdframe.caldis.me/api/frameworks/supply-chain-security-slsa.json",
    "category": "security",
    "description": "Ensure the integrity and provenance of software artifacts through verifiable supply chain levels",
    "description_zh": "通过可验证的供应链级别确保软件制品的完整性和来源",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "supply-chain",
      "slsa",
      "provenance",
      "sbom",
      "software-integrity",
      "sigstore"
    ],
    "origin_author": "Google; Linux Foundation / OpenSSF",
    "primary_source": "Google & OpenSSF (2021). \"SLSA: Supply-chain Levels for Software Artifacts\". slsa.dev."
  },
  {
    "id": 120,
    "slug": "confidential-computing",
    "name": "Confidential Computing",
    "name_zh": "机密计算",
    "url": "https://sdframe.caldis.me/frameworks/confidential-computing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/confidential-computing.json",
    "category": "security",
    "description": "Protect data in use by performing computation within hardware-based trusted execution environments (TEEs)",
    "description_zh": "通过在基于硬件的可信执行环境（TEE）中执行计算来保护使用中的数据",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "confidential-computing",
      "tee",
      "enclave",
      "attestation",
      "data-in-use",
      "hardware-security"
    ],
    "origin_author": "Confidential Computing Consortium (Linux Foundation); Intel, AMD, Arm",
    "primary_source": "Confidential Computing Consortium (2021). \"A Technical Analysis of Confidential Computing\". Linux Foundation."
  },
  {
    "id": 200,
    "slug": "security-champions-program",
    "name": "Security Champions Program",
    "name_zh": "安全冠军计划",
    "url": "https://sdframe.caldis.me/frameworks/security-champions-program",
    "api_url": "https://sdframe.caldis.me/api/frameworks/security-champions-program.json",
    "category": "security",
    "description": "Embedding security advocates within development teams",
    "description_zh": "在开发团队中嵌入安全倡导者",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "security"
    ],
    "ai_relevant": false,
    "tags": [
      "security-champions",
      "devsecops",
      "culture",
      "shift-left",
      "team-security"
    ],
    "origin_author": "OWASP Security Champions Playbook; popularized by companies like Spotify and Nokia",
    "primary_source": "OWASP (2019). \"Security Champions Playbook\". owasp.org/www-project-security-champions-guidebook."
  },
  {
    "id": 201,
    "slug": "secrets-management",
    "name": "Secrets Management",
    "name_zh": "密钥管理",
    "url": "https://sdframe.caldis.me/frameworks/secrets-management",
    "api_url": "https://sdframe.caldis.me/api/frameworks/secrets-management.json",
    "category": "security",
    "description": "Centralized vault-based secrets lifecycle (HashiCorp Vault, 2015)",
    "description_zh": "基于集中化保险库的密钥生命周期管理（HashiCorp Vault，2015）",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "secrets-management",
      "vault",
      "credentials",
      "rotation",
      "dynamic-secrets"
    ],
    "origin_author": "HashiCorp (Mitchell Hashimoto), 2015",
    "primary_source": "HashiCorp (2015). \"Vault Documentation\". vaultproject.io."
  },
  {
    "id": 202,
    "slug": "waf-patterns",
    "name": "Web Application Firewall (WAF) Patterns",
    "name_zh": "Web应用防火墙模式",
    "url": "https://sdframe.caldis.me/frameworks/waf-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/waf-patterns.json",
    "category": "security",
    "description": "Application-layer traffic filtering strategies that inspect, filter, and block malicious HTTP/S requests before they reach web applications",
    "description_zh": "在应用层检查、过滤和拦截恶意HTTP/S请求的流量防护策略，保护Web应用免受注入、跨站脚本等攻击",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "waf",
      "application-firewall",
      "owasp",
      "bot-management",
      "rate-limiting"
    ],
    "origin_author": "Perfecto Technologies (first commercial WAF, 1999); OWASP ModSecurity Core Rule Set",
    "primary_source": "OWASP (2023). \"ModSecurity Core Rule Set\". coreruleset.org."
  },
  {
    "id": 203,
    "slug": "identity-federation",
    "name": "Identity Federation",
    "name_zh": "身份联合",
    "url": "https://sdframe.caldis.me/frameworks/identity-federation",
    "api_url": "https://sdframe.caldis.me/api/frameworks/identity-federation.json",
    "category": "security",
    "description": "Cross-domain identity and SSO patterns (SAML, OIDC federation)",
    "description_zh": "跨域身份和单点登录模式（SAML、OIDC联合）",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "identity-federation",
      "sso",
      "saml",
      "oidc",
      "zero-trust"
    ],
    "origin_author": "OASIS (SAML 2.0, 2005); OpenID Foundation (OIDC, 2014)",
    "primary_source": "OASIS (2005). \"Security Assertion Markup Language (SAML) 2.0\". OASIS Standard."
  },
  {
    "id": 204,
    "slug": "penetration-testing-framework",
    "name": "Penetration Testing Framework",
    "name_zh": "渗透测试框架",
    "url": "https://sdframe.caldis.me/frameworks/penetration-testing-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/penetration-testing-framework.json",
    "category": "security",
    "description": "Structured offensive security testing methodology (PTES, OWASP Testing Guide)",
    "description_zh": "结构化攻击性安全测试方法论（PTES、OWASP测试指南）",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security"
    ],
    "ai_relevant": false,
    "tags": [
      "penetration-testing",
      "offensive-security",
      "ptes",
      "owasp",
      "red-team"
    ],
    "origin_author": "PTES (Penetration Testing Execution Standard), 2009; OWASP Testing Guide v1.0, 2004",
    "primary_source": "OWASP (2020). \"OWASP Testing Guide v4.2\". owasp.org/www-project-web-security-testing-guide."
  },
  {
    "id": 256,
    "slug": "security-development-lifecycle",
    "name": "Security Development Lifecycle (SDL)",
    "name_zh": "安全开发生命周期（SDL）",
    "url": "https://sdframe.caldis.me/frameworks/security-development-lifecycle",
    "api_url": "https://sdframe.caldis.me/api/frameworks/security-development-lifecycle.json",
    "category": "security",
    "description": "Microsoft's structured process for integrating security and privacy practices at every phase of software development",
    "description_zh": "微软在软件开发每个阶段融入安全与隐私实践的结构化流程",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "sdlc",
      "secure-development",
      "microsoft",
      "shift-left",
      "compliance"
    ],
    "origin_author": "Steve Lipner",
    "primary_source": "Howard, M. & Lipner, S. (2006). \"The Security Development Lifecycle\". Microsoft Press."
  },
  {
    "id": 257,
    "slug": "nist-cybersecurity-framework",
    "name": "NIST Cybersecurity Framework",
    "name_zh": "NIST网络安全框架",
    "url": "https://sdframe.caldis.me/frameworks/nist-cybersecurity-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/nist-cybersecurity-framework.json",
    "category": "security",
    "description": "A voluntary risk-based framework organizing cybersecurity activities into five concurrent functions: Identify, Protect, Detect, Respond, Recover",
    "description_zh": "一个基于风险的自愿性框架，将网络安全活动组织为五个并发功能：识别、保护、检测、响应、恢复",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "nist",
      "risk-management",
      "governance",
      "compliance",
      "cybersecurity"
    ],
    "origin_author": "NIST",
    "primary_source": "NIST (2024). \"Cybersecurity Framework 2.0\". doi.org/10.6028/NIST.CSWP.29."
  },
  {
    "id": 258,
    "slug": "devsecops-pipeline",
    "name": "DevSecOps Pipeline",
    "name_zh": "DevSecOps流水线",
    "url": "https://sdframe.caldis.me/frameworks/devsecops-pipeline",
    "api_url": "https://sdframe.caldis.me/api/frameworks/devsecops-pipeline.json",
    "category": "security",
    "description": "The integration of security tooling and culture into every stage of a CI/CD pipeline so that security is automated, continuous, and developer-owned rather than a final gate",
    "description_zh": "将安全工具和文化集成到CI/CD流水线的每个阶段，使安全成为自动化、持续且由开发人员负责的工作，而非最终关卡",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "security",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "devsecops",
      "ci-cd",
      "shift-left",
      "automation",
      "sast",
      "dast"
    ],
    "origin_author": "Shannon Lietz",
    "primary_source": "Kim, G., Humble, J., Debois, P. & Willis, J. (2016). \"The DevOps Handbook\". IT Revolution Press."
  },
  {
    "id": 259,
    "slug": "data-loss-prevention",
    "name": "Data Loss Prevention (DLP)",
    "name_zh": "数据防泄漏（DLP）",
    "url": "https://sdframe.caldis.me/frameworks/data-loss-prevention",
    "api_url": "https://sdframe.caldis.me/api/frameworks/data-loss-prevention.json",
    "category": "security",
    "description": "A strategy and toolset for detecting, monitoring, and preventing the unauthorized transmission of sensitive data outside organizational boundaries",
    "description_zh": "检测、监控和防止敏感数据未经授权传输到组织边界之外的策略和工具集",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "dlp",
      "data-protection",
      "insider-threat",
      "compliance",
      "pii"
    ],
    "origin_author": "Gartner",
    "primary_source": "Securosis (2007). \"Understanding and Selecting a DLP Solution\". securosis.com."
  },
  {
    "id": 260,
    "slug": "incident-response-playbook",
    "name": "Incident Response Playbook",
    "name_zh": "事件响应手册",
    "url": "https://sdframe.caldis.me/frameworks/incident-response-playbook",
    "api_url": "https://sdframe.caldis.me/api/frameworks/incident-response-playbook.json",
    "category": "security",
    "description": "SANS Institute's six-step structured process for handling cybersecurity incidents from preparation through post-incident lessons learned",
    "description_zh": "SANS研究所的六步结构化流程，用于处理从准备到事后经验总结的网络安全事件",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "incident-response",
      "sans",
      "forensics",
      "playbook",
      "breach"
    ],
    "origin_author": "SANS Institute",
    "primary_source": "SANS Institute (2004). \"Incident Handler's Handbook\". SANS Reading Room. sans.org/reading-room/whitepapers/incident."
  },
  {
    "id": 315,
    "slug": "runtime-application-self-protection",
    "name": "Runtime Application Self-Protection (RASP)",
    "name_zh": "运行时应用自我保护（RASP）",
    "url": "https://sdframe.caldis.me/frameworks/runtime-application-self-protection",
    "api_url": "https://sdframe.caldis.me/api/frameworks/runtime-application-self-protection.json",
    "category": "security",
    "description": "A security technology that instruments application runtimes to detect and block attacks from within the running application context, with access to call stacks, data flows, and execution context that perimeter controls cannot see",
    "description_zh": "在运行中的应用程序上下文内部检测和阻止攻击的安全技术，可访问外围控制无法看到的调用栈、数据流和执行上下文",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "security",
      "reliability",
      "observability"
    ],
    "ai_relevant": false,
    "tags": [
      "security",
      "rasp",
      "runtime-security",
      "appsec",
      "intrusion-detection"
    ],
    "origin_author": "Gartner (Joseph Feiman coined the term RASP in 2012); commercial implementations by Contrast Security, Sqreen",
    "origin_year": 2012,
    "primary_source": "Gartner (2012). \"Designing Application Security into Your Systems\". Feiman, J. Research Note G00237047."
  },
  {
    "id": 121,
    "slug": "consensus-protocols",
    "name": "Consensus Protocols (Raft/Paxos)",
    "name_zh": "共识协议（Raft/Paxos）",
    "url": "https://sdframe.caldis.me/frameworks/consensus-protocols",
    "api_url": "https://sdframe.caldis.me/api/frameworks/consensus-protocols.json",
    "category": "distributed",
    "description": "Algorithms for achieving agreement among distributed nodes despite failures",
    "description_zh": "在节点可能故障的分布式系统中达成一致的算法",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "consensus",
      "replication",
      "fault-tolerance",
      "distributed-state"
    ],
    "origin_author": "Leslie Lamport (Paxos, 1998); Diego Ongaro & John Ousterhout (Raft, 2014)",
    "primary_source": "Lamport, L. (1998). \"The Part-Time Parliament\". ACM Transactions on Computer Systems, 16(2)."
  },
  {
    "id": 122,
    "slug": "eventual-consistency",
    "name": "Eventual Consistency",
    "name_zh": "最终一致性",
    "url": "https://sdframe.caldis.me/frameworks/eventual-consistency",
    "api_url": "https://sdframe.caldis.me/api/frameworks/eventual-consistency.json",
    "category": "distributed",
    "description": "Embrace temporary inconsistency across replicas in exchange for higher availability",
    "description_zh": "以副本间的暂时不一致换取更高的可用性",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "scalability",
      "performance",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "consistency",
      "availability",
      "replication",
      "conflict-resolution"
    ],
    "origin_author": "Werner Vogels, 2008",
    "primary_source": "Vogels, W. (2009). \"Eventually Consistent\". Communications of the ACM, 52(1)."
  },
  {
    "id": 123,
    "slug": "backpressure-pattern",
    "name": "Backpressure Pattern",
    "name_zh": "背压模式",
    "url": "https://sdframe.caldis.me/frameworks/backpressure-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/backpressure-pattern.json",
    "category": "distributed",
    "description": "Flow control mechanism where downstream consumers signal upstream producers to slow down",
    "description_zh": "下游消费者向上游生产者发出减速信号的流量控制机制",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "flow-control",
      "resilience",
      "async",
      "streaming"
    ],
    "origin_author": "Concept from networking (TCP flow control); formalized in Reactive Streams (2013-2015)",
    "primary_source": "Reactive Streams Contributors (2015). \"Reactive Streams Specification\". reactive-streams.org."
  },
  {
    "id": 124,
    "slug": "sidecar-pattern",
    "name": "Sidecar Pattern",
    "name_zh": "边车模式",
    "url": "https://sdframe.caldis.me/frameworks/sidecar-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/sidecar-pattern.json",
    "category": "distributed",
    "description": "Attach auxiliary processes alongside primary services for cross-cutting concerns",
    "description_zh": "在主服务旁部署辅助进程以处理横切关注点",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "infrastructure",
      "proxy",
      "microservices",
      "cross-cutting-concerns"
    ],
    "origin_author": "Microsoft Azure Architecture Center (formalized 2016); popularized by Envoy/Istio (2016-2017)",
    "primary_source": "Burns, B. (2018). \"Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services\". O'Reilly Media."
  },
  {
    "id": 125,
    "slug": "leader-election",
    "name": "Leader Election",
    "name_zh": "领导者选举",
    "url": "https://sdframe.caldis.me/frameworks/leader-election",
    "api_url": "https://sdframe.caldis.me/api/frameworks/leader-election.json",
    "category": "distributed",
    "description": "Coordinate a single leader node among distributed peers to avoid conflicts",
    "description_zh": "在分布式对等节点中协调选出单一领导者以避免冲突",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "coordination",
      "fault-tolerance",
      "leadership",
      "distributed-locking"
    ],
    "origin_author": "Garcia-Molina (Bully algorithm, 1982); Lamport (Paxos-based election, 1998)",
    "primary_source": "Garcia-Molina, H. (1982). \"Elections in a Distributed Computing System\". IEEE Transactions on Computers, C-31(1)."
  },
  {
    "id": 126,
    "slug": "consistent-hashing",
    "name": "Consistent Hashing",
    "name_zh": "一致性哈希",
    "url": "https://sdframe.caldis.me/frameworks/consistent-hashing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/consistent-hashing.json",
    "category": "distributed",
    "description": "Distribute data across nodes with minimal redistribution when the cluster changes",
    "description_zh": "在集群变更时以最小重新分配量将数据分布到各节点",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "scalability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "partitioning",
      "load-balancing",
      "hashing",
      "scalability"
    ],
    "origin_author": "David Karger, Eric Lehman, Tom Leighton, et al., 1997",
    "primary_source": "Karger, D., Lehman, E., Leighton, T. et al. (1997). \"Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web\". Proceedings of ACM STOC."
  },
  {
    "id": 127,
    "slug": "gossip-protocol",
    "name": "Gossip Protocol",
    "name_zh": "Gossip协议",
    "url": "https://sdframe.caldis.me/frameworks/gossip-protocol",
    "api_url": "https://sdframe.caldis.me/api/frameworks/gossip-protocol.json",
    "category": "distributed",
    "description": "Epidemic-style information dissemination for decentralized cluster communication",
    "description_zh": "以流行病传播方式在去中心化集群中进行信息扩散",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "scalability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "membership",
      "failure-detection",
      "decentralized",
      "epidemic"
    ],
    "origin_author": "Alan Demers, Dan Greene, Carl Hauser, et al. (Xerox PARC, 1987)",
    "primary_source": "Demers, A., Greene, D., Hauser, C. et al. (1987). \"Epidemic Algorithms for Replicated Database Maintenance\". Proceedings of ACM PODC."
  },
  {
    "id": 128,
    "slug": "two-phase-commit",
    "name": "Two-Phase Commit (2PC)",
    "name_zh": "两阶段提交（2PC）",
    "url": "https://sdframe.caldis.me/frameworks/two-phase-commit",
    "api_url": "https://sdframe.caldis.me/api/frameworks/two-phase-commit.json",
    "category": "distributed",
    "description": "Atomic commit protocol ensuring all-or-nothing transaction outcomes across distributed participants",
    "description_zh": "确保分布式参与者之间事务要么全部提交要么全部回滚的原子提交协议",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "transactions",
      "atomicity",
      "coordination",
      "distributed-databases"
    ],
    "origin_author": "Jim Gray, 1978",
    "primary_source": "Gray, J. (1978). \"Notes on Data Base Operating Systems\". In: Operating Systems, An Advanced Course. Lecture Notes in Computer Science, Vol. 60. Springer."
  },
  {
    "id": 129,
    "slug": "sharding-strategies",
    "name": "Sharding Strategies",
    "name_zh": "分片策略",
    "url": "https://sdframe.caldis.me/frameworks/sharding-strategies",
    "api_url": "https://sdframe.caldis.me/api/frameworks/sharding-strategies.json",
    "category": "distributed",
    "description": "Horizontal data partitioning patterns for distributing load across multiple database nodes",
    "description_zh": "将数据水平分区到多个数据库节点以分散负载的模式",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "scalability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "partitioning",
      "scalability",
      "databases",
      "horizontal-scaling"
    ],
    "origin_author": "Concept from database research (1980s-1990s); formalized in modern context by Kleppmann (2017)",
    "primary_source": "Kleppmann, M. (2017). \"Designing Data-Intensive Applications\", Ch. 6: Partitioning. O'Reilly Media."
  },
  {
    "id": 130,
    "slug": "idempotency-pattern",
    "name": "Idempotency Pattern",
    "name_zh": "幂等性模式",
    "url": "https://sdframe.caldis.me/frameworks/idempotency-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/idempotency-pattern.json",
    "category": "distributed",
    "description": "Design operations to be safely retried without causing duplicate effects",
    "description_zh": "将操作设计为可安全重试且不产生重复效果",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "reliability",
      "retries",
      "deduplication",
      "at-least-once"
    ],
    "origin_author": "Concept from mathematics and HTTP specification (RFC 7231); applied to distributed systems by Helland (2012) and Kleppmann (2017)",
    "primary_source": "Helland, P. (2012). \"Idempotence Is Not a Medical Condition\". ACM Queue, 10(4)."
  },
  {
    "id": 205,
    "slug": "crdt",
    "name": "CRDT (Conflict-free Replicated Data Types)",
    "name_zh": "无冲突复制数据类型",
    "url": "https://sdframe.caldis.me/frameworks/crdt",
    "api_url": "https://sdframe.caldis.me/api/frameworks/crdt.json",
    "category": "distributed",
    "description": "Data structures that auto-merge without coordination (Shapiro, 2011)",
    "description_zh": "无需协调即可自动合并的数据结构（Shapiro，2011）",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "crdt",
      "eventual-consistency",
      "distributed-state",
      "conflict-resolution",
      "collaboration"
    ],
    "origin_author": "Marc Shapiro, Nuno Preguiça, Carlos Baquero, Marek Zawirski, 2011",
    "primary_source": "Shapiro, M., Preguiça, N., Baquero, C. & Zawirski, M. (2011). \"Conflict-Free Replicated Data Types\". Proceedings of SSS 2011, LNCS 6976. Springer."
  },
  {
    "id": 206,
    "slug": "outbox-pattern",
    "name": "Outbox Pattern",
    "name_zh": "发件箱模式",
    "url": "https://sdframe.caldis.me/frameworks/outbox-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/outbox-pattern.json",
    "category": "distributed",
    "description": "Reliable event publishing from database transactions",
    "description_zh": "从数据库事务中可靠地发布事件",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "outbox",
      "reliable-messaging",
      "transactional-outbox",
      "event-driven",
      "at-least-once"
    ],
    "origin_author": "Chris Richardson (microservices.io); popularized by Udi Dahan and Greg Young in CQRS/event sourcing contexts",
    "primary_source": "Richardson, C. (2018). \"Microservices Patterns\", Ch. 3. Manning Publications."
  },
  {
    "id": 207,
    "slug": "service-discovery",
    "name": "Service Discovery",
    "name_zh": "服务发现",
    "url": "https://sdframe.caldis.me/frameworks/service-discovery",
    "api_url": "https://sdframe.caldis.me/api/frameworks/service-discovery.json",
    "category": "distributed",
    "description": "Dynamic registration and lookup of service instances (Consul, etcd)",
    "description_zh": "服务实例的动态注册与查找（Consul、etcd）",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "service-discovery",
      "consul",
      "etcd",
      "kubernetes",
      "load-balancing"
    ],
    "origin_author": "Netflix (Eureka, 2012); HashiCorp (Consul, 2014); Kubernetes (CoreDNS-based, 2015)",
    "primary_source": "Richardson, C. (2018). \"Microservices Patterns\", Ch. 3. Manning Publications."
  },
  {
    "id": 208,
    "slug": "circuit-breaker-with-retry",
    "name": "Circuit Breaker with Retry",
    "name_zh": "带重试的断路器",
    "url": "https://sdframe.caldis.me/frameworks/circuit-breaker-with-retry",
    "api_url": "https://sdframe.caldis.me/api/frameworks/circuit-breaker-with-retry.json",
    "category": "distributed",
    "description": "Combined retry + circuit breaker for resilient communication",
    "description_zh": "结合重试与断路器实现弹性通信",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "circuit-breaker",
      "retry",
      "resilience",
      "fault-tolerance",
      "hystrix"
    ],
    "origin_author": "Michael Nygard (circuit breaker pattern, 2007); Polly (.NET) and Hystrix (Netflix, 2012) as implementations",
    "primary_source": "Nygard, M.T. (2018). \"Release It!\", 2nd ed., Ch. 5: Stability Patterns. Pragmatic Bookshelf."
  },
  {
    "id": 209,
    "slug": "bulkhead-service-level",
    "name": "Bulkhead at Service Level",
    "name_zh": "服务级隔离舱",
    "url": "https://sdframe.caldis.me/frameworks/bulkhead-service-level",
    "api_url": "https://sdframe.caldis.me/api/frameworks/bulkhead-service-level.json",
    "category": "distributed",
    "description": "Isolating service resources to prevent cascading failures (different from code-level bulkhead in quality.json)",
    "description_zh": "隔离服务资源以防止级联故障（区别于quality.json中代码级别的隔离舱）",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "bulkhead",
      "isolation",
      "resilience",
      "multi-tenant",
      "resource-partitioning"
    ],
    "origin_author": "Michael Nygard (2007); popularized by Netflix Hystrix thread pool isolation (2012)",
    "primary_source": "Nygard, M.T. (2018). \"Release It!\", 2nd ed., Ch. 5: Stability Patterns — Bulkheads. Pragmatic Bookshelf."
  },
  {
    "id": 264,
    "slug": "raft-consensus",
    "name": "Raft Consensus Algorithm",
    "name_zh": "Raft 共识算法",
    "url": "https://sdframe.caldis.me/frameworks/raft-consensus",
    "api_url": "https://sdframe.caldis.me/api/frameworks/raft-consensus.json",
    "category": "distributed",
    "description": "Understandable consensus protocol using leader election and log replication to achieve fault-tolerant distributed agreement",
    "description_zh": "通过领导者选举和日志复制实现容错分布式一致性的可理解共识协议",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "consensus",
      "raft",
      "leader-election",
      "log-replication",
      "fault-tolerance"
    ],
    "origin_author": "Diego Ongaro",
    "primary_source": "Ongaro, D. & Ousterhout, J. (2014). \"In Search of an Understandable Consensus Algorithm\". Proceedings of USENIX ATC 2014."
  },
  {
    "id": 265,
    "slug": "crdts",
    "name": "CRDTs (Conflict-free Replicated Data Types)",
    "name_zh": "无冲突复制数据类型（CRDT）",
    "url": "https://sdframe.caldis.me/frameworks/crdts",
    "api_url": "https://sdframe.caldis.me/api/frameworks/crdts.json",
    "category": "distributed",
    "description": "Eventual consistency without coordination using algebraic data structures that merge automatically",
    "description_zh": "使用可自动合并的代数数据结构实现无需协调的最终一致性",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "crdt",
      "eventual-consistency",
      "conflict-resolution",
      "collaborative-editing",
      "distributed-data"
    ],
    "origin_author": "Marc Shapiro",
    "primary_source": "Shapiro, M., Preguica, N., Baquero, C. & Zawirski, M. (2011). \"A Comprehensive Study of Convergent and Commutative Replicated Data Types\". INRIA Technical Report RR-7506."
  },
  {
    "id": 266,
    "slug": "gossip-epidemic-protocol",
    "name": "Gossip Protocol",
    "name_zh": "Gossip 协议",
    "url": "https://sdframe.caldis.me/frameworks/gossip-epidemic-protocol",
    "api_url": "https://sdframe.caldis.me/api/frameworks/gossip-epidemic-protocol.json",
    "category": "distributed",
    "description": "Epidemic-style information dissemination achieving reliable cluster-wide propagation without central coordination",
    "description_zh": "无需中央协调、以流行病方式实现可靠集群范围信息传播的协议",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "gossip",
      "epidemic-protocol",
      "decentralized",
      "membership",
      "failure-detection"
    ],
    "origin_author": "Alan Demers",
    "primary_source": "Demers, A. et al. (1987). \"Epidemic Algorithms for Replicated Database Maintenance\". Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing (PODC)."
  },
  {
    "id": 267,
    "slug": "service-discovery-pattern",
    "name": "Service Discovery Pattern",
    "name_zh": "服务发现模式",
    "url": "https://sdframe.caldis.me/frameworks/service-discovery-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/service-discovery-pattern.json",
    "category": "distributed",
    "description": "DNS-based and registry-based mechanisms for services to locate each other dynamically in elastic infrastructure",
    "description_zh": "服务在弹性基础设施中动态定位彼此的基于 DNS 和注册表的机制",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "service-discovery",
      "microservices",
      "load-balancing",
      "registry",
      "cloud-native"
    ],
    "origin_author": "Chris Richardson",
    "primary_source": "Richardson, C. (2018). \"Microservices Patterns\", Ch. 11: Discovering services. Manning Publications."
  },
  {
    "id": 268,
    "slug": "sidecar-container-pattern",
    "name": "Sidecar Pattern",
    "name_zh": "Sidecar 容器模式",
    "url": "https://sdframe.caldis.me/frameworks/sidecar-container-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/sidecar-container-pattern.json",
    "category": "distributed",
    "description": "Deploying helper containers alongside the primary service container to handle cross-cutting concerns without modifying application code",
    "description_zh": "在主服务容器旁部署辅助容器，无需修改应用代码即可处理横切关注点",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": false,
    "tags": [
      "sidecar",
      "service-mesh",
      "containers",
      "kubernetes",
      "cross-cutting-concerns"
    ],
    "origin_author": "Microsoft Azure",
    "primary_source": "Microsoft Azure Architecture Center. \"Sidecar Pattern\". docs.microsoft.com/azure/architecture/patterns/sidecar."
  },
  {
    "id": 329,
    "slug": "publish-subscribe-pattern",
    "name": "Publish-Subscribe Pattern",
    "name_zh": "发布-订阅模式",
    "url": "https://sdframe.caldis.me/frameworks/publish-subscribe-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/publish-subscribe-pattern.json",
    "category": "distributed",
    "description": "Decoupled messaging pattern where publishers emit events to named topics and subscribers receive only the messages matching their subscriptions, eliminating direct coupling between producers and consumers",
    "description_zh": "解耦的消息传递模式，发布者将事件发送到命名主题，订阅者仅接收与其订阅匹配的消息，消除生产者与消费者之间的直接耦合",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "scalability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "messaging",
      "event-driven",
      "decoupling",
      "asynchronous",
      "scalability"
    ],
    "origin_author": "CORBA Event Service specification (OMG, 1994); popularized through JMS (Java Message Service, 1998) and academic distributed systems literature of the 1980s–1990s",
    "primary_source": "Eugster, P., Felber, P., Guerraoui, R. & Kermarrec, A-M. (2003). \"The Many Faces of Publish/Subscribe\". ACM Computing Surveys, 35(2), 114–131."
  },
  {
    "id": 332,
    "slug": "retry-pattern",
    "name": "Retry Pattern",
    "name_zh": "重试模式",
    "url": "https://sdframe.caldis.me/frameworks/retry-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/retry-pattern.json",
    "category": "distributed",
    "description": "Automatically re-attempt a failed operation with configurable delay and limits to handle transient faults",
    "description_zh": "对失败操作以可配置的延迟和次数限制自动重试，以应对瞬时故障",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "retry",
      "resilience",
      "fault-tolerance",
      "transient-faults"
    ],
    "origin_author": "Distributed systems best practice; formalized by Microsoft Azure patterns, 2014",
    "primary_source": "Microsoft patterns & practices team (2014). \"Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications\". Microsoft Press. Retry Pattern chapter."
  },
  {
    "id": 131,
    "slug": "graphql-schema-design",
    "name": "GraphQL Schema Design",
    "name_zh": "GraphQL 模式设计",
    "url": "https://sdframe.caldis.me/frameworks/graphql-schema-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/graphql-schema-design.json",
    "category": "api",
    "description": "Query language and type system for APIs enabling precise data fetching",
    "description_zh": "用于API的查询语言与类型系统，支持精确数据获取",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "graphql",
      "schema",
      "type-system",
      "query-language"
    ],
    "origin_author": "Lee Byron, Dan Schafer, Nick Schrock / Facebook, 2015",
    "primary_source": "GraphQL Foundation (2015). \"GraphQL Specification\". spec.graphql.org."
  },
  {
    "id": 132,
    "slug": "grpc-protocol-buffers",
    "name": "gRPC & Protocol Buffers",
    "name_zh": "gRPC与Protocol Buffers",
    "url": "https://sdframe.caldis.me/frameworks/grpc-protocol-buffers",
    "api_url": "https://sdframe.caldis.me/api/frameworks/grpc-protocol-buffers.json",
    "category": "api",
    "description": "High-performance RPC framework using HTTP/2 and binary serialization",
    "description_zh": "基于HTTP/2和二进制序列化的高性能RPC框架",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "performance",
      "scalability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "grpc",
      "protobuf",
      "rpc",
      "http2",
      "binary-serialization"
    ],
    "origin_author": "Google, 2015 (built on internal Stubby RPC framework)",
    "primary_source": "Google (2015). \"gRPC: A High-Performance, Open Source Universal RPC Framework\". grpc.io."
  },
  {
    "id": 133,
    "slug": "api-gateway-pattern",
    "name": "API Gateway Pattern",
    "name_zh": "API网关模式",
    "url": "https://sdframe.caldis.me/frameworks/api-gateway-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-gateway-pattern.json",
    "category": "api",
    "description": "Single entry point that routes, aggregates, and secures microservices APIs",
    "description_zh": "作为微服务API的单一入口点，负责路由、聚合和安全防护",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "security",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "gateway",
      "routing",
      "aggregation",
      "microservices",
      "security"
    ],
    "origin_author": "Microservices community, formalized by Chris Richardson (~2015)",
    "primary_source": "Richardson, C. (2018). \"Microservices Patterns: With Examples in Java\", Ch. 8. Manning Publications."
  },
  {
    "id": 134,
    "slug": "bff-pattern",
    "name": "Backend for Frontend (BFF)",
    "name_zh": "服务于前端的后端（BFF）",
    "url": "https://sdframe.caldis.me/frameworks/bff-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/bff-pattern.json",
    "category": "api",
    "description": "Dedicated backend services tailored to specific client types",
    "description_zh": "为特定客户端类型量身定制的专用后端服务",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "bff",
      "frontend",
      "microservices",
      "aggregation",
      "client-specific"
    ],
    "origin_author": "Sam Newman / ThoughtWorks, 2015",
    "primary_source": "Newman, S. (2015). \"Building Microservices\", 1st ed., Ch. 4. O'Reilly Media."
  },
  {
    "id": 135,
    "slug": "consumer-driven-contracts",
    "name": "Consumer-Driven Contracts",
    "name_zh": "消费者驱动契约",
    "url": "https://sdframe.caldis.me/frameworks/consumer-driven-contracts",
    "api_url": "https://sdframe.caldis.me/api/frameworks/consumer-driven-contracts.json",
    "category": "api",
    "description": "API testing approach where consumers define the expectations providers must satisfy",
    "description_zh": "消费者定义期望、提供者必须满足的API测试方法",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "testability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "contracts",
      "testing",
      "consumer-driven",
      "pact",
      "compatibility"
    ],
    "origin_author": "Ian Robinson, 2006; tooling popularized by Pact (2013, DiUS/Beth Skurrie)",
    "primary_source": "Robinson, I. (2006). \"Consumer-Driven Contracts: A Service Evolution Pattern\". martinfowler.com."
  },
  {
    "id": 136,
    "slug": "openapi-specification",
    "name": "OpenAPI Specification",
    "name_zh": "OpenAPI规范",
    "url": "https://sdframe.caldis.me/frameworks/openapi-specification",
    "api_url": "https://sdframe.caldis.me/api/frameworks/openapi-specification.json",
    "category": "api",
    "description": "Machine-readable API description standard for RESTful services",
    "description_zh": "面向RESTful服务的机器可读API描述标准",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "openapi",
      "swagger",
      "specification",
      "documentation",
      "code-generation"
    ],
    "origin_author": "Tony Tam / Swagger (2011); donated to OpenAPI Initiative / Linux Foundation (2015)",
    "primary_source": "OpenAPI Initiative (2021). \"OpenAPI Specification v3.1.0\". spec.openapis.org."
  },
  {
    "id": 137,
    "slug": "webhook-pattern",
    "name": "Webhook Pattern",
    "name_zh": "Webhook模式",
    "url": "https://sdframe.caldis.me/frameworks/webhook-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/webhook-pattern.json",
    "category": "api",
    "description": "Event-driven API integration via HTTP callbacks for real-time notifications",
    "description_zh": "通过HTTP回调实现事件驱动的API集成，提供实时通知",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "scalability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "webhook",
      "event-driven",
      "callback",
      "integration",
      "push"
    ],
    "origin_author": "Jeff Lindsay, 2007 (coined the term); pattern predates the name in early HTTP callback systems",
    "primary_source": "Lindsay, J. (2007). \"Web Hooks to Revolutionize the Web\". progrium.com."
  },
  {
    "id": 138,
    "slug": "api-rate-limiting-throttling",
    "name": "API Rate Limiting & Throttling",
    "name_zh": "API限流与节流",
    "url": "https://sdframe.caldis.me/frameworks/api-rate-limiting-throttling",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-rate-limiting-throttling.json",
    "category": "api",
    "description": "Protect APIs from overuse by controlling request rates per client",
    "description_zh": "通过控制每个客户端的请求速率来保护API免遭过度使用",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "scalability",
      "security"
    ],
    "ai_relevant": true,
    "tags": [
      "rate-limiting",
      "throttling",
      "protection",
      "quota",
      "resilience"
    ],
    "origin_author": "Web infrastructure community; formalized in IETF RFC 6585 (2012, HTTP 429 status code)",
    "primary_source": "Geewax, J.J. (2021). \"API Design Patterns\", Ch. 17. Manning Publications."
  },
  {
    "id": 139,
    "slug": "hateoas",
    "name": "HATEOAS",
    "name_zh": "超媒体驱动应用状态（HATEOAS）",
    "url": "https://sdframe.caldis.me/frameworks/hateoas",
    "api_url": "https://sdframe.caldis.me/api/frameworks/hateoas.json",
    "category": "api",
    "description": "Hypermedia-driven API navigation where responses contain links to available actions",
    "description_zh": "超媒体驱动的API导航，响应中包含可用操作的链接",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "hateoas",
      "hypermedia",
      "rest",
      "links",
      "discoverability"
    ],
    "origin_author": "Roy Fielding, 2000 (as a constraint of REST in his doctoral dissertation)",
    "primary_source": "Fielding, R.T. (2000). \"Architectural Styles and the Design of Network-based Software Architectures\", Ch. 5. Doctoral Dissertation, University of California, Irvine."
  },
  {
    "id": 140,
    "slug": "asyncapi",
    "name": "AsyncAPI",
    "name_zh": "AsyncAPI异步API规范",
    "url": "https://sdframe.caldis.me/frameworks/asyncapi",
    "api_url": "https://sdframe.caldis.me/api/frameworks/asyncapi.json",
    "category": "api",
    "description": "Specification standard for describing event-driven and asynchronous APIs",
    "description_zh": "用于描述事件驱动和异步API的规范标准",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "asyncapi",
      "event-driven",
      "specification",
      "messaging",
      "async"
    ],
    "origin_author": "Fran Mendez, 2017",
    "primary_source": "Mendez, F. (2017). \"AsyncAPI Specification\". asyncapi.com."
  },
  {
    "id": 210,
    "slug": "api-first-design",
    "name": "API-First Design",
    "name_zh": "API优先设计",
    "url": "https://sdframe.caldis.me/frameworks/api-first-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-first-design.json",
    "category": "api",
    "description": "Design the API contract before implementation using a Swagger-first workflow",
    "description_zh": "在实现之前先设计API契约，采用Swagger优先工作流",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability",
      "testability"
    ],
    "ai_relevant": true,
    "tags": [
      "api-first",
      "swagger",
      "openapi",
      "contract",
      "design"
    ],
    "origin_author": "Kin Lane (API Evangelist), popularized by Twilio and Stripe engineering blogs, ~2012",
    "primary_source": "OpenAPI Initiative (2015). \"OpenAPI Specification\". openapis.org."
  },
  {
    "id": 211,
    "slug": "api-pagination-patterns",
    "name": "API Pagination Patterns",
    "name_zh": "API分页模式",
    "url": "https://sdframe.caldis.me/frameworks/api-pagination-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-pagination-patterns.json",
    "category": "api",
    "description": "Cursor-based, offset-based, and keyset pagination strategies for large collection APIs",
    "description_zh": "针对大型集合API的游标分页、偏移分页和键集分页策略",
    "complexity": "intermediate",
    "abstraction_level": "component",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "performance",
      "usability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "pagination",
      "cursor",
      "offset",
      "keyset",
      "collections"
    ],
    "origin_author": "Relay Cursor Connections Specification (Facebook/Meta, 2015); keyset pagination popularized by Markus Winand (Use The Index, Luke)",
    "primary_source": "Relay Team, Facebook (2015). \"GraphQL Cursor Connections Specification\". relay.dev."
  },
  {
    "id": 212,
    "slug": "api-error-handling-standards",
    "name": "API Error Handling Standards",
    "name_zh": "API错误处理标准",
    "url": "https://sdframe.caldis.me/frameworks/api-error-handling-standards",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-error-handling-standards.json",
    "category": "api",
    "description": "RFC 7807 Problem Details and structured error responses for consistent API error communication",
    "description_zh": "RFC 7807问题详情与结构化错误响应，用于一致的API错误通信",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "error-handling",
      "rfc-7807",
      "problem-details",
      "http-status",
      "standards"
    ],
    "origin_author": "Mark Nottingham & Erik Wilde, IETF RFC 7807, 2016",
    "primary_source": "Nottingham, M. & Wilde, E. (2016). \"RFC 7807: Problem Details for HTTP APIs\". IETF."
  },
  {
    "id": 213,
    "slug": "api-deprecation-lifecycle",
    "name": "API Deprecation Lifecycle",
    "name_zh": "API弃用生命周期",
    "url": "https://sdframe.caldis.me/frameworks/api-deprecation-lifecycle",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-deprecation-lifecycle.json",
    "category": "api",
    "description": "Sunset headers, versioned migration paths, and deprecation policies for retiring API versions",
    "description_zh": "用于停用API版本的日落头、版本化迁移路径和弃用策略",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "deprecation",
      "sunset",
      "versioning",
      "lifecycle",
      "migration"
    ],
    "origin_author": "IETF RFC 8594 (Wilde, 2019); deprecation practices pioneered by Stripe, Twilio, and Salesforce",
    "primary_source": "Wilde, E. (2019). \"RFC 8594: The Sunset HTTP Header Field\". IETF."
  },
  {
    "id": 214,
    "slug": "edge-computing-api-patterns",
    "name": "Edge Computing API Patterns",
    "name_zh": "边缘计算API模式",
    "url": "https://sdframe.caldis.me/frameworks/edge-computing-api-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/edge-computing-api-patterns.json",
    "category": "api",
    "description": "CDN-edge function design for low-latency API responses and global distribution",
    "description_zh": "用于低延迟API响应和全球分发的CDN边缘函数设计",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "scalability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "edge-computing",
      "cdn",
      "cloudflare-workers",
      "low-latency",
      "serverless"
    ],
    "origin_author": "Cloudflare Workers (2017), AWS Lambda@Edge (2017), Fastly Compute@Edge (2019)",
    "primary_source": "Cloudflare (2017). \"Cloudflare Workers: Serverless at the Edge\". developers.cloudflare.com."
  },
  {
    "id": 240,
    "slug": "api-versioning-strategies",
    "name": "API Versioning Strategies",
    "name_zh": "API 版本管理策略",
    "url": "https://sdframe.caldis.me/frameworks/api-versioning-strategies",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-versioning-strategies.json",
    "category": "api",
    "description": "URL path, header, and query parameter techniques for evolving APIs without breaking clients",
    "description_zh": "通过 URL 路径、请求头和查询参数等技术演进 API，同时避免破坏已有客户端",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "reliability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "versioning",
      "backward-compatibility",
      "api-lifecycle",
      "deprecation"
    ],
    "origin_author": "Troy Hunt",
    "primary_source": "Troy Hunt (2014). \"Your API versioning is wrong, which is why I decided to do it 3 different wrong ways\". troyhunt.com."
  },
  {
    "id": 241,
    "slug": "rest-maturity-model",
    "name": "REST Maturity Model",
    "name_zh": "REST 成熟度模型",
    "url": "https://sdframe.caldis.me/frameworks/rest-maturity-model",
    "api_url": "https://sdframe.caldis.me/api/frameworks/rest-maturity-model.json",
    "category": "api",
    "description": "Leonard Richardson's four-level model measuring REST compliance from plain HTTP to hypermedia-driven APIs",
    "description_zh": "Leonard Richardson 的四级模型，衡量 API 从基础 HTTP 到超媒体驱动的 REST 合规程度",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability",
      "usability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "rest",
      "hateoas",
      "http",
      "api-design",
      "maturity-model"
    ],
    "origin_author": "Leonard Richardson",
    "primary_source": "Fowler, M. (2010). \"Richardson Maturity Model\". martinfowler.com."
  },
  {
    "id": 242,
    "slug": "api-security-patterns",
    "name": "API Security Patterns",
    "name_zh": "API 安全模式",
    "url": "https://sdframe.caldis.me/frameworks/api-security-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-security-patterns.json",
    "category": "api",
    "description": "OAuth2 scopes, API keys, JWT validation, and CORS hardening to protect API surfaces from unauthorized access",
    "description_zh": "通过 OAuth2 范围、API 密钥、JWT 验证和 CORS 强化保护 API 表面免受未授权访问",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "security",
      "reliability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "security",
      "oauth2",
      "jwt",
      "cors",
      "owasp",
      "authentication",
      "authorization"
    ],
    "origin_author": "OWASP Foundation",
    "primary_source": "OWASP Foundation (2023). \"OWASP API Security Top 10 2023\". owasp.org/API-Security."
  },
  {
    "id": 243,
    "slug": "event-driven-api-design",
    "name": "Event-Driven API Design",
    "name_zh": "事件驱动 API 设计",
    "url": "https://sdframe.caldis.me/frameworks/event-driven-api-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/event-driven-api-design.json",
    "category": "api",
    "description": "Server-Sent Events, WebSocket, and MQTT patterns for real-time, asynchronous API communication",
    "description_zh": "服务端推送事件、WebSocket 和 MQTT 模式，用于实时、异步的 API 通信",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "performance",
      "scalability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "real-time",
      "websocket",
      "sse",
      "mqtt",
      "async",
      "event-driven",
      "streaming"
    ],
    "origin_author": "Clemens Vasters",
    "primary_source": "Vasters, C. (2021). \"Messaging Patterns\". microsoft.github.io/cloud-design-patterns."
  },
  {
    "id": 244,
    "slug": "api-composition-pattern",
    "name": "API Composition Pattern",
    "name_zh": "API 组合模式",
    "url": "https://sdframe.caldis.me/frameworks/api-composition-pattern",
    "api_url": "https://sdframe.caldis.me/api/frameworks/api-composition-pattern.json",
    "category": "api",
    "description": "Aggregating multiple microservice APIs into a unified interface to fulfill client queries without requiring cross-service joins on the client side",
    "description_zh": "将多个微服务 API 聚合为统一接口，让客户端无需进行跨服务联结即可满足查询需求",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "performance",
      "scalability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "microservices",
      "aggregation",
      "composition",
      "api-gateway",
      "fan-out"
    ],
    "origin_author": "Chris Richardson",
    "primary_source": "Richardson, C. (2018). \"Microservices Patterns\". Manning Publications. Ch. 8 (Querying in a microservice architecture)."
  },
  {
    "id": 313,
    "slug": "graphql-federation",
    "name": "GraphQL Federation",
    "name_zh": "GraphQL联邦",
    "url": "https://sdframe.caldis.me/frameworks/graphql-federation",
    "api_url": "https://sdframe.caldis.me/api/frameworks/graphql-federation.json",
    "category": "api",
    "description": "A composition model for GraphQL where multiple independently deployed subgraph services contribute to a unified supergraph, enabling teams to own their schema slice while consumers see a single coherent API",
    "description_zh": "GraphQL的组合模型，多个独立部署的子图服务共同组成统一的超图，使团队能够拥有其模式切片，同时消费者看到单一连贯的API",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "graphql",
      "federation",
      "api",
      "supergraph",
      "microservices"
    ],
    "origin_author": "Apollo Graph, Inc. (Matt DeBergalis, Trevor Scheer et al.)",
    "origin_year": 2019,
    "primary_source": "Apollo Graph, Inc. (2019). \"Apollo Federation Specification\". apollographql.com/docs/federation/"
  },
  {
    "id": 141,
    "slug": "spotify-model",
    "name": "Spotify Model",
    "name_zh": "Spotify 模型",
    "url": "https://sdframe.caldis.me/frameworks/spotify-model",
    "api_url": "https://sdframe.caldis.me/api/frameworks/spotify-model.json",
    "category": "team",
    "description": "Organize engineering around autonomous squads grouped into tribes, with cross-cutting chapters and guilds for alignment",
    "description_zh": "围绕自治小队组织工程团队，小队按业务线归入部落，通过跨部门的分会与公会实现对齐",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "team-structure",
      "autonomy",
      "scaling",
      "agile",
      "spotify"
    ],
    "origin_author": "Henrik Kniberg & Anders Ivarsson, 2012",
    "primary_source": "Kniberg, H. & Ivarsson, A. (2012). \"Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds\". Spotify Labs Whitepaper."
  },
  {
    "id": 142,
    "slug": "amazon-two-pizza-teams",
    "name": "Amazon Two-Pizza Teams",
    "name_zh": "亚马逊两个披萨团队",
    "url": "https://sdframe.caldis.me/frameworks/amazon-two-pizza-teams",
    "api_url": "https://sdframe.caldis.me/api/frameworks/amazon-two-pizza-teams.json",
    "category": "team",
    "description": "Limit team size to what two pizzas can feed (~6-10 people) to maximize ownership and minimize communication overhead",
    "description_zh": "将团队规模限制在两个披萨能喂饱的人数（约 6-10 人），以最大化责任归属感并最小化沟通开销",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability"
    ],
    "ai_relevant": false,
    "tags": [
      "team-size",
      "autonomy",
      "ownership",
      "microservices",
      "amazon"
    ],
    "origin_author": "Jeff Bezos, ~2002",
    "primary_source": "Stone, B. (2013). \"The Everything Store: Jeff Bezos and the Age of Amazon\". Little, Brown and Company."
  },
  {
    "id": 143,
    "slug": "inner-source",
    "name": "Inner Source",
    "name_zh": "内部开源",
    "url": "https://sdframe.caldis.me/frameworks/inner-source",
    "api_url": "https://sdframe.caldis.me/api/frameworks/inner-source.json",
    "category": "team",
    "description": "Apply open-source development practices within an organization to break down silos and improve code reuse",
    "description_zh": "在组织内部应用开源开发实践，打破部门壁垒，提升代码复用",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "collaboration",
      "open-source",
      "code-reuse",
      "inner-source",
      "culture"
    ],
    "origin_author": "Tim O'Reilly, 2000; formalized by PayPal (Danese Cooper, ~2014)",
    "primary_source": "Stol, K.-J. et al. (2014). \"Key Factors for Adopting Inner Source\". ACM Transactions on Software Engineering and Methodology, 23(2)."
  },
  {
    "id": 144,
    "slug": "platform-engineering",
    "name": "Platform Engineering",
    "name_zh": "平台工程",
    "url": "https://sdframe.caldis.me/frameworks/platform-engineering",
    "api_url": "https://sdframe.caldis.me/api/frameworks/platform-engineering.json",
    "category": "team",
    "description": "Build and operate an internal developer platform as a product, enabling stream-aligned teams to self-serve infrastructure and tooling",
    "description_zh": "将内部开发者平台作为产品来构建和运营，使面向价值流的团队能够自助使用基础设施和工具",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "maintainability",
      "usability",
      "scalability"
    ],
    "ai_relevant": true,
    "tags": [
      "platform",
      "developer-experience",
      "self-service",
      "internal-tools",
      "golden-path"
    ],
    "origin_author": "Evan Bottcher (ThoughtWorks), ~2018; formalized in Team Topologies (Skelton & Pais, 2019)",
    "primary_source": "Skelton, M. & Pais, M. (2019). \"Team Topologies: Organizing Business and Technology Teams for Fast Flow\". IT Revolution Press."
  },
  {
    "id": 145,
    "slug": "engineering-ladder",
    "name": "Engineering Ladder / Career Framework",
    "name_zh": "工程师阶梯 / 职业发展框架",
    "url": "https://sdframe.caldis.me/frameworks/engineering-ladder",
    "api_url": "https://sdframe.caldis.me/api/frameworks/engineering-ladder.json",
    "category": "team",
    "description": "Define structured growth paths with clear expectations at each level for individual contributors and engineering managers",
    "description_zh": "为个人贡献者和工程管理者定义结构化的成长路径，明确每个层级的期望",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "career",
      "growth",
      "engineering-levels",
      "management",
      "retention"
    ],
    "origin_author": "Multiple origins; notably Rent the Runway (Camille Fournier, ~2015) and early frameworks at Google and Facebook",
    "primary_source": "Fournier, C. (2017). \"The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change\". O'Reilly Media."
  },
  {
    "id": 146,
    "slug": "blameless-postmortems",
    "name": "Blameless Postmortems",
    "name_zh": "无指责事后复盘",
    "url": "https://sdframe.caldis.me/frameworks/blameless-postmortems",
    "api_url": "https://sdframe.caldis.me/api/frameworks/blameless-postmortems.json",
    "category": "team",
    "description": "Conduct structured incident reviews focused on systemic learning rather than individual blame",
    "description_zh": "进行结构化的事故复盘，聚焦于系统性学习而非个人指责",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "incidents",
      "learning",
      "culture",
      "postmortem",
      "resilience",
      "SRE"
    ],
    "origin_author": "John Allspaw, 2012; rooted in Sidney Dekker's Just Culture and safety science",
    "primary_source": "Allspaw, J. (2012). \"Blameless PostMortems and a Just Culture\". Etsy Code as Craft Blog."
  },
  {
    "id": 147,
    "slug": "architecture-review-board",
    "name": "Architecture Review Board (ARB)",
    "name_zh": "架构评审委员会",
    "url": "https://sdframe.caldis.me/frameworks/architecture-review-board",
    "api_url": "https://sdframe.caldis.me/api/frameworks/architecture-review-board.json",
    "category": "team",
    "description": "A governance body that reviews and guides significant architectural decisions to ensure consistency, quality, and strategic alignment",
    "description_zh": "审查和指导重大架构决策的治理机构，确保一致性、质量和战略对齐",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "governance",
      "architecture",
      "review-board",
      "ADR",
      "decision-making"
    ],
    "origin_author": "Enterprise architecture tradition; modernized by ThoughtWorks Technology Radar approach (~2010)",
    "primary_source": "Bass, L., Clements, P. & Kazman, R. (2012). \"Software Architecture in Practice\", 3rd ed. Addison-Wesley."
  },
  {
    "id": 148,
    "slug": "technical-debt-management-framework",
    "name": "Technical Debt Management Framework",
    "name_zh": "技术债务管理框架",
    "url": "https://sdframe.caldis.me/frameworks/technical-debt-management-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/technical-debt-management-framework.json",
    "category": "team",
    "description": "A systematic approach to identifying, quantifying, prioritizing, and paying down technical debt across an engineering organization",
    "description_zh": "在工程组织中系统性地识别、量化、优先排序和偿还技术债务的方法",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "technical-debt",
      "sustainability",
      "prioritization",
      "engineering-excellence",
      "maintenance"
    ],
    "origin_author": "Ward Cunningham, 1992 (debt metaphor); Martin Fowler, 2009 (Technical Debt Quadrant)",
    "primary_source": "Cunningham, W. (1992). \"The WyCash Portfolio Management System\". OOPSLA Experience Report."
  },
  {
    "id": 149,
    "slug": "developer-experience-framework",
    "name": "Developer Experience (DevEx) Framework",
    "name_zh": "开发者体验框架",
    "url": "https://sdframe.caldis.me/frameworks/developer-experience-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/developer-experience-framework.json",
    "category": "team",
    "description": "A structured approach to measuring and improving the three dimensions of developer experience: feedback loops, cognitive load, and flow state",
    "description_zh": "结构化的方法来衡量和改善开发者体验的三个维度：反馈循环、认知负荷和心流状态",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "developer-experience",
      "productivity",
      "cognitive-load",
      "flow-state",
      "feedback-loops"
    ],
    "origin_author": "Nicole Forsgren, Margaret-Anne Storey & Chandra Maddila, 2023",
    "primary_source": "Forsgren, N., Storey, M.-A. & Maddila, C. (2023). \"DevEx: What Actually Drives Productivity\". ACM Queue, 21(2)."
  },
  {
    "id": 150,
    "slug": "mob-ensemble-programming",
    "name": "Mob/Ensemble Programming",
    "name_zh": "群体编程 / 集合编程",
    "url": "https://sdframe.caldis.me/frameworks/mob-ensemble-programming",
    "api_url": "https://sdframe.caldis.me/api/frameworks/mob-ensemble-programming.json",
    "category": "team",
    "description": "The whole team works together on one task at one computer, with a rotating driver and navigators providing real-time collaboration",
    "description_zh": "整个团队在一台电脑上共同完成一项任务，轮换驾驶员和领航员进行实时协作",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "collaboration",
      "pair-programming",
      "mob-programming",
      "ensemble",
      "knowledge-sharing"
    ],
    "origin_author": "Woody Zuill, ~2012",
    "primary_source": "Zuill, W. & Meadows, K. (2016). \"Mob Programming: A Whole Team Approach\". woody-zuill.com."
  },
  {
    "id": 215,
    "slug": "rfc-process",
    "name": "RFC Process",
    "name_zh": "RFC流程",
    "url": "https://sdframe.caldis.me/frameworks/rfc-process",
    "api_url": "https://sdframe.caldis.me/api/frameworks/rfc-process.json",
    "category": "team",
    "description": "Lightweight request-for-comments process for transparent technical decision-making",
    "description_zh": "用于透明技术决策的轻量级意见征集流程",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "rfc",
      "decision-making",
      "process",
      "governance",
      "documentation"
    ],
    "origin_author": "Popularized by Rust language team (2014) and React team (2017); inspired by IETF RFC process (1969)",
    "primary_source": "Crocker, S. (1969). \"RFC 1: Host Software\". IETF. / Rust Team (2014). \"RFC 0002: RFC Process\". github.com/rust-lang/rfcs."
  },
  {
    "id": 216,
    "slug": "guilds-communities-of-practice",
    "name": "Guilds and Communities of Practice",
    "name_zh": "行会与实践社区",
    "url": "https://sdframe.caldis.me/frameworks/guilds-communities-of-practice",
    "api_url": "https://sdframe.caldis.me/api/frameworks/guilds-communities-of-practice.json",
    "category": "team",
    "description": "Cross-team knowledge-sharing groups that build expertise and standards across organizational silos",
    "description_zh": "跨团队知识共享群体，跨组织孤岛构建专业知识和标准",
    "complexity": "beginner",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "guild",
      "community-of-practice",
      "knowledge-sharing",
      "cross-team",
      "standards"
    ],
    "origin_author": "Etienne Wenger, Communities of Practice (1998); popularized in software by the Spotify Model (2012)",
    "primary_source": "Wenger, E. (1998). \"Communities of Practice: Learning, Meaning, and Identity\". Cambridge University Press."
  },
  {
    "id": 217,
    "slug": "on-call-rotation-design",
    "name": "On-Call Rotation Design",
    "name_zh": "值班轮换设计",
    "url": "https://sdframe.caldis.me/frameworks/on-call-rotation-design",
    "api_url": "https://sdframe.caldis.me/api/frameworks/on-call-rotation-design.json",
    "category": "team",
    "description": "Fair, sustainable on-call schedules and escalation policies that protect engineer wellbeing",
    "description_zh": "保护工程师福祉的公平、可持续值班计划和升级策略",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "on-call",
      "rotation",
      "incident-response",
      "escalation",
      "sustainability"
    ],
    "origin_author": "SRE practices (Google, 2003); PagerDuty escalation model (2010); Charity Majors and Alice Goldfuss advocacy for sustainable on-call",
    "primary_source": "Beyer, B., Jones, C., Petoff, J. & Murphy, N.R. (2016). \"Site Reliability Engineering\", Ch. 11. O'Reilly Media."
  },
  {
    "id": 218,
    "slug": "engineering-metrics-dashboard",
    "name": "Engineering Metrics Dashboard",
    "name_zh": "工程指标仪表板",
    "url": "https://sdframe.caldis.me/frameworks/engineering-metrics-dashboard",
    "api_url": "https://sdframe.caldis.me/api/frameworks/engineering-metrics-dashboard.json",
    "category": "team",
    "description": "DORA metrics, developer satisfaction, and quality metrics unified in the SPACE framework",
    "description_zh": "在SPACE框架中统一的DORA指标、开发者满意度和质量指标",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "dora",
      "space-framework",
      "metrics",
      "developer-experience",
      "engineering-effectiveness"
    ],
    "origin_author": "DORA research (Nicole Forsgren et al., 2018); SPACE framework (Forsgren et al., 2021, ACM Queue)",
    "primary_source": "Forsgren, N., Humble, J. & Kim, G. (2018). \"Accelerate: The Science of Lean Software and DevOps\". IT Revolution Press."
  },
  {
    "id": 219,
    "slug": "technical-writing-as-a-practice",
    "name": "Technical Writing as a Practice",
    "name_zh": "技术写作实践",
    "url": "https://sdframe.caldis.me/frameworks/technical-writing-as-a-practice",
    "api_url": "https://sdframe.caldis.me/api/frameworks/technical-writing-as-a-practice.json",
    "category": "team",
    "description": "Documentation standards, style guides, and docs-as-code workflows for engineering organizations",
    "description_zh": "工程组织的文档标准、风格指南和文档即代码工作流",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "documentation",
      "docs-as-code",
      "divio",
      "style-guide",
      "technical-writing"
    ],
    "origin_author": "Divio documentation system (Daniele Procida, 2017); docs-as-code popularized by Anne Gentle (2015)",
    "primary_source": "Procida, D. (2017). \"The Documentation System\". divio.com / diataxis.fr."
  },
  {
    "id": 280,
    "slug": "engineering-effectiveness",
    "name": "Engineering Effectiveness",
    "name_zh": "工程效能",
    "url": "https://sdframe.caldis.me/frameworks/engineering-effectiveness",
    "api_url": "https://sdframe.caldis.me/api/frameworks/engineering-effectiveness.json",
    "category": "team",
    "description": "Measuring and improving developer productivity through evidence-based metrics, tooling investment, and systemic friction removal",
    "description_zh": "通过基于证据的指标、工具投资和系统性摩擦消除来衡量并提升开发者生产力",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "developer-productivity",
      "dora-metrics",
      "space-framework",
      "developer-experience",
      "measurement"
    ],
    "origin_author": "Nicole Forsgren",
    "primary_source": "Forsgren, N., Humble, J. & Kim, G. (2018). \"Accelerate: The Science of Lean Software and DevOps\". IT Revolution Press."
  },
  {
    "id": 281,
    "slug": "developer-onboarding-framework",
    "name": "Developer Onboarding Framework",
    "name_zh": "开发者入职框架",
    "url": "https://sdframe.caldis.me/frameworks/developer-onboarding-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/developer-onboarding-framework.json",
    "category": "team",
    "description": "Structured ramp-up program for new engineers combining role clarity, progressive autonomy, and embedded social integration",
    "description_zh": "为新工程师设计的结构化成长计划，融合角色清晰度、渐进式自主权和融入团队社交",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "onboarding",
      "new-hire",
      "ramp-up",
      "buddy-program",
      "developer-experience"
    ],
    "origin_author": "Kate Heddleston",
    "primary_source": "Heddleston, K. (2016). \"How to Onboard Software Engineers\". kateheddleston.com."
  },
  {
    "id": 282,
    "slug": "technical-mentorship-program",
    "name": "Technical Mentorship Program",
    "name_zh": "技术导师制计划",
    "url": "https://sdframe.caldis.me/frameworks/technical-mentorship-program",
    "api_url": "https://sdframe.caldis.me/api/frameworks/technical-mentorship-program.json",
    "category": "team",
    "description": "Structured mentoring relationships that accelerate engineering growth through deliberate skill pairing, learning goals, and accountability",
    "description_zh": "通过刻意的技能配对、学习目标和问责机制，加速工程师成长的结构化导师关系",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "usability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "mentorship",
      "career-development",
      "engineering-growth",
      "knowledge-transfer",
      "team-culture"
    ],
    "origin_author": "Camille Fournier",
    "primary_source": "Fournier, C. (2017). \"The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change\". O'Reilly Media."
  },
  {
    "id": 283,
    "slug": "architecture-guild",
    "name": "Architecture Guild",
    "name_zh": "架构公会",
    "url": "https://sdframe.caldis.me/frameworks/architecture-guild",
    "api_url": "https://sdframe.caldis.me/api/frameworks/architecture-guild.json",
    "category": "team",
    "description": "Cross-team community of practice for architecture alignment, decision review, and technical standard-setting without centralized command",
    "description_zh": "跨团队架构对齐、决策评审和技术标准制定的实践社区，无需集中式指挥",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": false,
    "tags": [
      "architecture",
      "guild",
      "community-of-practice",
      "alignment",
      "cross-team"
    ],
    "origin_author": "Spotify",
    "primary_source": "Kniberg, H. & Ivarsson, A. (2012). \"Scaling Agile @ Spotify\". Spotify Labs whitepaper. blog.crisp.se."
  },
  {
    "id": 284,
    "slug": "decision-log-practice",
    "name": "Decision Log Practice",
    "name_zh": "决策日志实践",
    "url": "https://sdframe.caldis.me/frameworks/decision-log-practice",
    "api_url": "https://sdframe.caldis.me/api/frameworks/decision-log-practice.json",
    "category": "team",
    "description": "Systematically recording, storing, and reviewing team decisions to create organizational memory, reduce repeated debates, and enable async alignment",
    "description_zh": "系统性地记录、存储和回顾团队决策，创建组织记忆，减少重复争论，实现异步对齐",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "decision-records",
      "adr",
      "organizational-memory",
      "async-collaboration",
      "documentation"
    ],
    "origin_author": "Michael Nygard",
    "primary_source": "Nygard, M. (2011). \"Documenting Architecture Decisions\". cognitect.com/blog."
  },
  {
    "id": 312,
    "slug": "engineering-principles-framework",
    "name": "Engineering Principles Framework",
    "name_zh": "工程原则框架",
    "url": "https://sdframe.caldis.me/frameworks/engineering-principles-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/engineering-principles-framework.json",
    "category": "team",
    "description": "A structured practice of defining, publishing, and evolving explicit engineering principles that guide daily technical decisions across an organization",
    "description_zh": "定义、发布和演进明确工程原则的结构化实践，引导组织内日常技术决策",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "engineering-culture",
      "principles",
      "decision-making",
      "team",
      "standards"
    ],
    "origin_author": "Various; formalized by Stripe, Netflix, and Basecamp engineering blogs (2013-2018)",
    "origin_year": 2013,
    "primary_source": "Stripe Engineering (2013). \"How we think about software development\". stripe.com/blog"
  },
  {
    "id": 151,
    "slug": "opentelemetry",
    "name": "OpenTelemetry",
    "name_zh": "OpenTelemetry统一可观测性标准",
    "url": "https://sdframe.caldis.me/frameworks/opentelemetry",
    "api_url": "https://sdframe.caldis.me/api/frameworks/opentelemetry.json",
    "category": "observability",
    "description": "Unified observability standard for traces, metrics, and logs across services",
    "description_zh": "跨服务的追踪、指标和日志统一可观测性标准",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "observability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "opentelemetry",
      "otel",
      "traces",
      "metrics",
      "logs",
      "cncf"
    ],
    "origin_author": "CNCF (merger of OpenTracing & OpenCensus), 2019",
    "primary_source": "Majors, C., Fong-Jones, L. & Miranda, G. (2022). \"Observability Engineering\". O'Reilly Media."
  },
  {
    "id": 152,
    "slug": "distributed-tracing",
    "name": "Distributed Tracing",
    "name_zh": "分布式追踪",
    "url": "https://sdframe.caldis.me/frameworks/distributed-tracing",
    "api_url": "https://sdframe.caldis.me/api/frameworks/distributed-tracing.json",
    "category": "observability",
    "description": "Track requests across service boundaries to diagnose latency and failures in distributed systems",
    "description_zh": "跨服务边界追踪请求，诊断分布式系统中的延迟和故障",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "observability",
      "reliability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "distributed-tracing",
      "spans",
      "trace-context",
      "latency",
      "microservices"
    ],
    "origin_author": "Benjamin H. Sigelman et al. (Google Dapper), 2010",
    "primary_source": "Sigelman, B.H. et al. (2010). \"Dapper, a Large-Scale Distributed Systems Tracing Infrastructure\". Google Technical Report."
  },
  {
    "id": 153,
    "slug": "structured-logging",
    "name": "Structured Logging",
    "name_zh": "结构化日志",
    "url": "https://sdframe.caldis.me/frameworks/structured-logging",
    "api_url": "https://sdframe.caldis.me/api/frameworks/structured-logging.json",
    "category": "observability",
    "description": "Machine-parseable log format patterns that enable reliable querying and correlation at scale",
    "description_zh": "可机器解析的日志格式模式，支持大规模下的可靠查询和关联分析",
    "complexity": "beginner",
    "abstraction_level": "component",
    "maturity_ring": "established",
    "quality_concerns": [
      "observability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "logging",
      "structured-logging",
      "json-logs",
      "log-aggregation",
      "elk"
    ],
    "origin_author": "Industry evolution from syslog; formalized by observability community, ~2013",
    "primary_source": "Majors, C., Fong-Jones, L. & Miranda, G. (2022). \"Observability Engineering\". O'Reilly Media."
  },
  {
    "id": 154,
    "slug": "slo-as-practice",
    "name": "SLO-as-Practice",
    "name_zh": "SLO实践方法论",
    "url": "https://sdframe.caldis.me/frameworks/slo-as-practice",
    "api_url": "https://sdframe.caldis.me/api/frameworks/slo-as-practice.json",
    "category": "observability",
    "description": "Operationalize SLO methodology as a continuous engineering practice for reliability culture",
    "description_zh": "将SLO方法论运营化为持续的工程实践，构建可靠性文化",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "slo",
      "reliability",
      "error-budget",
      "burn-rate",
      "sre"
    ],
    "origin_author": "Google SRE team; codified in Implementing Service Level Objectives (Alex Hidalgo, 2020)",
    "primary_source": "Hidalgo, A. (2020). \"Implementing Service Level Objectives\". O'Reilly Media."
  },
  {
    "id": 155,
    "slug": "error-budget-policy",
    "name": "Error Budget Policy",
    "name_zh": "错误预算策略",
    "url": "https://sdframe.caldis.me/frameworks/error-budget-policy",
    "api_url": "https://sdframe.caldis.me/api/frameworks/error-budget-policy.json",
    "category": "observability",
    "description": "Managing reliability vs velocity trade-offs through quantified error budgets and escalation policies",
    "description_zh": "通过量化的错误预算和升级策略管理可靠性与开发速度的权衡",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "error-budget",
      "reliability",
      "velocity",
      "sre",
      "policy"
    ],
    "origin_author": "Google SRE team (Ben Treynor Sloss), ~2003; formalized in SRE Book",
    "primary_source": "Beyer, B. et al. (2016). \"Site Reliability Engineering: How Google Runs Production Systems\", Ch. 3. O'Reilly Media."
  },
  {
    "id": 156,
    "slug": "runbook-automation",
    "name": "Runbook Automation",
    "name_zh": "运维手册自动化",
    "url": "https://sdframe.caldis.me/frameworks/runbook-automation",
    "api_url": "https://sdframe.caldis.me/api/frameworks/runbook-automation.json",
    "category": "observability",
    "description": "Codified incident response procedures that reduce toil and human error during incidents",
    "description_zh": "将事故响应流程代码化，减少事故期间的重复劳动和人为失误",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "runbook",
      "automation",
      "incident-response",
      "toil-reduction",
      "sre"
    ],
    "origin_author": "Google SRE team; formalized in Site Reliability Engineering book (2016)",
    "primary_source": "Beyer, B. et al. (2016). \"Site Reliability Engineering: How Google Runs Production Systems\", Ch. 7. O'Reilly Media."
  },
  {
    "id": 157,
    "slug": "on-call-engineering",
    "name": "On-Call Engineering",
    "name_zh": "值班工程实践",
    "url": "https://sdframe.caldis.me/frameworks/on-call-engineering",
    "api_url": "https://sdframe.caldis.me/api/frameworks/on-call-engineering.json",
    "category": "observability",
    "description": "Sustainable on-call practices, escalation paths, and human-centric incident response",
    "description_zh": "可持续的值班实践、升级路径和以人为中心的事故响应",
    "complexity": "intermediate",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "observability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "on-call",
      "incident-response",
      "escalation",
      "sre",
      "toil"
    ],
    "origin_author": "Google SRE team; systematized by Ben Treynor Sloss, ~2003",
    "primary_source": "Beyer, B. et al. (2016). \"Site Reliability Engineering: How Google Runs Production Systems\", Ch. 11. O'Reilly Media."
  },
  {
    "id": 158,
    "slug": "feature-flag-observability",
    "name": "Feature Flag Observability",
    "name_zh": "功能开关可观测性",
    "url": "https://sdframe.caldis.me/frameworks/feature-flag-observability",
    "api_url": "https://sdframe.caldis.me/api/frameworks/feature-flag-observability.json",
    "category": "observability",
    "description": "Monitoring feature rollout impact by correlating flag state with system and business metrics",
    "description_zh": "通过关联功能开关状态与系统和业务指标来监控功能发布的影响",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "observability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "feature-flags",
      "rollout",
      "experimentation",
      "metrics-correlation",
      "progressive-delivery"
    ],
    "origin_author": "LaunchDarkly, Split.io, and progressive delivery community, ~2017",
    "primary_source": "Majors, C., Fong-Jones, L. & Miranda, G. (2022). \"Observability Engineering\". O'Reilly Media."
  },
  {
    "id": 159,
    "slug": "developer-portal-backstage",
    "name": "Developer Portal (Backstage)",
    "name_zh": "开发者门户（Backstage）",
    "url": "https://sdframe.caldis.me/frameworks/developer-portal-backstage",
    "api_url": "https://sdframe.caldis.me/api/frameworks/developer-portal-backstage.json",
    "category": "observability",
    "description": "Centralized developer experience platform unifying service catalog, docs, and tooling",
    "description_zh": "统一服务目录、文档和工具链的集中式开发者体验平台",
    "complexity": "advanced",
    "abstraction_level": "organization",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "usability",
      "observability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "developer-experience",
      "backstage",
      "service-catalog",
      "internal-developer-platform",
      "dx"
    ],
    "origin_author": "Spotify (Stefan Ålund, Niklas Ek), 2020",
    "primary_source": "Spotify (2020). \"Backstage: An Open Platform for Building Developer Portals\". backstage.io."
  },
  {
    "id": 160,
    "slug": "documentation-as-code",
    "name": "Documentation as Code",
    "name_zh": "文档即代码",
    "url": "https://sdframe.caldis.me/frameworks/documentation-as-code",
    "api_url": "https://sdframe.caldis.me/api/frameworks/documentation-as-code.json",
    "category": "observability",
    "description": "Treat documentation like software: version-controlled, tested, reviewed, and continuously deployed",
    "description_zh": "将文档视为软件对待：版本控制、测试、审查和持续部署",
    "complexity": "beginner",
    "abstraction_level": "organization",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "usability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "documentation",
      "docs-as-code",
      "developer-experience",
      "technical-writing",
      "ci-cd"
    ],
    "origin_author": "Anne Gentle (2012); popularized by Write the Docs community and Google technical writing team",
    "primary_source": "Gentle, A. (2017). \"Docs Like Code\". justwriteclick.com."
  },
  {
    "id": 220,
    "slug": "anomaly-detection-patterns",
    "name": "Anomaly Detection Patterns",
    "name_zh": "异常检测模式",
    "url": "https://sdframe.caldis.me/frameworks/anomaly-detection-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/anomaly-detection-patterns.json",
    "category": "observability",
    "description": "ML-based and statistical anomaly detection for metrics, logs, and traces in production systems",
    "description_zh": "生产系统中针对指标、日志和追踪的基于ML和统计的异常检测",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "performance",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "anomaly-detection",
      "ml-ops",
      "statistical",
      "alerting",
      "time-series"
    ],
    "origin_author": "Chandola, Banerjee & Kumar (2009, ACM Computing Surveys); productized by Datadog Watchdog (2018) and Netflix Argos",
    "primary_source": "Chandola, V., Banerjee, A. & Kumar, V. (2009). \"Anomaly Detection: A Survey\". ACM Computing Surveys, 41(3), Article 15."
  },
  {
    "id": 221,
    "slug": "continuous-profiling",
    "name": "Continuous Profiling",
    "name_zh": "持续性能分析",
    "url": "https://sdframe.caldis.me/frameworks/continuous-profiling",
    "api_url": "https://sdframe.caldis.me/api/frameworks/continuous-profiling.json",
    "category": "observability",
    "description": "Always-on production profiling using pprof, Pyroscope, and Datadog Continuous Profiler",
    "description_zh": "使用pprof、Pyroscope和Datadog持续性能分析器进行始终开启的生产性能分析",
    "complexity": "advanced",
    "abstraction_level": "component",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "performance",
      "reliability",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "profiling",
      "flamegraph",
      "pprof",
      "pyroscope",
      "performance"
    ],
    "origin_author": "Brendan Gregg (flamegraph inventor, 2011); Go pprof (Google, 2012); Pyroscope (2020)",
    "primary_source": "Gregg, B. (2011). \"Flame Graphs\". brendangregg.com; Gregg, B. (2016). \"Systems Performance\", Ch. 2. Prentice Hall."
  },
  {
    "id": 222,
    "slug": "incident-management-framework",
    "name": "Incident Management Framework",
    "name_zh": "事故管理框架",
    "url": "https://sdframe.caldis.me/frameworks/incident-management-framework",
    "api_url": "https://sdframe.caldis.me/api/frameworks/incident-management-framework.json",
    "category": "observability",
    "description": "Structured incident response process covering detection, triage, resolution, and blameless retrospective",
    "description_zh": "涵盖检测、分类、解决和无指责复盘的结构化事故响应流程",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "maintainability",
      "usability"
    ],
    "ai_relevant": false,
    "tags": [
      "incident-management",
      "sre",
      "on-call",
      "postmortem",
      "response"
    ],
    "origin_author": "Google SRE framework (2003); PagerDuty Incident Response Guide (2016); Atlassian Incident Management handbook (2018)",
    "primary_source": "Beyer, B., Jones, C., Petoff, J. & Murphy, N.R. (2016). \"Site Reliability Engineering\", Ch. 14. O'Reilly Media."
  },
  {
    "id": 223,
    "slug": "chaos-observability",
    "name": "Chaos Observability",
    "name_zh": "混沌可观测性",
    "url": "https://sdframe.caldis.me/frameworks/chaos-observability",
    "api_url": "https://sdframe.caldis.me/api/frameworks/chaos-observability.json",
    "category": "observability",
    "description": "Observability practices specifically designed for chaos engineering experiments and resilience validation",
    "description_zh": "专为混沌工程实验和弹性验证设计的可观测性实践",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "reliability",
      "testability",
      "maintainability"
    ],
    "ai_relevant": false,
    "tags": [
      "chaos-engineering",
      "resilience",
      "fault-injection",
      "steady-state",
      "blast-radius"
    ],
    "origin_author": "Netflix Chaos Monkey (2011); chaos engineering principles formalized by Rosenthal, Casey et al. (2017, Chaos Engineering book)",
    "primary_source": "Rosenthal, C. et al. (2017). \"Chaos Engineering: System Resiliency in Practice\". O'Reilly Media."
  },
  {
    "id": 224,
    "slug": "cost-observability-finops",
    "name": "Cost Observability (FinOps)",
    "name_zh": "成本可观测性（FinOps）",
    "url": "https://sdframe.caldis.me/frameworks/cost-observability-finops",
    "api_url": "https://sdframe.caldis.me/api/frameworks/cost-observability-finops.json",
    "category": "observability",
    "description": "Cloud cost monitoring, allocation, and optimization frameworks aligned with the FinOps Foundation model",
    "description_zh": "与FinOps基金会模型对齐的云成本监控、分配和优化框架",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "maintainability",
      "scalability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "finops",
      "cloud-cost",
      "cost-optimization",
      "unit-economics",
      "tagging"
    ],
    "origin_author": "FinOps Foundation (J.R. Storment & Mike Fuller, 2019); Cloud Financial Management practices emerging from AWS Cost Explorer (2014)",
    "primary_source": "FinOps Foundation (2019). \"Cloud Financial Management Framework\". finops.org."
  },
  {
    "id": 272,
    "slug": "observability-as-code",
    "name": "Observability-as-Code",
    "name_zh": "可观测性即代码",
    "url": "https://sdframe.caldis.me/frameworks/observability-as-code",
    "api_url": "https://sdframe.caldis.me/api/frameworks/observability-as-code.json",
    "category": "observability",
    "description": "Defining monitoring, alerts, and dashboards as version-controlled code to ensure reproducible, auditable observability infrastructure",
    "description_zh": "将监控、告警和仪表盘定义为版本控制代码，确保可观测性基础设施的可复现性和可审计性",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "emerging",
    "quality_concerns": [
      "maintainability",
      "reliability"
    ],
    "ai_relevant": true,
    "tags": [
      "observability",
      "infrastructure-as-code",
      "gitops",
      "monitoring",
      "dashboards",
      "alerts",
      "terraform"
    ],
    "origin_author": "Hashicorp",
    "primary_source": "HashiCorp (2019). \"Terraform Grafana Provider\". registry.terraform.io/providers/grafana/grafana."
  },
  {
    "id": 273,
    "slug": "service-level-indicators",
    "name": "Service Level Indicators (SLI)",
    "name_zh": "服务级别指标",
    "url": "https://sdframe.caldis.me/frameworks/service-level-indicators",
    "api_url": "https://sdframe.caldis.me/api/frameworks/service-level-indicators.json",
    "category": "observability",
    "description": "Quantitative measures of service behavior that define the precise metrics used to assess whether a service is meeting its reliability commitments",
    "description_zh": "服务行为的量化度量，定义用于评估服务是否满足可靠性承诺的精确指标",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "reliability",
      "observability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "sli",
      "slo",
      "reliability",
      "sre",
      "google",
      "metrics",
      "observability"
    ],
    "origin_author": "Google SRE",
    "primary_source": "Beyer, B., Jones, C., Petoff, J., Murphy, N.R. (2016). \"Site Reliability Engineering: How Google Runs Production Systems\". O'Reilly Media."
  },
  {
    "id": 274,
    "slug": "synthetic-monitoring",
    "name": "Synthetic Monitoring",
    "name_zh": "合成监控",
    "url": "https://sdframe.caldis.me/frameworks/synthetic-monitoring",
    "api_url": "https://sdframe.caldis.me/api/frameworks/synthetic-monitoring.json",
    "category": "observability",
    "description": "Proactive testing of user journeys by scripting interactions from external locations to detect failures before real users are impacted",
    "description_zh": "通过从外部地点脚本化用户交互来主动测试用户旅程，在真实用户受到影响之前检测故障",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "synthetic-monitoring",
      "observability",
      "testing",
      "availability",
      "uptime",
      "catchpoint",
      "playwright"
    ],
    "origin_author": "Catchpoint",
    "primary_source": "Catchpoint Systems (2008). \"Synthetic Monitoring: Proactive Performance Management\". catchpoint.com."
  },
  {
    "id": 275,
    "slug": "log-aggregation-patterns",
    "name": "Log Aggregation Patterns",
    "name_zh": "日志聚合模式",
    "url": "https://sdframe.caldis.me/frameworks/log-aggregation-patterns",
    "api_url": "https://sdframe.caldis.me/api/frameworks/log-aggregation-patterns.json",
    "category": "observability",
    "description": "Centralized collection, parsing, and querying of logs from distributed services using platforms like ELK, Loki, and Datadog",
    "description_zh": "使用ELK、Loki和Datadog等平台对分布式服务的日志进行集中收集、解析和查询",
    "complexity": "intermediate",
    "abstraction_level": "system",
    "maturity_ring": "foundational",
    "quality_concerns": [
      "observability",
      "security",
      "maintainability"
    ],
    "ai_relevant": true,
    "tags": [
      "logging",
      "elk",
      "loki",
      "datadog",
      "observability",
      "log-aggregation",
      "structured-logging"
    ],
    "origin_author": "Jay Kreps",
    "primary_source": "Kreps, J. (2013). \"I Heart Logs: Event Data, Stream Processing, and Data Integration\". O'Reilly Media."
  },
  {
    "id": 276,
    "slug": "canary-analysis",
    "name": "Canary Analysis",
    "name_zh": "金丝雀分析",
    "url": "https://sdframe.caldis.me/frameworks/canary-analysis",
    "api_url": "https://sdframe.caldis.me/api/frameworks/canary-analysis.json",
    "category": "observability",
    "description": "Automated comparison of canary vs baseline metrics to quantitatively validate deployments before full rollout",
    "description_zh": "自动比较金丝雀与基线指标，在全量发布前定量验证部署",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "reliability",
      "performance"
    ],
    "ai_relevant": true,
    "tags": [
      "canary",
      "deployment",
      "progressive-delivery",
      "netflix",
      "spinnaker",
      "kayenta",
      "rollout",
      "observability"
    ],
    "origin_author": "Netflix",
    "primary_source": "Netflix Tech Blog (2018). \"Automated Canary Analysis at Netflix with Kayenta\". netflixtechblog.com."
  },
  {
    "id": 311,
    "slug": "service-mesh-observability",
    "name": "Service Mesh Observability",
    "name_zh": "服务网格可观测性",
    "url": "https://sdframe.caldis.me/frameworks/service-mesh-observability",
    "api_url": "https://sdframe.caldis.me/api/frameworks/service-mesh-observability.json",
    "category": "observability",
    "description": "Leveraging the service mesh data plane (Envoy, Linkerd) to automatically capture golden signal telemetry for every service-to-service call without application code changes",
    "description_zh": "利用服务网格数据平面（Envoy、Linkerd）自动捕获每个服务间调用的黄金信号遥测数据，无需修改应用代码",
    "complexity": "advanced",
    "abstraction_level": "system",
    "maturity_ring": "established",
    "quality_concerns": [
      "observability",
      "reliability",
      "performance"
    ],
    "ai_relevant": false,
    "tags": [
      "observability",
      "service-mesh",
      "istio",
      "envoy",
      "telemetry",
      "sidecar"
    ],
    "origin_author": "Lyft / Envoy Proxy team; Istio project (Google, IBM, Lyft)",
    "origin_year": 2017,
    "primary_source": "Klein, M. et al. (2017). \"Envoy Proxy\". Lyft Engineering. envoyproxy.io"
  }
]
