Bump actions/download-artifact from 4 to 5#2
Closed
dependabot[bot] wants to merge 1 commit intomainfrom
Closed
Conversation
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v4...v5) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
Author
|
Superseded by #21. |
leynos
added a commit
that referenced
this pull request
Dec 10, 2025
Address code review comments: 1. Remove const from ReplacementText::empty(): String::new() isn't const-stable on Rust stable, so the const fn attribute was invalid. Also updated ReplacementText::new() to accept impl Into<String>. 2. CRLF handling: Already fixed in previous commit (e3f9c7a). The review comment #2 was against outdated code. 3. Simplify TextEdit constructor API: Consolidated multiple overlapping constructors into a minimal canonical set using impl Into<String>: - Removed with_replacement, from_positions_typed (internal details) - Changed new, from_positions, insert_at to accept impl Into<String> - Callers can now pass &str directly without .into() or .to_string() 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
leynos
added a commit
that referenced
this pull request
Dec 11, 2025
…34) * feat(safety_harness): implement Double-Lock safety harness for transactional edits Introduce a comprehensive safety harness in `weaverd` that wraps all `act` commands with a two-phase verification process before committing file changes. The Double-Lock harness enforces: 1. Syntactic Lock: Parses modified files to ensure valid syntax trees, catching structural errors early. 2. Semantic Lock: Uses a configured language server to verify no new errors or high-severity warnings are introduced. Partial changes are prohibited; only fully verified edits are atomically applied to disk. The harness operates on in-memory file buffers to maintain filesystem integrity. This includes core types (`FileEdit`, `TextEdit`), verification context, transaction management, structured error types, placeholder lock implementations for syntactic and semantic phases, configurable test doubles, and comprehensive behavioral tests with BDD feature specifications. Documentation and design docs are updated to reflect the new safety harness feature, marking progress in the project roadmap. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(tests): introduce domain-specific newtypes for safety harness tests - Added newtypes (FileName, FileContent, TextPattern, DiagnosticMessage) to replace raw strings in tests - Updated safety harness behaviour tests to use these newtypes improving type safety and clarity - Refactored helper functions and test steps accordingly - Minor improvements and extraction of utility functions in safety_harness verification code for clarity Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * feat(safety_harness): add typed ReplacementText and transaction test builder - Introduced ReplacementText newtype to reduce primitive obsession on raw strings in text edits - Added new constructors for TextEdit using ReplacementText for ergonomic and safer API - Exposed ReplacementText from safety_harness module - Added TransactionTestBuilder to simplify and reduce boilerplate in transaction tests - Refactored tests to use TransactionTestBuilder, improving readability and maintainability Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(safety_harness/edit): deprecate from_coords; add safer position-based constructors - Deprecated `from_coords` method in favor of safer `from_positions` using Position structs - Added `from_positions` accepting String for convenience, promoting parameter object pattern - Renamed original `from_positions` to `from_positions_typed` to clarify usage with ReplacementText newtype - Updated delete constructors to use new position-based methods - Added allow deprecated annotations in tests using legacy coordinate API This improves type safety by reducing primitive coordinate usage and encourages better construction of text edits. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(safety_harness): replace deprecated coordinate API with Position struct in tests Replaced all instances of the deprecated `TextEdit::from_coords` with `TextEdit::from_positions` using the `Position` struct for clearer and modern position handling. Removed unnecessary deprecated allowances from tests related to coordinate usage. This change improves code clarity and aligns the tests with the current safe API for text editing positions. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(tests): use derive_more to simplify wrapper type implementations Replaced manual impls of AsRef and Deref for FileName, FileContent, TextPattern, and DiagnosticMessage wrapper types with #[derive(AsRef, Deref)] from derive_more crate. Updated Cargo.toml and Cargo.lock to upgrade derive_more to v1.0.0 with required features. This reduces boilerplate and improves code clarity in safety_harness_types.rs test module. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(tests): reduce duplication in failure scenario tests Refactored tests in transaction.rs by introducing a failure_scenario_builder helper and assert_file_unchanged assertion. This reduces boilerplate for setting up test files and checking for unchanged file content after failure scenarios. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * test(safety_harness): refactor lock failure tests to remove duplication Consolidate syntactic and semantic lock failure tests by introducing a helper function `test_lock_failure`. This reduces boilerplate and centralizes common test logic, improving maintainability and clarity. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(tests): introduce LineReplacement struct to simplify test edits Refactor test transaction builders by adding a LineReplacement struct to encapsulate column ranges and replacement text for single-line edits. This reduces the number of arguments in the with_replacement_edit method, making the tests cleaner and more maintainable. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * feat(safety_harness): implement two-phase commit with rollback Replace sequential file writes with two-phase commit to ensure multi-file atomicity in edit transactions. Phase 1 writes all modified content to temporary files; Phase 2 atomically renames temps to targets. If any rename fails, previously committed files are rolled back to their original content. Also document future LSP document sync strategy for cross-file semantic validation in weaver-design.md (Section 4.2.2) and add corresponding roadmap item for Phase 2. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * refactor(safety_harness): remove deprecated coordinate-based TextEdit methods Remove `from_coords`, `insert`, and `delete` methods from TextEdit, migrating all call sites to use the Position-based alternatives: - `from_positions` instead of `from_coords` - `insert_at` instead of `insert` - `delete_range` instead of `delete` This completes the refactoring to eliminate primitive obsession by using the Position parameter object pattern throughout. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(safety_harness): handle CRLF line endings and remove unused error variants Address two code review comments: 1. Fix CRLF handling in apply_edits: Rewrite offset calculation to scan actual newline positions rather than assuming 1-byte newlines. The new compute_line_start_offsets function handles both LF and CRLF correctly. 2. Remove unused VerificationFailed error variant and related code: - Remove SafetyHarnessError::VerificationFailed variant - Remove LockPhase enum (no longer needed) - Remove syntactic_failed/semantic_failed helper functions - Remove failures()/lock_phase() accessor methods - Remove associated tests Verification failures are returned as TransactionOutcome variants (SyntacticLockFailed/SemanticLockFailed), not as errors. This simplifies the error surface. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * refactor(safety_harness): simplify TextEdit API and fix const fn issue Address code review comments: 1. Remove const from ReplacementText::empty(): String::new() isn't const-stable on Rust stable, so the const fn attribute was invalid. Also updated ReplacementText::new() to accept impl Into<String>. 2. CRLF handling: Already fixed in previous commit (e3f9c7a). The review comment #2 was against outdated code. 3. Simplify TextEdit constructor API: Consolidated multiple overlapping constructors into a minimal canonical set using impl Into<String>: - Removed with_replacement, from_positions_typed (internal details) - Changed new, from_positions, insert_at to accept impl Into<String> - Callers can now pass &str directly without .into() or .to_string() 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * test(safety_harness): add tests for past-EOF line handling in apply_edits Add tests to verify that: 1. Edits targeting lines past EOF are rejected with EditApplicationError rather than causing a panic 2. End-of-file positions (last column of last line) work correctly The implementation already handles these cases correctly via the line_starts.get() returning None for invalid line indices. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat(safety_harness/transaction): implement atomic multi-file edit transactions with verification - Introduce two-phase commit for edit transactions: prepare writes to temp files; commit performs atomic renames. - Track file existence to support rollback that restores original state, including removing newly created files. - Create configurable syntactic and semantic verification locks for test scenarios. - Moves text edit application logic to verification/apply.rs with robust handling of LF and CRLF line endings. - Add extensive tests covering success, syntactic and semantic lock failures, backend errors, new file creation, and multi-file edits. - Update docs to reflect verification and atomic transaction behavior and acceptance criteria. This change enforces safety harness guarantees that multi-file edits are either fully committed or fully rolled back on failure, with verification locks gating commits. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * test(safety_harness/verification): simplify edit application tests with helper function Refactor tests applying text edits to use a new helper `assert_edits_produce` that consolidates common setup and assertions. This reduces boilerplate, improves readability, and maintains test coverage for various edit scenarios including insertions, deletions, replacements, multiple edits, and different line endings. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(safety_harness): refine path handling and ensure test transaction execution - Change path argument types from &PathBuf to &Path for more idiomatic usage in verification.rs and error.rs. - Adapt related iterator return types accordingly. - In safety harness behaviour tests, execute transactions on demand before outcome assertions to ensure tests do not fail due to missing execution. These changes improve code clarity and test robustness without altering behavior. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> * refactor(safety_harness): remove ReplacementText newtype and improve tests - Removed the ReplacementText newtype wrapper in edit.rs and all its usages to reduce unnecessary abstraction. - Updated mod.rs to stop re-exporting ReplacementText. - Consolidated syntactic and semantic lock failure tests into a single parameterized test using rstest for better coverage and maintainability. - Refactored apply.rs to extract line content length logic, improving newline handling accuracy (supporting CR, LF, CRLF). - Converted multiple individual tests on apply_edits to parameterized rstest cases to reduce duplication. - Enhanced safety_harness_behaviour.rs tests by caching original file contents to enable more reliable "file unchanged" assertions. - Added a helper assert_outcome function to consolidate transaction outcome assertions and ensure consistent transaction execution before checks. These changes improve code clarity, test robustness, and maintainability without altering external behavior. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> --------- Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
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.
Bumps actions/download-artifact from 4 to 5.
Release notes
Sourced from actions/download-artifact's releases.
... (truncated)
Commits
634f93cMerge pull request #416 from actions/single-artifact-id-download-pathb19ff43refactor: resolve download path correctly in artifact download tests (mainly ...e262cbebundle distbff23f9update docsfff8c14fix download path logic when downloading a single artifact by id448e3f8Merge pull request #407 from actions/nebuk89-patch-147225c4Update README.mdDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)