---
phase: 08-dork-engine
plan: 07
type: execute
wave: 3
depends_on: [08-02, 08-03, 08-04, 08-06]
files_modified:
- pkg/dorks/count_test.go
autonomous: true
requirements:
- DORK-02
must_haves:
truths:
- "A guardrail test asserts pkg/dorks.NewRegistry() loads >= 150 dorks"
- "Per-source minimums enforced: github>=50, google>=30, shodan>=20, censys>=15, zoomeye>=10, fofa>=10, gitlab>=10, bing>=5"
- "All 8 sources present in Stats().BySource"
- "All 5 categories present in Stats().ByCategory"
- "All dork IDs are unique (no collisions between source files)"
artifacts:
- path: "pkg/dorks/count_test.go"
provides: "Guardrail test preventing regression below 150-dork threshold"
contains: "TestDorkCountGuardrail"
key_links:
- from: "pkg/dorks/count_test.go"
to: "pkg/dorks.NewRegistry()"
via: "direct call to real embedded FS"
pattern: "NewRegistry\\(\\)"
---
Lock in the DORK-02 "150+ built-in dorks" requirement with a guardrail test
that runs against the real embedded filesystem. If a future contributor removes
a dork file or breaks a source's YAML, CI fails loudly instead of silently
dropping coverage. Also asserts per-source minimums and ID uniqueness so partial
regressions are caught.
Purpose: Prevents silent regression of the requirement that took plans 02-04
to satisfy.
Output: One test file with a few targeted assertions.
@$HOME/.claude/get-shit-done/workflows/execute-plan.md
@$HOME/.claude/get-shit-done/templates/summary.md
@.planning/phases/08-dork-engine/08-CONTEXT.md
@pkg/dorks/registry.go
Task 1: Dork count + uniqueness guardrail test
pkg/dorks/count_test.go
- TestDorkCountGuardrail: NewRegistry() returns >= 150 dorks total
- TestDorkCountPerSource: each of the 8 sources meets its minimum
- TestDorkCategoriesPresent: all 5 categories appear in Stats().ByCategory
- TestDorkIDsUnique: walking Registry.List(), no duplicate IDs
Create pkg/dorks/count_test.go:
```go
package dorks
import "testing"
func TestDorkCountGuardrail(t *testing.T) {
r, err := NewRegistry()
if err != nil {
t.Fatalf("NewRegistry: %v", err)
}
const minTotal = 150
if got := len(r.List()); got < minTotal {
t.Fatalf("dork count regression: got %d, want >= %d (see DORK-02)", got, minTotal)
}
}
func TestDorkCountPerSource(t *testing.T) {
r, err := NewRegistry()
if err != nil { t.Fatal(err) }
minimums := map[string]int{
"github": 50,
"google": 30,
"shodan": 20,
"censys": 15,
"zoomeye": 10,
"fofa": 10,
"gitlab": 10,
"bing": 5,
}
stats := r.Stats()
for src, min := range minimums {
if stats.BySource[src] < min {
t.Errorf("source %s: got %d, want >= %d", src, stats.BySource[src], min)
}
}
}
func TestDorkCategoriesPresent(t *testing.T) {
r, err := NewRegistry()
if err != nil { t.Fatal(err) }
required := []string{"frontier", "specialized", "infrastructure", "emerging", "enterprise"}
stats := r.Stats()
for _, c := range required {
if stats.ByCategory[c] == 0 {
t.Errorf("category %q missing", c)
}
}
}
func TestDorkIDsUnique(t *testing.T) {
r, err := NewRegistry()
if err != nil { t.Fatal(err) }
seen := map[string]string{}
for _, d := range r.List() {
if existing, ok := seen[d.ID]; ok {
t.Errorf("duplicate dork id %q (second occurrence: %s, first: %s)", d.ID, d.Source, existing)
}
seen[d.ID] = d.Source
}
}
```
Note: Stats struct was defined in 08-01 with BySource and ByCategory
map[string]int fields — confirm the exact field names match. If the
implementation used different names, align test accordingly (do not
modify 08-01; adjust the test).
cd /home/salva/Documents/apikey && go test ./pkg/dorks/ -run 'TestDork(Count|Categories|IDs)' -v
All four guardrail tests pass against the real embedded filesystem. The
DORK-02 150+ floor is now CI-enforced.
`go test ./pkg/dorks/...` passes (full suite).
`go test ./...` for the repo passes.
- DORK-02 enforced by test (not just counted by grep)
- Per-source minimums match the 50/30/20/15/10/10/10/5 distribution
- No duplicate dork IDs across the embedded corpus