stemedb/applications/stemedb-dashboard/next.config.ts
jml ef2c8c5940 fix(aphoria): fix 3 critical verification engine bugs
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>
2026-02-08 15:13:10 +00:00

35 lines
832 B
TypeScript

import type { NextConfig } from "next";
const nextConfig: NextConfig = {
// Allow cross-origin dev requests from proxy
allowedDevOrigins: ["jml", "http://jml"],
// Proxy API requests to backend in development
async rewrites() {
return [
{
source: "/v1/:path*",
destination: "http://127.0.0.1:18180/v1/:path*",
},
{
source: "/health",
destination: "http://127.0.0.1:18180/health",
},
{
source: "/metrics",
destination: "http://127.0.0.1:18180/metrics",
},
{
source: "/swagger-ui/:path*",
destination: "http://127.0.0.1:18180/swagger-ui/:path*",
},
{
source: "/api-docs/:path*",
destination: "http://127.0.0.1:18180/api-docs/:path*",
},
];
},
};
export default nextConfig;