abhigyanpatwari/GitNexus · warning
parsedfile-store: rejected shard entries at load (untrusted
Error message
parsedfile-store: rejected shard entries at load (untrusted shape); those files re-extract every run
What it means
The whole-file counterpart of the per-site drop: shard entries whose overall shape is untrusted are rejected at load, and a rejected file falls back to a fresh extraction on EVERY load — a permanent warm-cache miss that costs real time while saying nothing about why. This warning (with the rejectedFiles count) exists so a writer that keeps minting what this reader refuses becomes visible.
Source
Thrown at gitnexus/src/storage/parsedfile-store.ts:321
if (flow.dropped === 0 && chains.dropped === 0) {
out.set(pf.filePath, pf);
} else {
droppedSites += flow.dropped;
droppedChains += chains.dropped;
filesWithDroppedSites++;
out.set(pf.filePath, {
...pf,
...(flow.dropped === 0 ? {} : { callableFlowSites: flow.sites }),
...(chains.dropped === 0 ? {} : { referenceSites: chains.sites }),
});
}
}
}
await maybeYieldAndGc(crossedBudget);
}
if (droppedSites > 0 || droppedChains > 0) {
logger.warn(
{ droppedSites, droppedChains, files: filesWithDroppedSites },
'parsedfile-store: dropped malformed/over-bound sites at load; files retained without those facts',
);
}
if (rejectedFiles > 0) {
logger.warn(
{ rejectedFiles },
'parsedfile-store: rejected shard entries at load (untrusted shape); those files re-extract every run',
);
}
return out;
};
function sanitizeCallableFlowSites(
value: unknown,
): { sites: readonly CallableFlowSite[] | undefined; dropped: number } | undefined {
if (value === undefined) return { sites: undefined, dropped: 0 };
if (!Array.isArray(value)) return undefined;
const bounded =View on GitHub (pinned to 0d1aed942f)
Solutions
- Run a full re-analyze to rewrite the store with the current writer
- If the warning reappears on every warm load afterwards, capture writer/reader versions and file an issue: the writer is minting shapes the reader refuses
- Check disk health if the corruption has no version-skew explanation
Defensive patterns
Strategy: validation
Validate before calling
// A rejected shard re-extracts EVERY load. If this warning re-fires on each
// warm load, the store is permanently cold for those files — rewrite it.
if (warmLoadRejectedAgain) {
await fullReanalyze(repoPath);
} Prevention
- A warning that reappears every warm load is a permanent cache miss, not noise
- Run a full re-analyze to rewrite shards with the current writer
- Track analyze wall-time regressions alongside this warning
When it happens
Trigger: A warm load where whole ParsedFile entries fail shape validation: writer/reader version skew, truncated or partially written shards, corrupted entries. Every subsequent run pays full re-extraction for exactly those files.
Common situations: An index written by an older or newer GitNexus with a different shard schema; an interrupted write leaving a partial entry; the observable symptom is analyze wall-time regressing on warm cache with this warning repeating every run.
Related errors
- parsedfile-store: dropped malformed/over-bound sites at load
- Invalid URL
- Only https:// and http:// git URLs are allowed
- parsedfile-cache: could not reset durable chunk generation;
- ${name} must be a positive integer, got "${raw}"
AI-assisted analysis of abhigyanpatwari/GitNexus@0d1aed942f (2026-08-20).
Data as JSON: /api/errors/8664de8e23df9739.
Report an issue: GitHub.