{"record":{"id":"1536752d8289aace","repo":"github/spec-kit","slug":"bundle-targets-integration-manifest-integration","errorCode":null,"errorMessage":"Bundle targets integration '{manifest.integration.id}' but the project's active integration is '{active_integration}'.","messagePattern":"Bundle targets integration '(.+?)' but the project's active integration is '(.+?)'\\.","errorType":"exception","errorClass":"BundlerError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/bundler/services/installer.py","lineNumber":93,"sourceCode":"    are already installed are re-applied through the primitive machinery so they\n    are brought up to the plan's pinned versions, rather than skipped. Primitive\n    config (e.g. preset priority overrides) is preserved by the underlying\n    machinery.\n\n    Version-pin enforcement is install-time only. The primitive ``is_installed``\n    checks are id-based (they do not compare versions), so when a component is\n    already present and *refresh* is False it is skipped without verifying that\n    the on-disk version matches the manifest pin. Pins are therefore only\n    guaranteed to be applied when the bundler actually performs an install or a\n    refresh; running ``specify bundle update`` re-applies every owned component\n    at its pinned version.\n    \"\"\"\n    records = load_records(project_root)\n\n    if manifest is not None:\n        report = detect_conflicts(manifest, plan.effective_integration, records)\n        if report.has_blocking_conflict:\n            raise BundlerError(report.integration_clash)\n\n    result = InstallResult(bundle_id=plan.bundle_id)\n    existing = find_record(records, plan.bundle_id)\n    prior_ours = {\n        (c.kind, c.id) for c in existing.contributed_components\n    } if existing is not None else set()\n    # Components already attributed to a *different* installed bundle: these are\n    # legitimately shareable (refcounted on removal), so this bundle may also\n    # claim them. A component that is installed on disk but tracked by no bundle\n    # was installed independently and must NOT be attributed here — otherwise\n    # removing this bundle would uninstall it (collateral removal, FR-022).\n    other_tracked = {\n        (c.kind, c.id)\n        for r in records\n        if r.bundle_id != plan.bundle_id\n        for c in r.contributed_components\n    }\n","sourceCodeStart":75,"sourceCodeEnd":111,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/bundler/services/installer.py#L75-L111","documentation":"Error \"Bundle targets integration '{manifest.integration.id}' but the project's active integration is '{active_integration}'.\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/bundler/services/installer.py:93 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install the bundle into a project using the matching integration, or re-initialize the project with the bundle's target integration."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c","analyzedAt":"2026-08-14T19:43:37.150Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}