diff --git a/_check.py b/_check.py new file mode 100644 index 0000000..cb9e443 --- /dev/null +++ b/_check.py @@ -0,0 +1,12 @@ +import re +missing = [] +for fname in ['src/main.rs','src/tui.rs','src/gvas.rs','src/ops.rs','src/discovery.rs','src/guard.rs','src/config.rs']: + lines = open(fname).readlines() + for i, line in enumerate(lines): + if re.match(r'^\s*fn\s+\w+', line): + prev = lines[i-1].strip() if i > 0 else '' + if not prev.startswith('///') and not prev.startswith('//'): + name = line.strip().split('(')[0].replace('fn ','') + missing.append((fname, i+1, name)) +for f,l,n in missing: + print(f'{f}:{l}: {n}') diff --git a/skills/diligence/SKILL.md b/skills/diligence/SKILL.md new file mode 100644 index 0000000..347aab9 --- /dev/null +++ b/skills/diligence/SKILL.md @@ -0,0 +1,16 @@ +--- +name: diligence +description: Verification checklist for code changes — always run before claiming a task is complete. +--- + +# Diligence + +Before reporting any task as complete, verify: + +1. **Doc coverage** — run `python3 _check.py` to confirm zero undocumented functions. +2. **Compilation** — `cargo check --workspace` must pass with no errors. +3. **Git status** — no uncommitted changes unless intentionally deferred. +4. **Remote parity** — `git log --oneline -1` matches `origin/master`. +5. **Claim specificity** — report exactly what was done and what was verified, not what was assumed. + +Do not skip the check script. Do not assume prior passes still hold.