Skip to content

Fix config isolation, directional network metrics, and AeDebug launch - #22

Merged
JamesLinYJ merged 11 commits into
mainfrom
agent/fix-open-issue-root-causes
Aug 17, 2026
Merged

Fix config isolation, directional network metrics, and AeDebug launch#22
JamesLinYJ merged 11 commits into
mainfrom
agent/fix-open-issue-root-causes

Conversation

@JamesLinYJ

@JamesLinYJ JamesLinYJ commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Summary

This PR fixes the root causes of all currently open issues found in the functional review:

Root causes fixed

Configuration ownership

taskmgr-rs previously read and wrote its custom Options binary directly to the Microsoft Task Manager registry value. The new storage path is application-owned and versioned. The Microsoft value is never written or deleted; it is consulted only when its payload can be strongly identified as the current taskmgr-rs schema.

Network utilization

MIB_IF_ROW2::TransmitLinkSpeed and ReceiveLinkSpeed were collapsed with max() and reused as one denominator for Tx, Rx, and total traffic. That deterministically under-reported utilization on asymmetric links and gave the combined curve ambiguous full-duplex semantics. Tx/Rx now use their own capacities, while total is explicitly the maximum directional utilization.

AeDebug launch semantics

The previous path reduced the AeDebug Debugger value to its executable and reconstructed a generic -p <pid> command. The new path retains the validated template, expands REG_EXPAND_SZ, chooses the target-specific registry view with IsWow64Process2, supports the two %ld AeDebug placeholders plus literal %%, rejects unsupported %p templates rather than inventing a JIT_DEBUG_INFO pointer, and uses PROC_THREAD_ATTRIBUTE_HANDLE_LIST so only the debugger-ready event is inherited.

Automatic v0.2.6 release

This PR bumps the package version from 0.2.5 to 0.2.6 in both Cargo.toml and Cargo.lock and updates the release documentation to match the repository's existing automation.

After this PR is merged into main, .github/workflows/release.yml will automatically:

  1. read package version 0.2.6 and resolve release tag v0.2.6;
  2. create the tag automatically if it does not already exist;
  3. verify the tag exactly matches the Cargo package version;
  4. build x86_64, x86, and ARM64 release executables;
  5. validate PE architecture/version resources and package the assets;
  6. create SHA256SUMS.txt and GitHub build-provenance attestations;
  7. upload all assets to a draft release and verify their GitHub-reported sizes and SHA-256 digests;
  8. publish the verified draft and mark it as the latest release.

No manual git tag / tag push is required for this release. Future releases remain version-driven: intentionally bump Cargo.toml and Cargo.lock, then merge to main; ordinary documentation or Dependabot merges do not create a new version by themselves.

Validation

The final PR head passed the repository's formal Windows CI:

  • Quality (x86_64): changed-line whitespace, formatting, all-target check, strict Clippy, all tests, and release build.
  • Architecture (i686-pc-windows-msvc): all-target check, strict Clippy, executable tests under WOW64, and release build.
  • Architecture (aarch64-pc-windows-msvc): all-target check, strict Clippy, and release build.

The existing release workflow has also previously completed its full verified publication path for v0.2.5, including provenance, digest verification, and the final draft-to-published transition.

Closes #19
Closes #20
Closes #21

@JamesLinYJ
JamesLinYJ marked this pull request as ready for review August 17, 2026 16:33
@JamesLinYJ
JamesLinYJ merged commit df86ac4 into main Aug 17, 2026
3 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

1 participant