# Flossum Courses > API documentation for My Platform ## Welcome - [Flosum Certification](/introduction.md): A sequence of courses for everyone who works with Salesforce DevOps, from the people who explain it to the people who build it. Each course makes one argument and gives you the vocabulary and the evidence to defend it. ## Why Salesforce DevOps Needs Unique Treatment - [Welcome!](/business/.md): Why Salesforce DevOps Needs Unique Treatment is the first course in the Flosum Certification. It makes the business case for why standard Git-based DevOps breaks down in Salesforce — and translates the failure modes into dollars, hours, and risk a CFO understands. No code required. ### Lesson 1: Get Started - [Introduction](/business/why-salesforce-devops-needs-unique-treatment/lesson-1-get-started/introduction.md): Who this course is for, what you'll walk away with, and where it fits in the Flosum certification curriculum. - [DevOps and Salesforce](/business/why-salesforce-devops-needs-unique-treatment/lesson-1-get-started/devops-and-salesforce.md): What DevOps means in plain English, and why Salesforce DevOps is its own animal. ### Lesson 2: Two Different Worlds - [Git vs. Salesforce](/business/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/git-vs-salesforce.md): What Git and Salesforce are and why they don't mix: Git tracks files, Salesforce tracks live relationships between components. - [Who Each System Was Designed For](/business/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/who-each-system-was-designed-for.md): Git was built for developers working in flat text files; Salesforce was built for admins and business users. Forcing admins through Git reverses that value proposition. - [Why This Difference Matters](/business/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/why-this-difference-matters.md): The three structural gaps that make standard Git workflows fail in Salesforce. ### Lesson 3: The Seven Mismatches - [Mismatch 1: Metadata Interdependency](/business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-1-metadata-interdependency.md): Rename a field; Git updates the field, not the 14 places that reference it. - [Mismatch 2: Org as Source of Truth](/business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-2-org-as-source-of-truth.md): Admins change production. Developers change sandboxes. Git knows neither. Drift is born here. - [Mismatch 3: Merged Doesn't Mean Works](/business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-3-merged-doesnt-mean-works.md): A successful Git merge can still produce a broken Salesforce deployment because metadata has semantic dependencies Git can't see. - [Mismatch 4: Branching Breaks](/business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-4-branching-breaks.md): GitFlow assumes ephemeral, identical environments. Salesforce sandboxes drift the moment they exist. - [Mismatch 5: Deployments Are Transactions](/business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-5-deployments-are-transactions.md): A Git push is a file operation. A Salesforce deployment is a transaction against a live system with validation rules, tests, and dependencies. - [Mismatch 6: No Rollback](/business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-6-no-rollback.md): Git reverts a commit in seconds. Salesforce has no rollback. You're reconstructing the prior state by hand, in production, while the business waits. - [Mismatch 7: Audit and Compliance](/business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-7-audit-compliance.md): Git answers one of the four questions auditors ask: who wrote it. The other three require capabilities Git doesn't have. ### Lesson 4: The Economics of Drift - [Where the Money Leaks](/business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/money-leaking.md): The five places the Salesforce DevOps mismatch turns into a measurable cost: time, headcount, and risk. - [The Human Translator Tax](/business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/human-translator-tax.md): Every Git-based Salesforce DevOps program eventually funds a Release Manager whose primary job is reconciling Git state with org state, not delivering features. - [The Trust Tax](/business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/trust-tax.md): What happens when a team stops trusting its own pipeline. - [The Break-Even Calculation](/business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/break-even-calculation.md): At what team size does a purpose-built approach pay for itself? ### Lesson 5: Why Patching Git Doesn't Work - [The Wrapper Landscape](/business/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrapper-landscape.md): What vendors built on top of Git, and why, including where wrappers help and where they still inherit Git's mismatches. - [The Wrapper Truth](/business/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrapper-truth.md): The 12-18 month wall, the pipeline problem, and an honest assessment of what wrapper tools can and cannot do. ### Lesson 6: What Actually Works - [Metadata-Native Architecture](/business/why-salesforce-devops-needs-unique-treatment/lesson-6-what-actually-works/metadata-native-architecture.md): Component-aware version control, semantic merge engine, org-aware deployment, first-class backup and rollback, compliance-ready audit trail, platform-native security model. - [Extend Git or Replace It?](/business/why-salesforce-devops-needs-unique-treatment/lesson-6-what-actually-works/extend-git-or-replace.md): Two schools of thought: one extends Git with a Salesforce-aware control plane; the other replaces it with a metadata-native system. This course doesn't pick a side. - [Meet Flosum](/business/why-salesforce-devops-needs-unique-treatment/lesson-6-what-actually-works/meet-flosum.md): A brief introduction to Flosum as the metadata-native system the architectural case in this course describes, and a pointer to subsequent courses in the curriculum. ## Why Salesforce DevOps Needs Unique Treatment - [Welcome!](/engineering/.md): Why Salesforce DevOps Needs Unique Treatment is the first course in the Flosum Certification. From first principles, it makes the architectural case for why standard Git-based DevOps breaks on Salesforce — and what kind of system actually fits. ### Lesson 1: Get Started - [Introduction](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-1-welcome-+-get-started/introduction.md): Who this course is for, what you'll walk away with, and where it fits in the Flosum certification curriculum. - [DevOps and Salesforce](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-1-welcome-+-get-started/devops-and-salesforce.md): What DevOps means in plain English, and why Salesforce DevOps is its own animal. ### Lesson 2: Two Different Worlds - [Git vs. Salesforce](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/git-vs-salesforce.md): What Git and Salesforce are and their fundamental differences using the library catalog vs. living garden analogy. - [Who Each System Was Designed For](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/who-each-system-was-designed-for.md): The audience mismatch is as load-bearing as the technical mismatch. - [The Metadata API in Detail](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/metadata-api-in-detail.md): How it exposes org state, component-type quirks, and why XML creates a false sense of Git-compatibility. - [Content-Addressed vs. Semantically-Addressed](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/content-addressed-vs-semantically-addressed.md): Git is content-addressed; Salesforce is semantically-addressed: what that means for merge, diff, and deployment. - [The Topology Insight](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/topology-insight.md): Branches descend from main; sandboxes descend from production: the inversion and its technical consequences. - [Why This Difference Matters](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/why-this-difference-matters.md): The three structural consequences of the Git-Salesforce architectural gap: topology inversion, absent back-sync path, and branch-org divergence. ### Lesson 3: The Seven Mismatches - [Mismatch 1: Metadata Interdependency](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-1-metadata-interdependency.md): Git operates on file content, not object graphs. Rename a field and the 14 silent references break. - [Mismatch 2: Org as Source of Truth](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-2-org-as-source-of-truth.md): Org state and repo state diverge constantly. Git has no mechanism to reconcile them. Drift born here compounds every other mismatch. - [Mismatch 3: Merged Doesn't Mean Works](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-3-merged-doesnt-mean-works.md): Profiles, permission sets, and other metadata types produce semantically invalid results from a Git-valid merge. - [Mismatch 4: Branching Breaks](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-4-branching-breaks.md): Sandbox refresh cycles, drift accumulation, and cost at scale make branch-per-environment an anti-pattern, yet it persists in Salesforce shops. - [Mismatch 5: Deployments Are Transactions](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-5-deployments-are-transactions.md): Validation rules, test execution, and dependency resolution at deploy time mean "it merged" doesn't mean "it will deploy." - [Mismatch 6: No Rollback](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-6-no-rollback.md): Salesforce deployments are not reversible transactions. Rollback means reconstructing prior state by hand, in production, while the business waits. - [Mismatch 7: Audit and Compliance](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-7-audit-compliance.md): Git captures authorship only. Compliance frameworks require approval, deployment, and out-of-pipeline change tracking too: the 180-day vs. 7-year gap is measurable exposure. ### Lesson 4: The Economics of Drift - [Where the Money Leaks](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/where-the-money-leaks.md): Failed deployments, rollback hours, release delays, audit risk, developer burnout. - [The Human Translator Tax](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/human-translator-tax.md): The loaded cost of the Release Manager role whose primary function is reconciling Git state with org state. - [The Trust Tax](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/trust-tax.md): The trust tax when a team stops trusting its own pipeline. - [The Break-Even Calculation](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/break-even-calculation.md): At what team size does a purpose-built approach pay for itself? - [The Formal Cost Model](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/formal-cost-model.md): Formulas and documented assumptions behind the economic case. - [DORA Metric Mapping](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/dora-metric-mapping.md): Git-only Salesforce pipelines typically operate two tiers below DORA Elite (DORA 2024 State of DevOps Report). - [Sensitivity-Range Spreadsheet](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/sensitivity-range-spreadsheet.md): Full sensitivity-range spreadsheet for the cost model. ### Lesson 5: Why Patching Git Doesn't Work - [The Wrapper Landscape](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrapper-landscape.md): The two categories of tooling built on top of Git for Salesforce, what each addresses, and where both hit structural limits. - [Where Wrappers Still Fail](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrappers-still-fail.md): Why the Salesforce-aware layer doesn't resolve the structural mismatches: the underlying engine is still wrong. - [The Diagnostic Question](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/diagnostic-question.md): A single question that separates metadata-native tools from wrapper tools, and how to apply it to any vendor evaluation. - [The 12–18 Month Pattern](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/the-12-18-month-pattern.md): Why wrapper adoption follows a predictable arc of initial gains then a structural ceiling, and what causes the wall to appear at that specific time. - [An Honest Assessment](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/honest-assessment.md): What wrapper tools actually deliver, where the ROI case holds, and the question that determines whether a wrapper is sufficient. ### Lesson 6: The Architecture You Actually Need - [Metadata-Native Architecture](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-6-the-architecture-you-actually-need/metadata-native-architecture.md): Component-aware version control, semantic merge engine, org-aware deployment, first-class backup and rollback, compliance-ready audit trail, platform-native security model. - [Extend Git or Replace It?](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-6-the-architecture-you-actually-need/extend-git-or-replace.md): The two architectural schools: Salesforce-aware control plane on top of Git vs. metadata-native system that replaces it, and what distinguishes them technically. - [Meet Flosum](/engineering/why-salesforce-devops-needs-unique-treatment/lesson-6-the-architecture-you-actually-need/meet-flosum.md): A brief introduction to Flosum as the metadata-native system, and a pointer to subsequent courses in the curriculum. ## Other Pages - / - /Homepage/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-1-get-started/devops-and-salesforce/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-1-get-started/introduction/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/git-vs-salesforce/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/who-each-system-was-designed-for/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/why-this-difference-matters/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-1-metadata-interdependency/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-2-org-as-source-of-truth/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-3-merged-doesnt-mean-works/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-4-branching-breaks/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-5-deployments-are-transactions/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-6-no-rollback/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-7-audit-compliance/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/break-even-calculation/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/human-translator-tax/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/money-leaking/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/trust-tax/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrapper-landscape/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrapper-truth/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-6-what-actually-works/extend-git-or-replace/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-6-what-actually-works/meet-flosum/ - /business/why-salesforce-devops-needs-unique-treatment/lesson-6-what-actually-works/metadata-native-architecture/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-1-welcome-+-get-started/devops-and-salesforce/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-1-welcome-+-get-started/introduction/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/content-addressed-vs-semantically-addressed/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/git-vs-salesforce/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/metadata-api-in-detail/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/topology-insight/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/who-each-system-was-designed-for/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-2-two-different-worlds/why-this-difference-matters/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-1-metadata-interdependency/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-2-org-as-source-of-truth/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-3-merged-doesnt-mean-works/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-4-branching-breaks/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-5-deployments-are-transactions/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-6-no-rollback/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-3-the-seven-mismatches/mismatch-7-audit-compliance/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/break-even-calculation/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/dora-metric-mapping/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/formal-cost-model/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/human-translator-tax/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/sensitivity-range-spreadsheet/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/trust-tax/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-4-the-economics-of-drift/where-the-money-leaks/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/diagnostic-question/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/honest-assessment/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/the-12-18-month-pattern/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrapper-landscape/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-5-why-patching-git-doesnt-work/wrappers-still-fail/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-6-the-architecture-you-actually-need/extend-git-or-replace/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-6-the-architecture-you-actually-need/meet-flosum/ - /engineering/why-salesforce-devops-needs-unique-treatment/lesson-6-the-architecture-you-actually-need/metadata-native-architecture/ - /introduction/ - /search/