refactor(javascript): own coverage facts and reuse block prefixes

Separate syntax, semantic uncertainty, examination limits and observed Electron applicability at the static producer, then preserve them through worker, graph and retained/inline summary views. Derive the established parse_status from the same facts and leave historical measurements unknown. Give semantic resource-limit classifications one schema owner.

Replace repeated block-prefix searches and copies with collector-scoped syntax indexes. Keep invocation environments separate, charge indexing/replay to the existing work budget and yield during prefix work. Remove the superseded synchronous collector entrypoint.

Validated producer, worker, CLI/MCP, historical and partial-coverage regressions, plus actual cancellation during indexing. Bounded authored 128/256-call controls preserved all prior facts while replacing repeated search/copy work with one index pass; this is not a throughput or agent-token benchmark.
This commit is contained in:
morluto
2026-10-25 09:45:48 +08:00
parent c8269ca497
commit f62a2baad8
21 changed files with 898 additions and 125 deletions
@@ -7,16 +7,19 @@ import {
partialApplicationCoverage,
} from "../../domain/javascript/javascriptApplicationEvidenceSchemas.js";
import type { JavaScriptArtifactAnalysis } from "./JavaScriptArtifactAnalysisTypes.js";
import { javascriptArtifactAnalysisScopes } from "./JavaScriptArtifactAnalysisTypes.js";
import {
javascriptArtifactAnalysisScopes,
isSkippedJavaScriptAnalysis,
} from "./JavaScriptArtifactAnalysisTypes.js";
import { jsonValueSchema } from "../../domain/jsonValue.js";
import { freezeJsonSnapshot } from "../../domain/immutableJson.js";
import type { JavaScriptSourceRange } from "../../domain/javascript/javascriptStaticAnalysisTypes.js";
import { unexaminedJavaScriptStaticCoverage } from "../../domain/javascript/javascriptStaticCoverage.js";
import type {
JavaScriptArtifactContainer,
JavaScriptArtifactFile,
} from "../../domain/javascript/javascriptArtifactFiles.js";
import type { JavaScriptArtifactGraphAccumulator } from "./JavaScriptArtifactGraphAccumulator.js";
import { isSkippedJavaScriptAnalysis } from "./JavaScriptArtifactAnalysisTypes.js";
import {
addArtifactContainsEdge,
applicationManifestPath,
@@ -648,6 +651,21 @@ const createFileTarget = (
text_status: file.text.included ? "included" : file.text.reason,
parse_status:
javascript?.parse_status ?? (skipped ? "skipped" : null),
...(javascript?.analysis_coverage !== undefined
? { analysis_coverage: javascript.analysis_coverage }
: javascript === null && file.kind === "javascript"
? {
analysis_coverage: unexaminedJavaScriptStaticCoverage(
!file.text.included
? file.text.reason === "outside-analysis-scope"
? "Source is outside the caller-selected source_paths."
: `JavaScript text was unavailable: ${file.text.reason}.`
: skipped
? "JavaScript analysis did not complete."
: "JavaScript source analysis was not performed.",
),
}
: {}),
json_parse_status: json?.status ?? null,
json_top_level_keys: json?.top_level_keys ?? [],
omitted_json_top_level_keys: