Skip to content

Release hardening and CLI skill workflow#3

Merged
Adancurusul merged 8 commits into
mainfrom
cleanup/release-hardening
Jun 24, 2026
Merged

Release hardening and CLI skill workflow#3
Adancurusul merged 8 commits into
mainfrom
cleanup/release-hardening

Conversation

@Adancurusul

Copy link
Copy Markdown
Owner

Summary

  • Harden release checks, CI, docs, and destructive-operation guards.
  • Add CLI surfaces for serve, doctor, probes, config, skill prompt, and skill install.
  • Add Codex/Claude Code skill packaging plus Claude plugin-dir support for /embedded-debugger.
  • Split the large debugger tool handler into focused modules while preserving all 22 MCP tools.

Version

  • Keeps the package version at 0.2.0.
  • Cargo.toml and .claude-plugin/plugin.json both report 0.2.0.

Verification

  • cargo fmt --all -- --check
  • cargo clippy --locked --all-targets --all-features -- -D warnings
  • cargo test --locked --all-targets --all-features
  • RUSTDOCFLAGS="-D warnings" cargo doc --locked --all-features --no-deps
  • cargo package --locked from a clean worktree
  • CLI smoke checks for help, doctor, probes, skill prompt, skill install, and invalid command
  • Repository and installed skill validation
  • Real Codex $embedded-debugger trigger smoke
  • Real Claude /embedded-debugger trigger smoke through plugin-dir
  • STM32 demo cargo +nightly check --locked

Notes

Workflow/bootstrap files such as doc/**, AGENTS.md, CLAUDE.md, and .tmp/** are intentionally not included in this PR.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Comment thread src/main.rs
error!("Failed to load configuration: {}", e);
e
})?;
let mut config = Config::load(args.config.as_ref())?;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@Adancurusul Adancurusul merged commit 128703b into main Jun 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant