Repository navigation
Prepare checkpointed bug-fix lifecycle canary - #888
Draft
ventselartur wants to merge 168 commits into
Draft
ventselartur wants to merge 168 commits into
ventselartur wants to merge 168 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…vate/ventselartur/BugFixingSkillToBCBench
…//github.com/microsoft/BC-Bench into private/ventselartur/BugFixingSkillToBCBench
…vate/ventselartur/BugFixingSkillToBCBench
…both the fix and the test
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: haoranpb <27280733+haoranpb@users.noreply.github.com> Co-authored-by: Haoran Sun (Business Central) <haoransun@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: dayland <dayland@microsoft.com> Copilot-Session: 08f0eec5-45eb-485a-b89d-d0de33568add
Add a branch-dispatchable Claude launcher, a no-agent rehearsal mode, full action SHA pins, and type-safe lifecycle validation fixes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
|
||
| def stop(self) -> None: | ||
| if self._shutdown_failure is not None: | ||
| raise self._shutdown_failure |
|
|
||
| def stop(self) -> None: | ||
| if self._failure is not None: | ||
| raise self._failure |
| self._failure.__cause__ = interrupt | ||
| interrupt.add_note(str(self._failure)) | ||
| raise interrupt | ||
| raise self._failure |
|
|
||
| def test_delete_shuts_down_stdio_server_and_descendants(bridge, tmp_path): | ||
| headers = _initialize(bridge) | ||
| assert requests.delete(bridge.url, headers=headers, timeout=5).status_code == 200 |
| self._inventory_verifier = inventory_verifier | ||
| else: | ||
| if inventory_reader is None: | ||
| raise ValueError("An inventory reader is required") |
| def run() -> None: | ||
| try: | ||
| self._result = run_contained_process(request) | ||
| except BaseException as error: # noqa: BLE001 - transfer failure to the owning thread without logging secrets |
| if args.worker: | ||
| try: | ||
| _worker(args.worker) | ||
| except BaseException as error: # noqa: BLE001 - fail the worker and persist nonsecret cancellation/error evidence |
| ) | ||
| self._evidence_store.save_checkpoint_manifest(safe_name, manifest.to_dict()) | ||
| capture_completed = True | ||
| except BaseException as exc: # noqa: BLE001 - recovery must run before interrupts propagate |
| if staging_directory is not None: | ||
| try: | ||
| self._cleanup_staging(staging_directory, _classified_primary_error("capture", primary_error)) | ||
| except BaseException as exc: # noqa: BLE001 - recovery must run after cleanup interrupts |
| elif capture_started and not capture_completed: | ||
| payload = self._invoke_json("capture restart", self._service_recovery_script()) | ||
| self._validate_capture_recovery(payload) | ||
| except BaseException as exc: # noqa: BLE001 - aggregate recovery failures with interrupts |
Handle both synchronous and asynchronous Azure evaluation scan results without relying on incomplete SDK type stubs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Isolate Windows ctypes imports, normalize ANSI-formatted CLI errors, gate privileged ACL mutation to approved runners, and compare resolved Python paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Guard Windows-only ctypes imports so Linux type checking can validate the shared contained-process tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep shared lifecycle components cross-platform while running Windows path, identity, PowerShell, and cleanup suites only on their supported runtime. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve randomized mock scenarios by default while giving matrix CI a stable experiment identity that can be summarized as one run. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep uv-managed Python as the shared default, but build privileged lifecycle environments from a pinned setup-python runtime so reparse-point safety remains fail-closed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Load the PowerShell class at parse time so lifecycle repository setup can bind its typed entry parameter in fresh runner processes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid strict-mode property access for absent artifact configuration keys in lifecycle and legacy container setup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Import BCBench utilities at module parse time so lifecycle container creation can call Write-Log in fresh runner processes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Disable strict mode only at the external helper boundary so optional BcContainerHelper configuration remains compatible while lifecycle code stays strict. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Populate absent BcContainerHelper telemetry defaults inside its module scope before external container and compiler operations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Probe optional BcContainerHelper availability without dereferencing a missing module on hosted CI runners. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Route compiler creation through the helper-config wrapper and return the exact owned compiler directory for lifecycle ACL and cleanup tracking. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Import the pinned helper globally within the short-lived setup process so lifecycle and container-management modules initialize the same configuration instance. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Initialize optional BcContainerHelper settings in the exact module that owns New-BCContainer and fail explicitly when unavailable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolve optional BcContainerHelper config through the exact container or compiler command owner and cover both wrappers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Search the external command owner and loaded BcContainerHelper modules for the actual configuration variable before applying optional defaults. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pass the pinned BcContainerHelper module into compiler setup so optional config and telemetry functions use the same session state. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy DatasetEntry and BCBenchUtils alongside BCContainerManagement before importing the module inside the Business Central container. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use a fixed auditable local-user description within Windows' 48-character limit and verify the exact argument. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
rehearsal-onlyso checkpoint acceptance cannot launch a paid agent or summarize resultsContext
#845 has been restored to
bd0c1d4100d618dff9fd6c3fd5daedc41a8c7d79, the exact commit evaluated successfully by workflow run 34477586948. This draft isolates the subsequent lifecycle work for validation before any live canary or promotion decision.Validation
uv run pre-commit run --all-files --show-diff-on-failure --color=neveruv run pytest— 2049 passed, 3 skipped, 5 deselecteduv run pytest -m e2e --collect-only -q— 5 E2E tests collectedNo workflow was dispatched and no paid agent execution occurred.