engineering-platform 2.3.89__tar.gz → 2.3.90__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.
Files changed (170) hide show
  1. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/PKG-INFO +1 -1
  2. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/pyproject.toml +1 -1
  3. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/ENGINEERING_PLATFORM_CONFIG.json +1 -1
  4. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/ENGINEERING_PLATFORM_VERSION.json +4 -4
  5. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/central_operational_reset.py +32 -7
  6. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/platform_version.py +1 -1
  7. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/templates/workspace-config.json +1 -1
  8. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform.egg-info/PKG-INFO +1 -1
  9. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/README.md +0 -0
  10. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/setup.cfg +0 -0
  11. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/__init__.py +0 -0
  12. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/__main__.py +0 -0
  13. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/agent_state.py +0 -0
  14. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/agent_trust.py +0 -0
  15. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/dashboard.css +0 -0
  16. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/dashboard.js +0 -0
  17. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/dashboard_locales.mjs +0 -0
  18. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/dashboard_status_store.mjs +0 -0
  19. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/dashboard_translation.mjs +0 -0
  20. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/operations-console/apple-touch-icon-dark.png +0 -0
  21. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/operations-console/apple-touch-icon-light.png +0 -0
  22. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/operations-console/icon-dark.png +0 -0
  23. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/operations-console/icon-light.png +0 -0
  24. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/operations-console/icon-transparent.png +0 -0
  25. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assets/operations-console/manifest.webmanifest +0 -0
  26. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/assurance_scope.py +0 -0
  27. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/capability_preflight.py +0 -0
  28. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/capability_review.py +0 -0
  29. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/central_data_transfer.py +0 -0
  30. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/central_database.py +0 -0
  31. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/central_store_migration.py +0 -0
  32. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/codex_capacity.py +0 -0
  33. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/codex_chat.py +0 -0
  34. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/codex_observability.py +0 -0
  35. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/component_lock.py +0 -0
  36. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/component_logging.py +0 -0
  37. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/console_presentation.py +0 -0
  38. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/console_route_ownership.py +0 -0
  39. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/contracts/__init__.py +0 -0
  40. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/contracts/ep_consumer.py +0 -0
  41. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/contracts/models.py +0 -0
  42. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/contracts/projection.py +0 -0
  43. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/dashboard_browser_validation.py +0 -0
  44. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/dashboard_state.py +0 -0
  45. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/dashboard_supervisor.swift +0 -0
  46. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/dashboard_translation.py +0 -0
  47. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/dependabot_producer.py +0 -0
  48. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/development_profile.py +0 -0
  49. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/drift_diagnostics.py +0 -0
  50. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/emergency_recovery.py +0 -0
  51. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/engineering_memory.py +0 -0
  52. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/ep_consumer_credentials.py +0 -0
  53. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/evidence_projection.py +0 -0
  54. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_activity.py +0 -0
  55. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_context.py +0 -0
  56. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_errors.py +0 -0
  57. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_evidence.py +0 -0
  58. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_executor.py +0 -0
  59. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_finalization.py +0 -0
  60. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_host.py +0 -0
  61. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_host_evidence.py +0 -0
  62. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_lease.py +0 -0
  63. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_lifecycle.py +0 -0
  64. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_models.py +0 -0
  65. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_readiness.py +0 -0
  66. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_reporting.py +0 -0
  67. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_repository.py +0 -0
  68. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_timeout_policy.py +0 -0
  69. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_timing.py +0 -0
  70. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/execution_transaction.py +0 -0
  71. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/external_producer_binding.py +0 -0
  72. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/file_inbox.py +0 -0
  73. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/forensic_attribution.py +0 -0
  74. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/forensic_attribution_v2.py +0 -0
  75. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/forensic_delta.py +0 -0
  76. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/golden_scenario.py +0 -0
  77. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/historical_dashboard_configuration.py +0 -0
  78. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/host_admin.py +0 -0
  79. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/host_preflight.py +0 -0
  80. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_relocation.py +0 -0
  81. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_activation.py +0 -0
  82. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_admission.py +0 -0
  83. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_backup.py +0 -0
  84. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_composition.py +0 -0
  85. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_executor.py +0 -0
  86. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_migration.py +0 -0
  87. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_operation.py +0 -0
  88. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_plan.py +0 -0
  89. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/installation_update_preparation.py +0 -0
  90. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/investigation_ledger.py +0 -0
  91. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/legacy_inbox_migration.py +0 -0
  92. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/legacy_installation_adoption.py +0 -0
  93. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/lifecycle_worker.py +0 -0
  94. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/live_status.py +0 -0
  95. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/local_api.py +0 -0
  96. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/local_api_keychain.py +0 -0
  97. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/local_repository_binding.py +0 -0
  98. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/managed_autonomy.py +0 -0
  99. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/managed_codex_runtime.py +0 -0
  100. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/merge_delegation.py +0 -0
  101. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/operational_installation.py +0 -0
  102. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/operational_installation_lock.py +0 -0
  103. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/operational_installation_record.py +0 -0
  104. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/owner_credential_recovery.py +0 -0
  105. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/parity_context.py +0 -0
  106. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/parity_lifecycle_dispatcher.py +0 -0
  107. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/platform_admin.py +0 -0
  108. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/platform_api.py +0 -0
  109. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/platform_bootstrap.py +0 -0
  110. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/platform_components.py +0 -0
  111. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/pr_check_repair.py +0 -0
  112. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/pr_evidence_backfill.py +0 -0
  113. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/producer.py +0 -0
  114. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/product_installation_readback.py +0 -0
  115. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/project_agent.py +0 -0
  116. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/project_agent_service.py +0 -0
  117. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/project_topology.py +0 -0
  118. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/prompt_history.py +0 -0
  119. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_context.py +0 -0
  120. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_context_benchmark.py +0 -0
  121. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_context_scope.py +0 -0
  122. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_interruption.py +0 -0
  123. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_process_identity.py +0 -0
  124. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_readiness.py +0 -0
  125. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_recovery.py +0 -0
  126. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/provider_usage.py +0 -0
  127. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/providers.py +0 -0
  128. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/qualification.py +0 -0
  129. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/qualification_runtime.py +0 -0
  130. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/recommendation_handoff.py +0 -0
  131. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/reconciliation_adoption.py +0 -0
  132. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/release_operation.py +0 -0
  133. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/report_analysis.py +0 -0
  134. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/repository_attachment.py +0 -0
  135. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/repository_handoff.py +0 -0
  136. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/resources.py +0 -0
  137. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/reviewer_evidence.py +0 -0
  138. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/revision_binding.py +0 -0
  139. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/schemas/producer-readback-v1.2.schema.json +0 -0
  140. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/schemas/producer-readback-v1.schema.json +0 -0
  141. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/schemas/repository-attachment.schema.json +0 -0
  142. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/server.py +0 -0
  143. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/server_console_services.py +0 -0
  144. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/server_relay.py +0 -0
  145. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/server_service.py +0 -0
  146. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/status_model.py +0 -0
  147. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/status_reconciliation.py +0 -0
  148. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/storage.py +0 -0
  149. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/submission_cli.py +0 -0
  150. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/submission_intake.py +0 -0
  151. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/submission_service.py +0 -0
  152. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/system_installation_topology.py +0 -0
  153. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/system_server_service.py +0 -0
  154. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/telemetry.py +0 -0
  155. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/telemetry_contract.py +0 -0
  156. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/telemetry_export.py +0 -0
  157. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/telemetry_metrics.py +0 -0
  158. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/terminal_evidence_reconciliation.py +0 -0
  159. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/validation_identity.py +0 -0
  160. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/validation_profile.py +0 -0
  161. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/version_preparation_delivery.py +0 -0
  162. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/workspace_preflight.py +0 -0
  163. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/worktree_provenance.py +0 -0
  164. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform/worktree_tooling.py +0 -0
  165. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform.egg-info/SOURCES.txt +0 -0
  166. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform.egg-info/dependency_links.txt +0 -0
  167. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform.egg-info/entry_points.txt +0 -0
  168. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/src/engineering_platform.egg-info/top_level.txt +0 -0
  169. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/tests/test_adaptive_action_sizing_design.py +0 -0
  170. {engineering_platform-2.3.89 → engineering_platform-2.3.90}/tests/test_role_task_model_policy_design.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: engineering-platform
