onec-interactive-runtime-core 0.1.20__tar.gz → 0.1.21__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.
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/PKG-INFO +1 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/README.md +2 -2
- onec_interactive_runtime_core-0.1.21/docs/superpowers/plans/2026-09-18-bsl-error-diagnostics-main.md +362 -0
- onec_interactive_runtime_core-0.1.21/docs/superpowers/plans/2026-09-20-bsl-error-diagnostics-release.md +227 -0
- onec_interactive_runtime_core-0.1.21/docs/superpowers/specs/2026-09-18-bsl-error-diagnostics-main-design.md +124 -0
- onec_interactive_runtime_core-0.1.21/docs/superpowers/specs/2026-09-20-bsl-error-diagnostics-release-design.md +71 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/package-lock.json +2 -2
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/package.json +1 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/pyproject.toml +2 -2
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/__init__.py +1 -1
- onec_interactive_runtime_core-0.1.21/packages/jupyter/src/onec_runtime_jupyter/diagnostic_sources.py +159 -0
- onec_interactive_runtime_core-0.1.21/packages/jupyter/src/onec_runtime_jupyter/diagnostic_trace.py +170 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/extension.py +79 -14
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/pyproject.toml +2 -2
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/__init__.py +1 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/operations.py +4 -9
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/server.py +6 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/pyproject.toml +1 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/__init__.py +1 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/diagnostics.py +828 -105
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/controller/controller.py +97 -4
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/reply_publication.py +30 -6
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker_activation.py +16 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/privacy.py +11 -60
- onec_interactive_runtime_core-0.1.21/src/onec_runtime/runtime_contracts.py +821 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/worker_universe.py +37 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_worker_universe_1c.py +236 -27
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_operation_view.py +31 -4
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_runtime_backend.py +3 -2
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_service.py +4 -3
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_diagnostics.py +250 -7
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_controller_routes.py +310 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_reply_publication.py +167 -2
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_fault_injection.py +6 -6
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_adapter.py +392 -32
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_mcp_profiles.py +1 -1
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_mcp_server.py +35 -5
- onec_interactive_runtime_core-0.1.21/tests/unit/test_runtime_contract_boundaries.py +712 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_module_lifecycle_service.py +149 -2
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_universe.py +16 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/uv.lock +3 -3
- onec_interactive_runtime_core-0.1.20/src/onec_runtime/runtime_contracts.py +0 -196
- onec_interactive_runtime_core-0.1.20/tests/unit/test_runtime_contract_boundaries.py +0 -56
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.gitattributes +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.github/workflows/bsl-generated-parser-drift.yml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.github/workflows/releases.yaml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.github/workflows/vscode-unit.yml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.gitignore +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.superpowers/sdd/2026-09-15-capture-inspection-api/task-6-green-report.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.superpowers/sdd/2026-09-15-capture-inspection-api/task-7-green-report.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/.superpowers/sdd/2026-09-15-capture-inspection-api/task-8-foundation-report.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/COPYRIGHT +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/LICENSE +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/THIRD_PARTY_NOTICES.txt +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/architecture/2026-08-12-canonical-runtime-architecture.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/issue-5-capture-evaluation-coverage.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/jupyter-bsl-lsp.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/python-api.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/research/2026-09-08-runtime-bound-jupyter-lsp-results.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/research/2026-09-09-source-based-jupyter-lsp-results.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/plans/2026-09-15-capture-inspection-api.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/plans/2026-09-16-final-capture-ownership.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/plans/2026-09-17-main-capture-runtime-refactor.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/plans/2026-09-17-rdbg-operation-ownership.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/plans/2026-09-17-single-owner-rdbg-cutover.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/plans/2026-09-18-main-capture-release.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/plans/2026-09-18-remove-legacy-runtime.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/specs/2026-09-15-capture-inspection-api-design.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/docs/superpowers/specs/2026-09-17-main-capture-execution-design.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/grammar/bsl-server-strict.grammar +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/evidence/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/evidence/capture_live_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/evidence/capture_private_replay.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/evidence/facade_live_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/evidence/live_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/evidence/value_python_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/jupyter_bsl_fixture/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/jupyter_bsl_fixture/cells.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/jupyter_bsl_fixture/extension.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/jupyter_bsl_fixture/live.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/jupyter_bsl_fixture/notebook.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/notebook_live.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/support/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/support/bootstrap_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/support/configurator_agent.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/support/main_cell_waterfall.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/support/zup_capture_fixture.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/support/zup_sources.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/zup_worker_universe_acceptance.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/integration/zup_worker_universe_notebook.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/notebooks/demo/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/notebooks/demo/README.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/notebooks/demo/UT/05-ut-sales.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/notebooks/demo/ZUP/01-overview.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/notebooks/demo/ZUP/03-capture.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/Kernel/Kernel/Ext/ObjectModule.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/Kernel/Kernel/Forms/Runtime/Ext/Form/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/Kernel/Kernel/Forms/Runtime/Ext/Form.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/Kernel/Kernel/Forms/Runtime.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/Kernel/Kernel.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeContextStoreServer/Ext/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeContextStoreServer.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeKernelServer/Ext/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeKernelServer.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeTableTransferServer/Ext/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeTableTransferServer.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeValueTransferServer/Ext/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/CommonModules/RuntimeValueTransferServer.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/ConfigDumpInfo.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/Configuration.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/OnecInteractiveRuntime/Ext/ManagedApplicationModule.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/Worker/Worker/Ext/ObjectModule.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/onec/Worker/Worker.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/COPYRIGHT +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/LICENSE +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/COPYRIGHT +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/LICENSE +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/scripts/finalize.mjs +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/diagnosticGuard.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/extractor.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/hoverGuard.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/index.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/kernelCompletion.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/magic.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/runtimeBinding.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/runtimeFence.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/runtimeStatus.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/src/sourceViewer.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/diagnosticGuard.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/extractor.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/hoverGuard.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/kernelCompletion.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/magic.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/runtimeBinding.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/runtimeFence.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/test/sourceViewer.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/frontend/tsconfig.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/install.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/jupyter-config/onec-bsl.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/capture_display.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/completion.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_child.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_cleanup.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_contexts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_control.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_gateway.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_kernel.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_kernel_client.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_process.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_process_guardian.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_process_windows.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_project.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_proxy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_server_extension.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_sources.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_websocket.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/lsp_workspace_notify.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/session.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/jupyter/src/onec_runtime_jupyter/session_guardian.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/COPYRIGHT +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/LICENSE +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/capture_contracts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/capture_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/code_store.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/contracts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/control_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/facade.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/facade_contracts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/mcp_profiles.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/observation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/onec_values.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/operation_view.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/proxies.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/python_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/python_worker.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/python_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/runtime_backend.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/runtime_session.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/service_client.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/service_entrypoint.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/service_server.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/source_capture.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/value_policy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/agent/value_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/mcp/src/onec_runtime_mcp/mcp_entrypoint.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/.gitignore +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/.vscodeignore +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/COPYRIGHT +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/LICENSE +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/README.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/package-lock.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/package.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/editorFeatures.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/extension.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/featureMapping.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/fileChanges.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/lspTransport.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/notebookCoordinator.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/notebookModel.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/notebookSession.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/processTree.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/projectRoot.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/src/sharedBslSession.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/syntaxes/bsl-cell.injection.tmLanguage.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/extensionHost/editorFeatures.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/extensionHost/index.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/extensionHost/lifecycle.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/extensionHost/projectRoot.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/extensionHost/projectWatch.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/extensionHost/sharedServer.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/extensionHost/smoke.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/fixtures/bsl-cell.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/fixtures/fake-ls.js +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/fixtures/workspace/sources/CommonModules/ProbeServer/Ext/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/fixtures/workspace/sources/CommonModules/ProbeServer.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/fixtures/workspace/sources/Configuration.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/integration/realBslLs.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/runExtensionTests.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/featureMapping.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/fileChanges.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/lspTransport.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/notebookCoordinator.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/notebookModel.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/notebookSession.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/processTree.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/test/unit/projectRoot.test.ts +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/packages/vscode/tsconfig.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/artifacts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bootstrap.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/breakpoint_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/full_ast_worker_projection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/generated_semantic_parser.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/lexer.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/module_catalog.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/module_delta.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/module_syntax.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/module_universe.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/notebook_cells.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/notebook_method_globals.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/notebook_methods.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/parser_artifact_identity.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/parser_target.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/platform_globals.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/preprocessor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/semantic_lowering.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/source_maps.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/worker_dependency_resolver.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/worker_preprocessor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/worker_projection_model.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/bsl/worker_reload_source_map.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture_evaluation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture_evaluation_models.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture_inspection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture_source.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture_transfer_models.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture_value_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/capture_values.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/compact_table.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/compact_table_backend.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/config.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/configuration_source.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/configurator_agent.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/controller_worker.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/credentials.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/epf_container.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/errors.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/arbiter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/breakpoint_routes.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/adapter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/cell_evaluator.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/data_plane.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/evaluation_ledger.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/inspection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/manager_metadata.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/messages.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/operation_executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/policy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/preparation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/public_inspection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/resources.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/scope.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/selected_table_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/session_inspection_adapter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/stack.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/ticket_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/value_projection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/capture/writeback.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/common.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/completion_fields.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/composition.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/continuation_models.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/contracts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/controller/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/controller/capture_data_plane.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/controller/capture_private_data_plane.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/controller/stop_coordinator.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/dynamic_value_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/evaluation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/local_wait.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/completion.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/idle_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/instruction_call.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/operation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/policy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/main/preparation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/message_collector.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/namespace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/pipeline.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/post_bootstrap.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/preparation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/provenance.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/public_facade.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/reply_presenter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/session_value_adapter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/settlement.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/snapshot_binding.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/source_identity.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/status_projection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/termination.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/value_materialization_router.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/value_projection_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/value_reference.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/value_transfer_plan.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker_breakpoint_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker_breakpoint_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker_catalog_resolver.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker_globals.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker_module_lifecycle.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/execution/worker_mutation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/experiment.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/extension_bundle.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/extension_lifecycle.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/extension_state.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/fault_injection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/kernel.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/lease.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/observation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/performance_profile.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/processes.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/rdbg/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/rdbg/models.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/rdbg/reconnect.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/rdbg/session.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/rdbg/transport.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/rdbg/xml_codec.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/recovery.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/recovery_journal.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/resources/extension/OnecInteractiveRuntime.cfe +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/resources/extension/extension-manifest.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/runtime_models.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/server_worker.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/session.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/startup_diagnostics.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/stop_routing.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/supervised_processes.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/supervised_runtime.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/supervisor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/supervisor_model.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/supervisor_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/table_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/table_transfer_backend.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/table_value.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/toolchain.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/value_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/value_transfer_backend.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/worker_breakpoints.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/worker_epf.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/worker_epf_template.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime/worker_stage_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime_build/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/src/onec_runtime_build/parser_target_development.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/AGENTS.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/notebooks/jupyter-bsl-fixture-acceptance.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/notebooks/mcp-zup-agent-facade-acceptance.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/notebooks/mcp-zup-capture-acceptance.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/notebooks/mcp-zup-main-acceptance.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/notebooks/mcp-zup-value-python-acceptance.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/notebooks/zup-worker-universe-acceptance.ipynb +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/HotReloadWorker/v1/Worker/Ext/ObjectModule.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/HotReloadWorker/v1/Worker.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/HotReloadWorker/v2/Worker/Ext/ObjectModule.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/HotReloadWorker/v2/Worker.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/JupyterBslTestFixture/.bsl-language-server.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/JupyterBslTestFixture/CommonModules/JupyterBslFixtureCalleeServer/Ext/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/JupyterBslTestFixture/CommonModules/JupyterBslFixtureCalleeServer.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/JupyterBslTestFixture/CommonModules/JupyterBslFixtureCallerServer/Ext/Module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/JupyterBslTestFixture/CommonModules/JupyterBslFixtureCallerServer.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/JupyterBslTestFixture/ConfigDumpInfo.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/JupyterBslTestFixture/Configuration.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/MinimalHostConfiguration/ConfigDumpInfo.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/MinimalHostConfiguration/Configuration.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/MinimalHostConfiguration/Languages//320/240/321/203/321/201/321/201/320/272/320/270/320/271.xml" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/README.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_base/CommonModules//320/236/320/261/321/211/320/270/320/271/Ext/Module.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_base/CommonModules//320/236/320/261/321/211/320/270/320/271.xml" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_base/Configuration.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_base/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/Ext/ManagerModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_base/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/Ext/ObjectModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_base/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203.xml" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_extension/CommonModules//320/236/320/261/321/211/320/270/320/271/Ext/Module.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_extension/CommonModules//320/236/320/261/321/211/320/270/320/271.xml" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_extension/Configuration.xml +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_extension/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/Ext/ManagerModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_extension/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/Ext/ObjectModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/designer_extension/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203.xml" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_base/src/CommonModules//320/236/320/261/321/211/320/270/320/271/Module.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_base/src/CommonModules//320/236/320/261/321/211/320/270/320/271//320/236/320/261/321/211/320/270/320/271.mdo" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_base/src/Configuration/Configuration.mdo +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_base/src/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/ManagerModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_base/src/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/ObjectModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_base/src/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203.mdo" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_extension/src/CommonModules//320/236/320/261/321/211/320/270/320/271/Module.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_extension/src/CommonModules//320/236/320/261/321/211/320/270/320/271//320/236/320/261/321/211/320/270/320/271.mdo" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_extension/src/Configuration/Configuration.mdo +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_extension/src/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/ManagerModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_extension/src/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203/ObjectModule.bsl" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/onec/capture_sources/edt_extension/src/Documents//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203//320/237/321/200/320/270/320/265/320/274/320/235/320/260/320/240/320/260/320/261/320/276/321/202/321/203.mdo" +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/LICENSE +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/README.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/__main__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/analysis.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/artifacts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/binding_validation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/bsl_rendering.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/canonical_bsl_codegen.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/canonical_bsl_decisions.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/canonical_select.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/cli.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/config.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/decision_dag.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/diagnostics.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/direct_render_analysis.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/generated_parser.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/grammar_parser.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/left_recursion.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/lowering.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/model.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/parser_ir.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/parser_ir_optimization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/python_direct_codegen.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/python_semantic_codegen.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/recursion_plan.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/resolver.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/source_model.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/source_validation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/templates/canonical_parser_module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/templates/parser_module.bsl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/validation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/parsergen/src/parsergen/value_table_codec.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/README.md +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-a/frontend-events.jsonl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-a/summary.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-a/waterfall-events.jsonl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-a/waterfall-summary.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-b/frontend-events.jsonl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-b/summary.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-b/waterfall-events.jsonl +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/waterfall/run-b/waterfall-summary.json +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/fixtures/worker-v2-platform.epf +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/capture_evidence_support.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/process_evidence_support.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_agent_facade_process.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_agent_service_process.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_capture_inspection_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_capture_lifecycle_acceptance_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_jupyter_bsl_fixture_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_jupyter_lsp_runtime_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_mcp_stdio.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_mcp_zup_agent_facade.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_mcp_zup_capture.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_mcp_zup_runtime.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_notebook_persistent_method_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_python_workspace_process.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_server_runtime_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_toolchain_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_universal_extension_bundle_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/integration/test_worker_implicit_assignment_1c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/packaging/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/packaging/test_product_wheels.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/arbiter_test_cleanup.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/bootstrap_evidence_support.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/extension_bundle_support.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/lsp_native_checks.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/rdbg/test_detach_cleanup.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/rdbg/test_reconnect.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/rdbg/test_server_session.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/rdbg/test_session.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/rdbg/test_transport.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/rdbg/test_xml_codec.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_continue.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_contracts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_hypothesis.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_inspect.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_inspect_round1.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_inspect_round2.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_inspect_round4.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_inspect_round5.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_live_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_private_replay.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_capture_run_until.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_code_store.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_contracts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_control_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_facade.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_facade_live_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_materialization_bridge.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_observation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_onec_values.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_operations.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_proxies.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_runtime_ensure.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_service_client.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_temporary_table_managers.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_value_policy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_agent_value_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bootstrap.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bootstrap_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_breakpoint_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_combined_grammar.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_compact_reload_source_map.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_corpus.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_diagnostic_acceptance.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_directives.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_full_ast_worker_projection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_generated_packaging.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_lowering.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_module_catalog.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_module_catalog_lazy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_module_delta.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_module_universe.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_preprocessor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_runtime_import_closure.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_semantic_ast.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_semantic_lowering.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_source_maps.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_worker_dependency_resolver.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_worker_preprocessor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_worker_projection_model.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_bsl_worker_reload_source_map.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_cell_evaluator.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_context_views.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_dynamic_value_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_evaluation_ledger.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_evaluation_models.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_inspection_bridge.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_inspection_executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_inspection_live_contract.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_inspection_resolver_rebind.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_lazy_frames.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_lifecycle_live_contract.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_manager_metadata_route.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_materialization_executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_materialization_route.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_message_collector.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_operation_executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_point_paths.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_resource_debt.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_scope.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_setup_adapter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_setup_failures.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_source_configuration.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_source_inspection_benchmark.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_source_resolver.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_stack_inventory_adapter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_stack_views.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_stop_recovery_component.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_ticket_data_plane.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_ticket_materialization_policy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_ticket_value_projection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_value_expansion.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_value_inline.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_value_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_capture_writeback_executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_cell_execution_pipeline.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_cell_execution_pipeline_prepared.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_cli.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_compact_table.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_compact_table_backend.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_config.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_configuration_source_layout.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_configurator_agent.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_controller_capture_data_plane.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_controller_completion_fields_route.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_controller_preparation_route.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_controller_worker.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_controller_worker_mutation_route.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_demo_notebooks.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_direct_ticket_interrupt_stop.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_epf_container.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_common.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_completion_fields.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_composition.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_controller_target_stop.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_namespace_owner.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_provenance_reader.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_reply_presenter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_route_sequence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_route_settlement_integration.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_source_identity.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_status_projection.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_execution_value_transfer_plan.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_experiment.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_extension_bundle.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_extension_bundle_build.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_extension_lifecycle.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_extension_preparation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_extension_session.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_extension_state.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_file_auto_stop.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_file_target_termination.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_bsl_fixture_extension.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_bsl_fixture_live.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_bsl_fixture_notebook.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_capture_display.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_completion.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_confirmed_stop_replacement.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_guardian.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_kernel_process.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_acceptance_tools.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_child.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_contexts.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_control.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_gateway.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_kernel.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_lifecycle.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_process_windows.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_project.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_sources.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_websocket.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_lsp_zup.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_session_shutdown.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_jupyter_value_proxy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_kernel_source.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_lease.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_local_wait.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_main_cell_waterfall.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_main_completion_reader.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_main_dispatch_ticket_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_main_executor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_main_idle_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_main_operation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_main_status_during_execution.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_mcp_entrypoint.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_mcp_value_python_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_mcp_zup_live_evidence.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_minimal_worker_reload_benchmark.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_module_syntax_registry.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_notebook_live.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_notebook_method_breakpoints.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_notebook_method_runtime.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_notebook_methods.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_owned_evaluation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_parser_benchmark.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_password_auth.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_performance_profile.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_post_bootstrap_execution.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_processes.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_product_ast_notebook_integration.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_product_ast_round1.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_product_ast_wave_c.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_product_ast_wave_c_round1.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_public_completion_fields_route.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_public_execution_facade.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_public_execution_facade_prepared.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_public_successor_admission.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_python_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_rdbg_arbiter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_recovery.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_recovery_journal.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_route_breakpoint_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_route_cell_policies.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_route_settlement_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_route_snapshot_binding.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_configurator_agent.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_models.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_rdbg_single_owner.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_session_execution_facade_bridge.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_session_execution_handoff.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_session_generation.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_session_value_proxy_surface.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_source_root_config.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_table_transfer_extension.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_ui_registration.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_runtime_value_transfer_extension.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_server_infobase.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_server_target_termination.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_server_worker.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_server_worker_sources.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_session_capture_inspection_adapter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_session_default_execution_owner.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_session_public_capture_prepared.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_session_public_main_prepared.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_session_value_materialization_adapter.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_source_capture.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_stop_routing.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_supervised_processes.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_supervised_runtime.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_supervisor.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_supervisor_model.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_supervisor_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_table_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_table_transfer.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_table_transfer_backend.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_table_value.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_ticket_ipykernel_interrupt.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_toolchain.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_universal_extension_source.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_value_materialization.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_value_materialization_router.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_value_projection_router_port.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_value_projection_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_value_transfer_backend.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_windows_owned_handles.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_activation_breakpoint_workspace.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_activation_composition.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_breakpoint_acceptance.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_breakpoint_execution_service.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_breakpoint_performance.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_breakpoint_privacy.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_breakpoint_public_api.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_breakpoint_reload_reporting.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_breakpoints.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_epf.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_mutation_runner.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_worker_stage_protocol.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_zup_cross_module_sources.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_zup_source.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/test_zup_worker_universe_notebook.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/windows_owned_handles.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tests/unit/worker_debug_fixtures.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/build_demo_notebooks.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/build_jupyter_bsl_fixture_notebook.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/build_runtime_extension_bundle.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/build_zup_worker_universe_notebook.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/capture_source_inspection_benchmark.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/check_jupyter_bsl_lsp.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/check_jupyter_highlighting.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/check_jupyter_lsp_browser.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/check_jupyter_lsp_runtime.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/check_jupyter_lsp_zup.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/eval_mcp_palettes.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/generate_bsl_semantic_parser.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/grammar_corpus_spike.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/grammar_parser_benchmark.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/grammar_spike.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/lsp_public_fixture.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/measure_mcp_palette.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/minimal_worker_reload_benchmark.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/onec_runtime_probe.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/run_jupyter_bsl_fixture_notebook.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/support/__init__.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/support/benchmark.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/support/corpus.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/verify_run.py +0 -0
- {onec_interactive_runtime_core-0.1.20 → onec_interactive_runtime_core-0.1.21}/tools/worker_breakpoint_acceptance.py +0 -0
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
Нужны Windows, Python 3.12+, VS Code 1.136+, установленная платформа 1С, **отдельная копия ИБ** и локальная копия выгрузки исходников той же конфигурации. По умолчанию runtime устанавливает в ИБ служебное расширение. Демо проверены на платформе **8.5.1.1529**: ЗУП — с **ЗУП КОРП 3.1.38.92** и снимком данных от **01.08.2021**, УТ — с **УТ 11.6.1.61** (дата данных определяется из ИБ). Платформа, демобазы и выгрузки в пакет не входят.
|
|
10
10
|
|
|
11
|
-
Скачайте **Source code (zip)** из [релиза v0.1.
|
|
11
|
+
Скачайте **Source code (zip)** из [релиза v0.1.21](https://github.com/pulh1/bsl-jupyter-runtime/releases/tag/v0.1.21) и распакуйте архив: в нём находятся `notebooks/demo`. Из [релиза v0.1.18](https://github.com/pulh1/bsl-jupyter-runtime/releases/tag/v0.1.18) скачайте `bsl-notebook-0.1.4.vsix`. VSIX отвечает за подсказки BSL в редакторе; Python-пакеты версии 0.1.21 устанавливаются из PyPI.
|
|
12
12
|
|
|
13
13
|
В PowerShell из папки распакованного проекта создайте окружение, установите пакет и зарегистрируйте kernel:
|
|
14
14
|
|
|
15
15
|
```powershell
|
|
16
16
|
py -3.12 -m venv .venv
|
|
17
17
|
$python = ".\.venv\Scripts\python.exe"
|
|
18
|
-
& $python -m pip install "onec-interactive-jupyter==0.1.
|
|
18
|
+
& $python -m pip install "onec-interactive-jupyter==0.1.21" "ipykernel>=6.29,<7" "matplotlib>=3.11,<4"
|
|
19
19
|
& $python -m ipykernel install --user --name onec-bsl --display-name "1C BSL"
|
|
20
20
|
```
|
|
21
21
|
|
onec_interactive_runtime_core-0.1.21/docs/superpowers/plans/2026-09-18-bsl-error-diagnostics-main.md
ADDED
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
# BSL Error Diagnostics on MAIN/CAPTURE Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
|
4
|
+
|
|
5
|
+
**Goal:** Show the full bounded 1C cause chain and stack for failed BSL cells, remapped through exact notebook/Worker source maps, in the redesigned runtime and Jupyter adapter.
|
|
6
|
+
|
|
7
|
+
**Architecture:** Port the pure parser and trace model from `feature/bsl-error-diagnostics-core`; do not port its former `runtime_api` execution logic. Enrich only confirmed failures in `src/onec_runtime/execution`, using the operation's already-held Worker pin, and render the resulting private trace in `packages/jupyter`.
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** Python 3.13, pytest, uv, 1C RDBG and BSL, Jupyter/IPython.
|
|
10
|
+
|
|
11
|
+
**Spec:** `docs/superpowers/specs/2026-09-18-bsl-error-diagnostics-main-design.md`
|
|
12
|
+
|
|
13
|
+
## Global Constraints
|
|
14
|
+
|
|
15
|
+
- Work on `feature/bsl-error-diagnostics-main` from master; do not merge master or the old feature branch wholesale.
|
|
16
|
+
- Read root and nested `AGENTS.md` before each component edit: `src/onec_runtime`, `src/onec_runtime/execution` and its `controller`, `main`, `capture` directories, `packages/jupyter`, `packages/mcp` if touched, and `tests`.
|
|
17
|
+
- Preserve MAIN/CAPTURE's single RDBG arbiter, operation fences, existing Worker pins, and successful-cell behavior. No diagnostic-specific RDBG request, pin, cache, parse, filesystem read, or other success-path work.
|
|
18
|
+
- Keep verbatim private 1C evidence at most 64 KiB UTF-8, at most 32 causes and 128 frames, with independent truncation flags. Do not invent missing 1C frames.
|
|
19
|
+
- Native 1C module coordinates need no source map. `source_root` only adds a local file hint or verified excerpt; its absence or failure cannot hide the platform text.
|
|
20
|
+
- Keep compact/public diagnostic payloads bounded and without source strings or raw 1C text. Do not add the deferred MCP expert schema.
|
|
21
|
+
- Run focused static tests before wider static tests. Live 1C qualification is opt-in, uses a disposable infobase, and must not commit its evidence.
|
|
22
|
+
|
|
23
|
+
## File ownership map
|
|
24
|
+
|
|
25
|
+
| File | Responsibility |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `src/onec_runtime/bsl/diagnostics.py` | Pure bounded parser, ordered cause/frame model and source-map enrichment. |
|
|
28
|
+
| `src/onec_runtime/runtime_contracts.py`, `src/onec_runtime/privacy.py` | Trace validation and private/public serialization bounds. |
|
|
29
|
+
| `packages/mcp/src/onec_runtime_mcp/agent/operations.py`, `packages/mcp/src/onec_runtime_mcp/server.py` | Keep existing private/expert validation at the same byte bound without adding a tool or wire keys. |
|
|
30
|
+
| `src/onec_runtime/worker_universe.py` | Read exact diagnostic artifacts through an existing `OperationGenerationPin`. |
|
|
31
|
+
| `src/onec_runtime/execution/worker_activation.py` | Narrow read-only evidence adapter for an already-held lease. |
|
|
32
|
+
| `src/onec_runtime/execution/controller/controller.py` | Attach error-only evidence to confirmed MAIN/CAPTURE outcomes before pin release. |
|
|
33
|
+
| `src/onec_runtime/execution/reply_publication.py` | Normalize confirmed error text into `RuntimeReply.diagnostic`; never own RDBG. |
|
|
34
|
+
| `packages/jupyter/src/onec_runtime_jupyter/diagnostic_trace.py` | Human-only reason, stack and raw-detail formatting. |
|
|
35
|
+
| `packages/jupyter/src/onec_runtime_jupyter/diagnostic_sources.py` | Optional safe local source-file hints under configured `source_root`. |
|
|
36
|
+
| `packages/jupyter/src/onec_runtime_jupyter/extension.py` | Display integration and cell identity fencing. |
|
|
37
|
+
|
|
38
|
+
The prior branch at `c69b5e5` is a reference implementation for the pure core, privacy bounds, and Jupyter formatter. Selectively transplant those parts with `apply_patch` and reconcile against current master. Do not copy its `prototype_runtime.py`, `runtime_api.py`, obsolete tests, or old orchestration.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### Task 1: Pure ordered trace and source-map normalizer
|
|
43
|
+
|
|
44
|
+
**Files:**
|
|
45
|
+
- Modify: `src/onec_runtime/bsl/diagnostics.py`
|
|
46
|
+
- Test: `tests/unit/test_bsl_diagnostics.py`
|
|
47
|
+
- Test: `tests/unit/test_bsl_diagnostic_acceptance.py`
|
|
48
|
+
|
|
49
|
+
**Interfaces:**
|
|
50
|
+
- Consumes: existing `MappedSource`, `VisibleSourceContext`, `WorkerDiagnosticArtifact` and `parse_platform_diagnostic`.
|
|
51
|
+
- Produces: `DiagnosticTextSpan`, `ParsedDiagnosticCause`, `ParsedDiagnosticFrame`, `ErrorTraceCause`, `ErrorTraceFrame`, `ErrorTraceFrameOrigin`, and `normalize_platform_diagnostic_trace(parsed, *, stage, executed=None, visible_source_context=None, pinned_manifest_sha256=None, pinned_artifacts=()) -> NormalizedDiagnostic`.
|
|
52
|
+
|
|
53
|
+
- [ ] **Step 1: Add failing parser and mapping tests.** Port the focused RU/EN, nested cause, anonymous, native, line-only, Worker, ambiguous-map and truncation cases from `c69b5e5:tests/unit/test_bsl_diagnostics.py`. Include this small smoke assertion in the current suite:
|
|
54
|
+
|
|
55
|
+
```python
|
|
56
|
+
raw = "Error getting value\n{Документ.ПриемНаРаботу.МодульОбъекта(15)}:Вызвать();\nReason:\nUninitialized value"
|
|
57
|
+
parsed = parse_platform_diagnostic(raw)
|
|
58
|
+
assert len(parsed.causes) == 2
|
|
59
|
+
assert parsed.frames[0].location.module_name == "Документ.ПриемНаРаботу.МодульОбъекта"
|
|
60
|
+
assert parsed.frames[0].location.column is None
|
|
61
|
+
assert parsed.platform_diagnostic == raw
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- [ ] **Step 2: Verify red.** Run `uv run --group dev python -m pytest tests/unit/test_bsl_diagnostics.py tests/unit/test_bsl_diagnostic_acceptance.py -q`; expect the new trace assertions to fail because master lacks `causes` and `frames`.
|
|
65
|
+
- [ ] **Step 3: Port only the pure core.** Bring the trace dataclasses, bounded structural parser and per-frame mapping helpers from `c69b5e5:src/onec_runtime/bsl/diagnostics.py` into the current file. Keep the public call shape:
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
def normalize_platform_diagnostic_trace(
|
|
69
|
+
parsed: ParsedPlatformDiagnostic,
|
|
70
|
+
*,
|
|
71
|
+
stage: DiagnosticStage,
|
|
72
|
+
executed: MappedSource | None = None,
|
|
73
|
+
visible_source_context: VisibleSourceContext | None = None,
|
|
74
|
+
pinned_manifest_sha256: str | None = None,
|
|
75
|
+
pinned_artifacts: tuple[WorkerDiagnosticArtifact, ...] = (),
|
|
76
|
+
) -> NormalizedDiagnostic:
|
|
77
|
+
if not isinstance(parsed, ParsedPlatformDiagnostic):
|
|
78
|
+
raise ValueError("parsed must be a ParsedPlatformDiagnostic")
|
|
79
|
+
if type(stage) is not DiagnosticStage:
|
|
80
|
+
raise ValueError("stage must be a DiagnosticStage")
|
|
81
|
+
if executed is not None and not isinstance(executed, MappedSource):
|
|
82
|
+
raise ValueError("executed must be a MappedSource or None")
|
|
83
|
+
if visible_source_context is not None and not isinstance(
|
|
84
|
+
visible_source_context, VisibleSourceContext,
|
|
85
|
+
):
|
|
86
|
+
raise ValueError("visible_source_context must be a VisibleSourceContext")
|
|
87
|
+
if executed is None and visible_source_context is not None:
|
|
88
|
+
raise ValueError("visible source context requires an executed artifact")
|
|
89
|
+
if pinned_manifest_sha256 is not None and type(pinned_manifest_sha256) is not str:
|
|
90
|
+
raise ValueError("pinned manifest identity must be a string or None")
|
|
91
|
+
if type(pinned_artifacts) is not tuple:
|
|
92
|
+
raise ValueError("pinned artifacts must be an immutable tuple")
|
|
93
|
+
if pinned_manifest_sha256 is None and pinned_artifacts:
|
|
94
|
+
raise ValueError("pinned artifacts require a manifest identity")
|
|
95
|
+
if pinned_manifest_sha256 is not None:
|
|
96
|
+
_validate_worker_diagnostic_request(
|
|
97
|
+
parsed, pinned_manifest_sha256, pinned_artifacts,
|
|
98
|
+
)
|
|
99
|
+
if pinned_manifest_sha256 is not None and (
|
|
100
|
+
executed is None
|
|
101
|
+
or (
|
|
102
|
+
bool(parsed.locations)
|
|
103
|
+
and parsed.locations[0].worker_artifact_location is not None
|
|
104
|
+
)
|
|
105
|
+
):
|
|
106
|
+
base = _remap_worker_runtime_primary(
|
|
107
|
+
parsed, stage=stage,
|
|
108
|
+
pinned_manifest_sha256=pinned_manifest_sha256,
|
|
109
|
+
pinned_artifacts=pinned_artifacts,
|
|
110
|
+
)
|
|
111
|
+
elif executed is not None:
|
|
112
|
+
base = _remap_platform_primary(
|
|
113
|
+
parsed, executed, stage=stage,
|
|
114
|
+
visible_source_context=visible_source_context,
|
|
115
|
+
)
|
|
116
|
+
else:
|
|
117
|
+
base = _generic_trace_base(parsed, stage)
|
|
118
|
+
causes = tuple(
|
|
119
|
+
ErrorTraceCause(
|
|
120
|
+
item.ordinal, item.summary_span, item.block_span,
|
|
121
|
+
item.frame_ordinals, item.category,
|
|
122
|
+
)
|
|
123
|
+
for item in parsed.causes
|
|
124
|
+
)
|
|
125
|
+
frames, worker_frames = _normalize_trace_frames(
|
|
126
|
+
parsed, executed=executed,
|
|
127
|
+
visible_source_context=visible_source_context,
|
|
128
|
+
pinned_manifest_sha256=pinned_manifest_sha256,
|
|
129
|
+
pinned_artifacts=pinned_artifacts,
|
|
130
|
+
)
|
|
131
|
+
return replace(
|
|
132
|
+
base, causes=causes, frames=frames,
|
|
133
|
+
frames_truncated=parsed.frames_truncated,
|
|
134
|
+
causes_truncated=parsed.causes_truncated,
|
|
135
|
+
worker_frames=(
|
|
136
|
+
base.worker_frames
|
|
137
|
+
if executed is None and pinned_manifest_sha256 is not None
|
|
138
|
+
else worker_frames
|
|
139
|
+
),
|
|
140
|
+
)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
The body is the corresponding tested implementation from commit `c69b5e5`, not a new runtime lookup. Preserve the old single-primary `remap_platform_diagnostic` and `remap_worker_stage_diagnostic` behavior while adding ordered trace fields. The UTF-8 limiter runs before structural parsing and hashes the full input.
|
|
144
|
+
- [ ] **Step 4: Verify green.** Run the two focused modules again and `uv run --group dev python -m pytest tests/unit/test_worker_universe.py -q`; inspect any failures caused by the new trace fields before moving on.
|
|
145
|
+
- [ ] **Step 5: Commit.** Stage only the three files above and commit `feat: port bounded BSL diagnostic trace core` after `git diff --check`.
|
|
146
|
+
|
|
147
|
+
### Task 2: Contract validation and verbatim private evidence
|
|
148
|
+
|
|
149
|
+
**Files:**
|
|
150
|
+
- Modify: `src/onec_runtime/runtime_contracts.py`
|
|
151
|
+
- Modify: `src/onec_runtime/privacy.py`
|
|
152
|
+
- Modify: `packages/mcp/src/onec_runtime_mcp/agent/operations.py` and `packages/mcp/src/onec_runtime_mcp/server.py` only where the existing private/expert validators still impose 4 KiB or rewrite 1C text
|
|
153
|
+
- Test: `tests/unit/test_runtime_contract_boundaries.py`
|
|
154
|
+
- Test: `tests/unit/test_mcp_profiles.py`
|
|
155
|
+
- Test: `tests/unit/test_mcp_server.py`
|
|
156
|
+
- Test: `tests/unit/test_agent_operation_view.py`
|
|
157
|
+
|
|
158
|
+
**Interfaces:**
|
|
159
|
+
- Consumes: Task 1 trace dataclasses and `NormalizedDiagnostic`.
|
|
160
|
+
- Produces: `MAX_PRIVATE_DIAGNOSTIC_BYTES = 65_536`; `sanitize_normalized_diagnostic(value) -> NormalizedDiagnostic | None` validates every cause/frame/span; `bounded_platform_diagnostic(value: str | None, *, truncated: bool, redacted: bool) -> tuple[str | None, bool, bool]` preserves UTF-8-bounded private text verbatim.
|
|
161
|
+
|
|
162
|
+
- [ ] **Step 1: Add failing boundary tests.** Transfer the trace validation cases from `c69b5e5:tests/unit/test_runtime_contract_boundaries.py` and test multibyte truncation and unchanged public keys:
|
|
163
|
+
|
|
164
|
+
```python
|
|
165
|
+
raw = "Ж" * 40_000
|
|
166
|
+
bounded, truncated, redacted = bounded_platform_diagnostic(
|
|
167
|
+
raw, truncated=False, redacted=False,
|
|
168
|
+
)
|
|
169
|
+
assert len(bounded.encode("utf-8")) <= 65_536
|
|
170
|
+
assert truncated is True
|
|
171
|
+
assert redacted is False
|
|
172
|
+
assert bounded == "Ж" * (65_536 // 2)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
- [ ] **Step 2: Verify red.** Run `uv run --group dev python -m pytest tests/unit/test_runtime_contract_boundaries.py tests/unit/test_mcp_profiles.py tests/unit/test_mcp_server.py tests/unit/test_agent_operation_view.py -q`; the 4 KiB master bound must fail the new assertion.
|
|
176
|
+
- [ ] **Step 3: Port validation and bound.** Reuse `c69b5e5` validation rules in `runtime_contracts.py`; reject wrong nested types, nonmonotonic spans, impossible origin/mapping combinations, oversized text and frame/cause counts without raising. In `privacy.py`, replace the expert-text rewrite with byte-bounded verbatim slicing while leaving public wire keys unchanged:
|
|
177
|
+
|
|
178
|
+
```python
|
|
179
|
+
encoded = value.encode("utf-8")
|
|
180
|
+
bounded = encoded[:MAX_PRIVATE_DIAGNOSTIC_BYTES].decode("utf-8", errors="ignore")
|
|
181
|
+
return bounded, truncated or len(encoded) > MAX_PRIVATE_DIAGNOSTIC_BYTES, redacted
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
- [ ] **Step 4: Verify green.** Run the Task 2 tests plus `tests/unit/test_bsl_diagnostics.py`; ensure public serialization still omits platform text and source strings. If the existing MCP expert validator has a 4 KiB cap, adjust that validator to `MAX_PRIVATE_DIAGNOSTIC_BYTES`; keep the exact existing wire key set and do not add an MCP expert tool.
|
|
185
|
+
- [ ] **Step 5: Commit.** Stage only touched Task 2 files and commit `feat: validate bounded private BSL trace evidence` after `git diff --check`.
|
|
186
|
+
|
|
187
|
+
### Task 3: Read Worker evidence from the existing operation pin
|
|
188
|
+
|
|
189
|
+
**Files:**
|
|
190
|
+
- Modify: `src/onec_runtime/worker_universe.py`
|
|
191
|
+
- Modify: `src/onec_runtime/execution/worker_activation.py`
|
|
192
|
+
- Modify: `src/onec_runtime/execution/controller/controller.py`
|
|
193
|
+
- Modify: `src/onec_runtime/execution/reply_publication.py` (optional evidence fields only)
|
|
194
|
+
- Test: `tests/unit/test_worker_universe.py`
|
|
195
|
+
- Test: `tests/unit/test_execution_controller_routes.py`
|
|
196
|
+
- Test: `tests/unit/test_execution_reply_publication.py`
|
|
197
|
+
|
|
198
|
+
**Interfaces:**
|
|
199
|
+
- Consumes: `OperationGenerationPin`, its manifest and retained `WorkerGenerationDebugView`.
|
|
200
|
+
- Produces: `WorkerUniverseRegistry.diagnostic_artifacts_for_pin(pin: OperationGenerationPin) -> tuple[WorkerDiagnosticArtifact, ...]`. Confirmed failed `MainYield`, `MainConfirmedDecodeFailure`, and `CaptureRemoteOutcome` carry optional `pinned_manifest_sha256` and `pinned_artifacts` fields with empty defaults; successful outcomes leave defaults untouched.
|
|
201
|
+
|
|
202
|
+
- [ ] **Step 1: Add a pin-fencing regression.** Extend `test_old_generation_debug_view_lives_until_last_pin_release` in `test_worker_universe.py`. After promoting generation 2 while holding generation 1's pin, assert:
|
|
203
|
+
|
|
204
|
+
```python
|
|
205
|
+
evidence = host.diagnostic_artifacts_for_pin(pin)
|
|
206
|
+
assert evidence
|
|
207
|
+
assert {item.manifest_sha256 for item in evidence} == {first.manifest.sha256}
|
|
208
|
+
assert {item.registration_name for item in evidence} == {
|
|
209
|
+
module.registration_name for module in first.manifest.modules
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Also assert a released pin raises `ProtocolError`, and add controller spies showing evidence retrieval is zero for success and exactly once for a failed MAIN/CAPTURE result.
|
|
214
|
+
- [ ] **Step 2: Verify red.** Run `uv run --group dev python -m pytest tests/unit/test_worker_universe.py tests/unit/test_execution_controller_routes.py tests/unit/test_execution_reply_publication.py -q`; expect the new pin method and outcome fields to be absent.
|
|
215
|
+
- [ ] **Step 3: Add the read-only pin adapter.** Under the registry's existing lease validation, convert the retained debug view and its matching manifest descriptors:
|
|
216
|
+
|
|
217
|
+
```python
|
|
218
|
+
view = self._operation_debug_view(pin)
|
|
219
|
+
return tuple(
|
|
220
|
+
WorkerDiagnosticArtifact(
|
|
221
|
+
logical_name=descriptor.logical_name,
|
|
222
|
+
revision=descriptor.revision,
|
|
223
|
+
artifact_sha256=module.artifact_sha256,
|
|
224
|
+
registration_name=descriptor.registration_name,
|
|
225
|
+
manifest_sha256=view.manifest.sha256,
|
|
226
|
+
source_map_sha256=module.source_map_sha256,
|
|
227
|
+
mapped_source=module.mapped_source,
|
|
228
|
+
visible_source_context=module.visible_context,
|
|
229
|
+
)
|
|
230
|
+
for descriptor, module in zip(view.manifest.modules, view.modules, strict=True)
|
|
231
|
+
)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
`WorkerUniverseActivationAdapter` accepts its own `_GenerationLease`, checks `lease.pin` is present, and delegates to the registry. Do not call `pin_active` again.
|
|
235
|
+
- [ ] **Step 4: Carry evidence only on confirmed error.** In controller MAIN completion (including `MainConfirmedDecodeFailure` after CAPTURE) use `_main_worker_leases[operation.command_id]`; in the CAPTURE ticket use the existing local `lease` before its dependent release ticket. Set the optional outcome fields only when the remote error string is nonempty or `EvaluationResult.error_occurred` is true. On any evidence failure leave the fields empty; do not fail the confirmed cell. A compact adapter boundary is:
|
|
236
|
+
|
|
237
|
+
```python
|
|
238
|
+
if remote_error and lease is not None and lease.pin is not None:
|
|
239
|
+
manifest_sha256 = lease.pin.handle.manifest_sha256
|
|
240
|
+
pinned_artifacts = activation.diagnostic_artifacts_for_lease(lease)
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
- [ ] **Step 5: Verify green and commit.** Run the three Task 3 modules plus `tests/unit/test_runtime_rdbg_single_owner.py`; commit `feat: retain exact Worker diagnostic evidence on failures` after `git diff --check`.
|
|
244
|
+
|
|
245
|
+
### Task 4: Publish full diagnostics for MAIN and CAPTURE failures
|
|
246
|
+
|
|
247
|
+
**Files:**
|
|
248
|
+
- Modify: `src/onec_runtime/execution/reply_publication.py`
|
|
249
|
+
- Test: `tests/unit/test_execution_reply_publication.py`
|
|
250
|
+
- Test: `tests/unit/test_cell_execution_pipeline.py`
|
|
251
|
+
- Test: `tests/unit/test_capture_stop_recovery_component.py`
|
|
252
|
+
|
|
253
|
+
**Interfaces:**
|
|
254
|
+
- Consumes: Task 1 `normalize_platform_diagnostic_trace`; Task 3 optional pinned evidence in confirmed outcomes; existing publication records retain the executed source and visible context.
|
|
255
|
+
- Produces: failed `RuntimeReply.diagnostic` with ordered causes/frames while `RuntimeReply.error`, `succeeded`, operation phase and cleanup remain unchanged.
|
|
256
|
+
|
|
257
|
+
- [ ] **Step 1: Add failing publication tests.** Extend existing MAIN completion and CAPTURE result tests with a native frame followed by a mapped notebook frame, a native-only failure with no `executed_source`, and a late MAIN error after CAPTURE. Assert both mixed frames survive in platform order and that diagnostic failure does not mask the BSL failure:
|
|
258
|
+
|
|
259
|
+
```python
|
|
260
|
+
assert reply.succeeded is False
|
|
261
|
+
assert reply.error == "BSL execution failed"
|
|
262
|
+
assert [frame.origin.value for frame in reply.diagnostic.frames] == [
|
|
263
|
+
"native_module", "executed_artifact",
|
|
264
|
+
]
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Spy on `parse_platform_diagnostic` and the Worker evidence collaborator in success cases; assert both have zero calls.
|
|
268
|
+
- [ ] **Step 2: Verify red.** Run `uv run --group dev python -m pytest tests/unit/test_execution_reply_publication.py tests/unit/test_cell_execution_pipeline.py tests/unit/test_capture_stop_recovery_component.py -q`; the new trace and success-path assertions must fail before the publisher change.
|
|
269
|
+
- [ ] **Step 3: Replace only the error path.** Keep `_execution_diagnostic` in `reply_publication.py` pure and error-gated. Parse even when `source is None`, so native frames remain visible; only an empty error returns `None` before parsing. Its failure body calls:
|
|
270
|
+
|
|
271
|
+
```python
|
|
272
|
+
return normalize_platform_diagnostic_trace(
|
|
273
|
+
parse_platform_diagnostic(error),
|
|
274
|
+
stage=DiagnosticStage.EXECUTION,
|
|
275
|
+
executed=source,
|
|
276
|
+
visible_source_context=visible,
|
|
277
|
+
pinned_manifest_sha256=pinned_manifest_sha256,
|
|
278
|
+
pinned_artifacts=pinned_artifacts,
|
|
279
|
+
)
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Wrap only diagnostic enrichment in a failure-isolation guard that returns `None`; do not alter MAIN/CAPTURE success, result decoding, ledger settlement, or pin release. The existing Worker stage-error path in `worker_universe.py` uses the Task 1 parser without a second RDBG operation.
|
|
283
|
+
- [ ] **Step 4: Verify green and commit.** Run the three Task 4 modules plus `tests/unit/test_worker_universe.py` and `tests/unit/test_runtime_contract_boundaries.py`; commit `feat: publish mapped MAIN and CAPTURE error stacks` after `git diff --check`.
|
|
284
|
+
|
|
285
|
+
### Task 5: Render detailed trace in Jupyter and optional source links
|
|
286
|
+
|
|
287
|
+
**Files:**
|
|
288
|
+
- Create: `packages/jupyter/src/onec_runtime_jupyter/diagnostic_trace.py`
|
|
289
|
+
- Create: `packages/jupyter/src/onec_runtime_jupyter/diagnostic_sources.py`
|
|
290
|
+
- Modify: `packages/jupyter/src/onec_runtime_jupyter/extension.py`
|
|
291
|
+
- Test: `tests/unit/test_jupyter_adapter.py`
|
|
292
|
+
- Test: `tests/unit/test_runtime_source_root_config.py`
|
|
293
|
+
|
|
294
|
+
**Interfaces:**
|
|
295
|
+
- Consumes: validated `NormalizedDiagnostic`, current cell `SourceUnitRef` and source text, optional configured source root.
|
|
296
|
+
- Produces: `render_error_trace(diagnostic, *, heading, visible_source, source_unit, source_root=None) -> str | None` for human display only, and `DiagnosticSourceFiles.line_excerpt(frame: ErrorTraceFrame, platform_detail: str | None) -> str | None` for a matched local line. Public JSON remains compact; diagnostic mode retains bounded original 1C text.
|
|
297
|
+
|
|
298
|
+
- [ ] **Step 1: Add failing adapter tests.** Port display/fence cases from `c69b5e5:tests/unit/test_jupyter_adapter.py`. Assert Russian/English causes, ordered native and mapped frames, explicit platform fragment, raw text in diagnostic mode, no raw text in public payload, stale source hash suppression, and optional root hint. For a native local excerpt, require its stripped line to match the 1C detail fragment; a divergent local export keeps the platform fragment but shows no local excerpt. A minimal text assertion is:
|
|
299
|
+
|
|
300
|
+
```python
|
|
301
|
+
assert "Причины:" in display.text
|
|
302
|
+
assert "Стек (1С):" in display.text
|
|
303
|
+
assert "фрагмент 1С:" in display.text
|
|
304
|
+
assert "Исходное сообщение 1С:" in display.text
|
|
305
|
+
assert "platform_diagnostic" not in display.payload.get("diagnostic", {})
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
- [ ] **Step 2: Verify red.** Run `uv run --group dev python -m pytest tests/unit/test_jupyter_adapter.py tests/unit/test_runtime_source_root_config.py -q`; new trace-rendering assertions must fail.
|
|
309
|
+
- [ ] **Step 3: Port the two small helpers.** Adapt `c69b5e5:packages/jupyter/src/onec_runtime_jupyter/diagnostic_trace.py` and `diagnostic_sources.py` with `apply_patch`. Continue to validate through `sanitize_normalized_diagnostic`, verify `source_sha256(visible_source) == source_unit.source_sha256` before displaying an original line, and use `ConfigurationSourceLayout.safe_path` for optional file hints. Native frames display 1C coordinates and detail without a root. A local file line is labelled as a local export and shown only if it matches the stripped 1C detail fragment; otherwise show only the platform fragment. A local file mismatch removes only the optional hint or excerpt:
|
|
310
|
+
|
|
311
|
+
```python
|
|
312
|
+
detail = _span_text(evidence, frame.detail_span)
|
|
313
|
+
try:
|
|
314
|
+
hint = source_files.hint(frame) if source_files is not None else None
|
|
315
|
+
local_line = (
|
|
316
|
+
source_files.line_excerpt(frame, detail)
|
|
317
|
+
if source_files is not None else None
|
|
318
|
+
)
|
|
319
|
+
except BaseException:
|
|
320
|
+
hint = None
|
|
321
|
+
local_line = None
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
The helper's native line check uses the already resolved relative hint, not a
|
|
325
|
+
second search:
|
|
326
|
+
|
|
327
|
+
```python
|
|
328
|
+
relative = self.hint(frame)
|
|
329
|
+
if relative is None or platform_detail is None:
|
|
330
|
+
return None
|
|
331
|
+
path = self.layout.safe_path(self.layout.normalized_root / relative)
|
|
332
|
+
lines = path.read_text(encoding="utf-8-sig").splitlines()
|
|
333
|
+
line = frame.platform_location.line
|
|
334
|
+
if not 1 <= line <= len(lines):
|
|
335
|
+
return None
|
|
336
|
+
local = lines[line - 1].strip()
|
|
337
|
+
return local if local and local == platform_detail.strip() else None
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
- [ ] **Step 4: Integrate at the current display boundary.** Call `render_error_trace` only after a failed `RuntimeReply` has passed source-unit fencing in `extension.py`; use the session's configured capture source root when present. Keep Python `_render_traceback_` compact and do not include raw text in the public MIME payload.
|
|
341
|
+
- [ ] **Step 5: Verify green and commit.** Run Task 5 tests plus `tests/unit/test_jupyter_capture_display.py`; commit `feat: show full mapped BSL trace in notebooks` after `git diff --check`.
|
|
342
|
+
|
|
343
|
+
### Task 6: Regression and live qualification
|
|
344
|
+
|
|
345
|
+
**Files:**
|
|
346
|
+
- Test: `tests/integration/test_worker_universe_1c.py` only if an opt-in fixture needs a compact assertion; do not save raw live evidence.
|
|
347
|
+
- Modify: `docs/superpowers/specs/2026-09-18-bsl-error-diagnostics-main-design.md` only to record measured deviations from the approved design.
|
|
348
|
+
|
|
349
|
+
**Interfaces:**
|
|
350
|
+
- Consumes: Tasks 1–5 completed and committed.
|
|
351
|
+
- Produces: test evidence and a final status report distinguishing static from live qualification.
|
|
352
|
+
|
|
353
|
+
- [ ] **Step 1: Re-run focused and full static tests.** Run:
|
|
354
|
+
|
|
355
|
+
```powershell
|
|
356
|
+
uv run --group dev python -m pytest tests/unit/test_bsl_diagnostics.py tests/unit/test_execution_reply_publication.py tests/unit/test_jupyter_adapter.py tests/unit/test_worker_universe.py -q
|
|
357
|
+
uv run --group dev python -m pytest tests/unit -q
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
- [ ] **Step 2: Check adjacent adapter and contract behavior.** Run `uv run --group dev python -m pytest tests/unit/test_mcp_profiles.py tests/unit/test_mcp_server.py tests/unit/test_agent_operation_view.py tests/unit/test_runtime_contract_boundaries.py -q`. Check `git diff --check`, `git status --short`, and the exact changed-file list against the ownership map. Do not add an MCP expert tool/schema.
|
|
361
|
+
- [ ] **Step 3: Qualify against 1C only when available.** Use the repository's existing opt-in live harness with disposable infobases. Exercise Russian/English failures, nested causes, MAIN completion after CAPTURE, CAPTURE failure then successful retry, and a successful-cell diagnostic-call spy. Keep platform output outside the repository; if the platform is unavailable, report live qualification as not run rather than passing.
|
|
362
|
+
- [ ] **Step 4: Review and hand off.** Request code review, resolve findings with focused reruns, then report commits, test counts, live results or limitation, and the remaining deferred MCP expert issue. Do not merge master without a separate request.
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# BSL Error Diagnostics v0.1.21 Release Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
|
4
|
+
|
|
5
|
+
**Goal:** Publish the source-mapped BSL error diagnostics on `master` as `v0.1.21`, including verified runtime-core and Jupyter packages on PyPI.
|
|
6
|
+
|
|
7
|
+
**Architecture:** Prepare one metadata-only release commit in an isolated worktree, prove the resulting source and binary distributions locally, then publish the exact commit through the existing GitHub Release and PyPI Trusted Publishing workflow. The MCP workspace package remains version-aligned but is not uploaded, matching the established release boundary.
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** Git, Python 3.12+, uv, pytest, npm, GitHub CLI, GitHub Actions, PyPI Trusted Publishing.
|
|
10
|
+
|
|
11
|
+
**Spec:** `docs/superpowers/specs/2026-09-20-bsl-error-diagnostics-release-design.md`
|
|
12
|
+
|
|
13
|
+
## Global Constraints
|
|
14
|
+
|
|
15
|
+
- Release version is exactly `0.1.21`; tag is exactly `v0.1.21`.
|
|
16
|
+
- Release base is `master` commit `86b7972`.
|
|
17
|
+
- Publish only `onec-interactive-runtime-core` and `onec-interactive-jupyter` to PyPI.
|
|
18
|
+
- Keep `onec-interactive-mcp` version-aligned in the workspace but unpublished.
|
|
19
|
+
- Keep the VS Code extension at `0.1.4` and the product 1C extension artifact/protocol unchanged.
|
|
20
|
+
- Do not add the deferred MCP expert diagnostic contract.
|
|
21
|
+
- Do not commit credentials, live evidence, local paths, generated environments, or built artifacts.
|
|
22
|
+
- Preserve the user's existing checkout and uncommitted notebook edits.
|
|
23
|
+
|
|
24
|
+
## Review Focus
|
|
25
|
+
|
|
26
|
+
- A stale `0.1.20` package version or exact dependency would produce inconsistent wheels; the version-consistency and packaging checks must catch it.
|
|
27
|
+
- A README-wide replacement could incorrectly change the VSIX release/version; inspect the final README diff explicitly.
|
|
28
|
+
- A tag not reachable from `master` would fail the workflow ancestor gate; verify `origin/master` equals the tagged commit before release publication.
|
|
29
|
+
- A partial PyPI publication must be retried from the same immutable tag and artifacts; never rebuild under `0.1.21` after one package is uploaded.
|
|
30
|
+
- A local install can accidentally resolve packages from the public index; local artifact installation must use `--no-index`, and the final public verification must use a fresh environment and the PyPI index.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### Task 1: Prepare the metadata-only release commit
|
|
35
|
+
|
|
36
|
+
**Files:**
|
|
37
|
+
- Create: `docs/superpowers/specs/2026-09-20-bsl-error-diagnostics-release-design.md`
|
|
38
|
+
- Create: `docs/superpowers/plans/2026-09-20-bsl-error-diagnostics-release.md`
|
|
39
|
+
- Modify: `pyproject.toml`
|
|
40
|
+
- Modify: `src/onec_runtime/__init__.py`
|
|
41
|
+
- Modify: `packages/jupyter/pyproject.toml`
|
|
42
|
+
- Modify: `packages/jupyter/src/onec_runtime_jupyter/__init__.py`
|
|
43
|
+
- Modify: `packages/jupyter/frontend/package.json`
|
|
44
|
+
- Modify: `packages/jupyter/frontend/package-lock.json`
|
|
45
|
+
- Modify: `packages/mcp/pyproject.toml`
|
|
46
|
+
- Modify: `packages/mcp/src/onec_runtime_mcp/__init__.py`
|
|
47
|
+
- Modify: `uv.lock`
|
|
48
|
+
- Modify: `README.md`
|
|
49
|
+
- Test: `tests/packaging/test_product_wheels.py`
|
|
50
|
+
|
|
51
|
+
**Interfaces:**
|
|
52
|
+
- Consumes: the version fields and exact dependency pins currently set to `0.1.20`.
|
|
53
|
+
- Produces: a single internally consistent `0.1.21` source tree suitable for the existing release workflow.
|
|
54
|
+
|
|
55
|
+
- [ ] **Step 1: Confirm the release preconditions**
|
|
56
|
+
|
|
57
|
+
Run a read-only script that asserts every product version and exact dependency
|
|
58
|
+
pin is `0.1.20`, `v0.1.21` is absent locally and remotely, `master` and
|
|
59
|
+
`origin/master` both equal `86b7972`, and PyPI reports `0.1.20` as the latest
|
|
60
|
+
core and Jupyter release.
|
|
61
|
+
|
|
62
|
+
Expected: all assertions pass and no release state is changed.
|
|
63
|
+
|
|
64
|
+
- [ ] **Step 2: Update all release metadata to `0.1.21`**
|
|
65
|
+
|
|
66
|
+
Change only the files listed above. In README, update the source release link,
|
|
67
|
+
the stated Python package version, and the installation pin to `0.1.21`; leave
|
|
68
|
+
the VSIX reference at `v0.1.18` / `0.1.4`.
|
|
69
|
+
|
|
70
|
+
- [ ] **Step 3: Regenerate lock metadata**
|
|
71
|
+
|
|
72
|
+
Run: `uv lock --offline`
|
|
73
|
+
|
|
74
|
+
Expected: only the three workspace package versions and their exact core pins
|
|
75
|
+
move to `0.1.21`; third-party dependency resolutions do not change.
|
|
76
|
+
|
|
77
|
+
- [ ] **Step 4: Verify metadata consistency and the README diff**
|
|
78
|
+
|
|
79
|
+
Run a Python script that loads the three `pyproject.toml` files, the two Python
|
|
80
|
+
`__version__` declarations, the frontend `package.json`/`package-lock.json`,
|
|
81
|
+
and `uv.lock`, and asserts version `0.1.21` everywhere. Assert Jupyter and MCP
|
|
82
|
+
both require `onec-interactive-runtime-core==0.1.21`. Inspect
|
|
83
|
+
`git diff -- README.md` and confirm the VSIX reference is unchanged.
|
|
84
|
+
|
|
85
|
+
Expected: every assertion passes; no stale product `0.1.20` remains outside
|
|
86
|
+
historical release documents/specifications.
|
|
87
|
+
|
|
88
|
+
- [ ] **Step 5: Run the focused metadata/packaging gate**
|
|
89
|
+
|
|
90
|
+
Run: `uv run --group dev python -m pytest tests/packaging/test_product_wheels.py -q`
|
|
91
|
+
|
|
92
|
+
Expected: all 12 packaging tests pass.
|
|
93
|
+
|
|
94
|
+
- [ ] **Step 6: Commit the release candidate**
|
|
95
|
+
|
|
96
|
+
Run `git diff --check`, inspect the complete changed-file list, then commit
|
|
97
|
+
with message `chore: prepare v0.1.21 release`.
|
|
98
|
+
|
|
99
|
+
Expected: one release commit on top of `86b7972`, with no generated artifacts
|
|
100
|
+
or local paths tracked.
|
|
101
|
+
|
|
102
|
+
### Task 2: Qualify the exact release candidate
|
|
103
|
+
|
|
104
|
+
**Files:**
|
|
105
|
+
- Read: `.github/workflows/releases.yaml`
|
|
106
|
+
- Read: `tests/packaging/test_product_wheels.py`
|
|
107
|
+
- Verify: built wheel and sdist artifacts outside the tracked tree
|
|
108
|
+
|
|
109
|
+
**Interfaces:**
|
|
110
|
+
- Consumes: the committed, version-consistent `0.1.21` source tree from Task 1.
|
|
111
|
+
- Produces: test output and local package artifacts proving the exact commit is publishable.
|
|
112
|
+
|
|
113
|
+
- [ ] **Step 1: Run the offline unit gate**
|
|
114
|
+
|
|
115
|
+
Run: `uv run --group dev python -m pytest tests/unit -q`
|
|
116
|
+
|
|
117
|
+
Expected: the full offline unit suite passes; conditional skips are reported
|
|
118
|
+
separately and are not described as live qualification.
|
|
119
|
+
|
|
120
|
+
- [ ] **Step 2: Verify the Jupyter frontend**
|
|
121
|
+
|
|
122
|
+
Run:
|
|
123
|
+
|
|
124
|
+
```powershell
|
|
125
|
+
npm --prefix packages/jupyter/frontend ci
|
|
126
|
+
npm --prefix packages/jupyter/frontend test
|
|
127
|
+
npm --prefix packages/jupyter/frontend run build
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Expected: dependency installation, frontend tests, TypeScript compilation,
|
|
131
|
+
and JupyterLab extension build all succeed.
|
|
132
|
+
|
|
133
|
+
- [ ] **Step 3: Verify the bundled 1C extension is unchanged and current**
|
|
134
|
+
|
|
135
|
+
Run: `uv run --group dev python -m pytest tests/unit/test_universal_extension_source.py::test_checked_in_bundle_matches_canonical_source_and_manifest -q`
|
|
136
|
+
|
|
137
|
+
Expected: one test passes.
|
|
138
|
+
|
|
139
|
+
- [ ] **Step 4: Build the exact publishable artifacts**
|
|
140
|
+
|
|
141
|
+
Create a fresh temporary output directory outside the tracked tree, then run:
|
|
142
|
+
|
|
143
|
+
```powershell
|
|
144
|
+
uv build --package onec-interactive-runtime-core --no-sources --out-dir $releaseArtifacts
|
|
145
|
+
uv build --package onec-interactive-jupyter --no-sources --out-dir $releaseArtifacts
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Expected: exactly one wheel and one sdist for each published package, all with
|
|
149
|
+
version `0.1.21`; no MCP distribution is present.
|
|
150
|
+
|
|
151
|
+
- [ ] **Step 5: Inspect and install the local artifacts without an index**
|
|
152
|
+
|
|
153
|
+
Check wheel METADATA, filenames, bundled extension files, and Jupyter frontend
|
|
154
|
+
assets. Create a fresh temporary virtual environment and install
|
|
155
|
+
`onec-interactive-jupyter==0.1.21` with `--no-index --find-links
|
|
156
|
+
$releaseArtifacts`. Import both packages and assert their distribution and
|
|
157
|
+
module versions are exactly `0.1.21`.
|
|
158
|
+
|
|
159
|
+
Expected: the clean installation succeeds using only the four local artifacts.
|
|
160
|
+
|
|
161
|
+
- [ ] **Step 6: Verify the branch is publication-ready**
|
|
162
|
+
|
|
163
|
+
Run `git diff --check`, `git status --short --branch`, and compare `HEAD` with
|
|
164
|
+
`86b7972`. Confirm there is exactly one release commit and the worktree is
|
|
165
|
+
clean. Prepare release notes that report the fresh test counts and clearly
|
|
166
|
+
label the previously completed disposable-infobase checks as earlier live
|
|
167
|
+
qualification of the runtime commit.
|
|
168
|
+
|
|
169
|
+
Expected: clean branch, exact release notes, and no untracked artifacts.
|
|
170
|
+
|
|
171
|
+
### Task 3: Publish and verify `v0.1.21`
|
|
172
|
+
|
|
173
|
+
**Files:**
|
|
174
|
+
- Publish: Git commit, annotated Git tag, GitHub Release, PyPI distributions
|
|
175
|
+
- Verify: GitHub Actions run and PyPI JSON/file metadata
|
|
176
|
+
|
|
177
|
+
**Interfaces:**
|
|
178
|
+
- Consumes: the exact verified Task 2 commit and release notes.
|
|
179
|
+
- Produces: public GitHub release `v0.1.21` and PyPI core/Jupyter `0.1.21` distributions.
|
|
180
|
+
|
|
181
|
+
- [ ] **Step 1: Recheck remote state immediately before publication**
|
|
182
|
+
|
|
183
|
+
Fetch `origin`, assert `origin/master` is still `86b7972`, confirm tag/release
|
|
184
|
+
`v0.1.21` does not exist, and confirm PyPI still has no `0.1.21` files.
|
|
185
|
+
|
|
186
|
+
Expected: no concurrent release or master update has appeared.
|
|
187
|
+
|
|
188
|
+
- [ ] **Step 2: Push the verified commit and tag**
|
|
189
|
+
|
|
190
|
+
Push `HEAD` to `origin/master`, verify the remote SHA, create annotated tag
|
|
191
|
+
`v0.1.21` with message `Release v0.1.21`, and push that tag.
|
|
192
|
+
|
|
193
|
+
Expected: `origin/master`, local `HEAD`, and `v0.1.21^{commit}` are identical.
|
|
194
|
+
|
|
195
|
+
- [ ] **Step 3: Publish the GitHub Release**
|
|
196
|
+
|
|
197
|
+
Create a non-draft, non-prerelease GitHub Release named
|
|
198
|
+
`v0.1.21 - source-mapped BSL diagnostics` from the verified existing tag and
|
|
199
|
+
the prepared release notes.
|
|
200
|
+
|
|
201
|
+
Expected: the release is public and triggers `.github/workflows/releases.yaml`.
|
|
202
|
+
|
|
203
|
+
- [ ] **Step 4: Monitor Trusted Publishing to completion**
|
|
204
|
+
|
|
205
|
+
Locate the release-triggered workflow run and watch it until the build,
|
|
206
|
+
`publish-core`, and `publish-jupyter` jobs all complete successfully.
|
|
207
|
+
|
|
208
|
+
Expected: the workflow conclusion is `success`. If publication is partial,
|
|
209
|
+
retry the same workflow/tag without changing source or artifacts.
|
|
210
|
+
|
|
211
|
+
- [ ] **Step 5: Verify PyPI and a clean public installation**
|
|
212
|
+
|
|
213
|
+
Query the official PyPI JSON endpoints and assert both packages report
|
|
214
|
+
`0.1.21`, with one wheel and one sdist each. In a fresh environment, install
|
|
215
|
+
`onec-interactive-jupyter==0.1.21` from PyPI and assert the installed Jupyter
|
|
216
|
+
and core distribution/module versions are `0.1.21`.
|
|
217
|
+
|
|
218
|
+
Expected: both public packages install and import successfully from PyPI.
|
|
219
|
+
|
|
220
|
+
- [ ] **Step 6: Record final release state**
|
|
221
|
+
|
|
222
|
+
Confirm the GitHub Release URL, workflow URL, PyPI project URLs, remote commit,
|
|
223
|
+
and tag. Remove only temporary local environments/artifacts and the isolated
|
|
224
|
+
release worktree after the release is fully verified.
|
|
225
|
+
|
|
226
|
+
Expected: the public release is reproducible from one tagged release commit,
|
|
227
|
+
and the user's original checkout remains unchanged.
|