engineering-platform 2.3.68__tar.gz → 2.3.70__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.68 → engineering_platform-2.3.70}/PKG-INFO +1 -1
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/pyproject.toml +1 -1
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/ENGINEERING_PLATFORM_CONFIG.json +1 -1
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/ENGINEERING_PLATFORM_VERSION.json +4 -4
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/dashboard.js +18 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/dashboard_locales.mjs +10 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_host.py +14 -6
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/platform_version.py +1 -1
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/templates/workspace-config.json +1 -1
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform.egg-info/PKG-INFO +1 -1
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/README.md +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/setup.cfg +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/__init__.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/__main__.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/agent_state.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/agent_trust.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/dashboard.css +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/dashboard_status_store.mjs +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/dashboard_translation.mjs +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/operations-console/apple-touch-icon-dark.png +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/operations-console/apple-touch-icon-light.png +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/operations-console/icon-dark.png +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/operations-console/icon-light.png +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/operations-console/icon-transparent.png +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/assets/operations-console/manifest.webmanifest +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/capability_preflight.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/capability_review.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/central_data_transfer.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/central_database.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/central_store_migration.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/codex_capacity.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/codex_chat.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/codex_observability.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/component_lock.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/component_logging.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/console_presentation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/console_route_ownership.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/contracts/__init__.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/contracts/ep_consumer.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/contracts/models.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/contracts/projection.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/dashboard_browser_validation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/dashboard_state.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/dashboard_supervisor.swift +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/dashboard_translation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/dependabot_producer.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/development_profile.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/drift_diagnostics.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/emergency_recovery.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/engineering_memory.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/ep_consumer_credentials.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/evidence_projection.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_activity.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_context.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_errors.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_evidence.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_executor.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_finalization.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_host_evidence.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_lease.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_lifecycle.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_models.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_readiness.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_reporting.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_repository.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_timeout_policy.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_timing.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/execution_transaction.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/external_producer_binding.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/file_inbox.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/forensic_attribution.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/forensic_attribution_v2.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/forensic_delta.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/golden_scenario.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/historical_dashboard_configuration.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/host_admin.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/host_preflight.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_relocation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_activation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_admission.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_backup.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_composition.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_executor.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_migration.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_operation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_plan.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/installation_update_preparation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/investigation_ledger.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/legacy_inbox_migration.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/legacy_installation_adoption.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/lifecycle_worker.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/live_status.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/local_api.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/local_api_keychain.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/local_repository_binding.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/managed_autonomy.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/managed_codex_runtime.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/operational_installation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/operational_installation_lock.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/operational_installation_record.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/owner_credential_recovery.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/parity_context.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/parity_lifecycle_dispatcher.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/platform_admin.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/platform_api.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/platform_bootstrap.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/platform_components.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/pr_check_repair.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/pr_evidence_backfill.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/producer.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/product_installation_readback.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/project_agent.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/project_agent_service.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/project_topology.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/prompt_history.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_context.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_context_benchmark.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_context_scope.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_interruption.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_process_identity.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_readiness.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_recovery.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/provider_usage.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/providers.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/qualification.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/qualification_runtime.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/recommendation_handoff.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/release_operation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/report_analysis.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/repository_attachment.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/repository_handoff.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/resources.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/reviewer_evidence.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/revision_binding.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/schemas/producer-readback-v1.2.schema.json +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/schemas/producer-readback-v1.schema.json +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/schemas/repository-attachment.schema.json +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/server.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/server_console_services.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/server_relay.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/server_service.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/status_model.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/status_reconciliation.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/storage.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/submission_cli.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/submission_intake.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/submission_service.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/system_installation_topology.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/system_server_service.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/telemetry.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/validation_identity.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/validation_profile.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/version_preparation_delivery.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/workspace_preflight.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/worktree_provenance.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/worktree_tooling.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform.egg-info/SOURCES.txt +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform.egg-info/dependency_links.txt +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform.egg-info/entry_points.txt +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform.egg-info/top_level.txt +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/tests/test_adaptive_action_sizing_design.py +0 -0
- {engineering_platform-2.3.68 → engineering_platform-2.3.70}/tests/test_role_task_model_policy_design.py +0 -0
|
@@ -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.70",
|
|
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.70",
|
|
10
10
|
"report_format": 2,
|
|
11
|
-
"runner_version": "2.3.
|
|
11
|
+
"runner_version": "2.3.70",
|
|
12
12
|
"status_model": 1,
|
|
13
13
|
"storage_schema": 44,
|
|
14
|
-
"watcher_version": "2.3.
|
|
14
|
+
"watcher_version": "2.3.70"
|
|
15
15
|
}
|
|
@@ -349,10 +349,22 @@ function phaseAwareRange(estimate) {
|
|
|
349
349
|
if (estimate?.phase_aware !== true || samples < 2 || !Number.isFinite(lower) || !Number.isFinite(upper)) return null;
|
|
350
350
|
return [Math.max(1, Math.round(lower / 60)), Math.max(1, Math.ceil(upper / 60))];
|
|
351
351
|
}
|
|
352
|
+
function exceededEstimateContext(durationEstimate, elapsedContext = "") {
|
|
353
|
+
const values = [elapsedContext, t("estimate.exceeded_context")];
|
|
354
|
+
if (hasHistoricalEstimate(durationEstimate)) values.push(historicalContext(durationEstimate, ""));
|
|
355
|
+
return values.filter(Boolean).join("\n");
|
|
356
|
+
}
|
|
352
357
|
function estimate(x, durationEstimate = {}) {
|
|
353
358
|
const phase = x.current_phase || "";
|
|
354
359
|
const phaseRange = phaseAwareRange(durationEstimate);
|
|
355
360
|
if (["INITIALIZE", "EXECUTE_AGENT", "REPAIR_AGENT", "FINALIZATION_REPAIR_AGENT", "FINALIZE_AGENT", "REPOSITORY_CLEANUP"].includes(phase) && phaseRange) {
|
|
361
|
+
const remainingUpperSeconds = Number(durationEstimate?.remaining_upper_seconds);
|
|
362
|
+
if (Number.isFinite(remainingUpperSeconds) && remainingUpperSeconds <= 0) {
|
|
363
|
+
return {
|
|
364
|
+
summary: t("estimate.exceeded"),
|
|
365
|
+
context: exceededEstimateContext(durationEstimate),
|
|
366
|
+
};
|
|
367
|
+
}
|
|
356
368
|
const [minimum, maximum] = phaseRange;
|
|
357
369
|
return {
|
|
358
370
|
summary: t("estimate.remaining", { minimum, maximum }),
|
|
@@ -375,6 +387,12 @@ function estimate(x, durationEstimate = {}) {
|
|
|
375
387
|
remainingMinimum = Math.max(1, minimum - elapsed),
|
|
376
388
|
remainingMaximum = Math.max(remainingMinimum, maximum - elapsed);
|
|
377
389
|
const elapsedContext = t("estimate.elapsed", { elapsed, minutes: pluralMinutes(elapsed) });
|
|
390
|
+
if (maximum - elapsed <= 0) {
|
|
391
|
+
return {
|
|
392
|
+
summary: t("estimate.exceeded"),
|
|
393
|
+
context: exceededEstimateContext(durationEstimate, elapsedContext),
|
|
394
|
+
};
|
|
395
|
+
}
|
|
378
396
|
return {
|
|
379
397
|
summary: t("estimate.remaining", { minimum: remainingMinimum, maximum: remainingMaximum }),
|
|
380
398
|
context: hasHistoricalEstimate(durationEstimate)
|
|
@@ -251,6 +251,8 @@ export const DASHBOARD_MESSAGES = {
|
|
|
251
251
|
"estimate.cleanup": "Cleanup in progress",
|
|
252
252
|
"estimate.cleanup_context": "Remaining time depends on the local repository.",
|
|
253
253
|
"estimate.elapsed": "{elapsed} {minutes} elapsed.\nBased on execution size, phase and elapsed time. No live Codex progress or token usage.",
|
|
254
|
+
"estimate.exceeded": "Estimate exceeded; remaining time uncertain",
|
|
255
|
+
"estimate.exceeded_context": "The prior range has elapsed; no reliable remaining time is available.",
|
|
254
256
|
"estimate.finalizing": "Finalization in progress",
|
|
255
257
|
"estimate.finalizing_context": "Remaining time is only reliable with live Codex progress.",
|
|
256
258
|
"estimate.historical_context": "Refined with {count} comparable completed executions using the same reported runtime settings.",
|
|
@@ -899,6 +901,8 @@ export const DASHBOARD_MESSAGES = {
|
|
|
899
901
|
"estimate.cleanup": "Opschoning in uitvoering",
|
|
900
902
|
"estimate.cleanup_context": "De resterende tijd hangt af van de lokale repository.",
|
|
901
903
|
"estimate.elapsed": "{elapsed} {minutes} verstreken.\nGebaseerd op opdrachtomvang, fase en verstreken tijd. Geen live Codex-voortgang of tokenverbruik.",
|
|
904
|
+
"estimate.exceeded": "Schatting overschreden; resterende tijd onzeker",
|
|
905
|
+
"estimate.exceeded_context": "De eerdere bandbreedte is verstreken; er is geen betrouwbare resterende tijd beschikbaar.",
|
|
902
906
|
"estimate.finalizing": "Finalisatie in uitvoering",
|
|
903
907
|
"estimate.finalizing_context": "De resterende tijd is pas betrouwbaar met live Codex-voortgang.",
|
|
904
908
|
"estimate.historical_context": "Verfijnd met {count} vergelijkbare voltooide uitvoeringen met dezelfde gerapporteerde runtime-instellingen.",
|
|
@@ -1547,6 +1551,8 @@ export const DASHBOARD_MESSAGES = {
|
|
|
1547
1551
|
"estimate.cleanup": "Bereinigung läuft",
|
|
1548
1552
|
"estimate.cleanup_context": "Die Restzeit hängt vom lokalen Repository ab.",
|
|
1549
1553
|
"estimate.elapsed": "{elapsed} {minutes} vergangen.\nBasierend auf Auftragsumfang, Phase und verstrichener Zeit. Kein Live-Codex-Fortschritt oder Tokenverbrauch.",
|
|
1554
|
+
"estimate.exceeded": "Schätzung überschritten; Restzeit ungewiss",
|
|
1555
|
+
"estimate.exceeded_context": "Die bisherige Zeitspanne ist verstrichen; es ist keine verlässliche Restzeit verfügbar.",
|
|
1550
1556
|
"estimate.finalizing": "Finalisierung läuft",
|
|
1551
1557
|
"estimate.finalizing_context": "Die Restzeit ist nur mit Live-Codex-Fortschritt zuverlässig.",
|
|
1552
1558
|
"estimate.historical_context": "Verfeinert mit {count} vergleichbaren abgeschlossenen Ausführungen mit denselben gemeldeten Laufzeiteinstellungen.",
|
|
@@ -2129,6 +2135,8 @@ export const DASHBOARD_MESSAGES = {
|
|
|
2129
2135
|
"estimate.cleanup": "Nettoyage en cours",
|
|
2130
2136
|
"estimate.cleanup_context": "Le temps restant dépend du dépôt local.",
|
|
2131
2137
|
"estimate.elapsed": "{elapsed} {minutes} écoulées.\nBasé sur la périmètre de l’exécution, la phase et le temps écoulé. Aucune progression Codex en direct ni consommation de jetons.",
|
|
2138
|
+
"estimate.exceeded": "Estimation dépassée ; temps restant incertain",
|
|
2139
|
+
"estimate.exceeded_context": "La plage précédente est écoulée ; aucun temps restant fiable n’est disponible.",
|
|
2132
2140
|
"estimate.finalizing": "Finalisation en cours",
|
|
2133
2141
|
"estimate.finalizing_context": "Le temps restant n’est fiable qu’avec la progression Codex en direct.",
|
|
2134
2142
|
"estimate.historical_context": "Affiné à partir de {count} exécutions terminées comparables utilisant les mêmes paramètres d’exécution signalés.",
|
|
@@ -2711,6 +2719,8 @@ export const DASHBOARD_MESSAGES = {
|
|
|
2711
2719
|
"estimate.cleanup": "Limpieza en curso",
|
|
2712
2720
|
"estimate.cleanup_context": "El tiempo restante depende del repositorio local.",
|
|
2713
2721
|
"estimate.elapsed": "{elapsed} {minutes} transcurridos.\nBasado en el alcance de la ejecución, la fase y el tiempo transcurrido. Sin progreso en directo de Codex ni consumo de tokens.",
|
|
2722
|
+
"estimate.exceeded": "Estimación superada; tiempo restante incierto",
|
|
2723
|
+
"estimate.exceeded_context": "El intervalo anterior ya transcurrió; no hay un tiempo restante fiable.",
|
|
2714
2724
|
"estimate.finalizing": "Finalización en curso",
|
|
2715
2725
|
"estimate.finalizing_context": "El tiempo restante solo es fiable con progreso de Codex en directo.",
|
|
2716
2726
|
"estimate.historical_context": "Afinado con {count} ejecuciones completadas comparables que usan la misma configuración de ejecución informada.",
|
|
@@ -1418,12 +1418,20 @@ class EngineeringRunner:
|
|
|
1418
1418
|
"""Return whether an agent supplied bounded evidence of a failed local check."""
|
|
1419
1419
|
if not result.validation_evidence:
|
|
1420
1420
|
return False
|
|
1421
|
-
|
|
1422
|
-
item
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1421
|
+
for item in result.validation_evidence:
|
|
1422
|
+
if not isinstance(item, dict):
|
|
1423
|
+
continue
|
|
1424
|
+
summary = item.get("result", "").strip().casefold()
|
|
1425
|
+
# Result summaries are dispositions followed by bounded detail.
|
|
1426
|
+
# A passing disposition takes precedence over words such as
|
|
1427
|
+
# "fail-closed" or "failure mode" in that descriptive detail.
|
|
1428
|
+
if re.match(r"^(?:pass(?:ed)?|success(?:ful|fully)?|succeeded)\b", summary):
|
|
1429
|
+
continue
|
|
1430
|
+
if re.match(r"^(?:fail(?:ed|ure)?|error|timeout|timed\s+out)\b", summary):
|
|
1431
|
+
return True
|
|
1432
|
+
if re.search(r"\b(?:failed|failure|error|timeout|timed\s+out)\b", summary):
|
|
1433
|
+
return True
|
|
1434
|
+
return False
|
|
1427
1435
|
|
|
1428
1436
|
@staticmethod
|
|
1429
1437
|
def _is_external_agent_block(result: AgentResult) -> bool:
|
|
@@ -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.70"
|
|
16
16
|
MANIFEST_FIELDS = frozenset(
|
|
17
17
|
{
|
|
18
18
|
"platform_version",
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/__init__.py
RENAMED
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/__main__.py
RENAMED
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/agent_state.py
RENAMED
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/agent_trust.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
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/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
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/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.68 → engineering_platform-2.3.70}/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
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/live_status.py
RENAMED
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/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
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/platform_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/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.68 → engineering_platform-2.3.70}/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
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/resources.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/server.py
RENAMED
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/server_relay.py
RENAMED
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/status_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/src/engineering_platform/storage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{engineering_platform-2.3.68 → engineering_platform-2.3.70}/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
|