3
- Version: 2.3.89
3
+ Version: 2.3.90
4
4
  Summary: Local-first Engineering Platform execution operations runtime
5
5
  Author: Peter van Tol
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "engineering-platform"
7
- version = "2.3.89"
7
+ version = "2.3.90"
8
8
  description = "Local-first Engineering Platform execution operations runtime"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.14,<3.15"
@@ -3,7 +3,7 @@
3
3
  "platform": {
4
4
  "id": "engineering-platform",
5
5
  "name": "Engineering Platform",
6
- "version": "2.3.89",
6
+ "version": "2.3.90",
7
7
  "generation": 2,
8
8
  "documentation_namespace": "engineering-platform",
9
9
  "capability_registry_version": 1
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "bootstrap_contract": "2026.12",
3
3
  "checkpoint_format": 1,
4
- "dashboard_version": "2.3.89",
4
+ "dashboard_version": "2.3.90",
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.89",
9
+ "platform_version": "2.3.90",
10
10
  "report_format": 2,
11
- "runner_version": "2.3.89",
11
+ "runner_version": "2.3.90",
12
12
  "status_model": 1,
13
13
  "storage_schema": 45,
14
- "watcher_version": "2.3.89"
14
+ "watcher_version": "2.3.90"
15
15
  }
@@ -223,6 +223,31 @@ def _implementation_digest() -> str:
223
223
  })
