{"schemaVersion":"2.0.0","locale":"en","title":"Work with an existing snapshot","description":"Use manifest commands only when the owner has supplied an admitted immutable snapshot bundle and its analysis manifest. An arbitrary Xcode Index Store is not a ready analysis snaps","htmlUrl":"https://docs.swift-analyzer.com/guides/manifest/","markdownUrl":"https://docs.swift-analyzer.com/guides/manifest/index.md","productRevision":"524fa07e0ae4153c84ac12ae9eb6559df89ec2be","catalogRevision":"4558458d","docsRevision":"1f17ba58ab08627e0de898f1442067b09e960b48cd5605d6529e9275f8930d68","channel":"pre-prod","maturity":"experimental","access":"owner-provided-checkout","markdown":"# Work with an existing snapshot\n\nUse manifest commands only when the owner has supplied an admitted immutable snapshot bundle and its analysis manifest. An arbitrary Xcode Index Store is not a ready analysis snapshot.\n\n## Required input\n\nThe supplied manifest binds the selected build configuration, compiler facts, inputs, completeness and provenance. Keep the bundle's files together at the locations expected by the manifest. Ask its supplier for the exact profile, allowed rule selection and scope of the snapshot.\n\nThis CLI does not expose a general command that turns any existing Index Store into a qualified manifest. Do not fabricate one from a folder path or edit quality flags to make validation pass. For a small supported SwiftPM product, use [source-scan](https://docs.swift-analyzer.com/guides/swiftpm/) instead.\n\n## Validate, then inspect\n\nReplace `/path/to/manifest.json` with the manifest supplied with your bundle:\n\n```sh\n\"$ANALYZER\" doctor --manifest /path/to/manifest.json --format json\n\"$ANALYZER\" stats --manifest /path/to/manifest.json --format json\n\"$ANALYZER\" scan --manifest /path/to/manifest.json --format json\n```\n\nDoctor validates trust and admission; stats describes admitted facts. A successful doctor result does not prove that every desired rule or negative conclusion is available. Read quality, capabilities, reasons and the declared build world.\n\n## Ask why a subject is reachable\n\n`why` requires an exact canonical declaration identity or strongly connected component (SCC) identity from the supplied snapshot. An SCC is a group of graph nodes that can each reach every other node in that group. The command is not a free-text symbol search. Choose shipping or repository scope and the relevant code, API, ABI or runtime dimension. See [CLI reference](https://docs.swift-analyzer.com/reference/cli/#why) for the options.\n\n## Keep this workflow separate\n\nManifest analysis and source-scan have different input and output contracts. The source-scan tutorial's counts and results do not qualify your manifest bundle. Availability depends on its admitted facts and the requested analysis. Do not add `--gate` by default; [CI guidance](https://docs.swift-analyzer.com/guides/ci/) remains advisory.\n","anchors":["work-with-an-existing-snapshot","required-input","validate-then-inspect","ask-why-a-subject-is-reachable","keep-this-workflow-separate"]}
