rea/tests/fixtures
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
..
android feat(android): expose exact DEX descriptors and direct invoke sites (#2439) 2026-10-13 22:02:47 +08:00
binaryDiagnostics fix(providers): validate ELF versions and preserve probe cancellation 2026-10-09 00:49:30 +08:00
evm feat(evm): inspect lossless Solidity terminal CBOR metadata (#2790) 2026-10-13 21:55:30 +08:00
firmware fix(firmware): recover after workspace removal failures (#1616) 2026-10-11 03:16:34 +08:00
go fix(formats): preserve high bits in Windows signature checks 2026-10-13 04:24:29 +08:00
golden refactor!: simplify runtime tools and remove replay engines (#572) 2026-10-05 21:15:04 +08:00
inspector fix(runtime)!: preserve unknown debugger attachment state 2026-10-12 12:37:00 +08:00
interface-builder fix(apple): decode UIKit keyed-archive outlet connections 2026-10-13 03:47:45 +08:00
javascript-recovery feat(javascript): recover code-split bundles from multiple inputs (#1686) 2026-10-11 18:39:49 +08:00
native-macos fix(native): select one slice when universal Mach-O slices share a CPU type (#2040) 2026-10-13 16:36:23 +08:00
nativeaot feat(ghidra): integrate optional NativeAOT metadata recovery (#748) 2026-10-07 00:57:08 +08:00
pcap feat(pcap): add bounded capture summaries through CLI and MCP 2026-10-13 04:53:03 +00:00
replay feat(application): add isolated JavaScript replay 2026-07-16 15:45:55 +09:00
sqlite feat(sqlite): inspect offline snapshots with selective evidence (#2271) 2026-10-12 18:33:23 +00:00
swift fix(ghidra): classify modern Swift manglings in swift type analysis (#1208) 2026-10-09 16:10:55 +08:00
wasm fix(artifacts): authenticate file subjects across provider and view boundaries 2026-10-13 13:23:03 +08:00
windows fix(windows): preserve caller affinity only within one processor group (#2202) 2026-10-13 14:49:34 +08:00
analysisExecution.ts Add evidence-backed investigation workflows 2026-07-12 21:12:18 +00:00
analysisView.ts feat(mcp): derive an API surface view from retained web network captures (#1891) 2026-10-12 10:44:17 +08:00
applicationMcpHarness.ts feat(target): explain static WASM inspection after native rejection 2026-10-12 07:00:30 +08:00
artifactEntryOrder.ts fix(artifacts): resolve parents after archive enumeration (#578) 2026-10-05 23:06:46 +08:00
artifactEvidence.ts feat(native): add inspection primitives, dispatch traces and approved UI observation (#500) 2026-10-04 16:02:36 +08:00
artifactInventory.ts fix(artifacts)!: retain cleanup owners through client shutdown 2026-10-11 04:43:02 +08:00
binarySession.ts refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
browserScenarioCancellation.mjs perf(cli): bundle runtime entries to reduce Windows startup I/O (#1996) 2026-10-12 09:25:27 +08:00
captureGhidraLaunch.cmd feat(ghidra): launch bounded Windows headless sessions 2026-07-17 03:05:19 +09:00
captureGhidraLaunch.mjs test: eliminate fixture races and prune redundant scaffolding (#849) 2026-10-07 12:25:37 +08:00
cliJsonProcess.ts fix(cli): accept JSON files for web capture and screenshot comparisons (#1397) 2026-10-09 19:29:42 -07:00
clientEnvironment.ts feat(clients): register Qoder CLI during setup (#1572) 2026-10-12 22:55:55 +08:00
contractPresentation.mjs fix(mcp): admit composed analysis through result bookkeeping 2026-10-10 00:35:17 +08:00
descriptorCloseFailure.ts fix(process): preserve discovery ownership across cleanup retries (#2643) 2026-10-13 13:43:06 +00:00
directAnalysisInterrupt.mjs refactor: remove forwarding exports and redundant aliases 2026-10-09 22:46:09 +08:00
directoryReaderFifoProbe.mjs fix(artifacts): harden reader lifecycle boundaries (#951) 2026-10-07 20:00:24 +08:00
directoryReaderUnsupportedEntryProbe.mjs fix(artifacts): retain reader owners after cleanup failures 2026-10-11 05:33:05 +08:00
electronApiAliasApplication.ts fix(javascript): recover Electron API identity through aliases 2026-10-11 08:27:46 +08:00
electronBoundaryApplication.ts feat(electron): map static process and IPC boundaries 2026-07-16 07:56:13 +09:00
fakeCdpBrowser.ts fix(browser): retain effective source-map response urls 2026-10-11 15:35:43 +08:00
fakeCdpBrowserEvents.ts fix(browser): preserve uncertainty in malformed network observations 2026-10-12 05:24:24 +08:00
fakeCdpBrowserResults.ts fix(browser): validate PNG chunks and preserve unsupported encodings 2026-10-11 11:07:15 +08:00
fakeCdpBrowserTargets.ts fix(runtime)!: preserve unknown debugger attachment state 2026-10-12 12:37:00 +08:00
fakeCdpBrowserTypes.ts fix(runtime)!: preserve unknown debugger attachment state 2026-10-12 12:37:00 +08:00
fakeGhidra.mjs fix(ghidra): recover stale clients on same-target reopen (#2014) 2026-10-12 14:06:52 +08:00
fakeHopper.mjs fix(hopper): preserve observed process failures across requests (#1927) 2026-10-12 02:13:53 +08:00
fakeLauncher.mjs refactor: return complete tool results inline 2026-09-29 07:08:46 +08:00
fifoInput.ts fix(files): reject nonregular capture and JSON inputs 2026-10-10 01:49:54 +08:00
filesystemSnapshotFifoProbe.mjs fix(process)!: retain per-file digest open failures 2026-10-10 03:52:35 +08:00
flutterApk.ts feat(flutter): identify Dart snapshot builds and inspect AOT payloads by pure APK parsing (#1582) 2026-10-12 22:35:55 +08:00
ghidraRuntime.ts feat(ghidra): enable Windows x64 read-only analysis (#699) 2026-10-06 16:53:33 +08:00
historicalHar.ts feat(mcp): derive an API surface view from retained web network captures (#1891) 2026-10-12 10:44:17 +08:00
hopperBridgeFacadeProbe.py fix(contracts)!: require observed provider output metadata 2026-10-10 03:52:13 +08:00
hopperBridgeReconnectProbe.py fix(test): wait for Hopper reconnect listener readiness (#1885) 2026-10-12 00:02:01 +08:00
hopperCleanupTimeout.py fix(linux): improve Hopper reliability and CachyOS support (#963) 2026-10-07 23:16:48 +08:00
hopperDialogDetection.py fix(linux): improve Hopper reliability and CachyOS support (#963) 2026-10-07 23:16:48 +08:00
hopperInstructionProbe.py fix(hopper): preserve owned basic-block endpoint instructions (#1118) 2026-10-09 06:51:53 +08:00
hopperLaunchAdmission.mjs fix(hopper): preserve startup failures and recover denied launches 2026-10-11 22:35:01 +08:00
hopperLifetimeLaunch.py fix(hopper): stop Linux demo children when the REA owner exits (#2499) 2026-10-13 12:59:22 +08:00
hopperOwnerLifetime.py fix(hopper): stop Linux demo children when the REA owner exits (#2499) 2026-10-13 12:59:22 +08:00
hopperStringSearchProbe.py perf(hopper): resolve string search records once per query (#1229) 2026-10-09 18:39:19 +08:00
httpComparisonBrowser.ts test(web): cover nullable HTTP captures through CDP and CLI (#1834) 2026-10-13 21:44:08 +08:00
ibtool.ts test(apple): skip ibtool-compiled NIB tests when Xcode ibtool is unavailable (#2070) 2026-10-13 06:07:16 +09:00
idaCallGraph.ts fix(ida): preserve non-x86 call edges and workflow uncertainty (#1906) 2026-10-12 04:10:22 +08:00
idaMcp.ts fix(ida): let one-shot commands exit after retaining cleanup (#1841) 2026-10-13 21:36:52 +08:00
interfaceBuilderEncoding.ts fix(apple): decode Interface Builder XML byte encodings (#1095) 2026-10-09 01:11:49 +08:00
interfaceBuilderMalformedUid.ts fix(apple): report missing keyed archive hierarchy references (#1104) 2026-10-09 01:31:53 +08:00
javaClassFile.ts fix(process): honor startup deadlines and add a CI audit skill (#2692) 2026-10-13 22:15:43 +08:00
javascriptArtifactApplication.ts fix(electron): resolve package and dirname entrypoints by context 2026-07-17 21:30:24 +08:00
javascriptArtifactBom.ts fix(javascript): preserve original BOM source coordinates (#1093) 2026-10-09 00:09:55 +08:00
javascriptArtifactTypeScriptDialect.ts refactor: consolidate boundary semantics and prune redundant tests 2026-10-10 05:56:01 +08:00
javascriptPrimitiveExpansion.ts test(javascript): share primitive expansion producer fixtures 2026-10-10 02:49:46 +08:00
javascriptReturnShapes.ts fix(javascript): invalidate references stored through property targets (#1445) 2026-10-10 13:47:15 +08:00
javascriptRuntimeReconciliation.ts fix(ci): share runtime fixtures and allow modest duplication headroom 2026-10-11 06:53:20 +08:00
javascriptSemanticGraph.ts test(javascript): share semantic graph test facts 2026-10-10 04:02:41 +08:00
javascriptSourceSelection.ts feat(javascript): analyze selected application sources 2026-10-12 04:07:14 +08:00
keyedArchiveNumberMetadata.ts fix(artifacts): preserve keyed archive integer precision 2026-10-09 07:13:32 +08:00
keyedArchivePrototypeKeys.ts fix(plist): decode formatted XML dictionary keys 2026-10-12 05:57:34 +08:00
keyedArchiveXmlNesting.ts fix(apple): preflight XML plist nesting before keyed archive decoding (#2161) 2026-10-12 23:12:10 +08:00
localToolsMcp.ts feat(pcap): add bounded capture summaries through CLI and MCP 2026-10-13 04:53:03 +00:00
mcpDoctorExit.mjs feat: complete REA remediation program 2026-07-22 22:09:12 +09:00
mcpDoctorHang.mjs feat: complete REA remediation program 2026-07-22 22:09:12 +09:00
mcpDoctorReply.mjs fix(mcp): validate doctor probe against its discovered output contract (#1461) 2026-10-10 14:33:57 +08:00
mcpToolCatalog.ts build: separate runtime artifacts and supervise command ownership 2026-10-09 20:11:17 +08:00
mcpToolError.ts fix(mcp): deliver typed errors without invalid structured output (#1277) 2026-10-09 13:54:32 +00:00
nativeCommands.ts fix(analysis): preserve producer identity and partial evidence 2026-10-12 12:37:00 +08:00
nativeaotPe.ts feat(ghidra): inspect NativeAOT PE metadata read-only 2026-10-11 10:31:49 +08:00
optionalObservationProviders.ts refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
processCaptureCancellation.mjs test(process): publish capture readiness atomically 2026-10-10 01:45:01 +08:00
processFidelity.mjs fix(process): preserve partial evidence and verify detached cleanup (#1011) 2026-10-08 04:46:46 +08:00
processFinalization.mjs ci: keep validation fresh and preserve failed-shard reports (#2210) 2026-10-12 23:42:47 +08:00
processIdentity.mjs fix(process): honor disabled PID normalization in samples 2026-10-06 01:22:45 -07:00
processReactiveScenario.mjs test: replace implementation lock-in with behavioural assertions (#498) 2026-10-03 23:22:07 +08:00
processRunTokenParserProbe.swift fix(evidence): retain unreadable PE and Darwin process facts 2026-10-12 11:59:23 +08:00
processRunTokenSnapshotProbe.swift fix(process): preserve partial evidence and verify detached cleanup (#1011) 2026-10-08 04:46:46 +08:00
processSnapshotCancellation.mjs fix(process): harden filesystem snapshot identity and cancellation (#956) 2026-10-07 23:45:23 +08:00
providerProcess.mjs feat(electron): add autonomous Electron runtime analysis (#464) 2026-08-05 19:07:46 +08:00
providerProcess.ts feat(ghidra): enable Windows x64 read-only analysis (#699) 2026-10-06 16:53:33 +08:00
pwntoolsChangingArtifact.mjs fix(native): retain failed pwntools process and runtime cleanup (#1708) 2026-10-13 01:37:47 +08:00
referenceReaderFifoProbe.mjs fix(reference)!: retain source and metadata cleanup owners 2026-10-11 06:10:10 +08:00
strippedAsarAddon.ts feat(ghidra): support raw NMOS 6502 analysis (#2079) 2026-10-13 21:13:01 +08:00
temporaryDirectory.ts test: replace implementation lock-in with behavioural assertions (#498) 2026-10-03 23:22:07 +08:00
webModuleTrace.ts feat(browser): trace captured website module imports (#879) 2026-10-07 14:59:52 +08:00
webRuntime.ts test(browser): reject unmodeled CDP commands in protocol fixtures 2026-10-09 03:13:53 +08:00
webScriptCapture.ts fix(browser): report mismatched event family selection as unknown in capture comparison (#2239) 2026-10-13 02:36:45 +08:00
webSourceLocation.ts feat(browser): trace captured website source-map locations (#897) 2026-10-07 16:21:18 +08:00
windows-native-inspection-failure.cc fix(windows): retain failed native inspection ownership (#1826) 2026-10-11 21:33:25 +08:00
x11ProbeHang.py feat: complete REA remediation program 2026-07-22 22:09:12 +09:00
x11ProbeOutput.py fix(process): retain provider output until streams close (#928) 2026-10-07 18:39:10 +08:00