feat: brain/index.go shebang; mail import is not a brain write (D14). (#12)
Tests / Test (push) Skipped
Tests / Release (semver) (push) Skipped

Commands live at bin/brain/{index,get,stats,eval,watch}.go and
bin/mail/import.go, bin/markdown/import.go, bin/postgres/query.go.
Python remains the Ladybug write worker. index_mail is a deprecation
shim that rebuilds via --with-mail.
This commit is contained in:
2026-08-13 17:46:25 +01:00
committed by GitHub
co-authored by GitHub
parent cec0161ff6
commit c1ee920b0a
31 changed files with 468 additions and 170 deletions
+4 -4
View File
@@ -1,4 +1,4 @@
// Package watch polls corpus directories for changes and re-runs bin/kb/index.
// Package watch polls corpus directories for changes and re-runs brain/index.
//
// Port of the former bin/kb-watch bash script to an importable, testable Go
// package. Polls file mtimes (no inotify deps); cheap and reliable.
@@ -18,8 +18,8 @@ import (
type Options struct {
Dirs []string
Interval time.Duration
// IndexCmd is the kb/index command template. %s is replaced by the repo
// root (from KB_ROOT). Defaults to `python3 <root>/bin/kb/index`.
// IndexCmd is the index command template. %s is replaced by the repo
// root (from KB_ROOT). Defaults to `python3 <root>/bin/kb/index --with-mail`.
IndexCmd string
}
@@ -67,7 +67,7 @@ func fromEnv(args []string) Options {
if pys == "" {
pys = "python3"
}
opts.IndexCmd = pys + " <root>/bin/kb/index"
opts.IndexCmd = pys + " <root>/bin/kb/index --with-mail"
return opts
}
+6 -2
View File
@@ -3,6 +3,7 @@ package watch
import (
"os"
"path/filepath"
"strings"
"testing"
"time"
)
@@ -43,7 +44,10 @@ func TestFromEnvDefaults(t *testing.T) {
if opts.Interval != 30*time.Second {
t.Fatalf("default interval = %s, want 30s", opts.Interval)
}
if opts.IndexCmd == "" {
t.Fatal("default index cmd is empty")
if !strings.Contains(opts.IndexCmd, "kb/index") {
t.Fatalf("default index cmd = %q, want kb/index", opts.IndexCmd)
}
if !strings.Contains(opts.IndexCmd, "--with-mail") {
t.Fatalf("default index cmd must include --with-mail, got %q", opts.IndexCmd)
}
}