rea/src
Ysopwnable 21aa877e5a
fix(process): honor startup deadlines and add a CI audit skill (#2692)
* docs(skills): add CI and test correctness auditing

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>

* fix(process): report no remaining time after a provider deadline fires

Node timers can fire while performance.now() is still a fraction of a
millisecond short of the monotonic deadline. ProviderStartupDeadline then
reported interruption "timeout" and an aborted signal while remainingMs()
returned ceil(0.x) = 1, so polling loops guarded by remainingMs() > 0
(Hopper and Ghidra startup) could run past an elapsed deadline, and the
real-timer test "aborts a bounded wait when its real monotonic deadline
expires" failed intermittently in CI (expected 1 to be 0).

Once the deadline's own timer has classified a timeout, report zero
remaining time. A deterministic regression test fires the timer with the
monotonic clock 0.4 ms short of the deadline.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(process): retain the monotonic startup deadline budget

Recheck the absolute monotonic deadline when an early timer fires, and keep
polling waits pending until their own target or the shared deadline arrives.
Preserve caller cancellation, disposal and the unchanged real-timer assertion.
This replaces the earlier remainingMs workaround: an early callback must not
classify an unexpired deadline as a timeout.

Adapt the production fix and regression cases from nosmile99 PR #2793 at
546001693636f13700d86c6e93b6086abba2b7d6, including the independently reported
both-timers-early reproduction. Preserve the prior contributor's commit.

Fixes #2760

Co-authored-by: nosmile99 <147114285+nosmile99@users.noreply.github.com>
Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>

* style(tests): format the Java class fixture signature

The captured main baseline has an unformatted helper signature. Apply the
repository formatter so the required style gate can run to completion.

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>

* test(ghidra): group expanded suites by their contracts

Split result-envelope and completeness checks, and Windows invocation and
runtime checks, into named describe groups within the existing lint limit.
Preserve every test, fixture, assertion and platform prerequisite.

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>

---------

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: nosmile99 <147114285+nosmile99@users.noreply.github.com>
2026-10-13 22:15:43 +08:00
..
adb fix(adb): report the device state when a push cannot probe the path (#2354) 2026-10-13 20:56:41 +08:00
android fix(android): clean Windows workspaces after owner termination (#2440) 2026-10-13 22:03:16 +08:00
apktool fix(apktool): resolve Windows PATH launchers before invocation (#2802) 2026-10-13 22:00:47 +08:00
application fix(setup): resolve the configuration MSIX Claude Desktop reads (#2426) 2026-10-13 22:04:22 +08:00
artifacts fix(flutter): name a missing or non-file APK selection (#2727) 2026-10-13 21:49:23 +08:00
browser fix(browser): keep malformed Content-Length declarations unknown (#2773) 2026-10-13 21:48:55 +08:00
captures fix(process): preserve discovery ownership across cleanup retries (#2643) 2026-10-13 13:43:06 +00:00
cli feat(android): expose exact DEX descriptors and direct invoke sites (#2439) 2026-10-13 22:02:47 +08:00
composition fix(javascript): retain compiler-dependent module resolution facts 2026-10-13 15:58:25 +08:00
config fix(config): reject NUL bytes in Hopper loader arguments (#2474) 2026-10-13 14:51:29 +08:00
contracts fix(comparison): keep unsupported function facets unknown (#2450) 2026-10-13 22:15:01 +08:00
domain fix(process): honor startup deadlines and add a CI audit skill (#2692) 2026-10-13 22:15:43 +08:00
dotnet fix(managed): decode the CIL no. prefix (#2241) 2026-10-13 21:16:00 +08:00
evaluation fix(evaluation): share completed transcript facts across graders 2026-10-13 13:12:12 +08:00
evm feat(evm): inspect lossless Solidity terminal CBOR metadata (#2790) 2026-10-13 21:55:30 +08:00
filesystem fix(flutter): name a missing or non-file APK selection (#2727) 2026-10-13 21:49:23 +08:00
firmware fix(artifacts): honor cancellation at the output publication boundary 2026-10-13 15:12:17 +08:00
flutter fix(flutter): find snapshot headers that a read chunk boundary splits (#2804) 2026-10-13 22:14:07 +08:00
frida perf(frida): evict captured messages without copying the whole queue (#2628) 2026-10-13 00:11:38 -07:00
ghidra fix(process): honor startup deadlines and add a CI audit skill (#2692) 2026-10-13 22:15:43 +08:00
go fix(go): classify JVM class files instead of universal Mach-O for CAFEBABE bytes (#2458) 2026-10-13 21:25:32 +08:00
hopper feat(ghidra): support raw NMOS 6502 analysis (#2079) 2026-10-13 21:13:01 +08:00
ida fix(comparison): keep unsupported function facets unknown (#2450) 2026-10-13 22:15:01 +08:00
inspector fix: honor empty URL query and fragment markers (#2091) 2026-10-13 06:05:29 +09:00
javascript fix(javascript): retain compiler-dependent module resolution facts 2026-10-13 15:58:25 +08:00
jeb fix: honor empty URL query and fragment markers (#2091) 2026-10-13 06:05:29 +09:00
main feat(sqlite): inspect offline snapshots with selective evidence (#2271) 2026-10-12 18:33:23 +00:00
native fix(native): bound captured output carried by native command failures (#2764) 2026-10-13 07:03:19 -07:00
pcap fix(pcap): order evidence ties by code point instead of host locale (#2509) 2026-10-13 14:44:09 +08:00
process fix(process): honor startup deadlines and add a CI audit skill (#2692) 2026-10-13 22:15:43 +08:00
reference fix(reference): verify symlink identity around target reads 2026-10-12 04:33:47 +08:00
server perf(evidence): reuse sealed bundle reads in compare and export (#2715) 2026-10-13 21:50:25 +08:00
signals fix(process): preserve discovery ownership across cleanup retries (#2643) 2026-10-13 13:43:06 +00:00
sqlite fix(sqlite): classify a missing database path as an invalid value (#2775) 2026-10-13 21:48:39 +08:00
wasm fix(artifacts): retain read cleanup ownership through CLI and MCP shutdown 2026-10-13 16:08:41 +08:00
windows fix(formats): preserve high bits in remaining magic-byte checks (#2384) 2026-10-13 20:54:37 +08:00
catalogIdentity.ts feat(server): frame analysis-target content as untrusted data (#1908) 2026-10-13 06:06:02 +09:00
cli.ts feat(pcap): add bounded capture summaries through CLI and MCP 2026-10-13 04:53:03 +00:00
cliBrowserContext.ts fix(mcp): isolate optional observation adapter failures (#838) 2026-10-07 11:45:17 +08:00
cliBrowserScenarioCommands.ts fix(cli): await browser scenario cleanup on interrupts 2026-10-11 17:33:57 +08:00
cliCommandNames.ts feat(signals): discover installed decoders and option help (#2487) 2026-10-13 15:58:19 +09:00
cliEvidenceCommands.ts perf(mcp): keep Playwright and type-only imports off MCP startup (#1691) 2026-10-10 21:04:05 -07:00
cliHostInputs.test.ts refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
cliJavaScriptRuntimeCommands.ts fix(cli): retain browser and Inspector input correction details (#2230) 2026-10-13 02:29:07 +08:00
cliJsonInput.ts fix(filesystem): bound and verify admitted file and JSON reads 2026-10-11 00:28:24 +08:00
cliJsonPaths.test.ts fix(cli): preserve blank JSON paths for input validation (#1068) 2026-10-08 20:57:54 +08:00
cliLogging.test.ts feat(update): update Bun global installations (#1735) 2026-10-11 17:56:05 +08:00
cliLogging.ts fix(cli): preserve failure semantics across full-output formats 2026-10-13 03:33:27 +08:00
cliObservationOptions.ts fix(javascript): trace wrapped Electron IPC paths in large bundles (#1874) 2026-10-12 09:28:59 +08:00
cliOutput.ts fix(cli): reject unterminated output filter slices (#2315) 2026-10-13 20:04:33 +08:00
config.test.ts fix(config): reject NUL bytes in Hopper loader arguments (#2474) 2026-10-13 14:51:29 +08:00
doctorRuntime.ts refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
generatedPackageMetadata.ts feat(fiddler): inspect native SAZ captures 2026-10-13 02:51:14 +00:00
homeDirectory.test.ts fix(setup): ignore empty home directory selections 2026-10-13 04:11:55 +08:00
identity.ts feat: streamline agent integration and MCP routing 2026-07-20 17:11:06 +08:00
logger.ts fix(cli): report an invalid REA_LOG_LEVEL as configuration (#2140) 2026-10-12 06:07:37 -07:00
main.ts fix(mcp): keep shared optional providers open across discarded probes (#2205) 2026-10-12 06:56:45 -07:00
mcpDoctor.ts fix(mcp): join owned doctor shutdown without signaling saved PIDs 2026-10-13 15:12:08 +08:00
mcpStartupPolicy.ts perf(mcp): reduce cold-start work 2026-07-26 15:02:58 +00:00
serverIdentity.ts refactor: return complete analysis results inline 2026-09-29 08:07:24 +08:00
setupEnvironment.test.ts fix(setup): register a stable launcher when run through bunx (#1731) 2026-10-11 19:17:15 +08:00