engineering-platform 2.3.103__tar.gz → 2.3.104__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/PKG-INFO +1 -1
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/pyproject.toml +1 -1
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/ENGINEERING_PLATFORM_CONFIG.json +1 -1
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/ENGINEERING_PLATFORM_VERSION.json +4 -4
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/platform_version.py +1 -1
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/system_instance_lifecycle.py +19 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/templates/workspace-config.json +1 -1
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform.egg-info/PKG-INFO +1 -1
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/README.md +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/setup.cfg +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/__init__.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/__main__.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/agent_state.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/agent_trust.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/dashboard.css +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/dashboard.js +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/dashboard_locales.mjs +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/dashboard_status_store.mjs +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/dashboard_translation.mjs +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/operations-console/apple-touch-icon-dark.png +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/operations-console/apple-touch-icon-light.png +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/operations-console/icon-dark.png +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/operations-console/icon-light.png +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/operations-console/icon-transparent.png +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assets/operations-console/manifest.webmanifest +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/assurance_scope.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/capability_preflight.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/capability_review.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/central_data_transfer.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/central_database.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/central_operational_reset.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/central_store_migration.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/codex_capacity.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/codex_chat.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/codex_observability.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/component_lock.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/component_logging.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/console_presentation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/console_route_ownership.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/contracts/__init__.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/contracts/ep_consumer.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/contracts/models.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/contracts/projection.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/dashboard_browser_validation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/dashboard_state.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/dashboard_supervisor.swift +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/dashboard_translation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/dependabot_producer.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/development_profile.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/drift_diagnostics.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/emergency_recovery.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/engineering_memory.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/ep_consumer_credentials.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/evidence_projection.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_activity.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_context.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_errors.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_evidence.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_executor.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_finalization.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_host.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_host_evidence.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_lease.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_lifecycle.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_models.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_readiness.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_reporting.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_repository.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_timeout_policy.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_timing.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/execution_transaction.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/external_producer_binding.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/file_inbox.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/forensic_attribution.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/forensic_attribution_v2.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/forensic_delta.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/golden_scenario.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/historical_dashboard_configuration.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/host_admin.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/host_preflight.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_relocation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_activation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_admission.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_backup.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_composition.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_executor.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_migration.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_operation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_plan.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/installation_update_preparation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/investigation_ledger.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/legacy_inbox_migration.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/legacy_installation_adoption.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/lifecycle_worker.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/live_status.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/local_api.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/local_api_keychain.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/local_repository_binding.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/managed_autonomy.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/managed_codex_runtime.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/managed_workspace_readiness.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/managed_workspace_recovery.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/merge_delegation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/operational_installation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/operational_installation_lock.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/operational_installation_record.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/owner_credential_recovery.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/parity_context.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/parity_lifecycle_dispatcher.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/platform_admin.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/platform_api.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/platform_bootstrap.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/platform_components.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/pr_check_repair.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/pr_evidence_backfill.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/producer.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/product_installation_readback.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/project_agent.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/project_agent_service.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/project_topology.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/prompt_history.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_context.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_context_benchmark.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_context_scope.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_interruption.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_process_identity.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_readiness.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_recovery.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/provider_usage.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/providers.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/qualification.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/qualification_runtime.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/recommendation_handoff.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/reconciliation_adoption.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/release_operation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/report_analysis.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/repository_attachment.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/repository_handoff.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/resources.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/reviewer_evidence.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/revision_binding.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/schemas/producer-readback-v1.2.schema.json +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/schemas/producer-readback-v1.3.schema.json +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/schemas/producer-readback-v1.schema.json +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/schemas/repository-attachment.schema.json +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/server.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/server_console_services.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/server_relay.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/server_service.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/status_model.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/status_reconciliation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/storage.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/submission_cli.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/submission_intake.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/submission_service.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/system_installation_topology.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/system_instance_provisioner.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/system_provider_context.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/system_server_service.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/telemetry.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/telemetry_contract.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/telemetry_export.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/telemetry_metrics.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/terminal_evidence_reconciliation.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/validation_identity.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/validation_profile.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/version_preparation_delivery.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/workspace_preflight.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/worktree_provenance.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/worktree_tooling.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform.egg-info/SOURCES.txt +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform.egg-info/dependency_links.txt +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform.egg-info/entry_points.txt +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform.egg-info/top_level.txt +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/tests/test_adaptive_action_sizing_design.py +0 -0
- {engineering_platform-2.3.103 → engineering_platform-2.3.104}/tests/test_role_task_model_policy_design.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "engineering-platform"
|
|
7
|
-
version = "2.3.
|
|
7
|
+
version = "2.3.104"
|
|
8
8
|
description = "Local-first Engineering Platform execution operations runtime"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.14,<3.15"
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bootstrap_contract": "2026.12",
|
|
3
3
|
"checkpoint_format": 1,
|
|
4
|
-
"dashboard_version": "2.3.
|
|
4
|
+
"dashboard_version": "2.3.104",
|
|
5
5
|
"handoff_protocol": 1,
|
|
6
6
|
"memory_format": 2,
|
|
7
7
|
"minimum_codex_cli": "0.146.0",
|
|
8
8
|
"inbox_protocol": 1,
|
|
9
|
-
"platform_version": "2.3.
|
|
9
|
+
"platform_version": "2.3.104",
|
|
10
10
|
"report_format": 2,
|
|
11
|
-
"runner_version": "2.3.
|
|
11
|
+
"runner_version": "2.3.104",
|
|
12
12
|
"status_model": 1,
|
|
13
13
|
"storage_schema": 45,
|
|
14
|
-
"watcher_version": "2.3.
|
|
14
|
+
"watcher_version": "2.3.104"
|
|
15
15
|
}
|
|
@@ -12,7 +12,7 @@ from .storage import ENGINEERING_STORAGE_SCHEMA_VERSION
|
|
|
12
12
|
|
|
13
13
|
SEMVER = re.compile(r"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$")
|
|
14
14
|
CONTRACT = re.compile(r"^(\d{4})\.(0[1-9]|1[0-2])$")
|
|
15
|
-
CURRENT_PLATFORM_VERSION = "2.3.
|
|
15
|
+
CURRENT_PLATFORM_VERSION = "2.3.104"
|
|
16
16
|
MANIFEST_FIELDS = frozenset(
|
|
17
17
|
{
|
|
18
18
|
"platform_version",
|
|
@@ -97,10 +97,22 @@ def _atomic_json(path: Path, value: Mapping[str, object]) -> None:
|
|
|
97
97
|
temporary.unlink(missing_ok=True)
|
|
98
98
|
|
|
99
99
|
|
|
100
|
+
def _assert_owned_mode(path: Path, details: os.stat_result) -> None:
|
|
101
|
+
if stat.S_IMODE(details.st_mode) & 0o022:
|
|
102
|
+
raise SystemInstanceLifecycleError(
|
|
103
|
+
f"EP preserved instance contains group/world-writable entry: {path}"
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
|
|
100
107
|
def _regular_digest(path: Path) -> str:
|
|
101
108
|
details = path.lstat()
|
|
102
109
|
if path.is_symlink() or not stat.S_ISREG(details.st_mode):
|
|
103
110
|
raise SystemInstanceLifecycleError(f"EP preserved instance contains unsafe entry: {path}")
|
|
111
|
+
_assert_owned_mode(path, details)
|
|
112
|
+
if details.st_nlink != 1:
|
|
113
|
+
raise SystemInstanceLifecycleError(
|
|
114
|
+
f"EP preserved instance contains non-exclusive hardlink: {path}"
|
|
115
|
+
)
|
|
104
116
|
digest = hashlib.sha256()
|
|
105
117
|
with path.open("rb") as stream:
|
|
106
118
|
while True:
|
|
@@ -118,6 +130,7 @@ def _tree_digest(root: Path, *, ignored_roots: tuple[Path, ...] = ()) -> str:
|
|
|
118
130
|
raise SystemInstanceLifecycleError("EP preserved instance root is unavailable") from error
|
|
119
131
|
if root.is_symlink() or not stat.S_ISDIR(details.st_mode):
|
|
120
132
|
raise SystemInstanceLifecycleError("EP preserved instance root is unsafe")
|
|
133
|
+
_assert_owned_mode(root, details)
|
|
121
134
|
ignored: tuple[tuple[str, ...], ...] = tuple(
|
|
122
135
|
path.relative_to(root).parts for path in ignored_roots
|
|
123
136
|
)
|
|
@@ -137,6 +150,7 @@ def _tree_digest(root: Path, *, ignored_roots: tuple[Path, ...] = ()) -> str:
|
|
|
137
150
|
info = path.lstat()
|
|
138
151
|
if stat.S_ISLNK(info.st_mode) or not stat.S_ISDIR(info.st_mode):
|
|
139
152
|
raise SystemInstanceLifecycleError(f"EP preserved instance contains unsafe entry: {path}")
|
|
153
|
+
_assert_owned_mode(path, info)
|
|
140
154
|
entries.append({
|
|
141
155
|
"path": str(path.relative_to(root)),
|
|
142
156
|
"kind": "DIRECTORY",
|
|
@@ -327,6 +341,7 @@ class SystemInstanceLifecycle:
|
|
|
327
341
|
raise SystemInstanceLifecycleError("EP preserved instance changed after terminal preserve")
|
|
328
342
|
return receipt
|
|
329
343
|
with _Lock(instance.lifecycle_lock):
|
|
344
|
+
_tree_digest(instance.root)
|
|
330
345
|
self.controller.remove(instance)
|
|
331
346
|
if self.controller.loaded(instance) or self.service_interpreter(instance) is not None:
|
|
332
347
|
raise SystemInstanceLifecycleError("EP preserved service was not fully removed")
|
|
@@ -441,6 +456,10 @@ class SystemInstanceLifecycle:
|
|
|
441
456
|
if state.get("phase") == "COMPLETE":
|
|
442
457
|
return state
|
|
443
458
|
with _Lock(instance.lifecycle_lock):
|
|
459
|
+
_tree_digest(
|
|
460
|
+
instance.root,
|
|
461
|
+
ignored_roots=(instance.operations_root / operation_id,),
|
|
462
|
+
)
|
|
444
463
|
self.controller.remove(instance)
|
|
445
464
|
if self.controller.loaded(instance) or self.service_interpreter(instance) is not None:
|
|
446
465
|
raise SystemInstanceLifecycleError("EP purge service was not fully removed")
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/__init__.py
RENAMED
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/codex_chat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/file_inbox.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/host_admin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/local_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/producer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/providers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/resources.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/storage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.103 → engineering_platform-2.3.104}/src/engineering_platform/telemetry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|