Release v6.0.1: fix CI gate (xtask test lint)

This commit is contained in:
Kevin Thomas committed 2026-10-16 08:54:19 -04:00
1 parent 4eda6a4dd5
commit c12cd60cc4
7 files changed
+24 -22

No files matched your search

Generated
+6 -6
View File
@@ -1890,7 +1890,7 @@ dependencies = [
[[package]]
name = "rea"
version = "6.0.0"
version = "6.0.1"
dependencies = [
"rea-engine",
"rea-report",
@@ -1900,7 +1900,7 @@ dependencies = [
[[package]]
name = "rea-engine"
version = "6.0.0"
version = "6.0.1"
dependencies = [
"goblin",
"iced-x86",
@@ -1917,7 +1917,7 @@ dependencies = [
[[package]]
name = "rea-report"
version = "6.0.0"
version = "6.0.1"
dependencies = [
"typst",
"typst-assets",
@@ -1927,7 +1927,7 @@ dependencies = [
[[package]]
name = "rea-sleigh"
version = "6.0.0"
version = "6.0.1"
dependencies = [
"include_dir",
"wazabin-sleigh",
@@ -2000,7 +2000,7 @@ dependencies = [
[[package]]
name = "reverse-engineering"
version = "6.0.0"
version = "6.0.1"
dependencies = [
"rea",
"rea-engine",
@@ -3583,7 +3583,7 @@ checksum = "9440ea3e5aeabb0ac63af70daf835274065238cdd0cec83418f417eae38bacee"
[[package]]
name = "xtask"
version = "6.0.0"
version = "6.0.1"
dependencies = [
"proc-macro2",
"syn 2.0.119",
+1 -1
View File
@@ -3,7 +3,7 @@ resolver = "2"
members = ["crates/rea-sleigh", "crates/rea", "crates/rea-engine", "crates/rea-report", "crates/reverse-engineering", "xtask"]
[workspace.package]
version = "6.0.0"
version = "6.0.1"
edition = "2021"
authors = ["Kevin Thomas"]
license = "MIT"
+3 -2
View File
@@ -2,7 +2,7 @@
**Project:** Reverse Engineering Assistant (REA)
**Repository:** `mytechnotalent/rea`
**Current release:** v6.0.0
**Current release:** v6.0.1
**Document owner:** Kevin Thomas
---
@@ -55,11 +55,12 @@ agents (OpenCode, Claude Code, Cursor, Windsurf).
| v5.6.2 | Fix overlapping text in PDF tables: long tokens wrap inside constrained columns. |
| v5.6.3 | New tagline positioning the pure-Rust, zero-dependency, verifiable core. |
| v5.6.4 | MCP fix: `decompile_function` resolves `sub_<addr>` names; `generate_dossier` summary lists only files written (incl. `.json`/`.asm`). |
| v6.0.0 | Audit-grade evidence: content-addressed bundles (`rea evidence`), offline `rea verify`, bundle diff, MCP `get_evidence_bundle`, and a CI gate. |
| v6.0.1 | Fix the CI gate (`xtask` test lint). |
---
## 3b. v6.0.0 — Audit-Grade Evidence
**Theme:** every finding is addressable, reproducible, and re-verifiable — offline, with nothing
installed. This turns the tagline into a capability.
+4 -9
View File
@@ -4,7 +4,7 @@
<br>
# Reverse Engineering Assistant (REA) v6.0.0
# Reverse Engineering Assistant (REA) v6.0.1
**The reverse-engineering framework you can run anywhere, with nothing installed, and actually trust.**
@@ -18,16 +18,11 @@ Writes `re-suspect.md`, `re-suspect.pdf`, and `re-suspect.json` next to the targ
<br>
# New in v6.0.0
# New in v6.0.1
REA v6.0.0 makes every finding addressable, reproducible, and re-verifiable — offline, with nothing installed.
REA v6.0.1 fixes the CI gate:
- **Evidence bundle.** Every one-shot writes `re-<name>.evidence.json`: a versioned, canonical bundle with target identity, coverage, explicit unknowns, and one item per finding — each with a **content-addressed ID** (`ev_<hex>`) and a confidence level.
- **`rea evidence <file>`** writes the bundle on demand.
- **`rea verify <bundle.json>`** re-checks every identifier against its content offline and detects tampering.
- **Bundle diff.** `rea diff` compares two evidence bundles by identity (added / removed / shared items).
- **MCP `get_evidence_bundle`.** Returns the active target's bundle as JSON (35 tools).
- **Report tie-in.** The Coverage & Limitations section references the bundle and `rea verify`.
- **CI green.** The `xtask` convention checker's tests asserted emptiness with `assert!(… .is_empty())`, which a newer clippy flags; they now use `assert_eq!(…, Vec::new())`. No behavior change.
# Features
+4 -1
View File
@@ -157,7 +157,10 @@ mod tests {
/// Verifies that a correct header passes.
#[test]
fn test_check_accepts_valid_header() {
assert!(check(Path::new("a.rs"), &sample("a.rs")).is_empty());
assert_eq!(
check(Path::new("a.rs"), &sample("a.rs")),
Vec::<String>::new()
);
}
/// Verifies that a header naming another file fails.
+1 -1
View File
@@ -169,7 +169,7 @@ mod tests {
fn test_xtask_sources_pass_conventions() {
let root = workspace_root();
let path = root.join("xtask").join("src").join("main.rs");
assert!(check_file(&root, &path).is_empty());
assert_eq!(check_file(&root, &path), Vec::<String>::new());
}
/// Verifies that an unknown task is reported as a failure.
+5 -2
View File
@@ -283,7 +283,10 @@ mod tests {
/// Verifies that a commented `use` passes.
#[test]
fn test_check_accepts_commented_import() {
assert!(check("// Import dependencies from std\nuse std::fs;\n").is_empty());
assert_eq!(
check("// Import dependencies from std\nuse std::fs;\n"),
Vec::<String>::new()
);
}
/// Verifies that functions without a tests module are reported.
@@ -296,7 +299,7 @@ mod tests {
#[test]
fn test_check_accepts_tests_module() {
let src = "fn a() {}\n#[cfg(test)]\nmod tests {\n // Import all\n use super::*;\n}\n";
assert!(check(src).is_empty());
assert_eq!(check(src), Vec::<String>::new());
}
/// Verifies that an undocumented test is reported.