{"version":1,"pages":[{"id":"bnikAcXvJZ4jcOevmqgb","title":"Open Standards","pathname":"/","siteSpaceId":"sitesp_ejvhc","description":""},{"id":"olE608Sarhx4D76daABY","title":"AI Coding Agents","pathname":"/technical/ai-coding-agents","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"i9m3JEuhtk428CiKhup6","title":"Naming Conventions","pathname":"/technical/naming-conventions","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"AIdVTlURbxlIgex6pENd","title":"Best Practices","pathname":"/technical/best-practices","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"ZmKvYKEOEOkuFhjieYVS","title":"Salesforce Project Structure","pathname":"/technical/best-practices/project-structure","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Best Practices"}]},{"id":"4InCO81hPOABENwJVc1w","title":"Class Folder Organization Patterns","pathname":"/technical/best-practices/class-folder-organization","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Best Practices"}]},{"id":"0j2EBbiD3YnWfEK8eaxa","title":"Apex Style Guide","pathname":"/technical/best-practices/apex-style-guide","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Best Practices"}]},{"id":"noUSPIOTkt4nz9hs022q","title":"Apex Unit Testing Guidelines","pathname":"/technical/best-practices/apex-unit-testing-guidelines","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Best Practices"}]},{"id":"IEy99hSpctU7nwnlQ9hZ","title":"Lightning Web Components Development","pathname":"/technical/best-practices/lwc-development","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Best Practices"}]},{"id":"VqzasIqadsGQZJzIK2P0","title":"Logging","pathname":"/technical/best-practices/logging","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Best Practices"}]},{"id":"Q8iiuV4dTzKoTnra7Ifa","title":"Architecture and Design Patterns","pathname":"/technical/architecture-and-design-patterns","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"q0HWY0MuYJ4B7hD12eev","title":"Modular Package Architecture","pathname":"/technical/architecture-and-design-patterns/modular-package-architecture","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"FzNWoJwDndaCNux9y8ec","title":"Package Boundary Patterns","pathname":"/technical/architecture-and-design-patterns/package-boundary-patterns","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"dQRssEPYbsSfpfXageHD","title":"Unit of Work Pattern","pathname":"/technical/architecture-and-design-patterns/unit-of-work-pattern","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"pfsTNjLwQbPldpWwTmqB","title":"Feature Flags","pathname":"/technical/architecture-and-design-patterns/feature-flags","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"C6WrZjaUIOHTYP9aB6EX","title":"JSON Field Storage Pattern","pathname":"/technical/architecture-and-design-patterns/json-field-storage-pattern","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"bFmOLQdepm8CRPT4E6ID","title":"Async-First Pattern with Platform Events (DoWork)","pathname":"/technical/architecture-and-design-patterns/async-first-pattern-with-platform-events-dowork","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"QlDXtC5BNeLhrhHCFnj3","title":"Domain Layer Pattern with Fluent Interface","pathname":"/technical/architecture-and-design-patterns/domain-layer-pattern-with-fluent-interface","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"FDEEelFpQ5f3UKWYAXqs","title":"Owned State Pattern (lwc)","pathname":"/technical/architecture-and-design-patterns/owned-state-pattern-lwc","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"},{"label":"Architecture and Design Patterns"}]},{"id":"f8v9eJZg7xESvrPKeyWN","title":"Anti-Patterns","pathname":"/technical/anti-patterns","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"FAtCRVom85OvcPwXrBkh","title":"General Anti-Patterns","pathname":"/technical/anti-patterns/general-anti-patterns","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Anti-Patterns"}]},{"id":"6UG0sr3DZq5TWNFyyhbb","title":"Apex Anti-Patterns","pathname":"/technical/anti-patterns/apex-anti-patterns","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Anti-Patterns"}]},{"id":"P5LrKWWFDhnBrFRJ43dr","title":"LWC Anti-Patterns","pathname":"/technical/anti-patterns/lwc-anti-patterns","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Anti-Patterns"}]},{"id":"cXlQldURQ0audHAnWWQb","title":"Modularity Anti-Patterns","pathname":"/technical/anti-patterns/modularity-anti-patterns","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Anti-Patterns"}]},{"id":"H8HkTHBVx2FZK5mwFdGz","title":"Refactoring Strategies","pathname":"/technical/refactoring-strategies","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"}]},{"id":"uGBFQcUQe46gILKlgXnG","title":"Service Extraction","pathname":"/technical/refactoring-strategies/service-extraction","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Refactoring Strategies"}]},{"id":"bmjgQSYk4lqj5awziFS9","title":"Trigger Modularizaation","pathname":"/technical/refactoring-strategies/trigger-modularization","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Refactoring Strategies"}]},{"id":"j1QafDV9SBY8o3aZSxCM","title":"Integration Strategies","pathname":"/technical/integration-strategies","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"}]},{"id":"CEXwpsb9OezAjmj23FPV","title":"Data Warehouse & Reverse ETL","pathname":"/technical/integration-strategies/data-warehouse-and-reverse-etl","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Integration Strategies"}]},{"id":"AAEbjL24njyQ4lQUJXW8","title":"Access Management","pathname":"/technical/access-management","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"rlxB6kXZjiHCtx9plrnI","title":"Data Management and Quality","pathname":"/technical/data-management-and-quality","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"S7etmVyO3ynRH0ctC26n","title":"Performance and Scalability","pathname":"/technical/performance-and-scalability","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"XZ9yt3l1tYviY8ggtgDK","title":"Development and Deployment Strategies","pathname":"/technical/development-and-deployment-strategies","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"}]},{"id":"MCKcjZsgHdinzLCUj4vp","title":"Frameworks","pathname":"/technical/frameworks","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"}]},{"id":"kdpGLsNY9owfFd7e5xEi","title":"flxbl - Continuous Delivery","pathname":"/technical/frameworks/flxbl-continuous-delivery","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Frameworks"}]},{"id":"nXqo9C8H2umtwa1Fzglw","title":"fflib - Apex Framework","pathname":"/technical/frameworks/fflib-apex-framework","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Frameworks"}]},{"id":"bCYiReQkHGRgOmLi5Urs","title":"Nebula Logger - Logging","pathname":"/technical/frameworks/nebula-logger-logging","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Frameworks"}]},{"id":"GFwFHWYuP3oB1umHp7X3","title":"Technical Documentation","pathname":"/technical/technical-documentation","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Technical"}]},{"id":"I782sJmm4est5jkOSZUb","title":"Writing and Maintaining Technical Documentation","pathname":"/technical/technical-documentation/writing-technical-documentation","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Technical Documentation"}]},{"id":"BXQpzhuu4CaAUMLH4QEu","title":"Architecture & Feature Design Guidelines","pathname":"/technical/technical-documentation/architecture-and-feature-design-guidelines","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Technical Documentation"}]},{"id":"o1S9NBe2excHQsUBXYHl","title":"AI Assisted Documentation","pathname":"/technical/technical-documentation/ai-assisted-documentation","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Technical"},{"label":"Technical Documentation"}]},{"id":"19pYb061xc4rBuas5rT9","title":"Requirement definition","pathname":"/functional/requirement-definition","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Functional"}]},{"id":"jTOcJEweQX2SqCMxfAxr","title":"AI-Assisted Requirement Generation with Open Spec","pathname":"/functional/requirement-definition/spec-driven-development","siteSpaceId":"sitesp_ejvhc","description":"","breadcrumbs":[{"label":"Functional"},{"label":"Requirement definition"}]},{"id":"Trzn0gZtKuzgVSpimi44","title":"Documentation","pathname":"/functional/documentation","siteSpaceId":"sitesp_ejvhc","breadcrumbs":[{"label":"Functional"}]}]}