Release hardening and CLI skill workflow#3
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3b790219ed
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // Perform verification | ||
| { | ||
| let mut session = session_arc.session.lock().await; | ||
| match crate::flash::FlashManager::verify_flash(&mut session, expected_data, address) |
There was a problem hiding this comment.
Apply memory limits to flash verification
When security.restrict_memory_access is enabled, read_memory is guarded by ensure_memory_read_allowed, but this path calls FlashManager::verify_flash without checking the requested address/verify_size. A caller can use flash_verify with arbitrary expected data to read outside configured target regions and above memory.max_read_size (mismatch output includes actual bytes), bypassing the new memory restrictions; gate the range before verifying.
Useful? React with 👍 / 👎.
| error!("Failed to load configuration: {}", e); | ||
| e | ||
| })?; | ||
| let mut config = Config::load(args.config.as_ref())?; |
There was a problem hiding this comment.
Let doctor report invalid configurations
For embedded-debugger-mcp --config bad.toml doctor --json, this validating load returns before DoctorReport::collect runs, so the report’s config_valid/config_error fields are never emitted and the health check just exits with an error. Since the new doctor command explicitly models config validity, special-case doctor or load without validation so invalid configuration is reported in the doctor output.
Useful? React with 👍 / 👎.
Summary
/embedded-debugger.Version
0.2.0.Cargo.tomland.claude-plugin/plugin.jsonboth report0.2.0.Verification
cargo fmt --all -- --checkcargo clippy --locked --all-targets --all-features -- -D warningscargo test --locked --all-targets --all-featuresRUSTDOCFLAGS="-D warnings" cargo doc --locked --all-features --no-depscargo package --lockedfrom a clean worktree$embedded-debuggertrigger smoke/embedded-debuggertrigger smoke through plugin-dircargo +nightly check --lockedNotes
Workflow/bootstrap files such as
doc/**,AGENTS.md,CLAUDE.md, and.tmp/**are intentionally not included in this PR.