rea/tests/boundary/cli
Matt Van Horn 880a603fe8
feat(mcp): derive an API surface view from retained web network captures (#1891)
* feat(mcp): derive an API surface view from retained web network captures

* fix(mcp): fail closed on sensitive parents and budget api-surface path expansion

* fix(mcp): keep recorded api-surface paths and budget only templated segments

* fix(mcp): read api-surface paths only from canonical URLs and charge new values once

* fix(mcp): reject authority-less api-surface URLs and key groups by rule positions

* fix(mcp): label api-surface confidence from all groups and cap transient path memory

* fix(mcp): budget api-surface dedup sets and narrow detail outputs

Charge retained deduplication sets before allocation, advertise only
each analysis operation's summary from its detail output, and document
that any templated group makes every API-surface page inferred.

* fix(mcp): bound api-surface path text and record limitations

Charge retained literal path copies before allocation, publish only
valid media-type essences, and deduplicate examined record limitations
onto the view.

* fix(mcp): keep api-surface refusals and path splits inside the reply budget

Sensitive-parent refusals now use the token sensitive_values_unretained so declared literals are not echoed. A later path split is charged against bytes already retained, and the published example includes the HAR record limitation with its matching digest.

* fix(mcp): budget api-surface method text before group keys

Charge method and origin text against the reply budget before the group key is serialized. Document that samples merge only when method, origin, and exact segment rules match.

* fix(mcp): bound api-surface copies and control-character authorities

Reject authorities containing a tab or newline so WHATWG cannot move userinfo into the recorded path. Charge four path copies, two method and origin copies, and each distinct content type against bytes already retained.

* fix(mcp): preflight combined api-surface group charges

Total path, method, origin, and segment charges before retaining a new group. Track content types in a set so distinct MIME essences are not compared quadratically.

* fix(mcp): charge api-surface content-type sets on first use

Create the per-group content-type set when the first essence is retained, and charge it before allocation. Groups with no content type no longer keep an empty set.

* refactor(analysis): centralize API-surface ownership and admission

Own grouping, deduplication, and combined retained/temporary resource admission in one accumulator. Charge fixed group storage before allocation and materialize only the requested page.

Share recorded URL parsing between capture redaction and projection, preserving source paths and excluding ambiguous credential fields. Cover resource admission invariants and the compiled HAR-to-view workflow.

* fix(analysis): admit capture schema clone before parsing

* fix(javascript): share Electron mutation proof with wrapped calls

* test(mcp): align graph and catalog checks with current contracts

* fix(analysis): admit and validate portable capture views

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
2026-10-12 10:44:17 +08:00
..
adbCli.test.ts fix(adb): preserve device paths and prevent destination collisions 2026-10-12 05:57:35 +08:00
analysisSelectorCli.test.ts fix(cli): accept exact native names through explicit selectors 2026-10-09 05:46:16 +08:00
analysisViewCli.test.ts feat(mcp): derive an API surface view from retained web network captures (#1891) 2026-10-12 10:44:17 +08:00
androidCliCancellation.test.ts feat(android): integrate static APK analysis with headless JADX (#738) 2026-10-06 12:46:48 +00:00
apktoolCli.test.ts test(cli): consolidate schema coverage and assert input refusals 2026-10-12 05:24:33 +08:00
browserCli.test.ts fix(ci): synchronize browser fixture events before inspection (#1534) 2026-10-10 18:44:49 +08:00
browserCompareJsonFiles.test.ts fix(browser): bound screenshot comparison memory 2026-10-11 11:11:38 +08:00
browserRedirectShapeCompleteness.test.ts fix(cli): accept JSON files for web capture and screenshot comparisons (#1397) 2026-10-09 19:29:42 -07:00
cliCompileCache.test.ts test(cli): cache subprocess compilation within each worker 2026-10-11 18:01:32 +08:00
cliInputSchemaRequired.test.ts test(cli): consolidate schema coverage and assert input refusals 2026-10-12 05:24:33 +08:00
cliOptionAliases.test.ts fix(cli): preserve native option descriptions in help 2026-10-11 06:41:46 +08:00
cliOutput.test.ts refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
cliServeHarness.ts fix(adb): share host configuration refusals with apktool (#1954) 2026-10-12 05:09:13 +08:00
cliSetup.test.ts fix(setup): register a stable launcher when run through bunx (#1731) 2026-10-11 19:17:15 +08:00
cliStartupImports.test.ts perf(cli): bundle runtime entries to reduce Windows startup I/O (#1996) 2026-10-12 09:25:27 +08:00
cliToolCoverage.test.ts refactor(catalog): import CLI metadata from its owner 2026-10-10 00:49:14 +08:00
clientProfileLifecycle.test.ts fix(setup): retain symlinked data roots during uninstall (#1821) 2026-10-11 22:54:03 +08:00
clientProfiles.test.ts perf(tests): reuse stateless workflows and immutable fixtures 2026-10-11 13:20:15 +08:00
developmentTests.test.ts chore(test): separate development feedback from full verification (#599) 2026-10-06 00:59:26 +08:00
dispatcher.test.ts perf(cli): bundle runtime entries to reduce Windows startup I/O (#1996) 2026-10-12 09:25:27 +08:00
dylibResolutionCli.test.ts fix(apple): validate build-version tool records within cmdsize (#1784) 2026-10-11 17:50:56 +08:00
electronCli.test.ts refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
electronWrappedCallPaths.test.ts fix(javascript): retain guards without duplicating observed IPC calls 2026-10-12 10:08:39 +08:00
evidenceBundleCommands.test.ts perf(evidence): remove disposable ledger work from standalone import 2026-10-11 03:36:35 +08:00
hopperLaunchFailureCli.test.ts fix(hopper): wait for late bridges during cleanup (#1866) 2026-10-11 22:50:27 +08:00
javascriptApplicationJsonOutput.test.ts fix(javascript): trace wrapped Electron IPC paths in large bundles (#1874) 2026-10-12 09:28:59 +08:00
javascriptApplicationProgress.test.ts fix(artifacts)!: retain cleanup owners through client shutdown 2026-10-11 04:43:02 +08:00
javascriptArtifactBomRanges.test.ts fix(javascript): preserve original BOM source coordinates (#1093) 2026-10-09 00:09:55 +08:00
javascriptArtifactTypeScriptDialect.test.ts perf(tests): consolidate TypeScript dialect producer checks 2026-10-11 13:29:50 +08:00
javascriptBundlerRuntimeScopes.test.ts fix(javascript): retain runtime scope in bundled module relationships 2026-10-11 01:36:12 +08:00
javascriptBundlerSelfReferences.test.ts fix(javascript): omit self-referential static references with disclosure (#1157) 2026-10-09 10:01:59 +08:00
javascriptIntegrityPolicyCli.test.ts feat(javascript): record Electron integrity mismatches 2026-10-10 02:49:46 +08:00
javascriptRuntimeObservationCli.test.ts refactor(javascript): group domain semantics and contracts (#907) 2026-10-07 17:16:58 +08:00
javascriptSelfImportRelationships.test.ts fix(javascript): keep TypeScript substitution out of runtime paths 2026-10-12 01:41:23 +08:00
jebCli.test.ts test(cli): consolidate schema coverage and assert input refusals 2026-10-12 05:24:33 +08:00
jsonInputSize.test.ts perf(evidence): fuse streamed JSON token handling (#1694) 2026-10-11 12:36:35 +08:00
jsonInputStatus.test.ts fix(cli): classify JSON input permission denials 2026-10-10 03:52:35 +08:00
jsonOutput.test.ts perf(cli): write compact JSON when output is not a terminal (#1413) 2026-10-09 20:29:48 -07:00
keyedArchivePrototypeKeyCli.test.ts fix(plist): decode formatted XML dictionary keys 2026-10-12 05:57:34 +08:00
mcpDoctorHelpCli.test.ts refactor!: enforce canonical evidence and provider boundaries 2026-10-09 20:18:52 +08:00
nativeDemangleCli.test.ts fix(native): pass Swift symbols to swift-demangle as operands 2026-10-06 22:40:19 -07:00
nativeMachoEchoedPathCli.test.ts fix(native): keep echoed Mach-O paths out of load commands and symbols 2026-10-06 23:40:35 -07:00
nativePlistCli.test.ts refactor: consolidate boundary semantics and prune redundant tests 2026-10-10 05:56:01 +08:00
nativePlistPrototypeKeyCli.test.ts fix(plist): read XML plists containing a __proto__ key 2026-10-06 23:58:59 -07:00
nativePlistSelectionFailureCli.test.ts fix(native): name the CLI flag that selects another plist 2026-10-09 09:32:24 +00:00
nativeSignatureCli.test.ts fix(native): keep echoed codesign paths out of signature fields (#865) 2026-10-07 13:20:12 +08:00
nativeUiScenarioInputCli.test.ts fix(contracts): align CLI/MCP boundary contracts (#946) 2026-10-08 00:03:36 +08:00
packageRunnerRegistration.test.ts fix(setup): register a stable launcher when run through bunx (#1731) 2026-10-11 19:17:15 +08:00
projectedErrorStatus.test.ts refactor!: simplify runtime tools and remove replay engines (#572) 2026-10-05 21:15:04 +08:00
rawBinaryCli.test.ts fix(targets): project invalid raw-binary loads as caller input (#2004) 2026-10-12 09:34:45 +08:00
reconstructionObligationLedgerCli.test.ts refactor(mcp): simplify evidence and workflows 2026-09-29 13:58:26 +08:00
referenceSourceExclusions.test.ts fix(reference)!: preserve exclusion rule provenance 2026-10-11 04:15:26 +08:00
referenceSourceImportStatus.test.ts test: retain focused CommonJS export regressions 2026-10-11 11:07:15 +08:00
referenceSourceUtf8.test.ts fix(reference): report malformed UTF-8 before import parsing 2026-10-10 01:45:00 +08:00
scenarioCliInputDiagnostics.test.ts fix(contracts): align CLI/MCP boundary contracts (#946) 2026-10-08 00:03:36 +08:00
skillSync.test.ts fix(cli): disable unmanaged skill synchronization 2026-10-05 23:27:46 -07:00
webScriptSelectionCli.test.ts fix(files): reject nonregular capture and JSON inputs 2026-10-10 01:49:54 +08:00
workflowInputIdentities.test.ts fix(mcp): preserve JavaScript workflow identity validation (#1366) 2026-10-10 05:11:38 +08:00