Skip to content

Commit fb8314a

Browse files
hyperpolymathclaude
andcommitted
docs: add TEST-NEEDS.md and/or PROOF-NEEDS.md from audit
Documents testing and proof gaps identified during batch audit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 72ee3da commit fb8314a

2 files changed

Lines changed: 79 additions & 0 deletions

File tree

PROOF-NEEDS.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# PROOF-NEEDS.md
2+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
3+
4+
## Current State
5+
6+
- **LOC**: ~1,570
7+
- **Languages**: Rust, Elixir, Idris2, Zig
8+
- **Existing ABI proofs**: `src/abi/*.idr` (template-level)
9+
- **Dangerous patterns**: None detected
10+
11+
## What Needs Proving
12+
13+
### Graph Model Correctness (tools/seamctl/src/graph.rs)
14+
- Dependency graph construction and traversal
15+
- Prove: graph is acyclic (DAG invariant for dependency ordering)
16+
- Prove: topological sort produces valid execution order
17+
18+
### Model Validation (tools/seamctl/src/model.rs, validate.rs)
19+
- Configuration validation
20+
- Prove: validated configurations produce well-formed dependency graphs
21+
22+
### Elixir Runner (services/seamstressd/)
23+
- Workflow runner daemon
24+
- Prove: runner executes tasks in the order dictated by the graph
25+
26+
## Recommended Prover
27+
28+
- **Idris2** for graph properties (DAG, topological ordering)
29+
30+
## Priority
31+
32+
**LOW** — Small codebase, no dangerous patterns. Graph correctness proofs would add value but the scope is limited.

TEST-NEEDS.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# TEST-NEEDS: seamstress
2+
3+
## Current State
4+
5+
| Category | Count | Details |
6+
|----------|-------|---------|
7+
| **Source modules** | 13 | Rust seamctl (7: cli, lib, main, model, graph, report, validate) + Elixir seamstressd (2: application, runner) + config |
8+
| **Unit tests** | 2 | seamstressd_test.exs (2 assertions), no Rust tests at all |
9+
| **Integration tests** | 0 | None |
10+
| **E2E tests** | 0 | None |
11+
| **Benchmarks** | 0 | None |
12+
| **Fuzz tests** | 0 | placeholder.txt only |
13+
14+
## What's Missing
15+
16+
### P2P Tests (CRITICAL)
17+
- [ ] No tests for seamctl <-> seamstressd communication
18+
- [ ] No tests for the graph module's dependency resolution
19+
20+
### E2E Tests (CRITICAL)
21+
- [ ] No test running seamctl CLI commands
22+
- [ ] No test running seamstressd as a service
23+
24+
### Aspect Tests
25+
- [ ] **Security**: No input validation tests for seamctl
26+
- [ ] **Performance**: No tests for graph resolution at scale
27+
- [ ] **Concurrency**: No concurrent operation tests
28+
- [ ] **Error handling**: No tests for malformed input, missing dependencies
29+
30+
### Build & Execution
31+
- [ ] Rust seamctl has 0 tests -- not even a compilation test
32+
- [ ] No Elixir integration test
33+
34+
### Benchmarks Needed
35+
- [ ] Graph resolution performance
36+
- [ ] Report generation throughput
37+
38+
### Self-Tests
39+
- [ ] No healthcheck endpoint for seamstressd
40+
- [ ] No self-test mode for seamctl
41+
42+
## FLAGGED ISSUES
43+
- **7 Rust source files with ZERO tests** -- completely untested CLI tool
44+
- **Elixir daemon with 2 test assertions** -- effectively untested service
45+
- **fuzz/placeholder.txt** -- fake fuzz testing claim
46+
47+
## Priority: P0 (CRITICAL)

0 commit comments

Comments
 (0)