Provenance
A claim about the source that determines an observed or expected value — not merely a plausible file. Static analysis never executes repository code.
| Level | Meaning | Automatic patch |
|---|---|---|
exact | One static literal determines the value; no conflicting metadata, config or middleware source; the rendered value matches when available. | Closed-list safe/guarded fixes only |
file | One file is implicated, but the value is computed, imported, or produced by generateMetadata. | No; agent contextual change |
candidate | Several possible sources, dynamic parameters, middleware uncertainty, or a rendered mismatch. | No; agent investigation |
unmapped | Runtime data, CMS, environment, unsupported framework, or a URL-only scan. | No |
absent | The artifact is missing and the conventional insertion point is proven. | Closed-list fixes only |
Next.js App Router
- Routes come from
app/orsrc/app/: route groups are stripped, private folders skipped, dynamic segments marked, parallel and intercepting routes downgraded. - Metadata is resolved by Next’s shallow per-key precedence: the nearest segment that defines a key wins outright, and a layout’s
title.defaultis the fallback below it. - Static
metadataobjects,generateMetadata,robots.*,sitemap.*,middleware.*/proxy.*andnext.config.*are read as AST. In-repo imports are followed to depth 5. - Downgrades to
candidate: middleware or proxy present;next.configheaders or rewrites (for header-level rules); i18n; dynamic parameters; parallel or intercepting routes; an unsupported Next.js major (supported: 13–16). - Absence through imported metadata is
candidate: the value is missing, but the insertion point is not proven.
Static HTML
A URL path maps to about.html or about/index.html under the site root. Literal markup can be exact. Anything an inline or external script could rewrite is unmapped.
Other frameworks
Generic repository mode returns hints and candidate files, never exact just because a conventional path exists. The agent may propose a change, but cannot upgrade the engine’s provenance label, and a passing URL scan afterwards establishes observed behaviour — not which file was responsible.