monitor: focus filter spec + validation harnesses - #311
Open
anish749 wants to merge 6 commits into
Open
Conversation
anish749
force-pushed
the
worktree-semantic-filter-validate
branch
from
April 26, 2026 05:58
d289d29 to
ac7bd05
Compare
anish749
force-pushed
the
worktree-semantic-filter-validate
branch
from
May 28, 2026 21:43
ac7bd05 to
ce1efce
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The earlier
monitor-semantic-filter-spec.mdproposed a multi-vector intent filter (focus + positives + negatives + window fallback + geometry-derived threshold). Validation across three workspaces showed that simpler is strictly better under the metrics that matter for fan-in reduction (the agent on the receiving end self-filters; precision at the router buys nothing).Solution
docs/monitor-focus-filter-spec.md: pure focus-cosine threshold per filter, multi-route across instances. Six-line algorithm. Threshold default 0.22 with--mode recallpreset at 0.18. Section 2 of the spec records the full validation methodology, all metrics, and per-component rejection rationale.experiments/: ground-truth labelling via Claude judge, threshold sweeps reporting recall / wake-rate-on-noise / sessions-woken-per-msg, focus-prose pairwise geometry analysis, embedder comparison (MiniLM vs bge vs e5).workstreams.example.jsondocuments the config schema; the actualworkstreams.jsonandlabels-*.jsonare gitignored (workspace-specific data).Context
Supersedes the previous spec but does not delete it; the new spec links to it explicitly. Reviewer should read Section 1 first; Section 2 is the methodology trail in case anything looks underjustified.