Fixed 3 bugs in Aphoria's claim verification engine that were causing false positives in Maxwell validation testing: **Bug 1: Path matching + predicate filtering** - Added predicate filtering to prevent cross-predicate matches - Added path prefix matching to respect crate boundaries - Prevents core/imports/serde from matching hypervisor/vsock/imports/serde **Bug 2: Value-specific absent checks** - Absent mode now checks for specific forbidden value, not any observation - Example: "Clone absent" + "Debug present" = PASS (not CONFLICT) - Only conflicts when the exact forbidden value is found **Bug 3: Wildcard pattern support** - Wildcard patterns like message/*/derives now match multiple paths - Enhanced wildcard_matches() to support prefix/*/suffix patterns - Correctly strips full scheme+language from observation paths **Test coverage:** - All 39 existing tests passing - 3 new tests added for bug fixes - 2 tests updated to use correct predicates - Zero clippy warnings **Maxwell validation:** - maxwell-core-no-serde-001: CONFLICT → PASS (respects path boundaries) - maxwell-singleton-no-clone-001: CONFLICT → PASS (value-specific absent) - 5 claims now correctly show as MISSING (expose predicate mismatches) The fixes successfully eliminate false positives while exposing pre-existing issues where claims used incorrect predicates. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
12 lines
385 B
TypeScript
12 lines
385 B
TypeScript
// Main orchestrator
|
|
export { ClaimsPanel } from "./claims-panel";
|
|
|
|
// Badge components
|
|
export { VerdictBadge } from "./verdict-badge";
|
|
export { StatusBadge } from "./status-badge";
|
|
export { CategoryBadge } from "./category-badge";
|
|
|
|
// Loading and empty states
|
|
export { ClaimsLoadingSkeleton } from "./claims-loading-skeleton";
|
|
export { ClaimsEmptyState } from "./claims-empty-state";
|