docs: mark all notgraph plan tasks complete; close notfile-3

This commit is contained in:
Joseph O'Brien
2026-04-03 19:11:01 -04:00
parent d86dc59b4c
commit b9c48f59de
2 changed files with 53 additions and 47 deletions

View File

@@ -41,7 +41,7 @@
- Create: `crates/notgraph/Cargo.toml`
- Modify: `Cargo.toml` (workspace root)
- [ ] **Step 1: Add notgraph to workspace**
- [x] **Step 1: Add notgraph to workspace**
Edit `/Users/joe/dev/notfiles/Cargo.toml`, add `"crates/notgraph"` to the `members` array:
@@ -58,7 +58,7 @@ members = [
]
```
- [ ] **Step 2: Create the crate manifest**
- [x] **Step 2: Create the crate manifest**
Create `crates/notgraph/Cargo.toml`:
@@ -87,7 +87,7 @@ syn = { version = "2", features = ["full", "visit"] }
walkdir = "2"
```
- [ ] **Step 3: Create stub lib.rs and main.rs**
- [x] **Step 3: Create stub lib.rs and main.rs**
Create `crates/notgraph/src/lib.rs`:
@@ -109,7 +109,7 @@ fn main() {
}
```
- [ ] **Step 4: Verify it builds**
- [x] **Step 4: Verify it builds**
```
cargo build -p notgraph
@@ -117,7 +117,7 @@ cargo build -p notgraph
Expected: compiles cleanly.
- [ ] **Step 5: Commit**
- [x] **Step 5: Commit**
```
git add crates/notgraph/ Cargo.toml Cargo.lock
@@ -132,7 +132,7 @@ git commit -m "feat(notgraph): scaffold crate with lib+bin targets"
- Modify: `crates/notgraph/src/types.rs`
- [ ] **Step 1: Write the types module**
- [x] **Step 1: Write the types module**
Replace `crates/notgraph/src/types.rs` with:
@@ -237,7 +237,7 @@ pub struct GraphStats {
}
```
- [ ] **Step 2: Verify it compiles**
- [x] **Step 2: Verify it compiles**
```
cargo check -p notgraph
@@ -245,7 +245,7 @@ cargo check -p notgraph
Expected: no errors.
- [ ] **Step 3: Commit**
- [x] **Step 3: Commit**
```
git add crates/notgraph/src/types.rs
@@ -261,7 +261,7 @@ git commit -m "feat(notgraph): define all shared types"
- Create: `crates/notgraph/src/crate_graph.rs`
- Modify: `crates/notgraph/src/lib.rs`
- [ ] **Step 1: Write the implementation with unit test**
- [x] **Step 1: Write the implementation with unit test**
Create `crates/notgraph/src/crate_graph.rs`:
@@ -317,7 +317,7 @@ mod tests {
}
```
- [ ] **Step 2: Add to lib.rs**
- [x] **Step 2: Add to lib.rs**
Replace `crates/notgraph/src/lib.rs`:
@@ -356,7 +356,7 @@ Create stub `crates/notgraph/src/symbols.rs`:
// implemented in Task 5
```
- [ ] **Step 3: Run test**
- [x] **Step 3: Run test**
```
cargo test -p notgraph crate_graph
@@ -364,7 +364,7 @@ cargo test -p notgraph crate_graph
Expected: 1 test passed.
- [ ] **Step 4: Commit**
- [x] **Step 4: Commit**
```
git add crates/notgraph/src/
@@ -380,7 +380,7 @@ git commit -m "feat(notgraph): implement crate_graph collector"
- Modify: `crates/notgraph/src/module_graph.rs`
- Create: fixture files
- [ ] **Step 1: Create clean fixture**
- [x] **Step 1: Create clean fixture**
Create `crates/notgraph/tests/fixtures/clean/src/lib.rs`:
@@ -401,7 +401,7 @@ Create `crates/notgraph/tests/fixtures/clean/src/beta.rs`:
pub fn greet() -> &'static str { "beta" }
```
- [ ] **Step 2: Write module_graph implementation**
- [x] **Step 2: Write module_graph implementation**
Replace `crates/notgraph/src/module_graph.rs`:
@@ -513,7 +513,7 @@ mod tests {
}
```
- [ ] **Step 3: Run tests**
- [x] **Step 3: Run tests**
```
cargo test -p notgraph module_graph
@@ -521,7 +521,7 @@ cargo test -p notgraph module_graph
Expected: 2 tests passed.
- [ ] **Step 4: Commit**
- [x] **Step 4: Commit**
```
git add crates/notgraph/src/module_graph.rs crates/notgraph/tests/fixtures/clean/
@@ -537,7 +537,7 @@ git commit -m "feat(notgraph): implement module_graph collector"
- Modify: `crates/notgraph/src/symbols.rs`
- Create: `crates/notgraph/tests/fixtures/symbols/src/lib.rs`
- [ ] **Step 1: Create symbols fixture**
- [x] **Step 1: Create symbols fixture**
Create `crates/notgraph/tests/fixtures/symbols/src/lib.rs`:
@@ -551,7 +551,7 @@ pub const VALUE: u32 = 42;
struct Private;
```
- [ ] **Step 2: Write symbols implementation**
- [x] **Step 2: Write symbols implementation**
Replace `crates/notgraph/src/symbols.rs`:
@@ -691,7 +691,7 @@ mod tests {
}
```
- [ ] **Step 3: Run tests**
- [x] **Step 3: Run tests**
```
cargo test -p notgraph symbols
@@ -699,7 +699,7 @@ cargo test -p notgraph symbols
Expected: 7 tests passed.
- [ ] **Step 4: Commit**
- [x] **Step 4: Commit**
```
git add crates/notgraph/src/symbols.rs crates/notgraph/tests/fixtures/symbols/
@@ -715,7 +715,7 @@ git commit -m "feat(notgraph): implement symbols extractor"
- Modify: `crates/notgraph/src/analysis.rs`
- Create: `crates/notgraph/tests/fixtures/cyclic/src/` files
- [ ] **Step 1: Create cyclic fixture**
- [x] **Step 1: Create cyclic fixture**
Create `crates/notgraph/tests/fixtures/cyclic/src/lib.rs`:
@@ -736,7 +736,7 @@ Create `crates/notgraph/tests/fixtures/cyclic/src/bar.rs`:
pub mod foo;
```
- [ ] **Step 2: Write analysis implementation**
- [x] **Step 2: Write analysis implementation**
Replace `crates/notgraph/src/analysis.rs`:
@@ -909,7 +909,7 @@ mod tests {
}
```
- [ ] **Step 3: Run tests**
- [x] **Step 3: Run tests**
```
cargo test -p notgraph analysis
@@ -917,7 +917,7 @@ cargo test -p notgraph analysis
Expected: 4 tests passed.
- [ ] **Step 4: Commit**
- [x] **Step 4: Commit**
```
git add crates/notgraph/src/analysis.rs crates/notgraph/tests/fixtures/cyclic/
@@ -932,7 +932,7 @@ git commit -m "feat(notgraph): implement analysis (fan stats, Kahn cycles, hotsp
- Modify: `crates/notgraph/src/emit.rs`
- [ ] **Step 1: Write emit implementation**
- [x] **Step 1: Write emit implementation**
Replace `crates/notgraph/src/emit.rs`:
@@ -1046,7 +1046,7 @@ fn write_html(dir: &Path, stats: &GraphStats) -> Result<()> {
}
```
- [ ] **Step 2: Create the HTML template**
- [x] **Step 2: Create the HTML template**
Create `crates/notgraph/templates/report.html.template`:
@@ -1115,7 +1115,7 @@ Create `crates/notgraph/templates/report.html.template`:
</html>
```
- [ ] **Step 3: Verify it compiles**
- [x] **Step 3: Verify it compiles**
```
cargo check -p notgraph
@@ -1123,7 +1123,7 @@ cargo check -p notgraph
Expected: no errors.
- [ ] **Step 4: Commit**
- [x] **Step 4: Commit**
```
git add crates/notgraph/src/emit.rs crates/notgraph/templates/
@@ -1138,7 +1138,7 @@ git commit -m "feat(notgraph): implement emit (md, json, html)"
- Modify: `crates/notgraph/src/main.rs`
- [ ] **Step 1: Replace main.rs with full CLI**
- [x] **Step 1: Replace main.rs with full CLI**
Replace `crates/notgraph/src/main.rs`:
@@ -1235,7 +1235,7 @@ fn find_workspace_manifest() -> Result<PathBuf> {
}
```
- [ ] **Step 2: Build and smoke-test**
- [x] **Step 2: Build and smoke-test**
```
cargo run -p notgraph -- --output /tmp/notgraph-test
@@ -1249,7 +1249,7 @@ ls /tmp/notgraph-test
Expected: `report.json report.md report.html`
- [ ] **Step 3: Verify --fail-on-cycles exits 0 on clean workspace**
- [x] **Step 3: Verify --fail-on-cycles exits 0 on clean workspace**
```
cargo run -p notgraph -- --output /tmp/notgraph-test --fail-on-cycles; echo "exit $?"
@@ -1257,7 +1257,7 @@ cargo run -p notgraph -- --output /tmp/notgraph-test --fail-on-cycles; echo "exi
Expected: `exit 0`
- [ ] **Step 4: Run clippy**
- [x] **Step 4: Run clippy**
```
cargo clippy -p notgraph -- -D warnings
@@ -1265,7 +1265,7 @@ cargo clippy -p notgraph -- -D warnings
Fix any warnings.
- [ ] **Step 5: Commit**
- [x] **Step 5: Commit**
```
git add crates/notgraph/src/main.rs
@@ -1280,7 +1280,7 @@ git commit -m "feat(notgraph): wire full CLI pipeline"
- Create: `crates/notgraph/tests/integration.rs`
- [ ] **Step 1: Write integration tests**
- [x] **Step 1: Write integration tests**
Create `crates/notgraph/tests/integration.rs`:
@@ -1328,7 +1328,7 @@ fn symbols_fixture_has_six_public_symbols() {
}
```
- [ ] **Step 2: Run integration tests**
- [x] **Step 2: Run integration tests**
```
cargo test -p notgraph --test integration
@@ -1336,7 +1336,7 @@ cargo test -p notgraph --test integration
Expected: 3 tests passed.
- [ ] **Step 3: Run all notgraph tests**
- [x] **Step 3: Run all notgraph tests**
```
cargo test -p notgraph
@@ -1344,7 +1344,7 @@ cargo test -p notgraph
Expected: all tests pass.
- [ ] **Step 4: Commit**
- [x] **Step 4: Commit**
```
git add crates/notgraph/tests/integration.rs
@@ -1360,7 +1360,7 @@ git commit -m "test(notgraph): add integration tests for clean/cyclic/symbols fi
- Modify: `mise.toml`
- Modify or create: `.gitignore`
- [ ] **Step 1: Add graph tasks to mise.toml**
- [x] **Step 1: Add graph tasks to mise.toml**
In `mise.toml`, add after `[tasks."all:dep-boundaries"]`:
@@ -1374,7 +1374,7 @@ description = "CI: fail if module cycles detected"
run = "cargo run -p notgraph --release -- --output docs/graph --fail-on-cycles"
```
- [ ] **Step 2: Add graph-check to the all:ci gate**
- [x] **Step 2: Add graph-check to the all:ci gate**
In `mise.toml`, in the `all:ci` task run script, add after the dep-boundaries line:
@@ -1383,7 +1383,7 @@ echo "── graph-check ──────────────────
cargo run -p notgraph --release -- --output docs/graph --fail-on-cycles
```
- [ ] **Step 3: Gitignore generated reports**
- [x] **Step 3: Gitignore generated reports**
Add to `.gitignore` (create file at workspace root if it doesn't exist):
@@ -1391,7 +1391,7 @@ Add to `.gitignore` (create file at workspace root if it doesn't exist):
docs/graph/
```
- [ ] **Step 4: Run full CI gate**
- [x] **Step 4: Run full CI gate**
```
mise run all:ci
@@ -1399,13 +1399,13 @@ mise run all:ci
Expected: all gates pass, exits 0.
- [ ] **Step 5: Mark todo complete**
- [x] **Step 5: Mark todo complete**
```
doob todo complete ubj2z5rs9wxiktlt0fwp
```
- [ ] **Step 6: Commit**
- [x] **Step 6: Commit**
```
git add mise.toml .gitignore