Repository navigation
Commit 7e55bff
committed
refactor: name the member directories for their role, not their crate
`trash-core/` -> `core/`, `trash-forensic/` -> `forensic/`. No crate name
changes, so nothing published moves -- the name lives in Cargo.toml, not in the
folder.
This is what CLAUDE.md line 93 and ADR-0008 have always said ("two members:
`core/` -> `<x>-core` and `forensic/` -> `<x>-forensic`"). A fleet survey found 8
of 70 workspaces had drifted to naming the directory after the crate; nothing
mechanical ever checked, so 70 code reviews did not catch it.
The duplication is not only untidy, it breaks tooling. `find -type d -name
trash-forensic` matches TWO directories -- the repo and the member inside it --
so a script that resolves a repo by name silently reads the wrong Cargo.toml.
That happened twice while surveying this very problem, and produced a confident
"this repo has no workspace members" for five repos that have them. `core/` and
`forensic/` cannot collide with a repo name.
Updated beyond the two `git mv`s, because a rename that only moves directories
leaves silent breakage behind:
- root Cargo.toml: members list and the inter-crate `path = "core"`
- fuzz/Cargo.toml: both `../` path deps
- .github/workflows/fuzz.yml: the `paths:` filters, which would otherwise stop
matching and the fuzz workflow would simply never fire again -- green by
never running
- docs/PRD.md and all eight ADRs, which cite evidence by file path
URLs were deliberately left alone: the docs site is
`securityronin.github.io/trash-forensic/`, and a blanket substitution would have
rewritten it.
84 tests across 6 targets pass; fmt, clippy -D warnings and mkdocs --strict clean;
the fuzz manifest still resolves.1 parent c48b965 commit 7e55bff
96 files changed
Lines changed: 15427 additions & 27 deletions
File tree
- .github/workflows
- core
- src
- tests
- data
- docs
- decisions
- forensic
- src
- tests
- fuzz
- site
- PRD
- assets
- images
- javascripts
- lunr
- min
- workers
- stylesheets
- decisions
- 0001-reader-analyzer-split
- 0002-trash-genus-per-os-feature-matrix
- 0003-crate-naming-recyclebin-to-trash
- 0004-paranoid-gatekeeper-forbid-unsafe-fuzzed
- 0005-per-artifact-spec-fidelity-and-oracles
- 0006-batteries-included-default-per-os-optional
- 0007-dependencies-prefer-our-own-pure-rust
- 0008-msrv-pinned-toolchain
- privacy
- search
- terms
- validation
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
| 6 | + | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
0 commit comments