mirror of
https://github.com/morluto/rea.git
synced 2026-11-07 05:56:19 -10:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56759ce9d4 | ||
|
|
90c1914cc6 | ||
|
|
1662c037b9 |
No files matched your search
@@ -95,7 +95,8 @@ counts, both identities and coverage. Query its `parent_evidence_id`:
|
||||
counts. Large member lists are omitted by default; select `left`/`right` columns
|
||||
explicitly or page individual `functions`. Batch `match_ids`/`function_ids`, exact function `names`, state
|
||||
and side filters intersect. Mandatory identities and provenance survive column
|
||||
selection. Page coverage covers selected retained facts. Function identity binds
|
||||
selection. Default function rows include member limitations; an explicit `fields`
|
||||
selection can omit them. Page coverage covers selected retained facts. Function identity binds
|
||||
inventory Evidence and the owning inventory’s `source_index`, preserving same-address alternatives.
|
||||
One validation, lazy member index and bounded recent filter are retained per
|
||||
immutable parent; no live target state is cached.
|
||||
|
||||
@@ -237,6 +237,7 @@ const selectedItems = (
|
||||
"body_bytes",
|
||||
"dossier_evidence_id",
|
||||
"evidence_links",
|
||||
"limitations",
|
||||
];
|
||||
const fields = new Set<string>(view.fields ?? defaults);
|
||||
const columns = (row: Readonly<Record<string, JsonValue>>) =>
|
||||
|
||||
@@ -317,11 +317,46 @@ cliTest.for([{ profile: "full" }, { profile: "compact" }] as const)(
|
||||
},
|
||||
],
|
||||
});
|
||||
const selectedPage = parseEvidence(page.structuredContent)
|
||||
.normalized_result as {
|
||||
items: Record<string, unknown>[];
|
||||
};
|
||||
expect(selectedPage.items[0]).not.toHaveProperty("limitations");
|
||||
expect(parseEvidence(page.structuredContent).locations).not.toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({ kind: "artifact-path" }),
|
||||
]),
|
||||
);
|
||||
const withoutBytes = await call("match_native_functions", {
|
||||
left: reference(left.evidence_id),
|
||||
right: reference(right.evidence_id),
|
||||
});
|
||||
expect(withoutBytes.isError, JSON.stringify(withoutBytes)).not.toBe(true);
|
||||
const missingParent = parseEvidence(withoutBytes.structuredContent)
|
||||
.normalized_result as { parent_evidence_id: string };
|
||||
const missingPage = await call("inspect_analysis_view", {
|
||||
source: reference(missingParent.parent_evidence_id),
|
||||
view: {
|
||||
kind: "function-matches",
|
||||
collection: "functions",
|
||||
sides: ["left"],
|
||||
names: ["main"],
|
||||
},
|
||||
});
|
||||
expect(missingPage.isError, JSON.stringify(missingPage)).not.toBe(true);
|
||||
expect(
|
||||
parseEvidence(missingPage.structuredContent).normalized_result,
|
||||
).toMatchObject({
|
||||
items: [
|
||||
{
|
||||
name: "main",
|
||||
body_sha256: null,
|
||||
limitations: [
|
||||
"No complete unambiguous bytes for the observed function body.",
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
const compared = await call(
|
||||
"compare_functions",
|
||||
report.matches[0]!.compare_functions_input!,
|
||||
|
||||
Reference in new issue
Block a user