Commit Graph
4566 Commits
Author SHA1 Message Date
morlutoandCursor Agent 83f0a4d238 fix(ci)!: verify exact conformance fixture records (#9977)
* fix(ci)!: verify exact conformance fixture records

BREAKING CHANGE: Regenerate unversioned conformance manifests with npm run build:fixtures. Schema version 2 separates exact string markers from intentional fragments and rejects the ambiguous strings field.

* test(conformance): wait out a cold verifier instead of treating SIGTERM as rejection

The compiler-produced complete/REA_C_ENTRY run was killed by its 10s
execFile timeout on the loaded source-test runner, with empty stderr and
SIGTERM. The stricter record checks already passed locally and for the
other compiler-produced cases. Assert the process status and give that
cold run room inside the test budget.

* fix(ci): preserve carriage returns in nm symbol records

nm -j terminates each name with LF. A carriage return before that LF is
part of the symbol. Splitting on CR LF dropped it, so a renamed symbol
ending in CR matched the name without it.

* test(ci): supervise conformance verifier subprocesses

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 17:28:10 +08:00
morlutoandCursor Agent eff195d6aa fix(adb): reject unrepresentable activity arguments (#9918)
* fix(adb): reject unrepresentable activity arguments

* test(adb): lock complete activity component boundaries

The CLI and advertised schema still admitted a slash-free 512-character
component after admission required a nonempty package and class. Keep
that length sample rejected, admit a pattern-valid 512-character
component, and assert the typed field error.

* style(docs): format NTFS verification tables

oxfmt rejects the tables merged from main. The alignment is formatting
only, so static checks can run on this branch.

* test(adb): use a well-formed component for the length constraint

An over-long run of letters also fails the package/activity pattern, so the selector check reported both issues. The length fixture now has a valid component shape.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 17:26:41 +08:00
morluto 13abfdadff fix(workers): preserve artifact failures through cleanup (#10055)
* fix(browser): preserve worker artifact failures through cleanup

* fix(javascript): preserve checkpoint failures before late cancellation
2026-11-11 17:25:48 +08:00
morluto fcf8b99a77 fix(reverse): preserve owned command failure attribution (#9964)
fix(reverse): preserve owned command failure provenance during cancellation
2026-11-11 17:25:20 +08:00
morluto 4d0f6d9b42 fix(ci): retain Hopper fixture receipt counts (#9976) 2026-11-11 17:22:14 +08:00
morluto ea00ca2d46 fix(verify): preserve Ghidra oracle state and coverage (#9994)
* fix(verify): check checkpoint state before restoring fixtures

* fix(verify): require applicable Ghidra decoder controls

* refactor(verify): require explicit instruction fixture facts
2026-11-11 17:21:11 +08:00
morlutoandCursor Agent aece2e7e16 fix(process): preserve ownership through termination and cleanup (#9891)
* fix(process): revalidate ownership before signaling

* fix(process): retain cleanup ownership until completion

* fix(process): keep omitted live descendants unresolved

A non-empty process table that omits a retained live PID cannot authorize a signal or certify cleanup. An empty table can still describe a token-verified owner.

* fix(process): read omitted Darwin run tokens by PID

A live identity that ps omitted was still validated through Darwin
environment(), which rejects any PID absent from a second process table.
Ask the native reader for that PID directly so the launch token can bind.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 17:20:53 +08:00
morluto d54a41152e test(cli): capture effective status and restore host exit state (#9991) 2026-11-11 17:20:37 +08:00
morluto 9e79188ba8 fix(electron): install session permission policy on admission (#9989)
fix(electron): enforce session permission defaults and download identity
2026-11-11 17:20:22 +08:00
morluto 38a0dafa76 fix(verify): bind managed manifest facts to stable snapshots (#10004) 2026-11-11 17:19:55 +08:00
morlutoandCursor Agent df25c923c4 fix(providers): reject malformed UTF-8 bridge responses (#10034)
* fix(providers): reject malformed UTF-8 bridge responses

* fix(providers): release a drained NDJSON frame's backing buffer

A response that ends on its newline left an empty view of the whole
concatenated allocation. Provider clients keep the line buffer for the
session, so that frame stayed resident. Replace an exhausted tail with
an empty allocation and keep a real unconsumed tail.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 17:19:47 +08:00
morluto 7f0555b75e fix(verify): reject unknown Android guardian cleanup observations (#10001) 2026-11-11 17:19:03 +08:00
morluto 4812843e5b fix(gdb): preserve MI framing and reject lossy result facts (#9982) 2026-11-11 17:18:18 +08:00
morluto e55ce72d9d fix(cli): cancel reference source imports through cleanup (#9954)
* fix(cli): retain cancellation observed during final cleanup

* fix(cli): cancel reference source imports through cleanup

* fix(cli): preserve signal status through command logging
2026-11-11 17:18:05 +08:00
morluto 98bc82f1e1 fix(capabilities): include optional composed source effects (#9956)
* fix(capabilities): include optional composed source effects

* fix(capabilities): declare prior engine retirement effects
2026-11-11 17:17:51 +08:00
morluto f2e73ca8b6 fix(desktop): preserve cancellation and portable name contracts (#10074)
* fix(desktop): preserve cancellation during reader cleanup

* fix(contracts): advertise portable name restrictions
2026-11-11 17:17:39 +08:00
morlutoandCursor Agent bb200646e5 fix(views)!: distinguish unavailable artifact collections (#9893)
* fix(views)!: distinguish unavailable artifact collections

Keep missing BEAM tables and unavailable Go and Rust build metadata
separate from decoded empty collections. Retain producer limitations
on model metadata, tensor, and type pages.

BREAKING CHANGE: BEAM, Go, and Rust analysis view pages for unavailable
collections now report coverage.status "unavailable", coverage.total
null, and coverage.exhausted false. Refresh saved result schemas and
handle unknown totals before using coverage to infer absence.

* test(views): expect unavailable Go dependency pages

Missing Go build metadata is unavailable coverage, so the MCP page reports a null total instead of an empty collection.

* test(fixtures): ignore a torn build-computer note line

The cancellation test reads the helper's note file while the append is
still in progress. An empty file or an unfinished last line is not a
record yet. A completed line still has to parse.

* fix(fixtures): reject terminated malformed build-computer notes

Trim removed the final newline, so a completed corrupt record looked like
a torn append and the preceding notes were returned. Keep the terminator
and parse every finished line.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 17:17:18 +08:00
morluto fcc353518a fix(managed): preserve completed imports on retention refusal (#9962) 2026-11-11 17:16:46 +08:00
morlutoandCursor Agent 66498b4f7c fix(agentenv): bind solve results to the named verifier (#9978)
* fix(agentenv): bind solve results to the named verifier

* fix(agentenv): retain a planned solve pass through selected-verifier binding

Cleanup and cancellation tests plan a completed pass with no criterion
rows. An empty selected-verifier result list is unscored, so those
reports lost outcome passed even though sandbox retention and the
cancellation cause were unchanged. Record one selected result for a
planned pass or miss so the bound outcome stays the planned one.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 17:16:09 +08:00
morluto e6114e81dc test(mcp): require unknown-key admission diagnostics (#9985) 2026-11-11 17:16:02 +08:00
morluto ecf6ac9f8d fix(electron): admit provider reports and bind selected inputs (#10041)
* fix(electron): admit runtime observations before publishing evidence

* fix(electron): retain passive observation source JSON
2026-11-11 17:15:54 +08:00
morluto 550b7df262 fix(browser): admit provider reports and preserve source evidence (#10037)
* fix(browser): admit observations before promoting evidence

* fix(browser): retain admitted source JSON in evidence

* test(browser): verify source retention preserves producer redaction
2026-11-11 17:15:47 +08:00
morluto 2e67d57d0f fix(browser): distinguish shutdown admission from failed cleanup (#10038) 2026-11-11 17:15:15 +08:00
morluto 827b808248 fix(captures): reject malformed UTF-8 command output (#10056)
fix(captures): reject malformed UTF-8 producer text
2026-11-11 17:14:02 +08:00
morluto 9cd1eadfb7 fix(browser): reject malformed UTF-8 CDP protocol bytes (#10040) 2026-11-11 17:13:45 +08:00
morluto 4a02ca95de test(desktop): require gzip export root removal (#9988)
test(desktop): verify refused gzip export leaves no output
2026-11-11 17:12:44 +08:00
N0zoM1z0andgensokyo-dev 528c46ae92 test(pe): verify target refusal through CLI and stdio MCP
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 17:11:06 +08:00
morlutoandCursor Agent 77100250de fix(desktop)!: preserve build evidence and validate task inputs (#9898)
* fix(desktop)!: preserve build evidence and validate task inputs

BREAKING CHANGE: Witnessing requires the current generated verifier. Re-export bundles with older evaluators using the original capture Evidence and task inputs.

* test(desktop): match reader source inspection diagnostics

Unreadable reader sources now report the source inspection failure, including the operating-system reason, instead of the old file wording.

* fix(environment): advertise canonical bundle names (#9939)

fix(environment): advertise portable bundle name constraints

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 04:10:44 -05:00
morlutoandCursor Agent a7ec7271d6 fix(setup): preserve client configuration and ownership (#9894)
* fix(config): preserve client settings during launcher refresh

* fix(setup): retain parsed client launcher ownership

* fix(uninstall): retain resource cleanup diagnostics

* test(setup): keep temporary paths inside the workspace root

Resolve setup fixtures through the test workspace path helper so joined paths stay under the temporary root.

* test(setup): validate temporary paths before filesystem calls

Contain workspace children and the symlink target before creating the launcher alias so a temporary path cannot leave its root.

* test(setup): expect owned command identity in BOM registration status

Aligned client registration status includes command_identity. The BOM
read-back compared the status without that field, so an owned launcher
failed the equality check.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 04:10:32 -05:00
N0zoM1z0andgensokyo-dev a08e40b924 test(reference): verify relocated dangling-directory commitments through CLI
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 16:52:07 +08:00
morlutoandCursor Agent ada8fcfe82 fix(targets): admit distinct host slices and one-sided digests (#10016)
* fix(targets): select a preferred Mach-O host subtype

Host admission refused every extra slice of the host CPU type, so arm64
plus arm64e and arm64e ABI variants never became universal targets. Rank
known subtypes and keep the earliest capability variant. Identical
subtypes and ties between unlisted bases still fail closed.

* fix(artifacts): treat a one-sided declared digest as metadata

An all-zero Godot MD5 was visible only because limitation text differed.
After comparison stopped using that prose, a claim on one side and no
claim on the other lost its metadata dimension. Compare the structured
integrity claim instead.

* fix(browser): keep unavailable resource inventories unknown

Directional coverage treated a resource retained from an invalid protocol
tree as an addition against a complete peer. An unavailable collection is
not a truncated sample, so it cannot prove membership.

* fix(native): read the admitted Mach-O slice for metadata

Capability-variant admission chose the first slice, then dispatch
metadata and slice tools ranked the FAT file again and rejected that
pair. Pass the admitted offset, and refuse a winner set that repeats
a subtype.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 03:41:55 -05:00
morluto b94d811500 fix(cli): retain cancellation observed during final cleanup (#9944) 2026-11-11 03:20:06 -05:00
morluto 91456101f1 fix(asn1): preserve decoder capacity refusals (#9932) 2026-11-11 02:26:46 -05:00
N0zoM1z0andgensokyo-dev e8fc501e06 test(mcp): parse discovery replies at the unknown SDK boundary
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 14:51:05 +08:00
N0zoM1z0andgensokyo-dev 42a02b846d test(mcp): verify discovery page guidance through production stdio
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 14:51:05 +08:00
N0zoM1z0andgensokyo-dev 160d2ecdb5 test(cli): bound selector regression startup work per case
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 14:43:19 +08:00
N0zoM1z0andgensokyo-dev 574aca127f test(cli): verify native equality and exact text through public commands
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 14:43:19 +08:00
N0zoM1z0andgensokyo-dev 5934ba1bf9 test(ntfs): retain extension facts across inventory and paired workflows
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 14:10:25 +08:00
N0zoM1z0andgensokyo-dev b3bab01b22 feat(ntfs): resolve acquired extension attributes by full identity
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 14:10:25 +08:00
morlutoandCursor Agent abc4f0f8b2 fix(android): validate DEX long syntax before conversion (#9909)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 00:44:20 -05:00
morlutoandCursor Agent 5c2917266d fix(inputs): validate command admission and preserve valid MCP requests (#9901)
* fix(cli): validate named inputs before target admission

* fix(mcp): preserve valid inputs when advertised schema references widen

* test(inputs): reach session behavior with admitted inputs

One-shot admission now rejects incomplete requests before a session exists. Lifecycle tests supply the required fields, and unknown arguments are rejected before provider issues are retained.

* fix(cli): preserve Electron fuse path spelling

Anchor relative fuse paths without stripping dot segments, and let an empty path reach the operation so it still reports invalid_request.

* fix(cli): reject outline-depth unless detail is summary

The advertised schema already required detail summary whenever outline-depth
was present. The parser still applied the full default and accepted that
combination, so its output failed the same schema. Parsing now rejects it
before the command runs.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-11-11 00:43:30 -05:00
Ysopwnableandgensokyo-dev 1371ba1e07 fix(ci): retry interrupted native profile downloads (#9926)
* fix(ci): retry interrupted native profile downloads

The immutable mitmproxy GET can reset after a partial body with curl 56,
which the existing default retry policy does not retry. Retry transfer
errors within the existing attempt count and keep the checksum gate.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>

* test(ci): verify native profile download recovery

Execute the named workflow step with real curl, a local HTTP server and
a tiny archive. Cover TCP reset recovery, retry exhaustion, HTTP failure
and digest rejection before profile extraction or environment export.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>

---------

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 05:38:35 +00:00
morluto 6de105bc60 fix(kuna): validate output and retain exact cleanup ownership (#9974)
* fix(kuna): preserve output validity and cleanup ownership

* fix(kuna): preserve Unicode boundaries in diagnostic tails
2026-11-11 00:26:08 -05:00
morluto 7aaff2e4e4 fix(cli): retain Evidence receipts on format refusal (#9943) 2026-11-11 00:22:30 -05:00
a54e848302 feat(cursor): ship a Marketplace plugin with the skill and pinned MCP server (#9878)
Cursor Marketplace installs are Git checkouts, so the plugin manifest
points at a synced copy of the authored skill and starts
npx -y rea-agents@<release> mcp. Release Please and the release
checkpoint keep that pin aligned with the package version.

The manifest, skill, and icon checks follow the local plugin bundle
contract from #7619, adapted for a checkout that has no dist/.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: GamerDubz <105694977+GamerDubz@users.noreply.github.com>
2026-11-11 00:16:44 -05:00
N0zoM1z0andgensokyo-dev 22a3ba263e refactor(ntfs): select metadata details from the retained identity index
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 13:13:09 +08:00
N0zoM1z0andgensokyo-dev 1a8a9b749a perf(ntfs): make detailed MFT pages opt in for journal queries
Keep inventory counts inline and preserve explicit 1–32 record detail requests. The real 26-record Windows sample serialized 57,946 metadata bytes before detail selection.

Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 13:13:09 +08:00
N0zoM1z0andgensokyo-dev 710c353bff feat(ntfs): page MFT metadata alongside journal events
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 13:13:09 +08:00
N0zoM1z0andgensokyo-dev 96086e9c1f feat(ntfs): report bounded V4 extents and unknown history coverage
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 13:13:09 +08:00
N0zoM1z0andgensokyo-dev f8ed4d16a0 feat(ntfs): decode V3 journal identities without false MFT joins
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-11-11 13:13:09 +08:00