{"componentChunkName":"component---src-templates-tags-js","path":"/articles/tags/the-metaphysics/","result":{"data":{"site":{"siteMetadata":{"title":"Khalil Stemmler | Become a confident crafter. Learn to write testable, scalable TypeScript."}},"categories":{"edges":[{"node":{"frontmatter":{"category":"The Metaphysics"}}},{"node":{"frontmatter":{"category":"The Metaphysics"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Humans & Code"}}},{"node":{"frontmatter":{"category":"Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Testing"}}},{"node":{"frontmatter":{"category":"Networking & Ops"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Testing"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"The 12 Essentials"}}},{"node":{"frontmatter":{"category":"The Metaphysics"}}},{"node":{"frontmatter":{"category":"Testing"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Testing"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Client-Side Architecture"}}},{"node":{"frontmatter":{"category":"Client-Side Architecture"}}},{"node":{"frontmatter":{"category":"Client-Side Architecture"}}},{"node":{"frontmatter":{"category":"Client-Side Architecture"}}},{"node":{"frontmatter":{"category":"Client-Side Architecture"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"GraphQL"}}},{"node":{"frontmatter":{"category":"GraphQL"}}},{"node":{"frontmatter":{"category":"GraphQL"}}},{"node":{"frontmatter":{"category":"Design Principles"}}},{"node":{"frontmatter":{"category":"Design Principles"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Software Professionalism"}}},{"node":{"frontmatter":{"category":"Software Professionalism"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Software Professionalism"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"Test-Driven Development"}}},{"node":{"frontmatter":{"category":"Test-Driven Development"}}},{"node":{"frontmatter":{"category":"Test-Driven Development"}}},{"node":{"frontmatter":{"category":"Test-Driven Development"}}},{"node":{"frontmatter":{"category":"The Phases of Craftship"}}},{"node":{"frontmatter":{"category":"Software Design"}}},{"node":{"frontmatter":{"category":"GraphQL"}}},{"node":{"frontmatter":{"category":"Web Development"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Domain-Driven Design"}}},{"node":{"frontmatter":{"category":"Object-Oriented Analysis"}}},{"node":{"frontmatter":{"category":"Object-Oriented Design"}}},{"node":{"frontmatter":{"category":"Object-Oriented Design"}}},{"node":{"frontmatter":{"category":"Object-Oriented Programming"}}},{"node":{"frontmatter":{"category":"Object-Oriented Programming"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}},{"node":{"frontmatter":{"category":"Enterprise Node + TypeScript"}}}]},"tags":{"edges":[{"node":{"frontmatter":{"tags":["AI","Phases of Craftship","The Metaphysics","Code-First","Value-First"]}}},{"node":{"frontmatter":{"tags":["Testing","Architecture","12 Essentials","Composition"]}}},{"node":{"frontmatter":{"tags":["Temporal Decoupling","Messaging","Systems Thinking","Events"]}}},{"node":{"frontmatter":{"tags":["Metaphysics","Spirituality","Business"]}}},{"node":{"frontmatter":{"tags":["High Value Tests","Acceptance Testing","Typical Tests","Unit Tests","E2E tests","Integration tests"]}}},{"node":{"frontmatter":{"tags":["E2E Testing","Design Patterns","The Builder Pattern","Data Model Tree"]}}},{"node":{"frontmatter":{"tags":["Characterization Testing","Acceptance Testing","Test Rig","E2E Testing"]}}},{"node":{"frontmatter":{"tags":["Mental Models","Abstraction","The Feedback Loop","The 12 Essentials"]}}},{"node":{"frontmatter":{"tags":["Divergence","Convergence"]}}},{"node":{"frontmatter":{"tags":["Psychology","Language","Mastery","Domain-Driven Design"]}}},{"node":{"frontmatter":{"tags":["The Phases of Craftship","Code-First"]}}},{"node":{"frontmatter":{"tags":["Testing","Software Essentialism","Value","Negative Value","Three Ways","Business"]}}},{"node":{"frontmatter":{"tags":["RDD","Architecture"]}}},{"node":{"frontmatter":{"tags":["RDD"]}}},{"node":{"frontmatter":{"tags":["Non-functional requirements","Software quality attributes"]}}},{"node":{"frontmatter":{"tags":["RDD"]}}},{"node":{"frontmatter":{"tags":["Dependencies","Composition","Delegation","Aggregation"]}}},{"node":{"frontmatter":{"tags":["Abstraction","Encapsulation","Inheritance","Polymorphism","OOP"]}}},{"node":{"frontmatter":{"tags":["TypeScript","Test-Driven Development","BDD","Core code","Infrastructure code"]}}},{"node":{"frontmatter":{"tags":["TypeScript","Test-Driven Development","Mocking","Jest","ts-auto-mock"]}}},{"node":{"frontmatter":{"tags":["Use cases","Test-Driven Development","Outside-In TDD","Inside-Out TDD","Mocking"]}}},{"node":{"frontmatter":{"tags":["Feature-Driven Development","Accidental Complexity","Essential Complexity"]}}},{"node":{"frontmatter":{"tags":["TDD","Test-Driven Development","Software Craftsmanship","Agile","Technical practice","Classic TDD"]}}},{"node":{"frontmatter":{"tags":["GraphQL","Architecture","Software Design","RESTful APIs","DTO"]}}},{"node":{"frontmatter":{"tags":["Node.js","TypeScript","Express.js","Enterprise software","DTO"]}}},{"node":{"frontmatter":{"tags":["Leaky Abstraction","Abstraction Layer","Object-Oriented Programming"]}}},{"node":{"frontmatter":{"tags":null}}},{"node":{"frontmatter":{"tags":null}}},{"node":{"frontmatter":{"tags":["Architecture","Frontend Development","Model-View-Presenter","Observer Pattern","React","Software Design"]}}},{"node":{"frontmatter":{"tags":null}}},{"node":{"frontmatter":{"tags":null}}},{"node":{"frontmatter":{"tags":["Accidental Complexity","Essential Complexity","Software Design"]}}},{"node":{"frontmatter":{"tags":["Tutorial","Netlify","GraphQL","Serverless","Starters"]}}},{"node":{"frontmatter":{"tags":["Spotify","Tutorial","Music"]}}},{"node":{"frontmatter":{"tags":["Software Design","Dependency Injection","Dependency Inversion","Professionalism"]}}},{"node":{"frontmatter":{"tags":["GraphQL","Architecture","Software Design","RESTful APIs"]}}},{"node":{"frontmatter":{"tags":["Event-based systems","Architecture","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["Software Design","JavaScript","Books"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Functional Programming"]}}},{"node":{"frontmatter":{"tags":["GatsbyJS","SEO"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","Aggregate Root","Aggregate","Sequelize"]}}},{"node":{"frontmatter":{"tags":["Domain-Driven Design","Clean Architecture"]}}},{"node":{"frontmatter":{"tags":["GatsbyJS","SEO"]}}},{"node":{"frontmatter":{"tags":["Architecture","Software Design","Roadmap"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","Domain Events","Sequelize","TypeORM"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","Frontend Development"]}}},{"node":{"frontmatter":{"tags":["Application Logic","Architecture","Clean Architecture"]}}},{"node":{"frontmatter":{"tags":["IOC Containers","Dependency Injection","Inversion of Control"]}}},{"node":{"frontmatter":{"tags":["Dependency Injection","Dependency Inversion","Inversion of Control","IoC Containers"]}}},{"node":{"frontmatter":{"tags":["Command Query Separation","Object-Oriented Programming"]}}},{"node":{"frontmatter":{"tags":["Node.js","TypeScript","Functional programming","DDD","Express.js","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","Aggregate","One-to-many","Many-to-many"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","Aggregate"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","Aggregate Root","Aggregate","Sequelize"]}}},{"node":{"frontmatter":{"tags":["Node.js","Software Design","JavaScript"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Intention Revealing Interfaces"]}}},{"node":{"frontmatter":{"tags":["Node.js","TypeScript","Use Cases","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","DTO","Repository pattern","Mapper pattern"]}}},{"node":{"frontmatter":{"tags":["SOLID","Software Design","Advanced Object-Oriented Programming"]}}},{"node":{"frontmatter":{"tags":["Node.js","Software Design","JavaScript"]}}},{"node":{"frontmatter":{"tags":["Node.js","Architecture","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design"]}}},{"node":{"frontmatter":{"tags":["Node.js","TypeScript","Architecture","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["SOLID","Software Design","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["Node.js","TypeScript","Express.js","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","CRUD","RESTful APIs"]}}},{"node":{"frontmatter":{"tags":["Node.js","TypeScript","Express.js","Enterprise software"]}}},{"node":{"frontmatter":{"tags":["TypeScript","JavaScript"]}}},{"node":{"frontmatter":{"tags":["Node.js","Sequelize","ORM","Backend"]}}},{"node":{"frontmatter":{"tags":["UML","Software Design","Class diagram"]}}},{"node":{"frontmatter":{"tags":["Database","DDD","Sequelize"]}}},{"node":{"frontmatter":{"tags":["Gatsby","React","JavaScript"]}}},{"node":{"frontmatter":{"tags":["DDD","TypeScript","Software Design","Value Object"]}}},{"node":{"frontmatter":{"tags":["TypeScript","Software Design","Professionalism"]}}},{"node":{"frontmatter":{"tags":["JavaScript","ES6"]}}},{"node":{"frontmatter":{"tags":["Node.js","JavaScript","Sequelize"]}}},{"node":{"frontmatter":{"tags":["JavaScript","SEO","Gatsby"]}}},{"node":{"frontmatter":{"tags":["JavaScript"]}}},{"node":{"frontmatter":{"tags":["JavaScript",""]}}},{"node":{"frontmatter":{"tags":["Asterisk","Node.js","Networking"]}}}]},"posts":{"totalCount":1,"edges":[{"node":{"fields":{"slug":"/articles/agentic-coding-is-a-trap/","readingTime":{"text":"9 min read"}},"frontmatter":{"title":"Agentic Coding Is a Trap","date":"2026-06-04T10:00:00-05:00","description":"AI-assisted coding is accelerating skill atrophy for developers who haven't built the foundations yet. Here's how to know which phase you're in — and what to do about it.","tags":["AI","Phases of Craftship","The Metaphysics","Code-First","Value-First"],"category":"The Metaphysics","image":"/img/banner/blog-banner.png","updated":"2026-06-04T10:00:00-05:00"}}}]}},"pageContext":{"tag":"The Metaphysics"}}}