Commit Graph

5714 Commits

Author SHA1 Message Date
morluto 2dd2ffcd45 fix(artifacts): bind operations to admitted sources 2026-10-27 07:03:11 +08:00
morluto ace4dbf36e fix(contracts): align live target classification with admitted facts
Share exact live target variants across open and session responses, preserving historical Evidence and snapshot admission. Consolidate equivalent ELF metadata aliases at their owner.
2026-10-27 06:53:47 +08:00
morluto fc7f042c8c refactor(lifecycle): require cleanup for offline providers
Require resource-owning provider ports to expose cleanup and migrate test adapters to delegate or explicitly close their own resources.
2026-10-27 06:49:07 +08:00
morluto b529bd84d7 refactor(contracts): preserve named output schema types
Keep exact readonly schema maps and constrain contract factories to their owned keys. Verify named catalog lookups retain each schema type.
2026-10-27 06:48:55 +08:00
morluto 248133d784 fix(analysis): interpret provider and ELF inputs once
Pass parsed MIPS program declarations to shared-load analysis and validate IDA string address selectors before enumeration, including empty inventories.
2026-10-27 06:48:48 +08:00
morluto 030fa886f9 fix(setup): verify published configuration content during uninstall
Require publication readback in the owning check so in-place edits are detected and preserved with the original backup.
2026-10-27 06:43:53 +08:00
morluto 82fd223638 refactor(native): consolidate provider-neutral analysis contracts
Move shared function, dossier, inventory, reference and output semantics from the legacy Hopper module to native domain owners. Migrate provider, adapter, test and verifier consumers directly.
2026-10-27 06:43:53 +08:00
morluto a6488a96a9 fix(javascript): preserve renderer path anchors 2026-10-27 06:43:07 +08:00
morluto d0e695b42a fix(hopper): bind relative launcher paths once 2026-10-27 06:43:07 +08:00
morluto 90475ec9e5 fix(artifacts): retain selected keyed archive paths 2026-10-27 06:43:07 +08:00
morluto d60b2cab65 docs(ida): document migration from legacy attached registrations
Describe the native plugin setup, identity and capability differences, verification, and rollback. Link the migration from the packaged skill source.
2026-10-27 06:38:51 +08:00
morluto ed6668b5bc fix(evidence): validate process captures before bundle export
Reuse the read-side capture validation before publication so exported bundles can be imported. Preserve historical and foreign record identity and existing destination files on failure.
2026-10-27 06:36:31 +08:00
morluto 50717c39b6 refactor(contracts): consolidate provider and search ownership
Resolve IDA compatibility facts in one place and migrate capability, session, and verifier consumers. Move native search fields to the domain and reuse residual unknown fields for filters.
2026-10-27 06:36:24 +08:00
morluto 567ea4b1e8 refactor(ownership)!: consolidate legacy aliases
Migrate schema, installer, ASN.1, and tooling consumers to their owning definitions. Remove the redundant CI task entry and the deprecated Cutter command-local JSON flag.

BREAKING CHANGE: Replace Cutter --json=true or --json=false with --json-output=true or --json-output=false. Bare --json still controls CLI result formatting.
2026-10-27 06:31:23 +08:00
morluto 7c8eb63fcc fix(javascript): retain package entrypoint provenance 2026-10-27 06:28:15 +08:00
morluto c27560e434 fix(artifacts): classify selected package names 2026-10-27 06:28:15 +08:00
morluto 3515b26221 refactor(ownership)!: remove redundant aliases
Use canonical owners for literal matches, tool families, MCP schema presentation and IDA protocol selection; remove unused web-bundle reexports. Remove the duplicate CLI command name and keep the canonical compare workflow.

BREAKING CHANGE: rea compare-bundles has been removed. Use rea compare instead. The MCP compare_bundles tool is unchanged.
2026-10-27 06:27:10 +08:00
morluto c4cdb7658b fix(jeb)!: preserve engine refusal diagnostics
Parse JEB failure envelopes at the provider boundary and retain the original response, recovery facts, and selected inputs. Do not infer an unsupported target from undocumented error codes; preserve completed primary observations when metadata requests fail.

