Commit Graph
4865 Commits
Author SHA1 Message Date
morluto 6103fddd45 fix(javascript): scope Next package admission by container identity 2026-10-24 03:16:29 +08:00
morluto 4b029a693d fix(cli): present argument guidance without validator cause dumps 2026-10-24 03:16:29 +08:00
morluto 3f5d879414 fix(cli): retain nested facts in Markdown tables 2026-10-24 03:16:29 +08:00
morluto a4e9b61e9f fix(ida): preserve producer failure and caller abort outcomes 2026-10-24 03:16:29 +08:00
morluto da0480a665 fix(javascript): preserve capture timing and detached receiver authority 2026-10-24 03:16:29 +08:00
郭立 Guo Li 9fd78a74f8 fix(native): preserve unknown ELF export coverage without a dynsym section
Closes #6792.

ELF images with `PT_DYNAMIC` but no `SHT_DYNSYM` section incorrectly reported a complete, empty export inventory. The shared ELF directory reader now owns the dynamic-segment observation; CLI/MCP report `unsupported` with a reason. Existing symbol-table results remain intact. Read-only format correction; no new execution authority or public schema.

Validation on the current main integration:

- `npm run check`, test discovery, and 166 selected Linux tests pass, including actual CLI/stdio MCP cases and PE/IL2CPP/GPU/Rust reader consumers. Original author validation: 113 tests on macOS, including regressions that failed before the fix; test discovery passed.
- Real Debian libc (1,926,232 bytes) and libLLVM 14 (109,967,296 bytes), with only section-header-count/name-index bytes changed, reproduce the old false absence in both public adapters. The reviewed implementation returns unsupported in both adapters. Independent Python maps unchanged `PT_DYNAMIC` declarations and selected symbol bytes; original `readelf` agrees. The reduced files are not loaded or executed; `readelf -D` itself cannot enumerate these reduced layouts, and that failed oracle attempt is retained.
- Unmodified libc still returns all 3,025 exports, byte-identical complete Evidence and the same Evidence ID as the baseline. Resource-guarded public probes completed without stops or payload leftovers. No speed, memory or model-token improvement is claimed for this coverage fix.

Codex review completed with no findings. CI failed: all 61 observed failures (including 47 omitted from the aggregate report by canceled shards) reproduce with identical complete failure diagnostics on the exact CI base and merge trees. Baseline-only bypass is explicitly authorized for this maintenance session; canceled/skipped coverage remains unverified. See the final CI attribution comment. The original author's readiness declaration below is preserved.

## Author readiness

Human owner: @leeguooooo

