CHAT_OUTPUT_BEGIN
COMMAND_ID=SIGNALBOT-260908-SEAL-GENERATION-RCA-043GEN
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=signalbot-cr0116-seal-generation-rca
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=b8040335cd6ee0ee0382570ca5ecd189293d21953c5509bd1711312a80a2d622
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=099e5ef433eccdaae24a06982c949c13c323a1a84afd1ee9ba2bf094ffcfd10c
SANITIZED_OUTPUT_SHA256=099e5ef433eccdaae24a06982c949c13c323a1a84afd1ee9ba2bf094ffcfd10c
OUTPUT_BEGIN
ERROR_REGISTER_CHECK=OK
REFERENCE_CHECK=OK
AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED
SB043G_PRESTATE={"active_env":{"APP_IMAGE":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","CODE_IDENTITY":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","COLLECTION_START_AT":"2026-09-07T00:00:00+00:00","EXPERIMENT_ID":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","RUNTIME_MANIFEST_ID":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"},"new_image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","services":[{"container_id":"a546a70c3e8c263d9b590cd78ee206bcda0cfcdb6662327e8415ca0e29ad1501","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":14,"running":true,"service":"collector","started_at":"2026-09-08T07:38:09.79483772Z"},{"container_id":"d8023f4cbf91f9382e39eec0436c9cebc7665535b42b950e95408c03ff9bf30d","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"relay","started_at":"2026-09-06T18:48:20.603414848Z"},{"container_id":"1feeca2d9428cd5a277c026bef34534db307657dcdcd63aff98ea66e44f8b9c5","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"shadow","started_at":"2026-09-06T18:48:20.768190553Z"},{"container_id":"889be41d2cee9d327811da78388f834ba6eafe4c0eeae456867ed0df76832d01","image":"8020-demonov-shadow:e32760c69a4311728db9066ee8bf2bf66b1e5a70","image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","restart_count":0,"running":true,"service":"worker","started_at":"2026-09-06T18:48:20.586788319Z"}],"stage_result":{"active_env_unchanged":true,"build_context":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","collector_source_sha256":"193dd0c7f9890fdb4026c24dbc5add825f1641d92097e881806705ca452812d5","copy_source":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/demonov_forward_map","decision":"DEPLOY_STAGE_READY","dockerfile":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5/Dockerfile","helper_candidates":{"demonov_forward_map.live_prospective":[{"name":"_hash","pure_candidate":true,"signature":"(value: 'object') -> 'str'"}],"demonov_forward_map.runtime_integrity":[{"name":"canonical_hash","pure_candidate":true,"signature":"(payload: 'Any') -> 'str'"},{"name":"verify_experiment_seal_receipt","pure_candidate":true,"signature":"(*, bundle: 'FinalProspectiveSealBundle', receipt: 'ExperimentSealReceipt', collection_start_at: 'datetime', receipt_verifier: 'Callable[[ExperimentSealReceipt], bool]') -> 'None'"},{"name":"required_retained_hashes","pure_candidate":true,"signature":"(*, runtime_registry: 'RuntimeRegistry', model_registry: 'FinalModelRegistry', state_snapshots: 'Sequence[StateSnapshotManifest]' = (), predictor_runtime: 'PredictorRuntimeManifest | None' = None) -> 'Mapping[str, RetainedArtifactKind]'"}],"demonov_forward_map.runtime_manifest":[{"name":"canonical_hash","pure_candidate":true,"signature":"(payload: 'Any') -> 'str'"},{"name":"verify_runtime_manifest","pure_candidate":true,"signature":"(manifest: 'RuntimeDeploymentManifestV1', *, expected_code_identity: 'str', actual_image_id: 'str', actual_package_identity: 'str') -> 'None'"}]},"new_image":"8020-demonov-shadow:76e1f58baa544a0e208bba317f0150e5b6d74dbd","new_image_id":"sha256:341f71a906c91d3fa9c1d50bd89df2a849dfb0b168bb4551efb444bf61c4ab99","policy":{"close_timeout":5,"open_timeout":10,"ping_interval":20,"ping_timeout":60},"runtime_activated":false,"service_identity_unchanged":true,"stage_path":"/opt/stacks/8020-demonov-shadow/.deploy/SIGNALBOT-260908-DEPLOY-STAGE-042FIX5","websockets_version":"15.0.1"}}
SB043G_MANIFEST_CLASS_CONTRACT={"class":"RuntimeDeploymentManifestV1","decorators":["dataclass(frozen=True)"],"fields":["runtime_manifest_id","code_identity","package_identity","application_image_id","base_image_digest","compose_hash","finality_policy_id"],"identity_methods":[{"args":["self"],"decorators":["property"],"kwonly":[],"name":"content_hash","source":"def content_hash(self) -> str:\n        return canonical_hash(\n            {\n                \"schema\": \"CR0116_RUNTIME_DEPLOYMENT_MANIFEST_V1\",\n                \"code_identity\": self.code_identity,\n                \"package_identity\": self.package_identity,\n                \"application_image_id\": self.application_image_id,\n                \"base_image_digest\": self.base_image_digest,\n                \"compose_hash\": self.compose_hash,\n                \"finality_policy_id\": self.finality_policy_id,\n            }\n        )","source_sha256":"5ca3618001bfac422d4ff365e429f2f057196f3b78d67cd666458d4db2011e4b"},{"args":["self"],"decorators":[],"kwonly":[],"name":"__post_init__","source":"def __post_init__(self) -> None:\n        _sha256_hex(self.runtime_manifest_id, \"runtime manifest id\")\n        _required(self.code_identity, \"code identity\")\n        if _GIT_ID_RE.fullmatch(self.code_identity) is None:\n            raise DemonovError(\n                \"code identity must be lowercase 40-64 hex\"\n            )\n        _sha256_hex(self.package_identity, \"package identity\")\n        _sha256_id(self.application_image_id, \"application image id\")\n        _sha256_id(self.base_image_digest, \"base image digest\")\n        _sha256_hex(self.compose_hash, \"compose hash\")\n        _required(self.finality_policy_id, \"finality policy id\")\n        if self.runtime_manifest_id != self.content_hash:\n            raise DemonovError(\n                \"runtime manifest id must be content-addressed\"\n            )","source_sha256":"bb8a8ccd8a52d6d3ac094e6e8abecdc4aeb6edaf8094d2c6477a0cd0d26fa868"},{"args":["cls"],"decorators":["classmethod"],"kwonly":["code_identity","package_identity","application_image_id","base_image_digest","compose_hash","finality_policy_id"],"name":"build","source":"def build(\n        cls,\n        *,\n        code_identity: str,\n        package_identity: str,\n        application_image_id: str,\n        base_image_digest: str,\n        compose_hash: str,\n        finality_policy_id: str,\n    ) -> \"RuntimeDeploymentManifestV1\":\n        payload = {\n            \"code_identity\": code_identity,\n            \"package_identity\": package_identity,\n            \"application_image_id\": application_image_id,\n            \"base_image_digest\": base_image_digest,\n            \"compose_hash\": compose_hash,\n            \"finality_policy_id\": finality_policy_id,\n        }\n        runtime_manifest_id = canonical_hash(\n            {\n                \"schema\": \"CR0116_RUNTIME_DEPLOYMENT_MANIFEST_V1\",\n                **payload,\n            }\n        )\n        return cls(\n            runtime_manifest_id=runtime_manifest_id,\n            **payload,\n        )","source_sha256":"1b6e558b28eb2a46959d4761d391e7e755188743919bddb6f19365278d731655"}]}
SB043G_EXPERIMENT_CLASS_CONTRACT={"class":"ExperimentProvenance","decorators":["dataclass(frozen=True)"],"fields":["experiment_id","collection_start_at","code_identity","policy_registry_id","market_bundle_id","geometry_policy_id","demonov_branch_policy_id","notification_policy_id","outcome_policy_id","experiment_version","finality_policy_id","runtime_manifest_id"],"identity_methods":[{"args":["self"],"decorators":[],"kwonly":[],"name":"_base_hash_payload","source":"def _base_hash_payload(self) -> dict:\n        return {\n            \"collection_start_at\": self.collection_start_at.isoformat(),\n            \"code_identity\": self.code_identity,\n            \"policy_registry_id\": self.policy_registry_id,\n            \"market_bundle_id\": self.market_bundle_id,\n            \"geometry_policy_id\": self.geometry_policy_id,\n            \"demonov_branch_policy_id\": self.demonov_branch_policy_id,\n            \"notification_policy_id\": self.notification_policy_id,\n            \"outcome_policy_id\": self.outcome_policy_id,\n        }","source_sha256":"5c0856d58b2198065cead5610b07495683872df3c1102c76275626ef39077bbe"},{"args":["self"],"decorators":["property"],"kwonly":[],"name":"content_hash","source":"def content_hash(self) -> str:\n        payload = self._base_hash_payload()\n        if self.experiment_version == \"LIVE_PROSPECTIVE_V1\":\n            return _hash(payload)\n        if self.experiment_version == \"LIVE_PROSPECTIVE_V2\":\n            payload.update({\n                \"experiment_version\": self.experiment_version,\n                \"finality_policy_id\": self.finality_policy_id,\n                \"runtime_manifest_id\": self.runtime_manifest_id,\n            })\n            return _hash(payload)\n        raise DemonovError(\"experiment provenance version invalid\")","source_sha256":"6c1f33004948b1a62c9ae567c7556ab6d3ccb414d8fdd0ea641ad24e2577914a"},{"args":["self"],"decorators":[],"kwonly":[],"name":"__post_init__","source":"def __post_init__(self) -> None:\n        if (\n            self.collection_start_at.tzinfo is None\n            or self.collection_start_at.utcoffset() is None\n        ):\n            raise DemonovError(\n                \"experiment collection start must be timezone-aware\"\n            )\n        if self.experiment_version == \"LIVE_PROSPECTIVE_V1\":\n            if self.finality_policy_id or self.runtime_manifest_id:\n                raise DemonovError(\n                    \"V1 experiment provenance cannot bind V2 finality/runtime identity\"\n                )\n        elif self.experiment_version == \"LIVE_PROSPECTIVE_V2\":\n            if not isinstance(self.finality_policy_id, str) or not self.finality_policy_id:\n                raise DemonovError(\n                    \"V2 experiment finality policy id is required\"\n                )\n            if (\n                not isinstance(self.runtime_manifest_id, str)\n                or len(self.runtime_manifest_id) != 64\n                or any(\n                    c not in \"0123456789abcdef\"\n                    for c in self.runtime_manifest_id\n                )\n            ):\n                raise DemonovError(\n                    \"V2 experiment runtime manifest id must be lowercase sha256 hex\"\n                )\n        else:\n            raise DemonovError(\"experiment provenance version invalid\")\n        if self.experiment_id != self.content_hash:\n            raise DemonovError(\n                \"experiment provenance id must be content-addressed\"\n            )","source_sha256":"0451d874842317d2aaad4a3f285d8e8c9531610fe507c7a6c51cb7541410a8cb"},{"args":["cls"],"decorators":["classmethod"],"kwonly":[],"name":"build","source":"def build(cls, **kwargs) -> \"ExperimentProvenance\":\n        payload = dict(kwargs)\n        version = payload.get(\n            \"experiment_version\",\n            \"LIVE_PROSPECTIVE_V1\",\n        )\n        payload[\"experiment_version\"] = version\n        payload.setdefault(\"finality_policy_id\", \"\")\n        payload.setdefault(\"runtime_manifest_id\", \"\")\n        base = {\n            \"collection_start_at\": payload[\"collection_start_at\"].isoformat(),\n            \"code_identity\": payload[\"code_identity\"],\n            \"policy_registry_id\": payload[\"policy_registry_id\"],\n            \"market_bundle_id\": payload[\"market_bundle_id\"],\n            \"geometry_policy_id\": payload[\"geometry_policy_id\"],\n            \"demonov_branch_policy_id\": payload[\"demonov_branch_policy_id\"],\n            \"notification_policy_id\": payload[\"notification_policy_id\"],\n            \"outcome_policy_id\": payload[\"outcome_policy_id\"],\n        }\n        if version == \"LIVE_PROSPECTIVE_V1\":\n            eid = _hash(base)\n        elif version == \"LIVE_PROSPECTIVE_V2\":\n            eid = _hash({\n                **base,\n                \"experiment_version\": version,\n                \"finality_policy_id\": payload[\"finality_policy_id\"],\n                \"runtime_manifest_id\": payload[\"runtime_manifest_id\"],\n            })\n        else:\n            raise DemonovError(\"experiment provenance version invalid\")\n        return cls(experiment_id=eid, **payload)","source_sha256":"baff34f1b0f70ebba9ab9f354e9e91523e3cfa85fcd4ec747c1d7d62d37642c6"},{"args":["cls","data"],"decorators":["classmethod"],"kwonly":[],"name":"from_json","source":"def from_json(cls, data: dict) -> \"ExperimentProvenance\":\n        payload = dict(data)\n        payload[\"collection_start_at\"] = datetime.fromisoformat(\n            payload[\"collection_start_at\"]\n        )\n        payload.setdefault(\n            \"experiment_version\",\n            \"LIVE_PROSPECTIVE_V1\",\n        )\n        payload.setdefault(\"finality_policy_id\", \"\")\n        payload.setdefault(\"runtime_manifest_id\", \"\")\n        return cls(**payload)","source_sha256":"4b526e7094fb03b02d5e63439627dc0340040cebc9b77f557b107e475e9c4f9f"}]}
SB043G_PACKAGE_REFERENCES=[{"lineno":29,"name":"PackageCodeIdentityV1844","node":"ClassDef","path":"code_identity.py","source":"class PackageCodeIdentityV1844:\n    package_name: str\n    modules: Tuple[ModuleCodeIdentityV1844, ...]\n\n    @property\n    def package_manifest_id(self) -> str:\n        return canonical_hash({\n            \"package_name\": self.package_name,\n            \"modules\": tuple((m.relative_path, m.semantic_ast_hash, m.top_level_bindings) for m in self.modules),\n        })","source_sha256":"d4faf873bec896466fdfcd7514cd453a8646994d5f998aa3bc0b84716c3118f5"},{"lineno":80,"name":"package_code_identity","node":"FunctionDef","path":"code_identity.py","source":"def package_code_identity(package_dir: str | Path) -> PackageCodeIdentityV1844:\n    root = Path(package_dir)\n    modules = tuple(module_code_identity(p, root=root) for p in sorted(root.rglob('*.py')))\n    if not modules:\n        raise DemonovError('package contains no Python modules')\n    return PackageCodeIdentityV1844(root.name, modules)","source_sha256":"a45a4817fabf86fb8f47df513d780c6dfe1d3cc159fb428a36a5180f2020a607"},{"lineno":34,"name":"package_manifest_id","node":"FunctionDef","path":"code_identity.py","source":"def package_manifest_id(self) -> str:\n        return canonical_hash({\n            \"package_name\": self.package_name,\n            \"modules\": tuple((m.relative_path, m.semantic_ast_hash, m.top_level_bindings) for m in self.modules),\n        })","source_sha256":"7d15a9e82d5388664fa96a527ed60716f32dadb1561284ae2f7d1024ed5edb2b"},{"lineno":40,"name":null,"node":"AnnAssign","path":"runtime_manifest.py","source":"    runtime_manifest_id: str\n    code_identity: str\n    package_identity: str\n    application_image_id: str\n    base_image_digest: str","source_sha256":"e8973e35539c5cdc865235a94aa7806032fec4558a81676bd1b6b6df120e0926"},{"lineno":122,"name":null,"node":"If","path":"runtime_manifest.py","source":"    if manifest.application_image_id != actual_image_id:\n        raise DemonovError(\"runtime manifest application image mismatch\")\n    if manifest.package_identity != actual_package_identity:\n        raise DemonovError(\"runtime manifest package identity mismatch\")","source_sha256":"4136a5ccb7d998a38e77368dc0c3cd3dce49127799dc62951f9584f7de351faa"},{"lineno":40,"name":null,"node":"Name","path":"runtime_manifest.py","source":"    runtime_manifest_id: str\n    code_identity: str\n    package_identity: str\n    application_image_id: str\n    base_image_digest: str","source_sha256":"e8973e35539c5cdc865235a94aa7806032fec4558a81676bd1b6b6df120e0926"},{"lineno":67,"name":null,"node":"Expr","path":"runtime_manifest.py","source":"                \"code identity must be lowercase 40-64 hex\"\n            )\n        _sha256_hex(self.package_identity, \"package identity\")\n        _sha256_id(self.application_image_id, \"application image id\")\n        _sha256_id(self.base_image_digest, \"base image digest\")","source_sha256":"eb7af820b99d09b06910fe507ce82dd3439fe2d1a325429a7c7baa3643513897"},{"lineno":113,"name":null,"node":"arg","path":"runtime_manifest.py","source":"    expected_code_identity: str,\n    actual_image_id: str,\n    actual_package_identity: str,\n) -> None:\n    if not isinstance(manifest, RuntimeDeploymentManifestV1):","source_sha256":"9ca161961de23dfb6e30851f61395e6edfa3f623e6b40f9a46812eb4fcd7311d"},{"lineno":122,"name":null,"node":"Compare","path":"runtime_manifest.py","source":"    if manifest.application_image_id != actual_image_id:\n        raise DemonovError(\"runtime manifest application image mismatch\")\n    if manifest.package_identity != actual_package_identity:\n        raise DemonovError(\"runtime manifest package identity mismatch\")","source_sha256":"4136a5ccb7d998a38e77368dc0c3cd3dce49127799dc62951f9584f7de351faa"},{"lineno":67,"name":null,"node":"Call","path":"runtime_manifest.py","source":"                \"code identity must be lowercase 40-64 hex\"\n            )\n        _sha256_hex(self.package_identity, \"package identity\")\n        _sha256_id(self.application_image_id, \"application image id\")\n        _sha256_id(self.base_image_digest, \"base image digest\")","source_sha256":"eb7af820b99d09b06910fe507ce82dd3439fe2d1a325429a7c7baa3643513897"},{"lineno":82,"name":null,"node":"arg","path":"runtime_manifest.py","source":"        *,\n        code_identity: str,\n        package_identity: str,\n        application_image_id: str,\n        base_image_digest: str,","source_sha256":"3318eac6352275bf21d2ce04604537ac7aa59a61c2ce6ebbc588a03acbfec5e6"},{"lineno":113,"name":null,"node":"Name","path":"runtime_manifest.py","source":"    expected_code_identity: str,\n    actual_image_id: str,\n    actual_package_identity: str,\n) -> None:\n    if not isinstance(manifest, RuntimeDeploymentManifestV1):","source_sha256":"9ca161961de23dfb6e30851f61395e6edfa3f623e6b40f9a46812eb4fcd7311d"},{"lineno":122,"name":null,"node":"Attribute","path":"runtime_manifest.py","source":"    if manifest.application_image_id != actual_image_id:\n        raise DemonovError(\"runtime manifest application image mismatch\")\n    if manifest.package_identity != actual_package_identity:\n        raise DemonovError(\"runtime manifest package identity mismatch\")","source_sha256":"4136a5ccb7d998a38e77368dc0c3cd3dce49127799dc62951f9584f7de351faa"},{"lineno":122,"name":null,"node":"Name","path":"runtime_manifest.py","source":"    if manifest.application_image_id != actual_image_id:\n        raise DemonovError(\"runtime manifest application image mismatch\")\n    if manifest.package_identity != actual_package_identity:\n        raise DemonovError(\"runtime manifest package identity mismatch\")","source_sha256":"4136a5ccb7d998a38e77368dc0c3cd3dce49127799dc62951f9584f7de351faa"},{"lineno":67,"name":null,"node":"Name","path":"runtime_manifest.py","source":"                \"code identity must be lowercase 40-64 hex\"\n            )\n        _sha256_hex(self.package_identity, \"package identity\")\n        _sha256_id(self.application_image_id, \"application image id\")\n        _sha256_id(self.base_image_digest, \"base image digest\")","source_sha256":"eb7af820b99d09b06910fe507ce82dd3439fe2d1a325429a7c7baa3643513897"},{"lineno":67,"name":null,"node":"Attribute","path":"runtime_manifest.py","source":"                \"code identity must be lowercase 40-64 hex\"\n            )\n        _sha256_hex(self.package_identity, \"package identity\")\n        _sha256_id(self.application_image_id, \"application image id\")\n        _sha256_id(self.base_image_digest, \"base image digest\")","source_sha256":"eb7af820b99d09b06910fe507ce82dd3439fe2d1a325429a7c7baa3643513897"},{"lineno":67,"name":null,"node":"Constant","path":"runtime_manifest.py","source":"                \"code identity must be lowercase 40-64 hex\"\n            )\n        _sha256_hex(self.package_identity, \"package identity\")\n        _sha256_id(self.application_image_id, \"application image id\")\n        _sha256_id(self.base_image_digest, \"base image digest\")","source_sha256":"eb7af820b99d09b06910fe507ce82dd3439fe2d1a325429a7c7baa3643513897"},{"lineno":82,"name":null,"node":"Name","path":"runtime_manifest.py","source":"        *,\n        code_identity: str,\n        package_identity: str,\n        application_image_id: str,\n        base_image_digest: str,","source_sha256":"3318eac6352275bf21d2ce04604537ac7aa59a61c2ce6ebbc588a03acbfec5e6"},{"lineno":90,"name":null,"node":"Constant","path":"runtime_manifest.py","source":"        payload = {\n            \"code_identity\": code_identity,\n            \"package_identity\": package_identity,\n            \"application_image_id\": application_image_id,\n            \"base_image_digest\": base_image_digest,","source_sha256":"3a24759c9d3fea5a1002cabae3ef4b398ccbafde61c4afea25ca3a997b324157"},{"lineno":90,"name":null,"node":"Name","path":"runtime_manifest.py","source":"        payload = {\n            \"code_identity\": code_identity,\n            \"package_identity\": package_identity,\n            \"application_image_id\": application_image_id,\n            \"base_image_digest\": base_image_digest,","source_sha256":"3a24759c9d3fea5a1002cabae3ef4b398ccbafde61c4afea25ca3a997b324157"},{"lineno":52,"name":null,"node":"Constant","path":"runtime_manifest.py","source":"                \"schema\": \"CR0116_RUNTIME_DEPLOYMENT_MANIFEST_V1\",\n                \"code_identity\": self.code_identity,\n                \"package_identity\": self.package_identity,\n                \"application_image_id\": self.application_image_id,\n                \"base_image_digest\": self.base_image_digest,","source_sha256":"328fe038817500e32b4271d965c5ac98a2c391baf0b753e2b1709022c6fbcc61"},{"lineno":52,"name":null,"node":"Attribute","path":"runtime_manifest.py","source":"                \"schema\": \"CR0116_RUNTIME_DEPLOYMENT_MANIFEST_V1\",\n                \"code_identity\": self.code_identity,\n                \"package_identity\": self.package_identity,\n                \"application_image_id\": self.application_image_id,\n                \"base_image_digest\": self.base_image_digest,","source_sha256":"328fe038817500e32b4271d965c5ac98a2c391baf0b753e2b1709022c6fbcc61"},{"lineno":52,"name":null,"node":"Name","path":"runtime_manifest.py","source":"                \"schema\": \"CR0116_RUNTIME_DEPLOYMENT_MANIFEST_V1\",\n                \"code_identity\": self.code_identity,\n                \"package_identity\": self.package_identity,\n                \"application_image_id\": self.application_image_id,\n                \"base_image_digest\": self.base_image_digest,","source_sha256":"328fe038817500e32b4271d965c5ac98a2c391baf0b753e2b1709022c6fbcc61"}]
SB043G_OLD_PACKAGE_DIRECT={"compressed_sha256":"389e7aabca8887ee3b48b6ff0b4affe1163216005a4888013d9ccc82ea360e32","new_dir_file_count":57,"old_dir_file_count":57,"old_package_identity":"637acba19fb29c98408a8031dc9265a31dc36551c666fcf0b287e8af83d2b893","tar_exists":true,"tar_sha256":"431ddf9e8938d5e583553f05f9e3d019aff0b439c83b0b23c81808073b7d61a8"}
SB043G_PACKAGE_CANDIDATE_MATCHES=[]
SB043G_DERIVED_NEW_PACKAGE_CANDIDATES=[]
SB043G_OLD_MANIFEST_OBJECT={"application_image_id":"sha256:403c4266282a56cb210bed95cd58295692296502913e7440e2133d7b5664c736","base_image_digest":"sha256:881d80734ee05dca6f7f42dcb080975652a53c7eda9ba1f03bb8da31aa6a6ec2","code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","compose_hash":"6461532b0a04decc60fe1d1885990020e886d40de40c0523e34e2849600af061","finality_policy_id":"BITFINEX_SEQ_ALL_D1_V1","package_identity":"637acba19fb29c98408a8031dc9265a31dc36551c666fcf0b287e8af83d2b893","runtime_manifest_id":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"}
SB043G_OLD_EXPERIMENT_OBJECT={"code_identity":"e32760c69a4311728db9066ee8bf2bf66b1e5a70","collection_start_at":"2026-09-07T00:00:00+00:00","demonov_branch_policy_id":"ALL_FROZEN_PROFILES_ALL_NODES_RESEARCH_V1","experiment_id":"ec477ea41ecbd5cfdef5afc259595aab20674a7d933f41a389329ff05098b338","experiment_version":"LIVE_PROSPECTIVE_V2","finality_policy_id":"BITFINEX_SEQ_ALL_D1_V1","geometry_policy_id":"RESEARCH_RECONSTRUCTION_8020_V1","market_bundle_id":"78dbbebab22f49bfc4866b40e2362886b1441790d8a73a005a4eb09a5d2c64ae","notification_policy_id":"SIGNIFICANT_STATE_CHANGE_EMAIL_V1","outcome_policy_id":"DIRECTIONAL_CLOSE_AFTER_7_D1_BARS_V1","policy_registry_id":"055d0b052d394f1e08176b035617fbdd96f04fff0cdfb195c2d736fd66e6ad37","runtime_manifest_id":"58d3b59200bdc0eb8d448612679d667b194263586cb3198dfc08597935053a1a"}
SB043G_HOLDS=[]
SB043G_DECISION=SEAL_GENERATION_EVIDENCE_READY
SB043G_MUTATION_SCOPE=NONE_READ_ONLY
SIGNALBOT043G_HOLDS=[]
SIGNALBOT043G_DECISION=SEAL_GENERATION_EVIDENCE_READY
SIGNALBOT043G_MUTATION_SCOPE=NO_RUNTIME_NO_GIT_NO_EXCHANGE_MUTATION

OUTPUT_END
CHAT_OUTPUT_END