224
224
 
225
225
 
226
+ # The published 2.3.89 reset implementation can leave an operation at
227
+ # ARTIFACTS_ARCHIVED when operational engineering_metadata rows are present.
228
+ # Permit only that exact installed implementation to cross the fixed apply
229
+ # boundary; the plan, backup, identity, schema, generation and fences are still
230
+ # verified by apply before any database effect.
231
+ _ARCHIVED_RESET_COMPATIBILITY = frozenset({
232
+ ("2.3.89", "UNAVAILABLE_IN_INSTALLED_PACKAGE",
233
+ "sha256:17ec03725e15672ef9511382e0b3d2c72e3f502823a35b89bea170882f4a14b8"),
234
+ })
235
+
236
+
237
+ def _implementation_binding_valid(plan: dict[str, object], state: str) -> bool:
238
+ binding = (
239
+ plan.get("product_version"), plan.get("implementation_source_revision"),
240
+ plan.get("implementation_digest"),
241
+ )
242
+ current = (
243
+ CURRENT_PLATFORM_VERSION, _implementation_source_revision(),
244
+ _implementation_digest(),
245
+ )
246
+ return binding == current or (
247
+ state == "ARTIFACTS_ARCHIVED" and binding in _ARCHIVED_RESET_COMPATIBILITY
248
+ )
249
+
250
+
226
251
  def _implementation_source_revision() -> str:
227
252
  try:
228
253
  module = Path(__file__).resolve()
@@ -2302,11 +2327,7 @@ def apply(data_root: Path, *, operation_id: str, plan_digest: str) -> dict[str,
2302
2327
  raise OperationalResetError("PRESERVED_BINDINGS_CHANGED")
2303
2328
  if _schema_objects(connection) != plan["schema_objects"]:
2304
2329
  raise OperationalResetError("SCHEMA_OBJECTS_CHANGED")
2305
- if (
2306
- plan.get("product_version") != CURRENT_PLATFORM_VERSION
2307
- or plan.get("implementation_source_revision") != _implementation_source_revision()
2308
- or plan.get("implementation_digest") != _implementation_digest()
2309
- ):
2330
+ if not _implementation_binding_valid(plan, "ARTIFACTS_ARCHIVED"):
2310
2331
  raise OperationalResetError("IMPLEMENTATION_PROVENANCE_CHANGED")
2311
2332
  generation_before = int(connection.execute(
2312
2333
  "SELECT generation FROM ep_operational_dataset_state WHERE singleton=1"
@@ -2316,11 +2337,15 @@ def apply(data_root: Path, *, operation_id: str, plan_digest: str) -> dict[str,
2316
2337
  # Immutable-evidence and maintenance-block triggers are removed and
2317
2338
  # recreated inside this one uncommitted transaction. Other writers
2318
2339
  # cannot observe an unfenced schema window.
2340
+ reset_trigger_tables = (
2341
+ OPERATIONAL_HISTORY | DERIVED_CACHE_OR_PROJECTION
2342
+ | {"engineering_metadata"}
2343
+ )
2319
2344
  triggers = [
2320
2345
  (str(name), str(sql)) for name, sql in connection.execute(
2321
2346
  "SELECT name,sql FROM sqlite_master WHERE type='trigger' AND tbl_name IN ("
2322
- + ",".join("?" for _ in (OPERATIONAL_HISTORY | DERIVED_CACHE_OR_PROJECTION)) + ")",
2323
- tuple(sorted(OPERATIONAL_HISTORY | DERIVED_CACHE_OR_PROJECTION)),
2347
+ + ",".join("?" for _ in reset_trigger_tables) + ")",
2348
+ tuple(sorted(reset_trigger_tables)),
2324
2349
  ).fetchall() if sql is not None
2325
2350
  ]
2326
2351
  for name, _sql in triggers:
@@ -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.89"
15
+ CURRENT_PLATFORM_VERSION = "2.3.90"
16
16
  MANIFEST_FIELDS = frozenset(
17
17
  {
18
18
  "platform_version",
@@ -3,7 +3,7 @@
3
3
  "platform": {
4
4
  "id": "engineering-platform",
5
5
  "name": "Engineering Platform",
6
- "version": "2.3.89",
6
+ "version": "2.3.90",
7
7
  "generation": 2,
8
8
  "documentation_namespace": "engineering-platform",
9
9
  "capability_registry_version": 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: engineering-platform
3
- Version: 2.3.89
3
+ Version: 2.3.90
4
4
  Summary: Local-first Engineering Platform execution operations runtime
5
5
  Author: Peter van Tol
6
6
  License: MIT