fix(verification): report full literal decoding coverage explicitly
This commit is contained in:
1 parent
8ea0432ffc
commit
97b76aa20a
2 files changed
+17
-10
No files matched your search
+7
-5
@@ -372,15 +372,17 @@ cover active and queued expiry, late replies and timer cleanup.
|
|||||||
The Linux demo lane remains a separate `verify:hopper:linux` command. Hopper
|
The Linux demo lane remains a separate `verify:hopper:linux` command. Hopper
|
||||||
6.4.2's ELF loader did not recognize the original 4,119-byte literal or three
|
6.4.2's ELF loader did not recognize the original 4,119-byte literal or three
|
||||||
non-ASCII byte strings in the measured fixtures. The lane retains complete raw
|
non-ASCII byte strings in the measured fixtures. The lane retains complete raw
|
||||||
byte checks for those literals through source-owned symbols and reports absent
|
byte checks for those literals through source-owned symbols. Recognition of the
|
||||||
recognition with decoded-object coverage explicitly unverified. Recognized
|
original full-length literal is bound to its exact source address; its decoded
|
||||||
objects must still match their source bytes, encoding, filters and searches.
|
object coverage remains explicitly unverified on Linux even when recognized.
|
||||||
|
Absent non-ASCII recognition also reports decoded-object coverage as unverified.
|
||||||
|
Recognized non-ASCII and control-text objects must still match their source
|
||||||
|
bytes, encoding, filters and searches.
|
||||||
A separate 548-byte ASCII literal requires native fragmentation, shortened
|
A separate 548-byte ASCII literal requires native fragmentation, shortened
|
||||||
provider display, complete decoded fragments and dossier provenance on Linux;
|
provider display, complete decoded fragments and dossier provenance on Linux;
|
||||||
the macOS lane retains the original full-length recognition requirement. These
|
the macOS lane retains the original full-length recognition requirement. These
|
||||||
are observed fixture/build capabilities, not universal Hopper length limits.
|
are observed fixture/build capabilities, not universal Hopper length limits.
|
||||||
Its
|
Its lifecycle checks attempt competing CLI launches for the active target and a
|
||||||
lifecycle checks attempt competing CLI launches for the active target and a
|
|
||||||
different target, requiring rejection before either can change the owning
|
different target, requiring rejection before either can change the owning
|
||||||
MCP session's documents or procedures. Lease boundary tests also preserve
|
MCP session's documents or procedures. Lease boundary tests also preserve
|
||||||
unresponsive or malformed live endpoints while allowing confirmed stale
|
unresponsive or malformed live endpoints while allowing confirmed stale
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ async function verifySearchModes(call, address) {
|
|||||||
(item) => long.startsWith(item.value) && item.value.startsWith("REA_"),
|
(item) => long.startsWith(item.value) && item.value.startsWith("REA_"),
|
||||||
);
|
);
|
||||||
assert.ok(longItem, "fixture omitted its real long literal");
|
assert.ok(longItem, "fixture omitted its real long literal");
|
||||||
|
if (!linux) assert.equal(longItem.address, raw.address);
|
||||||
assert.ok(long.startsWith(longItem.value));
|
assert.ok(long.startsWith(longItem.value));
|
||||||
assert.ok(longItem.provider_value.endsWith("…"));
|
assert.ok(longItem.provider_value.endsWith("…"));
|
||||||
assert.equal(longItem.string.termination, "missing");
|
assert.equal(longItem.string.termination, "missing");
|
||||||
@@ -218,11 +219,15 @@ async function verifySearchModes(call, address) {
|
|||||||
return {
|
return {
|
||||||
fullLiteralSourceBytes: fullBytes.length,
|
fullLiteralSourceBytes: fullBytes.length,
|
||||||
fragmentedLiteralSourceBytes: Buffer.byteLength(long),
|
fragmentedLiteralSourceBytes: Buffer.byteLength(long),
|
||||||
fullLiteralRecognition: strings.some((item) =>
|
fullLiteralRecognition: {
|
||||||
item.value.startsWith("REA_LONG_LITERAL_"),
|
address: raw.address,
|
||||||
)
|
state: strings.some((item) => item.address === raw.address)
|
||||||
? "observed"
|
? "observed"
|
||||||
: "not_observed",
|
: "not_observed",
|
||||||
|
// Linux validates the original through raw bytes; its required decoded
|
||||||
|
// fragment/dossier checks exercise the separate supported-size literal.
|
||||||
|
decodedObject: linux ? "unverified" : "verified",
|
||||||
|
},
|
||||||
...objects,
|
...objects,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user