feat(server): INGEST_WING_ROUTING wires the Router; remove the classifier path (#208)
Removes the LLM classifier, the substring 'BM25' scorer, the agreement gate, the backtest and the old migrate/wingmigrate tooling: measured at 2 of 55 pages placed (#208), and the migration was built for the per-wing facts layout this branch replaces. wing now holds the decision types, the Router and KnownWings. INGEST_WING_ROUTING=1 builds the Router (default wing INGEST_DEFAULT_WING=web-clip, client pattern from INGEST_CLIENT_BLOCK or CLAUDE_INGEST_CLIENT_BLOCK); a bad default or pattern is fatal at startup. Watcher tests rewritten for the Router, including a deliberate subfolder into any existing wing, typo'd folders parked, forged-key and edit-while-placing cases. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -85,3 +85,30 @@ func TestRouter_ANameThatIsNotPlainIsRefusedAsSuch(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewRouter(t *testing.T) {
|
||||
dir := routerBrain(t)
|
||||
t.Run("valid", func(t *testing.T) {
|
||||
r, err := wing.NewRouter(dir, "web-clip", "acme-client|globex")
|
||||
assert.NoError(t, err)
|
||||
d := r.Resolve(context.Background(), wing.Note{Text: "kickoff with GLOBEX"})
|
||||
assert.Equal(t, wing.Exception, d.Source, "the marker is matched case-insensitively")
|
||||
})
|
||||
t.Run("no marker pattern means no content check", func(t *testing.T) {
|
||||
r, err := wing.NewRouter(dir, "web-clip", "")
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, wing.Default, r.Resolve(context.Background(), wing.Note{Text: "anything"}).Source)
|
||||
})
|
||||
t.Run("a default that is not a plain wing name is a startup error", func(t *testing.T) {
|
||||
_, err := wing.NewRouter(dir, "Web Clip", "")
|
||||
assert.Error(t, err)
|
||||
})
|
||||
t.Run("an empty default is a startup error", func(t *testing.T) {
|
||||
_, err := wing.NewRouter(dir, "", "")
|
||||
assert.Error(t, err)
|
||||
})
|
||||
t.Run("a pattern that does not compile is a startup error", func(t *testing.T) {
|
||||
_, err := wing.NewRouter(dir, "web-clip", "([unclosed")
|
||||
assert.Error(t, err, "a client filter that silently does nothing is worse than none")
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user