Commit Graph
235 Commits
Author SHA1 Message Date
ShuaixinHuang f483eab543 fix(captures): exclude normalized native numeric values (#7764) 2026-10-28 18:46:30 +08:00
Afloat 095a51cf38 fix(browser): reject invalid UTF-8 in HTTP CDP discovery (#4524) 2026-10-27 21:33:01 +08:00
1201c25542 fix(ci): align static checks and regression fixtures with current contracts (#7349)
* fix(ci): retire unused internal analysis declarations

* test: use an admitted app bundle for provider routing

(cherry picked from commit 00aa17f12a)

* test: keep bundle routing coverage outside oversized group

(cherry picked from commit 8658353b0d)

* fix(ci): align regression fixtures with current admission contracts

* test: bind extraction close fixtures to their ZIP digest

(cherry picked from commit 626d0250db)

* test(cli): match typed analysis outcomes in function detail fixture

* test(ghidra): preserve empty Java property separator framing

* test(electron): retain unknown IPC ownership for native module gaps

* fix(electron): share source-scoped call path identity

* test(captures): assert safe source identity on SAZ refusal

* test(apple): match root occurrence kind to inventory manifest

* fix(examples): align directory root occurrence identity

* test(electron): align equivalent fixture assertions with upstream

* test(process): assert retained capture root identity

* test(windows): declare the PE fixture optional header

* test(ci): refresh owned registration and verifier fixtures

* test(setup): use owned registrations for refresh fixtures

* test(process): control unavailable ownership in CLI cleanup fixture

* test(process): guard controlled compiler output arguments

* test(setup): align equivalent entrypoint guards with upstream

* test(process): release the cleanup target through an owned gate

* test(ci): align semantic identities and owned fixture facts

* test(pcap): retain the upstream DNS wire fixture branch

* test(pcap): use the canonical wire ownership fixture

* test(pcap): assert exact DNS wire query labels

* test(ci): preserve admission and ownership fixture prerequisites

* test(ci): align authenticated fixture and cleanup boundaries

* test(windows): align native artifact fixtures with upstream

* test(android): request complete evidence for inline MCP contracts

* test: avoid pinning diagnostic wording

* test: verify cleanup diagnostics at their source

* test: strengthen evidence and cleanup checks

* test: avoid pinning registration guidance

---------

Co-authored-by: Plastic-time <[email protected]>
Co-authored-by: morluto <[email protected]>
2026-10-27 21:24:30 +08:00
morluto 365fb03e73 chore: archive analysis efficiency experiments 2026-10-27 14:10:07 +08:00
morluto 4055cc4df1 fix(verification): retain browser profile until shutdown 2026-10-27 13:42:36 +08:00
morluto c9df40f810 refactor(verification): own browser fixture lifecycle 2026-10-27 13:36:57 +08:00
morluto df8c90df8f fix(browser): retain cancellation after failed worker stop 2026-10-27 13:01:18 +08:00
morluto c66729eca9 fix(workers): retain cancellation through final cleanup 2026-10-27 12:56:10 +08:00
Rudy Mizrahi Celekliandgensokyo-dev 1cd82597da fix(browser): normalize discovery wire facts at the shared boundary (#7204)
Normalize transport-specific discovery facts at their shared owner; preserve upstream duplicate-ID rejection and correct discovery-time attachment uncertainty in all consumers.

53 focused regressions, serial static checks and real Chrome CLI/MCP fault injection/inspection pass. Greptile final head 5/5. Exact-main controls reproduce all 17 source and 21 shard-8 failures; seven shards cancelled and remain unverified. Requester authorized readiness and unrelated-main CI bypass. Human review is not attested.

Co-authored-by: gensokyo-dev <[email protected]>
2026-10-27 12:16:50 +08:00
morluto 76441ed31b fix(browser): preserve comparison evidence identity 2026-10-27 11:15:38 +08:00
morluto 492860ed07 test(captures): assert retained snapshot evidence 2026-10-27 11:10:10 +08:00
morluto 69b328eec8 test(browser): verify out-of-order response correlation 2026-10-27 08:04:42 +08:00
morluto e80fb638be fix(web): retain source-map declaration provenance 2026-10-27 07:35:13 +08:00
morluto 347494f3ab fix(captures): preserve cleanup ownership and sensitive evidence 2026-10-27 03:02:38 +08:00
morluto 99ff4344c0 fix(browser): centralize CDP network event facts
Parse shared request and response fields at the CDP boundary while preserving capture, session and runtime admission policies. Treat empty request IDs as unknown so unrelated events cannot be joined, and retain redirect occurrences and partial response evidence.

Validate 221 focused tests, fast checks, and real Chrome network and runtime verifiers.
2026-10-27 02:57:58 +08:00
morluto afc79add7e fix(providers): bind signal and capture configuration per operation 2026-10-27 02:47:25 +08:00
morluto 8ced814b96 fix(browser): unify script and context attribution facts
Centralize CDP script/context declarations and frame-claim interpretation across web capture, Electron, V8, active runtime and storage seeding. Preserve each workflow's admission, provenance and retention policies while removing superseded helpers and schemas.

Malformed or conflicting frame claims now leave passive scripts unattributed. Reused context IDs replace future frame authority without rebinding earlier scripts, and source readers reject empty script IDs.

Validation: 153 focused tests and check:fast passed; 13 regression failures reproduced on the prior commit. Real Chrome script export and runtime CLI/MCP verifiers passed, including correctly reported uncertain cleanup after intentional target closure. Electron regression coverage used simulated CDP.
2026-10-27 02:30:04 +08:00
morluto 3b4c910fff fix(browser): unify CDP frame and document identity facts
Parse each frame event using its declared protocol fields and retain loader and ancestry only across same-document updates. This removes alias-based attribution, invalidates malformed committed frame facts, and prevents stale WebMCP tools surviving a same-URL document replacement.

Migrate Electron, screenshot, capture, timeline, and execution consumers to the shared facts owner and retire the old helper exports. Validated 428 focused tests, test discovery, typecheck/lint, and real Chrome CLI/MCP network capture; Electron and WebMCP regressions use simulated CDP.
2026-10-27 02:00:58 +08:00
morluto a5ad164283 fix(browser): unify worker target admission across capture workflows 2026-10-26 23:44:08 +08:00
morluto cc5a96933a test(mcp): validate selected tools without compiling the entire catalog 2026-10-26 18:26:33 +08:00
morluto dec4cf50cb fix(captures): preserve reply failures through descriptor finalization 2026-10-26 18:26:26 +08:00
morluto 86ff3237e1 fix(paths): preserve selected command, output, and source identities 2026-10-26 17:14:02 +08:00
morluto 44b716f2f2 fix(runtime): preserve exact selected target identities 2026-10-26 15:09:04 +08:00
morluto 42f3ed7119 refactor(tooling): move verifier host helpers out of runtime 2026-10-26 14:46:23 +08:00
morluto 76afdd35ae chore(lint): guard validation ownership and asynchronous assertions 2026-10-25 07:57:07 +08:00
morluto 475f09d5ca chore(lint): enforce buffer and cancellation regression guards 2026-10-25 07:31:42 +08:00
morluto 10b83a9b62 fix(browser): preserve completed source-map observations
Return typed fetch outcomes with completed map coverage when acquisition is
cancelled or a response resource fails. Compose those facts with the captured
inspection as partial bundle Evidence, preserving exclusions, exact abort causes,
and cleanup priority without claiming unperformed script analysis.

Keep complete response-body SHA-256 and byte counts when map interpretation
fails, while preserving compact failure rows and capacity for later valid maps.
Reuse the read owner digest for successful text artifacts and preflight their
JSON representation before parsing. Historical failed rows remain importable.

Exercise controlled HTTP/stream boundaries, CLI SIGINT, and SDK cancellation
with later MCP Evidence retrieval. Share the public cancellation fixture and
use one Result API across consumers. Real Chromium and Windows CLI cancellation
were not verified.
2026-10-25 05:09:26 +08:00
morluto 84c30609e1 fix(browser): include IndexedDB versions in storage fingerprints
Hash the observed database version with object-store definitions at the CDP boundary. Missing, invalid, or imprecise versions preserve store evidence with incomplete coverage and an explanation. Mark the revised projection so historical store-only hashes cannot create false changes or prove unchanged versions. Preserve comparable metadata and independent storage changes.

Remove the redundant storage comparability wrapper and use each fingerprint's parsed scope instead of interpreting its identity string.

Validation: producer-to-comparison regressions and a compiled CLI to stdio MCP comparison passed, including version-only changes, invalid versions, legacy projections, and complete database additions/removals. Static and docs checks passed. CDP responses were simulated; no real browser runtime was exercised.
2026-10-25 01:45:23 +08:00
morluto 60242ec82d test(cli): retain process outcomes across workflow assertions 2026-10-24 12:30:37 +08:00
morluto 09c2a2d241 fix(browser): preserve main-frame identity and scope refusal context
Read screenshot identity from the selected frame-tree root instead of a
filtered inventory that could substitute a child. Reuse the frame record
parser for initial and event identities, rejecting malformed roots before
capture while preserving known origin refusals.

Share explicit origin-scope diagnostics across CDP workflows without
changing policy or conflating startup uncertainty, document replacement,
worker protection, and Inspector restrictions. Document the recovery and
make screenshot navigation fixture ordering explicit.

Validation: 577 focused checks passed across 13 files; one platform-specific
invalid-byte-filename case skipped. Build, typecheck, lint, formatting,
generated documentation checks, README conformance, and discovery passed.
No full suite or live browser/provider execution.
2026-10-24 08:48:19 +08:00
morluto d3a33fcfca test(browser): separate resource metadata and omission scenarios 2026-10-24 08:22:14 +08:00
morluto 4118004348 test(browser): distinguish partial HTTP samples from closed inventories 2026-10-24 08:22:14 +08:00
morluto 4becc220b8 test(browser): preserve partial capture and ownership contracts 2026-10-24 08:22:14 +08:00
morluto 79805f244a fix(web): preserve JSON identity and coverage contracts
Decode base64 JSON body bytes at the shape owner without replacement characters. Keep incomplete request correspondence unknown and use explicitly complete authored inventories for positive comparison controls. Repair semantic truncation and storage fixtures to satisfy their owning contracts without weakening assertions.
2026-10-24 08:01:25 +08:00
morluto dbf8e1eacc test(browser): cover SAZ capture-level null member limitation 2026-10-24 06:43:44 +08:00
morluto 872d46a0d9 test(browser): place PNG contract execution at provider boundary 2026-10-24 05:13:41 +08:00
morluto 53601d0bdf merge: consolidate upstream identity and representation owners 2026-10-24 05:13:41 +08:00
morluto aa4572828f fix(electron): retain bounded source frame claims 2026-10-24 05:02:21 +08:00
morluto df00588325 fix(electron): separate script frame admission from declared source labels 2026-10-24 04:16:47 +08:00
morluto b3433d0187 test(browser): match retained subframe limitations structurally 2026-10-24 04:16:47 +08:00
morluto c86288db1b fix(browser): preserve admission failures and retain policy transport cleanup 2026-10-24 04:06:57 +08:00
morluto 88bbf9c006 fix(browser): retain capacity refusal through terminal progress 2026-10-24 04:05:23 +08:00
morluto f01f56156e fix(browser): retain truthful cleanup facts and document request ownership 2026-10-24 03:59:44 +08:00
morluto 661aef55a9 fix: retain completed historical replies through finalization 2026-10-24 03:11:07 +08:00
morluto 590bab9ada fix(browser): preserve observed document invalidation and scope recovery 2026-10-24 03:11:06 +08:00
morluto b29aa6043f fix(browser): preserve WebMCP optional fields and replay coverage gaps 2026-10-24 03:10:56 +08:00
morluto e8374f4e58 fix(browser): retain excluded source-map declaration coverage 2026-10-24 03:10:56 +08:00
morluto 65e423eba6 fix(browser): compare script and tool facts without metadata identity churn 2026-10-24 02:50:16 +08:00
morluto ba781330d6 fix(browser): separate domain readiness and worker attribution coverage 2026-10-24 02:37:47 +08:00
morluto 816a9dc988 fix(electron): block trash calls in active observation hook 2026-10-24 02:36:00 +08:00