- [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
- [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
- [x] I declare this PR ready for initial maintainer review.
2026-10-24 03:14:34 +08:00
morluto f36893a1a2 fix(javascript): retain unavailable HTML reference scopes 2026-10-24 03:11:07 +08:00
morluto 6aae8efd35 fix: preserve selected Electron display authorization 2026-10-24 03:11:07 +08:00
morluto e94d5a5c74 fix: retain Electron file admission facts across adapters 2026-10-24 03:11:07 +08:00
morluto 57aa21af26 fix(rizin): retain cancellation and recover cleanup correlation 2026-10-24 03:11:07 +08:00
morluto 3a62b96194 fix(frida): preserve session refusal and close execution effects 2026-10-24 03:11:07 +08:00
morluto 79323128f2 fix(apple): qualify unexamined nib content coverage 2026-10-24 03:11:07 +08:00
morluto 84f4eb42e1 fix(native): preserve unknown Swift extension contexts 2026-10-24 03:11:07 +08:00
morluto 25b28ffe8b fix(hopper): drain retained publishers after current close failure 2026-10-24 03:11:07 +08:00
morluto 27e927f70f fix(inventory): require released cleanup before capability fallback 2026-10-24 03:11:07 +08:00
morluto 48af28bf71 fix(tracing): retain caller reasons at traversal checkpoints 2026-10-24 03:11:07 +08:00
morluto 271fecf53a fix(evidence): preserve format-owned JSON recovery diagnostics 2026-10-24 03:11:07 +08:00
morluto 9becdfe8f4 fix(session): retain cleanup blockers and snapshot request identity 2026-10-24 03:11:07 +08:00
morluto e00b2eda0b fix(javascript): preserve recovery acquisition and cancellation failures 2026-10-24 03:11:07 +08:00
morluto 0326ad95f6 fix(setup): retain proven PATH aliases in installed registrations 2026-10-24 03:11:07 +08:00
morluto cae03361cf fix(reference): separate local filesystem diagnostics from graph commitments 2026-10-24 03:11:07 +08:00
morluto b165b0e830 fix(artifacts): require regular source-map target occurrences 2026-10-24 03:11:07 +08:00
morluto 4d3a7a0589 fix(artifacts): preserve exact ZIP and DMG caller cancellation reasons 2026-10-24 03:11:07 +08:00
morluto 7479f0a464 fix(environment): distinguish destination refusal and write access failures 2026-10-24 03:11:07 +08:00
morluto 62d19a7289 test(browser): resolve network fixture secrets through typed input contract 2026-10-24 03:11:07 +08:00
morluto cbfc2bd9c9 fix: retain unresolved browser secret declarations as input errors 2026-10-24 03:11:07 +08:00
morluto 661aef55a9 fix: retain completed historical replies through finalization 2026-10-24 03:11:07 +08:00
morluto 1c57eed275 fix(apple): retain binary UID identity through archive projection 2026-10-24 03:11:07 +08:00
morluto dbbaf2abb0 fix(apple): preserve asset failures and authored resource coverage 2026-10-24 03:11:07 +08:00
morluto b488a10d96 fix(apple): retain selected dylib identity after path removal 2026-10-24 03:11:07 +08:00
morluto 45abd4d44e fix(ghidra): bind session refusal to retained cleanup owner 2026-10-24 03:11:07 +08:00
morluto 02c5e13cee test(discovery): select the declared GDB console contract 2026-10-24 03:11:07 +08:00
morluto 5ecd7deea7 fix(native): preserve procedure selector coordinate intent 2026-10-24 03:11:06 +08:00
morluto c313f33674 fix(native): share exact-name xref ambiguity resolution 2026-10-24 03:11:06 +08:00
morluto 590bab9ada fix(browser): preserve observed document invalidation and scope recovery 2026-10-24 03:11:06 +08:00
morluto 1275817c75 fix(browser): publish executable examples with truthful capture coverage 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 209c42c346 fix(browser): keep code absence unknown without worker inventory 2026-10-24 03:10:56 +08:00
morluto b4502be51a test(javascript): preserve exact empty property keys in declarations 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 d56a25e64f fix(sourcemaps): bind cleanup status to remaining codec owners 2026-10-24 03:10:43 +08:00
morluto 80bb0b4f01 test(graph): narrow summary owner and complete PE fixture facts 2026-10-24 03:10:43 +08:00
morluto 693ecec082 fix(artifacts): retain permission omissions through JavaScript lookups 2026-10-24 03:10:43 +08:00
morluto dd55e2c7d5 fix(javascript): retain initialized class self binding at body reads 2026-10-24 03:10:43 +08:00
morluto f1a9d85de5 fix(javascript): preserve per-field publication and provenance coverage 2026-10-24 03:10:43 +08:00
morluto 2206822109 fix(javascript): preserve copied values and export publication lifetimes 2026-10-24 03:10:43 +08:00
morluto 0bbd635ab8 fix(environment): preserve clock years and exact probe chronology
Reuse the shared offset-instant owner for calendar validation and exact probe ordering. Preserve first-century years, arbitrary recorded fraction digits in the supported offset profile, ordinal ties and legacy native-Date fallback. Keep original clock spelling when conversion leaves the supported four-digit year range, and refuse unrepresentable generated clocks before committing state.

Validation: focused clock/comparison and public CLI regressions cover leap years, offset equivalence, precise DELETE/GET order, spelling classification and refusal atomicity. Replay/state compatibility checks pass. Numeric state intervals and generated-clock progression retain their documented millisecond limits.

Fixes #6835
Fixes #6643
2026-10-24 03:06:58 +08:00
morluto 15190ffc49 fix(pe): preserve resource directory paths and source ranges
Retain each resource directory's type/name path and incoming entry ranges before metadata accounting. Empty branches keep their identity, and shared directory bytes retain each distinct incoming path. Validate the expanded facts in the shared service and advertise them through the canonical contract.

Validation: parser, service, filesystem and public CLI/MCP regressions cover numeric/named empty branches, shared directories and unchanged artifact/payload hashes. Controls use authored PE32/PE32+ files; Windows loader behavior remains unverified.

Fixes #6872
2026-10-24 03:06:58 +08:00
morluto 254a8e7018 fix(capture): own HAR schema and response interpretation
Correct the pinned HAR schema's missing object types and duration constraints at the shared decoder boundary. Preserve optional omission and the -1 sentinel without repairing producer measurements, and identify the owned corrections in decoder provenance.

Keep unsupported or redacted response encodings unavailable to replay and state extraction. Empty-response classification now uses the same body owner, preserving known empty content separately from unavailable content. Regenerate contract examples from decoded fixture bytes and the shared view service.

Validation: focused decoder, replay/state, CLI and MCP regressions, including unselected malformed records and confirmed write responses. Contract examples reproduce through MCP. Authored capture controls do not establish real-browser producer coverage.

Fixes #6890
Fixes #6889
2026-10-24 03:06:58 +08:00
morluto c8f8ec656c fix(javascript): preserve source facts across graph projections 2026-10-24 03:00:10 +08:00