forked from jason/echo
ver 1.5.1 — duplicate-gate precision (common tokens, cross-kind)
Live 1.5.0 use caught the gate blocking a decision note over the single vault-common token "echo" (min-normalized overlap gives any one-token entity a 1.0 score). New echo_index.gate_candidates() + token_df(): - gate blocks same-kind candidates only; cross-kind name collisions (a decision titled after its project) warn instead of blocking - a lone shared token blocks only when unique to that entity (df == 1); multi-token overlaps still block fuzzy_candidates (advisory warnings) and exit-76/--merge-into/--force semantics unchanged. +3 offline unit tests, gate e2e cases restructured +2 new; verified live both directions. All suites green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,31 @@
|
||||
# Changelog
|
||||
|
||||
## 1.5.1
|
||||
|
||||
### Fixed — duplicate gate over-firing on vault-common tokens and cross-kind names
|
||||
|
||||
Live 1.5.0 use surfaced a false positive: creating the decision "echo-memory 1.5.0
|
||||
improvement set" was blocked by the archived project `echo-v-05` (score 1.0), because
|
||||
`score = overlap / min(|tokens|)` lets any entity whose single distinctive token
|
||||
appears in the new title score 1.0 — and "echo" appears across many entities in an
|
||||
echo-centric vault.
|
||||
|
||||
New `echo_index.gate_candidates()` (backed by `token_df()`) applies two precision
|
||||
rules before blocking; `capture` gates through it. `fuzzy_candidates()` — the advisory
|
||||
warning list — is unchanged:
|
||||
|
||||
- **Same-kind only.** A cross-kind name collision (a decision titled after its
|
||||
project, a meeting named for a company) is intentional naming, not a duplicate.
|
||||
Cross-kind lookalikes still warn, never block.
|
||||
- **No single-common-token blocks.** A lone shared token gates only when it is unique
|
||||
to that entity (vault df == 1). Multi-token overlaps still gate even when the
|
||||
individual tokens are common.
|
||||
|
||||
Exit-76 / `--merge-into` / `--force` semantics unchanged. Tests: 3 new offline unit
|
||||
tests (`gate_candidates`), end-to-end gate cases restructured + 2 new (cross-kind
|
||||
no-gate, common-token no-gate); verified against the live vault (the original false
|
||||
positive now creates cleanly; a same-kind multi-token lookalike still gates).
|
||||
|
||||
## 1.5.0
|
||||
|
||||
Six improvements from the July 2026 review + the frontmatter-drift field report.
|
||||
|
||||
Reference in New Issue
Block a user