| Files | Last commit | Last update |
|---|---|---|
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
fix(cli): preserve Amp MCP registration settings (#7995) * fix(cli): preserve Amp registration environment and report failures (#7538, #7536) * fix(cli): normalize equals-form mcp add agents before Incur parses them (#7538) * fix(cli): remove the Amp settings backup after a verified registration (#7538) * fix(cli): secure Amp registration backups * test(cli): cover Amp registration backup permissions * fix(cli): retain Amp registration recovery backups * fix(cli): create private Amp recovery copies * test(cli): fix Amp backup assertion typing * fix(cli): preserve typed Amp backup failures * fix(cli): handle Amp backup cleanup failures | 9 days ago | |
feat(api-contract): inspect local GraphQL SDL and field references (#9140) * feat(api-contract): inspect local GraphQL SDL and field references * fix(api-contract): retain caller metadata and bound selection work | 1 day ago | |
fix(cli): advertise required CLI selector choices (#6759) * fix(artifacts): retain caller selection and applicable publication recovery * fix(artifacts): retain DMG producer failures and bound integrity recovery claims * fix(apk): classify malformed supported Zip64 records as input failures * fix(browser): compare script and tool facts without metadata identity churn * fix(environment): retain path segments counters and parent diagnostics * fix(discovery): retain Frida optional provider failure dispatch * test(native): share Swift context in vtable fixture admission * fix(native): narrow capability refusal before retaining its reason * fix(javascript): retain private receiver and iterative disposal effects * fix(native): preserve negative Mach-O admission identity * fix(javascript): bind Next page admission to source context * fix: preserve process filesystem scope and admission failures * fix(evidence): reject runtime locations for managed static facts * fix(hopper): bind ordinary executable opens to selected bytes * fix(browser): admit legacy capture uncertainty at retained input boundaries * fix(unknowns): distinguish rejected creation from committed mutation delivery * fix(evidence): preserve authentication failures and diagnose prior commitments * fix(cli): preserve explicit Evidence record pairing in bundle comparison * fix(artifacts): publish addressable inspection sources through both adapters * docs(evidence): define authentication and committed delivery recovery * fix(javascript): own reference roles and invocation result identities * fix(hopper): pass private X authority cookie through stdin * fix(ghidra): preserve catalog and metadata admission failures * fix(jeb): retain selected inputs and completed primary replies * fix(native): preserve literal environment map members * test: retain direct hash cleanup retainer contract * test: distinguish corrected port normalization commitment * fix: recheck attached worker policy after final artifacts * fix(javascript): share iteration and equality invocation facts * fix(artifacts): preserve typed resource limit diagnoses * fix(javascript): preserve semantic query identity and source coverage * docs(readme): align translated setup and analysis facts * fix(cli): reject surplus positional arguments before execution * fix(kuna): retain setting-specific doctor recovery * fix(setup): preserve semantic configuration refusal during uninstall * fix(setup): retain publication operation failures and recovery facts * fix(setup): distinguish Hopper inspection and archive staging failures * docs(managed): distinguish oracle conformance from host verification * docs(skill): keep one setup prerequisite policy * fix(firmware): preserve admission and extraction coverage outcomes * fix(contracts): preserve safe defaults and client literal guidance * fix(javascript): retain worker storage and projection failures * fix(evidence): preserve valid output paths near filesystem pathname limits * fix(cli): accept named native API selectors beginning with a dash * fix(artifacts): retain DMG carrier observations when child traversal is unavailable * fix(artifacts): retain dylib enumeration readers through failed cleanup * fix(browser): resolve empty storage-world origins from exact frame evidence * fix(browser): retain unknown popup storage initialization coverage * test(reconstruction): isolate derived surface ownership in fixtures * test(filesystem): probe actual permission denial before host assertions * test(managed): assert large issue retention without full-array diffs * fix(javascript): preserve source facts across graph projections * fix(javascript): preserve copied values and export publication lifetimes * fix(javascript): preserve per-field publication and provenance coverage * fix(javascript): retain initialized class self binding at body reads * fix(artifacts): retain permission omissions through JavaScript lookups * test(graph): narrow summary owner and complete PE fixture facts * test(javascript): supply source graph to native handoff checks * fix(sourcemaps): bind cleanup status to remaining codec owners * fix(browser): retain excluded source-map declaration coverage * test(javascript): preserve exact empty property keys in declarations * fix(browser): keep code absence unknown without worker inventory * fix(browser): preserve WebMCP optional fields and replay coverage gaps * fix(browser): publish executable examples with truthful capture coverage * fix(browser): preserve observed document invalidation and scope recovery * fix(native): share exact-name xref ambiguity resolution * fix(hopper): own bookmark API capability checks * fix(native): preserve procedure selector coordinate intent * test(discovery): select the declared GDB console contract * fix(ghidra): bind session refusal to retained cleanup owner * fix(apple): retain selected dylib identity after path removal * fix(apple): preserve asset failures and authored resource coverage * fix(apple): retain binary UID identity through archive projection * fix: retain completed historical replies through finalization * fix: retain unresolved browser secret declarations as input errors * test(browser): resolve network fixture secrets through typed input contract * fix(environment): distinguish destination refusal and write access failures * fix(artifacts): preserve exact ZIP and DMG caller cancellation reasons * fix(artifacts): require regular source-map target occurrences * fix(reference): separate local filesystem diagnostics from graph commitments * fix(setup): retain proven PATH aliases in installed registrations * test(package): join owned updater after registry fixture failure * fix(javascript): preserve recovery acquisition and cancellation failures * fix(session): retain cleanup blockers and snapshot request identity * fix(evidence): preserve format-owned JSON recovery diagnostics * test(evidence): cover BOM recovery across bundle commands * fix(tracing): retain caller reasons at traversal checkpoints * fix(inventory): require released cleanup before capability fallback * fix(hopper): drain retained publishers after current close failure * fix(native): preserve unknown Swift extension contexts * fix(apple): qualify unexamined nib content coverage * fix(frida): preserve session refusal and close execution effects * fix(rizin): retain cancellation and recover cleanup correlation * fix: retain Electron file admission facts across adapters * fix: preserve selected Electron display authorization * fix(javascript): retain unavailable HTML reference scopes * fix(javascript): preserve capture timing and detached receiver authority * fix(ida): preserve producer failure and caller abort outcomes * fix(cli): retain nested facts in Markdown tables * fix(cli): present argument guidance without validator cause dumps * docs(setup): define optional native update verification limits * docs(clients): distinguish discovery and schema recovery boundaries * docs(setup): explain npm workspace launcher failures * fix(verification): bind Copilot schema profile to observed inputs * fix(javascript): scope Next package admission by container identity * fix(apple): align asset allowance and category fixture types * fix(protocols): honor runtime queue and Frida identity types * test: parse Electron listing Evidence before comparison * fix(evidence): omit absent format recovery metadata * fix(contracts): validate historical source examples as exact JSON values * fix(javascript): consume per-field CommonJS publication facts * fix(gdb): correlate raw-output completion and retain read-only TTY proof * fix(native): retain completed LLDB facts across output-close cancellation * fix(hopper): retain failed private-display probe cleanup authority * style(lifecycle): format traversal and fallback edits * fix(apple): own ordered nib collections and registry parentage * fix(process): attribute trace omissions without changing shared successors * fix(cli): share builtin argument ownership with MCP routing * fix(cli): count emitted documents and normalize token windows * fix(inspector): retain captures through authorization cleanup failures * fix(artifacts): retain declared ASAR companion occurrence facts * fix(javascript): separate endpoint syntax correspondence from target identity * fix: distinguish native process exit from sampling failure * fix(javascript): retain selected-root access and filesystem failure facts * fix(browser): retain truthful cleanup facts and document request ownership * fix(native): share exact Objective-C class symbol interpretation * fix(go): retain completed artifact facts through finalization * fix(native): preserve seed analysis failures in value traces * fix(native): classify observed dSYM inspection refusal * test(apple): assert observed collection edge contract * fix(javascript): retain primary interruption through worker cleanup * fix(cutter): retain completion-read failures during cleanup retry * fix(cli): validate output windows and finish pending writes * fix(mcp): require absolute JavaScript application inputs * fix(capabilities): report missing navigation targets * fix(cli): support system Bash completion registration * fix(cli): retain narrowed token-count format handling * test(ida): preserve exact optional resource method shape * test(javascript): retain valid unknown endpoint coverage shape * fix(ghidra): try keg JDKs after failed PATH launchers * fix(browser): retain capacity refusal through terminal progress * fix(reference): require exact optional JSON diagnostics at the source schema * fix(apple): retain reader outcomes and cleanup ownership * fix(elf): qualify exports without dynamic symbol declarations * fix(mips): retain unexamined RELR declaration coverage * fix(metadata): preserve canonical PowerPC subject identity * fix(native): preserve LLDB discovery failure classifications * fix(native): report absent launch process before cleanup classification * fix(rizin): preserve primary outcomes across final cleanup * fix(browser): preserve admission failures and retain policy transport cleanup * fix(objdump): preserve input issues and provider launch failures * test(apple): attribute omitted edges to their node capacity limit * chore(metadata): synchronize packaged skill version * fix(cli): consume canonical output validation state * fix(views): preserve owning layout field diagnostics * test(pyinstaller): distinguish path and metadata allowance failures * fix(native): compose the selected command cause once * fix(setup): require HTTPS throughout Hopper download redirects * fix(ghidra): narrow fallback probe failures before projection * fix(native): require observed symbol origin for named identity * fix(javascript): retain unavailable source processing scopes * fix(cli): share declared output-error redaction * docs(windows): explain MCP registration launcher limits * fix(session): preserve binding commitments during restoration * fix(environment): retain primary facts through server cleanup failure * fix(pe): distinguish unsupported overlapping header layouts * fix(cli): keep positional admission placeholders omittable * test(cli): expose JavaScript progress workflow failure output * test(browser): match retained subframe limitations structurally * fix(javascript): preserve capture and property-key effect ownership * fix(ghidra): attribute import policy conflicts to settings * fix(native): validate Mach-O command framing before admission * docs(mcp): state plist inspection session prerequisite * fix(electron): separate script frame admission from declared source labels * test(environment): read asynchronous owner observations through contracts * test(javascript): distinguish resolver URLs from existing module targets * fix(ghidra): retain neutral recovery for observed SIGKILL * fix(hopper): preserve unknown relationship completeness * docs(native): clarify Darwin runtime breakpoint names * fix(browser): preserve unknown script ownership through reconciliation * fix(electron): keep optional provenance fields within JSON evidence values * fix(native): retain Mach-O architecture discriminant narrowing * test: give oversized registration groups semantic owners * test: group boundary registration by observed behavior * fix: normalize retained terminal observations with sampled identities * fix: identify missing Electron lineage ownership markers * fix(ida): retain registration constraints and identity refusal guidance * fix(kuna): retain published exports through staging cleanup failures * fix(nativeaot): charge only examined candidate table entries * docs: clarify batch decompilation retention limits * fix(javascript): distinguish deferred bootstrap installer writes * fix(native)!: preserve UI scalar facts and selection failures BREAKING CHANGE: Accessibility node value can also be a JSON number or boolean. Strings and null retain their prior meaning. * fix(javascript): retain activation order for captured scope exits * test(pyinstaller): use an absolute drive path for refusal coverage * fix(javascript): preserve route selection owners and uncertainty * fix(javascript): prove native URL constructor paths * refactor(tests): separate fixtures and registration groups * test(native): distinguish qualified symbol identity controls * fix(ida): preserve busy details across timeout attribution * fix(cli): unify builtin and global completion scope * test(ghidra): group exit-signal evidence controls * fix: retain narrowed terminal observation values * fix(cli): bind completion input to public registry type * fix(flutter): qualify unsupported unified snapshot profiles * test(native): bind origin comparison to containing entries * fix(cli): remove completion markers on system Bash * test(ida): preserve physical workspace traversal controls * fix(native): retain unknown UI executable identity * fix(native): unify LLDB discovery preparation failures * fix(evidence): preserve primary semantics during pending cleanup * fix(evidence): retain owner finalization reports across cleanup envelopes * test(browser): inspect provenance in owned graph observations * test(flutter): assert canonical unsupported profile error code * fix(javascript): capture primitive return values at evaluation * fix(mcp): own cancellation and raw input throughout startup * test(ghidra): construct exact import policy targets * fix(gdb): preserve configured executable launch recovery * test(ghidra): own fixed import target fixtures * docs(readme): align localized guide link occurrences * test(evidence): retain structured input issues through cleanup owners * test(mcp): await observed EOF before releasing startup * fix(electron): retain bounded source frame claims * fix(elf): validate declared file extents before provider admission * fix(elf): align metadata and admission fixture error types * test(wasm): place parsed interface comparison at provider boundary * test(ida): place capability composition at provider boundary * test(browser): place PNG contract execution at provider boundary * perf(test): share SDK catalog compilation across deferred clients * fix(cli): trim repeated selector discovery guidance * revert(test): remove unproven SDK compiler sharing This reverts commit 56eca648d. The equivalent completed two-client measurement increased elapsed and CPU time, so compiler sharing has not established a benefit. * refactor(managed): retain decoded metadata token facts * test(managed): scope cleanup failures to snapshot reads * test(cli): bound selector rejection cases by command * test(mips): distinguish damaged ELF admission from partial ABI evidence * test(reconstruction): declare authored function symbol identity * test(rizin): register terminal admission at provider boundary * test(process): align root admission fixture with observer allocation ownership * test(mips): project inspected ABI facts without undefined overrides * refactor(browser): remove obsolete web script reconciliation * refactor(javascript): remove obsolete in-process projection runner * refactor(managed): retain TypeDef row ownership through projections * test(process): assert canonical admission failure through cleanup envelopes * fix(managed): select types from retained definition records --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com> Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com> | 15 days ago | |
fix(cli): guide delimited analysis view exports (#8730) Co-authored-by: hhang <169027046+xu91102@users.noreply.github.com> | 3 days ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): preserve caller paths in format inspections (#7855) * fix(cli): preserve caller paths in format inspections * fix(cli): retain caller path on partial evidence * test(cli): preserve caller path in adapter parity checks * test(rust): account for retained caller path * fix(wasm): compare shared cli and mcp evidence | 10 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
feat(browser): import saved Playwright v10 trace evidence (#9127) * feat(browser): import saved Playwright v10 trace evidence * fix(browser): preserve original Playwright ZIP member names | 1 day ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
feat(artifacts): select extraction entries and output destination (#4031) * feat(artifacts): select extraction entries and output destination Refs morluto/rea#3490 * fix(artifacts): omit absent selection from execution parameters * fix(artifacts): protect source directories and verify public selection * fix(artifacts): keep optional selection inputs JSON-safe * fix(artifacts): separate reader ownership from selected destinations Validate complete reader inventory independently from collisions among selected output entries. Use occurrence-parent ownership instead of filename prefixes so independently owned PyInstaller entries remain selectable while nested-reader members remain refused. Validate advertised MCP schemas through the shared acceptance helper and add real PyInstaller/ASAR and excluded-entry regressions. * fix(artifacts): advertise absolute extraction destinations Reuse the shared host-absolute local path schema instead of an opaque refinement so SDK-converted JSON Schema preserves the runtime constraint. Extend the advertised-path and MCP-handler regression matrix for extract_artifact.output_root. * fix(contracts): advertise unique extraction occurrence IDs --------- Co-authored-by: gensokyo-dev <gensokyo-dev@users.noreply.github.com> | 2 days ago | |
docs(firmware): qualify component comparison workflows (#9143) | 1 day ago | |
fix(cli): preserve literal Bash completion candidates (#9153) * test(process): align symlink fixture with filesystem checkpoints * test(frida): assert the CLI spawn Evidence contract * test(mcp): use an unsupported analysis-view parent * test(browser): separate source-location line bounds from parity * fix(cli): preserve literal Bash completion candidates | 1 day ago | |
fix(cli): stop restating schema defaults in help descriptions (#9278) The help renderer appends "(default: X)" whenever the option field declares a schema default, so descriptions that also spell the default out print it twice: --block-size <value> Power-of-two block size from 256 to 65536 bytes (default 4096) (default: 4096) Remove the hand-written default from the eleven options that own a schema default across inspect-byte-entropy, inspect-devicetree, inspect-packet-capture, inspect-packet-fields, inspect-signal-decoders and decode-signal-recording, matching the rule in cliDecimalField's contract that the domain field owns bounds, defaults and help. Options without a schema default keep their prose: --match_limit, --line_limit, --limit and --packet_limit are nullable or optional, so the renderer emits no annotation and the description is the only place the effective value appears. Add a boundary test asserting each such option states its default exactly once, so a restated default cannot come back unnoticed. | 11 hours ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
refactor(adapters): remove redundant error and provider facades | 15 days ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
feat(api-contract): inspect local GraphQL SDL and field references (#9140) * feat(api-contract): inspect local GraphQL SDL and field references * fix(api-contract): retain caller metadata and bound selection work | 1 day ago | |
fix(cli): retain committed evidence receipts on output failure (#7906) | 10 days ago | |
test: reduce brittle assertions and test-only runtime paths (#9289) * test: focus assertions on behavioral evidence Prune redundant and wording-coupled checks while retaining diagnostic, parser, recovery, and cleanup coverage. * refactor: remove test-only wrappers and duplicate checks Exercise production operations through test fixtures, remove unused adapters, and keep managed-member uncertainty guidance under its existing owner. * test: focus process validation on diagnostic facts * refactor: remove test-only runtime helpers Move semantic evidence fixture setup out of runtime and remove unused Windows settle recovery helpers while checking configured defaults independently. * test: focus artifact diagnostics on format facts * test: verify retained cleanup guidance delivery | 8 hours ago | |
fix(cli): emit compact JSON validation errors for demangle-swift (#7622) * fix(cli): emit compact JSON validation errors for demangle-swift Piped and redirected --json argument diagnostics went through Incur's always-indented Formatter, bypassing REA's destination-aware writer. Buffer non-TTY SDK JSON like JSONL and rewrite through writeJsonOutput. * fix(cli): keep token-count for piped SDK JSON documents Compact JSON rewrite for non-TTY SDK output returned early before token controls, so --llms/--schema --format json --token-count printed the document instead of its count. * fix(cli): do not token-count non-document JSON captures Completion hooks and other non-JSON --json pipe output must stay verbatim; token-count on non-JSON SDK captures applies only with sdkDocumentControls. * test(cli): assert demangle JSON validation by code, not wording | 3 days ago | |
fix(setup)!: bind managed registrations to selected installation Use one command owner for setup, client writers, Gemini policy and CLI defaults. Migrate recognized runner registrations with backups and remove runner prewarm. Retain unknown identities and exercise real offline npm, CLI and MCP workflows. Fixes #7757 BREAKING CHANGE: managed MCP registrations use the selected absolute runtime and REA entry script, including package-runner cache paths. Keep that installation available or restore it before setup; unknown registrations require confirmed manual repair. Setup no longer returns prewarm or emits its progress events. Assisted-by: Reimu (gensokyo-skills:reimu-incident-triage) Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing) Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis) | 10 days ago | |
feat(android): integrate static APK analysis with headless JADX (#738) * feat(android): integrate static APK analysis with headless JADX * test(android): include APK tools in explicit effects audit | 1 month ago | |
fix(cli): honor the selected format for unknown mcp subcommands (#7802) * fix(cli): honor the selected format for unknown mcp subcommands Incur 0.6.1 renders its unknown mcp subcommand rejection as TOON regardless of --format or --json. Report the same COMMAND_NOT_FOUND envelope in the explicitly selected format before dispatching to Incur, share the pinned mcp subcommand table with completions, and redact explicitly declared sensitive values from the diagnostic. Fixes #7691 * fix(cli): correct only the subcommand in the mcp suggestion The suggested command replaced every token equal to the unknown subcommand, including option values such as --command. Record each command token's argument position in the shared builtin split and replace only the subcommand position. * fix(cli): leave earlier Incur builtins and caller output flags intact Incur serves --llms, --llms-full and its update check before the mcp subcommand branch, so defer those invocations to Incur as well. Build the suggested command from the caller's arguments rather than the arguments adapted for Incur, so a delimited format and its columns remain in the suggestion. * fix(cli): ignore output values spelled like earlier Incur builtins The earlier-builtin check matched raw tokens, so an output flag value such as --columns --llms or --filter-output --llms deferred the rejection to Incur's TOON path. Check the arguments Incur receives and skip positions its builtin pass consumes as output values. * fix(cli): omit mcp suggestions that would not replay caller input Joining the corrected tokens with spaces re-tokenizes a value with whitespace or shell metacharacters when the suggestion is copied, and quoting differs between POSIX shells, cmd and PowerShell. Offer the corrected command only when every token is a plain shell word and no declared sensitive value was redacted; the message still names the suggested subcommand. * fix(cli): preserve safe MCP diagnostic output * fix(cli): omit mcp suggestions with words zsh expands zsh expands a word that starts with = to an executable path by default, so a copied suggestion such as --command =node would replace the caller's literal value. Treat =-leading words as non-replayable. * fix(cli): render mcp diagnostics through the document renderer Markdown output went through Incur's formatter, so caller text such as *oops* rendered as emphasis instead of literal text. Use REA's document renderer for every format, and redact declared sensitive literals from the fixed call-to-action strings as well as the message. * test(cli): keep the mcp correction on the subcommand after timing globals --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com> | 1 day ago | |
feat(artifacts): make ASAR header admission configurable (#6209) * feat(artifacts): make ASAR header admission configurable ASAR header/index admission was a fixed 16 MiB with no override, so operators with large Electron indexes could only extract the archive. REA_ASAR_MAX_HEADER_BYTES now sets it (default 16777216, maximum 268435456). One owner resolves the effective admission for the classification probe, inventory, ASAR reader and Electron file scope, including the Electron header cache budget. Startup and doctor validate the setting; admission refuses an invalid value instead of falling back. Recovery and error details name the effective value and its source. Fixes #6176 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(artifacts): resolve ASAR header admission from the caller's environment The admission read process.env, so composition roots that select their own environment (createDirectAnalysis, createServer, CLI, optional observation factories) could not raise or lower it, and an ambient value leaked into callers that left it unset. Nothing reads process.env now. ArtifactProvider and extraction resolve the admission from their environment; JavaScript analysis parses it from the environment its server or CLI caller passes and refuses an invalid value; the Electron and V8 providers receive it from their factories. Inventory, nested ASAR readers, classification probes and Electron page authorization carry that one value. A header cached by Electron under a larger admission is refused for a smaller one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 16 days ago | |
fix(ghidra): guide ambiguous selector recovery (#8768) * fix(ghidra): guide ambiguous procedure selection * test(ghidra): distinguish malformed selectors * fix(ghidra): distinguish ambiguous file mappings * fix(ghidra): name mapping inspection workflows * docs(mcp): expose strict Ghidra address selection * docs(cli): explain Ghidra qualified address selection * test(ghidra): cover published ambiguous selector codes MCP and projection tests use procedure_ambiguous and file_offset_ambiguous, and match the recovery main already publishes for those codes. * fix(ghidra): name the space-qualified address that avoids offset fallback file_offset_ambiguous now tells the caller to use a form such as ram:0x1000. A bare 0x selector repeats the file-offset lookup. The MCP test requires that route and inspect_native_load_image. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 5 hours ago | |
feat(ghidra)!: identify containing code and data (#8777) * feat(ghidra)!: identify containing listed instructions * fix(ghidra): validate instruction containment status * fix(ghidra): validate containment coordinates * feat(ghidra): identify containing defined data * test(ghidra): correct snapshot and containment controls * docs(native): distinguish object and dynamic type sizes * docs(cli): retain incoming reference guidance * fix(mcp): clarify data object address guidance * test(ghidra): preserve defined data in reference fixtures | 4 hours ago | |
refactor(composition): unify capability bindings and cleanup ownership (#8441) Bind typed service creation, observed availability and retryable cleanup in one composition owner. Reuse selected CLI/MCP factories and canonical contract groups without copying provider operation inventories. Closes #8429. Refs #740. Validated paired real application workflows, actual local Codex CLI Terra/high use, complete Evidence and Unknown checkpoint parity, compiler-backed import boundaries, SDK schemas and final real mixed routing. Automated review findings were fixed at their producing owners. Existing exact-base CodeQL alerts are documented on the PR under the owner-authorized unrelated-check exception; no global alerts or security rules were changed. Assisted-by: Suika (gensokyo-skills:suika-scatter-gather-planning) | 6 days ago | |
feat(native): retry failed directory decompiles independently (#8811) * feat(kuna): allow independent decompile retries * fix(kuna): correct independent retry recovery * feat(native): retain decompile export source facts * test(native): verify historical export source facts * test(kuna): bound retry lifecycle acknowledgement * test(native): retain source after export conflict * feat(kuna): allow independent decompile retries * fix(kuna): correct independent retry recovery * test(kuna): bound retry lifecycle acknowledgement * feat(native): retry failed directory decompiles independently * fix(native): guide directory retry after provider failure * fix(native): point retry caveats to the journal * style(test): format CLI help default annotations (#9280) (cherry picked from commit ac30fbd6584244c22feb1b1b9e89be511dca79a0) --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 10 hours ago | |
fix(cli): reject non-decimal desktop application limits (#9061) inspect-desktop-application took --max_entries and --max_probe_bytes through Number(), so 0x1 examined one entry and 1e1 ten. Admit decimal text only and keep the shared fields' bounds and defaults. | 1 day ago | |
feat(desktop): capture, draft, export and witness a task inside a build computer (#9045) | 16 hours ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
fix(cli): reject non-decimal web capture deadlines (#9167) | 1 day ago | |
fix(cli): reject non-decimal pyc and BEAM limit options (#9060) inspect-python-pyc and inspect-erlang-beam took their max-* limits through Number(), so 0x10 meant 16 and 1e2 meant 100. Admit decimal text only through cliDecimalField, which now keeps the shared field's description for help. | 1 day ago | |
refactor(evidence): unify retained inputs across domains (#8299) Declare logical Evidence sources once and resolve exact retained inputs through shared application workflows across 20 composition tools. Preserve domain-owned authentication, source closure, caller choices, coverage and resource admission. Validation includes public CLI/MCP regressions, local Codex terra/high trials and fresh-import real-artifact workflows. Measurements, failed attempts and coverage limits are recorded in docs/verification/evidence-input-composition-2026-10-31.md. Fixes #8293. Fixes #8281. Assisted-by: Suika (gensokyo-skills:suika-scatter-gather-planning) | 7 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): preserve Markdown validation error cells (#7978) fix(cli): preserve markdown validation error cells | 3 days ago | |
fix(cli): describe one-shot timeouts for an invocation whose session has ended (#8535) * fix(cli): describe one-shot timeouts for an invocation whose session has ended A one-shot CLI analysis that reached a provider deadline told its caller that the Ghidra session remained usable and reported a runtime-editable limit applying to the next operation, although the command had already released its provider session and runtime. The shared error projection now takes an explicit caller lifetime. Providers keep guidance that holds only for a continuing caller (session reuse, same-session runtime updates) apart from the request outcome, and the presentation adds it only for a continuing caller. One-shot owners (runDirectAnalysis, runProviderAnalysis, finishAnalysisCommand and the JavaScript application command) project for the invocation: details.limit reports scope rea-invocation, applies_at next_invocation and the launch environment seed, and the remediation leads with that setting for a new invocation. MCP output keeps its runtime-update and same-session guidance. Covers the Ghidra decompile timeout, decompiler failure, regex stack exhaustion and startup timeout, the shared regex deadline, the Kuna decompile timeout and the Hopper startup timeout. Fixes #8311 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): project composed child failures for the caller lifetime Cleanup composition embedded its primary and cleanup failures as continuing-caller projections, and baked the primary's message and the cleanup's remediation into the composed error. A one-shot command whose Ghidra startup timed out while shutdown also failed therefore still reported a rea-runtime limit and update_analysis_settings in details.diagnostics.primary_error. childFailureDiagnostics now snapshots each embedded child at composition for both lifetimes when its projection depends on the caller, so cleanup history keeps its composition-time state and the final projection selects the caller's form. composedCallerGuidance re-attributes message and remediation with their continuing-only parts kept separate. Error copies and redaction keep the invocation diagnostics. The Hopper startup timeout now carries its continuing guidance on the error like the other producers. Invocation limits keep agent_editable and rea_restart_required, with values that hold for a new invocation, so only scope and applies_at change and environment is added. In existing-project mode a decompile timeout or a cancelled session now says the next session copies and opens REA_GHIDRA_PROJECT_PATH again rather than repeating import and analysis. Tests compare delivered guidance with the owning formatters and constants instead of freezing prose. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 6 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): preserve caller paths in format inspections (#7855) * fix(cli): preserve caller paths in format inspections * fix(cli): retain caller path on partial evidence * test(cli): preserve caller path in adapter parity checks * test(rust): account for retained caller path * fix(wasm): compare shared cli and mcp evidence | 10 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): preserve caller paths in format inspections (#7855) * fix(cli): preserve caller paths in format inspections * fix(cli): retain caller path on partial evidence * test(cli): preserve caller path in adapter parity checks * test(rust): account for retained caller path * fix(wasm): compare shared cli and mcp evidence | 10 days ago | |
fix(cli): publish the GPU inventory digest format in the CLI schema (#9062) inspect-gpu-code-objects declared --expected_sha256 as any string. The CLI schema accepted an upper-case digest, as PowerShell's Get-FileHash prints it, and the command then refused it as invalid_request. Reuse the shared lowercase SHA-256 field so argument parsing refuses it with the CLI field name. | 1 day ago | |
fix(cli): reject non-decimal guidance search limits (#9165) | 1 day ago | |
feat(workflows): expose guided prompts through CLI and MCP (#6995) * feat(workflows): expose guided prompts through CLI and MCP * fix(workflows): address guided workflow review findings * fix(workflows): preserve scoped contracts and actionable validation * test(workflows): allow bounded CLI startup on shared hosts * test(workflows): audit guidance effects and content provenance * perf(workflows): defer rendering and separate catalog scope --------- Co-authored-by: Deepak-Kambala <deepakkambala07@gmail.com> Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com> | 10 days ago | |
fix(cli): preserve caller paths in format inspections (#7855) * fix(cli): preserve caller paths in format inspections * fix(cli): retain caller path on partial evidence * test(cli): preserve caller path in adapter parity checks * test(rust): account for retained caller path * fix(wasm): compare shared cli and mcp evidence | 10 days ago | |
fix(setup): spell IDA and JADX in interactive completion (#9149) | 1 day ago | |
refactor(admission): own inspector, web, and CLI state per host (#8058) * refactor(admission): own inspector, web, and CLI state per host Replace the process-global inspector, web-bundle, guidance, and JavaScript counters with objects a host passes in, so independent instances do not share admission or cleanup. * fix(admission): keep worker and file cleanup on the host Web-bundle and JavaScript workers retry only their host registry, and each Inspector admission authorizes and closes its own file scope. Browser providers can share one web-bundle admission. * test(inspector): gate one admission's file cleanup The isolation test delayed the first ArtifactResourceScope.retryCleanup call, so a second call on a shared ElectronFileScope still finished. Hold first.files.retryCleanup until the other admission's close finishes, then release and join before restoring the method. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 9 days ago | |
refactor(cli): retain typed analysis outcomes through delivery | 12 days ago | |
refactor(javascript)!: consolidate renderer and route ownership Remove the derived package renderer property from new application graphs. Use renderer_declarations for source fields and package loads edges for the selected candidate; previously retained Evidence remains readable. | 12 days ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): report JSON Lines selection refusals as caller errors (#7124) * fix(cli): report JSON Lines selection refusals as caller errors A --format jsonl refusal because the selected value is not a record collection is the caller's output selection, not unreadable analysis output. Report it as invalid_request/invalid_input that names the selection and its observed shape, keep the --format json / --filter-output remediation, and drop the rea doctor advice. AnalysisInputError gains an optional producer remediation, mirroring the other refusal classes. The JSON Lines owner examines its documented boundaries once for both admission and refusal facts. docs/cli.md now states that columnar results such as inspect-sqlite-database --table rows are not record collections. Fixes #7110 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): carry JSON Lines refusal facts as structured observations JSON Lines refusals now put the location and shape of each refused value in details.issues[].observed, and the message is built from those facts. Tests assert the classification, issue path, observed facts, and the shared remediation constant instead of fixed sentences. The filtered analysis-view export check now uses a non-empty request and compares the emitted rows with the unfiltered export. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 13 days ago | |
fix(cli): retain committed evidence receipts on output failure (#7906) | 10 days ago | |
fix(cli): count emitted documents and normalize token windows | 15 days ago | |
fix(managed): surface capacity limits in member comparison Preserve per-side capacity diagnostics in shared managed member comparisons and apply repeatable CLI type selection to both source inspections. Keep partial and historical unknown semantics intact, with one typed diagnostic projection and side schema. Validated with 159 focused tests, final-main CLI/MCP boundary checks, schema validation and official public WPF 8.0.32/8.0.33 assemblies. Full source Evidence remains available through the retained-record MCP workflow. No target execution or budget increase. Fixes #9021 Assisted-by: Reimu (gensokyo-skills:reimu-incident-triage) | 1 day ago | |
refactor(evidence): unify retained inputs across domains (#8299) Declare logical Evidence sources once and resolve exact retained inputs through shared application workflows across 20 composition tools. Preserve domain-owned authentication, source closure, caller choices, coverage and resource admission. Validation includes public CLI/MCP regressions, local Codex terra/high trials and fresh-import real-artifact workflows. Measurements, failed attempts and coverage limits are recorded in docs/verification/evidence-input-composition-2026-10-31.md. Fixes #8293. Fixes #8281. Assisted-by: Suika (gensokyo-skills:suika-scatter-gather-planning) | 7 days ago | |
fix(cli): honor the selected format for unknown mcp subcommands (#7802) * fix(cli): honor the selected format for unknown mcp subcommands Incur 0.6.1 renders its unknown mcp subcommand rejection as TOON regardless of --format or --json. Report the same COMMAND_NOT_FOUND envelope in the explicitly selected format before dispatching to Incur, share the pinned mcp subcommand table with completions, and redact explicitly declared sensitive values from the diagnostic. Fixes #7691 * fix(cli): correct only the subcommand in the mcp suggestion The suggested command replaced every token equal to the unknown subcommand, including option values such as --command. Record each command token's argument position in the shared builtin split and replace only the subcommand position. * fix(cli): leave earlier Incur builtins and caller output flags intact Incur serves --llms, --llms-full and its update check before the mcp subcommand branch, so defer those invocations to Incur as well. Build the suggested command from the caller's arguments rather than the arguments adapted for Incur, so a delimited format and its columns remain in the suggestion. * fix(cli): ignore output values spelled like earlier Incur builtins The earlier-builtin check matched raw tokens, so an output flag value such as --columns --llms or --filter-output --llms deferred the rejection to Incur's TOON path. Check the arguments Incur receives and skip positions its builtin pass consumes as output values. * fix(cli): omit mcp suggestions that would not replay caller input Joining the corrected tokens with spaces re-tokenizes a value with whitespace or shell metacharacters when the suggestion is copied, and quoting differs between POSIX shells, cmd and PowerShell. Offer the corrected command only when every token is a plain shell word and no declared sensitive value was redacted; the message still names the suggested subcommand. * fix(cli): preserve safe MCP diagnostic output * fix(cli): omit mcp suggestions with words zsh expands zsh expands a word that starts with = to an executable path by default, so a copied suggestion such as --command =node would replace the caller's literal value. Treat =-leading words as non-replayable. * fix(cli): render mcp diagnostics through the document renderer Markdown output went through Incur's formatter, so caller text such as *oops* rendered as emphasis instead of literal text. Use REA's document renderer for every format, and redact declared sensitive literals from the fixed call-to-action strings as well as the message. * test(cli): keep the mcp correction on the subcommand after timing globals --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com> | 1 day ago | |
fix(cli): preserve caller paths in format inspections (#7855) * fix(cli): preserve caller paths in format inspections * fix(cli): retain caller path on partial evidence * test(cli): preserve caller path in adapter parity checks * test(rust): account for retained caller path * fix(wasm): compare shared cli and mcp evidence | 10 days ago | |
refactor(cli): retain typed analysis outcomes through delivery | 12 days ago | |
feat(native): make function matching allowance configurable (#7159) Allow native matching representation budgets to be selected at runtime or launch while retaining the 96 MiB default and main shared-provenance accounting. Preserve actionable configuration recovery through the setting owner and verify complete CLI/MCP matches for 20k/50k synthetic inventories and real stripped LLVM 14/15 inventories. Fixes #6406. Based on #7112 by Kaoru0822; original authorship and co-author credit retained. Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 13 days ago | |
fix(contracts): align CLI omission and native capability coverage | 12 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): preserve caller paths in format inspections (#7855) * fix(cli): preserve caller paths in format inspections * fix(cli): retain caller path on partial evidence * test(cli): preserve caller path in adapter parity checks * test(rust): account for retained caller path * fix(wasm): compare shared cli and mcp evidence | 10 days ago | |
feat(browser): import saved Playwright v10 trace evidence (#9127) * feat(browser): import saved Playwright v10 trace evidence * fix(browser): preserve original Playwright ZIP member names | 1 day ago | |
refactor(application): use current Evidence and CLI contracts Require the immutable Evidence read APIs already implemented by production owners. Remove the detached-only compatibility fallbacks and forwarding helpers, and bind consumers directly to their owner. Preserve editable detached exports and existing snapshot semantics. Use the shared canonical CLI error classifier for process commands instead of reinterpreting their projection. Validation: 172 focused application and process tests, build, static checks and documentation checks passed using local fixtures. | 14 days ago | |
fix(cli): keep captured source Evidence when one-shot delivery never commits (#8632) * fix(cli): keep captured source Evidence when one-shot delivery never commits A completed observation that was cancelled at final close, failed cleanup, or never reached bundle commit returned its evidence links but dropped the source records the invocation had already captured. The caller could neither read those records nor tell whether they were missing, captured or written. Report the closure at publishCliAnalysisEvidence, the shared boundary every --evidence_output command uses. details.source_closure carries authentic captured records within 64 KiB and explicit omissions: not_captured for a link this invocation holds no record for, and not_inlined for a captured record outside this response. A committed bundle keeps its receipt instead, nothing is written after cancellation, and successful delivery is unchanged. Fixes #8589 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(cli): keep the typed failure when collecting source closure cannot finish A captured source with a data-sized evidence_links array made pending.push(...links) exceed V8's call-argument limit. On final-close cancellation or a refused publication that RangeError replaced the original typed failure, which is the one outcome this delivery step exists to preserve. Walk the closure through a Set, which is a deduplicating breadth-first queue, so no link becomes a call argument and each link costs one lookup however often it repeats. undeliveredSourceClosure now owns authentication and never throws: if examining the closure fails, it reports collection_failure with the bounded error type and an unknown closure state, and the original failure is still returned. Fault the final-close tests on the scope the command gave to matching, after matching completed, and assert that close was reached, so a moved close fails instead of passing on an earlier one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> | 5 days ago | |
fix(cli): reject non-decimal pyc and BEAM limit options (#9060) inspect-python-pyc and inspect-erlang-beam took their max-* limits through Number(), so 0x10 meant 16 and 1e2 meant 100. Admit decimal text only through cliDecimalField, which now keeps the shared field's description for help. | 1 day ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): preserve caller paths in format inspections (#7855) * fix(cli): preserve caller paths in format inspections * fix(cli): retain caller path on partial evidence * test(cli): preserve caller path in adapter parity checks * test(rust): account for retained caller path * fix(wasm): compare shared cli and mcp evidence | 10 days ago | |
feat(mcp): scope advertised tools by family (#7228) Scope MCP discovery, setup, doctor, status and recovery guidance by selected tool families using one contract inventory and shared catalog identity. Preserve default discovery, canonical validation and complete Evidence. Fixes #3246. Builds on #3026. Real libcrypto workflow verifies all 5,367 exports and identical complete Evidence. Static/source/build/docs/Windows/package/Greptile checks pass; ten assertions reproduced identically on clean main and feature across Node 24/22, with cancelled coverage explicitly unverified. Merge uses the user-authorized bypass for baseline failures and unchecked human-readiness declarations, without attesting human review. Co-authored-by: 0xLLVEL <fakhrezan1@gmail.com> Co-authored-by: Codebuff <noreply@codebuff.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> | 12 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
refactor(evidence): unify retained inputs across domains (#8299) Declare logical Evidence sources once and resolve exact retained inputs through shared application workflows across 20 composition tools. Preserve domain-owned authentication, source closure, caller choices, coverage and resource admission. Validation includes public CLI/MCP regressions, local Codex terra/high trials and fresh-import real-artifact workflows. Measurements, failed attempts and coverage limits are recorded in docs/verification/evidence-input-composition-2026-10-31.md. Fixes #8293. Fixes #8281. Assisted-by: Suika (gensokyo-skills:suika-scatter-gather-planning) | 7 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
feat(javascript): compare static endpoints with HAR captures (#9090) * feat(javascript): compare static endpoints with HAR captures * test(javascript): preserve original HAR fixture bytes during formatting * test(javascript): load the byte-preserved HAR fixture | 1 day ago | |
fix(cli): reject malformed dry-run literals before changes (#7870) Fixes #7540. Retain every raw dryRun literal at the shared inert token binder before Incur boolean coercion; preserve parser-owned values, original execution, defaults and variadics. Return an actionable typed PARSE_ERROR before setup or environment publication. Validated 40 focused tests, independent nine-call compiled-CLI before/after configuration controls, check:fast and docs:check. Full technical CI 42302162266 passes, including all eight shards and required aggregates. Greptile reviews this head at 5/5; no completed Codex review of this head is available. The Author readiness-only exception is explicitly authorized; no human-review attestation is added. Assisted-by: Reimu (gensokyo-skills:reimu-incident-triage) | 1 day ago | |
fix(cli): count emitted documents and normalize token windows | 15 days ago | |
refactor(app): split session and CLI workflows | 3 months ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
fix(cli): preserve Unicode and text across token windows (#5814) * fix(cli): preserve Unicode and text across token windows * fix(cli): avoid redundant token window formatting | 16 days ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago | |
refactor(cli): retain typed analysis outcomes through delivery | 12 days ago | |
fix(cli): reject non-decimal web capture deadlines (#9167) | 1 day ago | |
fix(cli): advertise domain constraints for selector and path options (#9181) * fix(cli): advertise domain constraints for selector and path options Android class, method, and mapping fields, ADB setting keys, and browser endpoints used bare strings in --schema. They now reuse the domain fields, so empty selectors, relative mapping paths, and malformed setting keys fail in the advertised schema. * fix(cli): keep selector limits when argument parsing rejects them Empty browser and Electron selectors now fail in the CLI parser, so their diagnostics are VALIDATION_ERROR with the one-character minimum. ADB setting keys stay on the selector repair path, which restores maximum 256 and the identifier pattern. * test(cli): assert empty-selector codes without frozen prose Empty browser and Electron selectors still fail as VALIDATION_ERROR too_small on the named field. The tests no longer copy Zod's sentence. * test(cli): compare endpoint diagnostics with the domain schema Browser and Inspector tests take custom issue text from the schema that owns it, and empty capture comparison must name both missing inspection fields. * fix(cli): remove duplicate merged schema import --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 17 hours ago | |
fix(mcp): advertise absolute paths for tools that reject relative inputs (#9179) * fix(mcp): advertise absolute paths for tools that reject relative inputs The domain schemas accepted relative paths, then handlers rejected them with isAbsolute. Those inputs now use absoluteLocalPathStringSchema, and the duplicate handler checks are gone. * fix(javascript): own recovery path admission in the schema Relative recovery paths now fail in absoluteLocalPathStringSchema, including the additional_paths index. Drop the duplicate handler check, and make the CLI, MCP, and tools/list tests assert that schema fact. * test: assert absolute-path facts instead of error prose Recovery and web-script tests keep the field, format code, and regex expectation. They no longer freeze the schema's explanatory sentence. --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> | 18 hours ago | |
fix(cli): reject non-decimal integer tokens on every numeric option (#9178) | 22 hours ago |
| Files | Last commit | Last update |
|---|---|---|
| 17 hours ago | ||
| 9 days ago | ||
| 1 day ago | ||
| 15 days ago | ||
| 3 days ago | ||
| 17 hours ago | ||
| 22 hours ago | ||
| 10 days ago | ||
| 22 hours ago | ||
| 1 day ago | ||
| 17 hours ago | ||
| 2 days ago | ||
| 1 day ago | ||
| 1 day ago | ||
| 11 hours ago | ||
| 17 hours ago | ||
| 15 days ago | ||
| 17 hours ago | ||
| 22 hours ago | ||
| 1 day ago | ||
| 10 days ago | ||
| 8 hours ago | ||
| 3 days ago | ||
| 10 days ago | ||
| 1 month ago | ||
| 1 day ago | ||
| 16 days ago | ||
| 5 hours ago | ||
| 4 hours ago | ||
| 6 days ago | ||
| 10 hours ago | ||
| 1 day ago | ||
| 16 hours ago | ||
| 17 hours ago | ||
| 17 hours ago | ||
| 1 day ago | ||
| 1 day ago | ||
| 7 days ago | ||
| 22 hours ago | ||
| 3 days ago | ||
| 6 days ago | ||
| 22 hours ago | ||
| 10 days ago | ||
| 22 hours ago | ||
| 10 days ago | ||
| 1 day ago | ||
| 1 day ago | ||
| 10 days ago | ||
| 10 days ago | ||
| 1 day ago | ||
| 9 days ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 17 hours ago | ||
| 22 hours ago | ||
| 13 days ago | ||
| 10 days ago | ||
| 15 days ago | ||
| 1 day ago | ||
| 7 days ago | ||
| 1 day ago | ||
| 10 days ago | ||
| 12 days ago | ||
| 13 days ago | ||
| 12 days ago | ||
| 22 hours ago | ||
| 10 days ago | ||
| 1 day ago | ||
| 14 days ago | ||
| 5 days ago | ||
| 1 day ago | ||
| 22 hours ago | ||
| 10 days ago | ||
| 12 days ago | ||
| 22 hours ago | ||
| 7 days ago | ||
| 22 hours ago | ||
| 1 day ago | ||
| 1 day ago | ||
| 15 days ago | ||
| 3 months ago | ||
| 22 hours ago | ||
| 16 days ago | ||
| 22 hours ago | ||
| 12 days ago | ||
| 1 day ago | ||
| 17 hours ago | ||
| 18 hours ago | ||
| 22 hours ago |