BREAKING CHANGE: JEB engine refusals now report execution_failure rather than unsupported_target. Consumers should inspect the retained upstream diagnostics for the engine's reason and recovery facts.
2026-10-27 06:22:10 +08:00
morluto 7f65617064 fix(artifacts): resolve historical retained summaries
Authenticate exact retained parents against current and documented historical summary projections, including caller-selected display paths. Keep source facts, Evidence commitments and unsupported-projection rejection intact.
2026-10-27 06:21:50 +08:00
akushonkamen c6893d1ac6 fix(browser): preserve external defaults during CDP attachment (#7188)
Attach to external browsers without implicit default-context overrides, and own temporary focus only on the selected page. Preserve unrelated page media and exact page inventory through CLI/MCP. Remove bootstrap-page retries; retain late/failed cleanup ownership and verified SDK notices.

Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-27 06:16:14 +08:00
morluto 779d548c4e fix(artifacts): preserve selected ASAR companion paths 2026-10-27 06:12:41 +08:00
morluto e891926534 fix(artifacts): compare Node SEA member declarations
Compare each retained member's exact runtime key and role without treating archive order as semantic identity. Keep one-sided legacy declaration gaps unknown, preserve proven changes with unavailable content, and retain original Evidence.
2026-10-27 06:06:27 +08:00
morluto 60834e391c fix(artifacts)!: compare ASAR storage declarations
Record packed and unpacked ASAR file declarations at the reader boundary and compare known storage changes without treating historical omissions as packed. Preserve known differences when bytes are unavailable and retain existing integrity precedence.

BREAKING CHANGE: ASAR file occurrences may now contain unpacked: false. Consumers that validate only true must accept an optional boolean; absent historical fields remain unknown.
2026-10-27 05:59:40 +08:00
morluto 83b2d16ee9 fix(javascript): distinguish HTML script loads from data 2026-10-27 05:57:26 +08:00
morluto 8694dc30d9 fix(hopper): discover linked application bundles 2026-10-27 05:57:26 +08:00
morluto 67b9181010 fix(ida): separate function identity from source span
Normalize function address and name without requiring an unused upstream size. Preserve complete upstream observations and the explicit unknown body coverage across IDA protocol profiles.
2026-10-27 05:52:15 +08:00
morluto 81adb8977a fix(ghidra): honor current directory in PATH discovery 2026-10-27 05:49:17 +08:00
morluto e1ec737d9b refactor(artifacts): share extraction admission and reader construction
Reuse completed embedded-format observations only after validating the admitted file identity and state, and centralize reader construction across inventory and extraction. Preserve early refusal, selected-path checks, ZIP ownership, and each operation's traversal policy. A source changed between preflight and inventory now fails integrity validation.
2026-10-27 05:46:25 +08:00
morluto 3a6e4f2cb1 fix(managed): report graph method page coverage 2026-10-27 05:42:50 +08:00
morluto 19f9011511 fix(setup): honor VS Code user data overrides 2026-10-27 05:42:50 +08:00
morluto 52414282b9 fix(xrefs): trust provider address validation
After an invalid address-format result, resolve the caller's exact symbol instead of reclassifying address-like names with a separate heuristic.
2026-10-27 05:37:55 +08:00
morluto 4191974010 fix(environment): share retained response declarations
Preserve status independently of malformed content and use one declaration reader for route grouping, state extraction and manifest eligibility. Verify the partial facts through CLI and MCP views.
2026-10-27 05:37:47 +08:00
morluto 5f91616727 fix(hopper): confirm private display probe cleanup 2026-10-27 05:36:09 +08:00
morluto b6e58c22d4 fix(evidence): retain source and stream ownership 2026-10-27 05:36:09 +08:00
morluto 4803c4f9c2 fix(setup): preserve selected settings and Java paths 2026-10-27 05:36:09 +08:00
morluto 47fa4fbad6 fix(views): bind Mach-O rows to selected facets
Derive each facet's row schema from the Mach-O producer and validate it against the requested page. Preserve the existing wire shape and historical defaults.
2026-10-27 05:33:10 +08:00
morluto 06c8e14b34 fix(native): retain lipo field declarations
Distinguish omitted slice fields from declarations that cannot be interpreted, and preserve their source in native results and artifact limitations. Keep structural fallback and capacity failures explicit.
2026-10-27 05:33:01 +08:00
morluto ca3fd7baf9 fix(javascript): preserve artifact failures through cleanup 2026-10-27 05:23:53 +08:00
morluto 8b7ee48a46 fix(kuna): bind cache exports to their producing inputs 2026-10-27 05:23:53 +08:00
morluto 906f161dc6 fix(environment): share legacy recorded-time interpretation
Use one owner for exact recorded timestamps and documented native-Date fallback in state and probe replay. Retain the source and disclose native precision and host-timezone dependence in state limitations.

Validated historical chronology, timezone and unknown-duration regressions against prior behavior.
2026-10-27 05:19:43 +08:00
morluto 63220edcc3 fix(environment)!: withhold clock writes without an anchor
Keep missing or ambiguous scenario request durations unknown, retain learned clock rules, and withhold plans that cannot generate an observed clock. Refuse such writes in older imported states before changing state or generators.

BREAKING CHANGE: The write-plan reason can now be unknown-clock; strict clients must accept the new output value.

Validated state, CLI and advertised MCP workflows, documentation, and focused clock and cleanup regressions.
2026-10-27 05:19:35 +08:00
morluto 19b2972dfb fix(environment): separate request order from completion
Retain valid request starts independently of duration and require observed completion for interval-based state and write inferences. Bound indexed interference checks across captured writes while preserving ordinal fallback and unmodified Evidence.

Validated state, comparison, CLI and MCP workflows with known, unknown, overlapping and redacted timing controls; check:fast passed.
2026-10-27 05:08:14 +08:00
morluto 3233992733 fix(browser): redact startup cleanup diagnostics 2026-10-27 04:59:27 +08:00
morluto 855eb703af perf(setup): wait directly for prewarm completion 2026-10-27 04:59:27 +08:00
morluto d815367a11 fix(analysis): preserve failure and cleanup outcomes 2026-10-27 04:59:27 +08:00
Chip Li 4767970105 fix(artifacts): explain recovery for existing DMG attachments (#7221)
Preserve producer-supported recovery guidance after an existing-image DMG attachment refusal, without borrowing or detaching existing mounts. Keep diagnostics, root provenance and unknown coverage; centralize guidance ownership and run the real mounted-image regression in macOS CI.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-27 04:58:43 +08:00
吴佳浩Alben 9e6dd8e372 docs(desktop): name the get_evidence_bundle tool in the MCP section (#7266)
The collection-paging paragraph says complete Evidence stays accessible through
`get_evidence`, but no tool by that name exists. The session family registers
`get_evidence_bundle`, which is the only name the catalog, the contracts and the
CLI equivalents use.

Every other page already uses the full name, so this was the only place a reader
or agent would look for a tool that cannot be called.
2026-10-27 04:56:17 +08:00
Saim Shafique 0d1a454e25 fix(ghidra): admit newer 12.x releases as compatible builds (#6924)
Admit same-major Ghidra releases at or above the verified minor through the existing compatible/unverified policy. Preserve the observed version, verified12.1.4 pin, installation-declared Java floor and separate NativeAOT verification gate.

367 targeted tests/static/docs, all10 real Java bridge-source compilation, and actual Linux12.2/JDK25 CLI/MCP queries and cleanup pass. JDK21 remains refused for12.2. Exact-main controls reproduce all3 unrelated CI assertions; canceled shards and an apt-blocked binary-layout lane remain unverified.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-27 03:49:12 +08:00
morluto dd7a2da5bb fix(environment): keep invalid recorded dates unknown
Distinguish invalid supported timestamp spellings from unrecognized legacy formats at the recorded-date owner. Probe replay retains ordinal order for invalid dates without changing the existing legacy fallback.

Validated date parsing, state ordering and comparison workflows; the prior implementation reorders the invalid-date regression.
2026-10-27 03:29:11 +08:00
morluto 4e86bd0c1c fix(asar): disclose unverified block integrity
Retain a limitation when ASAR block integrity fields are present. Whole-file hash verification does not establish block verification or Electron runtime acceptance.

Validated inventory and extraction workflows, including partial and malformed block declarations.
2026-10-27 03:29:05 +08:00