## Thinking Path > - Paperclip helps people manage AI agents at work. > - Cursor Cloud hosts execution behind its API. > - Product setup still expected a Paperclip Computer. > - Managed-only tenants therefore rejected valid setup. > - This admits the validated API-owned controller. > - Authority, Stop proof, budgets and cleanup remain enforced. ## Linked Issues or Issue Description Refs #18068 and #18069; both dependencies have merged. **What happened?** Managed-only setup still requested a Computer. Live tests exposed missing Cursor Stop proof and duplicate replay. **Expected behavior** Use Cursor’s API controller. Verify provider/controller termination and replay each log identity once. **Steps to reproduce** Enable native Runner/managed-only. Configure Cursor model/repository/key without a Computer, then Test, finish setup, run and Stop. ## What Changed - Derive API-only placement from validated native Cursor configuration; reject placement/command/workspace/home overrides and keep Kubernetes-only execution closed. - Skip Computers/checkout/workspace realization. Keep scoped tools, completion, private staging, budgets, leases and recovery. Persist placement; reject contradictions. - Align Cloud cards, Test, Save and Finish setup; hold unready drafts. Legacy keeps its Computer, credential and policy checks. - Verify Stop from exact API ownership, audited intent, provider-terminal proof, no Computer/process ownership and controller retirement. Recheck immediate/deferred retirement; wake existing recovery on durable evidence. - Clear warnings when the actual stopped target later has authoritative confirmation. Keep missing/other-run negatives and the existing predicate. - Publish safe status refresh after full-proof ACK. Retain bounded native/physical cancellation history; add no poller or weaker proof path. ## Verification Core merged as `3910352c923a`; Product merged as `27d35314be8e`. Public branch `5f86eb66b081` has tree `67344151d303`. Its exact-head Greptile summary is 5/5; the fresh audit found zero unresolved threads and complete pagination. The controlled workspace retry and required summary passed. All 59 current-head contexts are terminal and clean. Prior green-36 evidence keeps its identity. [Current CI](https://github.com/paperclipai/paperclip/actions/runs/41680511731) first failed workspaces-a 1/2: the CLI company-import/export beforeAll 30-second runtime-info/child-PID/HTTP readiness wait expired. All 431 UI files/4,714 tests and 285 other CLI tests passed (one skip). The cause remains UNKNOWN. Child output records startup recovery complete, but buffered CI prefixes do not establish its relation to the waiter deadline; runtime-file/PID/last-health state was not captured. Both unchanged local probes were RED. The second observed dependency preflight still pending at the deadline; observer overhead was not quantified. Neither proves the CI cause. After all functional jobs finished, only the queued metadata summary was cancelled; the other 48 records stayed unchanged. Attempt 1 retains 46 successes, the original failure, one skip and the cancelled summary. One same-head debug retry was admitted at 18:42 UTC on November 3. Its workspace job passed at 19:23 UTC on the same checkout: UI 431 files/4,714 tests and CLI 33 files/286 tests, including company import/export. Test caching was disabled. The new `ci / verify` summary passed; workflow attempt 2 completed SUCCESS. Required `ci / e2e` also passed. The final check at 19:53 UTC on November 3 found all 59 current-head contexts terminal and clean: zero pending and zero failing. The 47 inherited completed/skipped rows are not new executions. No code, assertion or timeout changed; success does not explain the original failure or erase the local REDs. CI checkout is `1ea9d8608ced`/tree `78cb1ec13d59` (parents `2e37c73c05fe`, 5f86); both workflows use 2e37. Its 20 extra paths add low-memory build/Rust task-memory. Scripts cohere; later matrix changes only labels, with no newer debug-cache steps. Static audit found no blocker. Supported API arguments omit the memory flag: no default monitor/instruction changes. Flagged external launchers can change Cursor instructions/digests and remain unqualified. The merge added 41 master-identical paths, retained the green-36 inbox hunk and found UI fixtures matching upstream. Startup/backup, recovery projection, sleep diagnostics and binary backup change production. Static audit found eight Stop/ACK owner blobs and 37 sleep-work SQL templates unchanged, with sleep fences/single-flight accounting intact. Exact precommit tree: 416/416 across eight server files, binary backup 1/1, server types PASS; repeated scopes are not summed. The deferred-retirement P1 reproduced three real-DB/owned-process failures; missing proof stayed unverified. Recovery passed 47 process cases/33 proof negatives. Warning repair binds actual targets to same-run proof. Validation passed 729 scoped UI cases, a separate 359-case thread run, 111 backend cases (84 CAS, 6 assembled, 21 activity/privacy), types/tokens. Proof validators/predicate are unchanged; no new poller or increased timeout. The d8d3 attempt stays FAILED: 45 passes, two workspaces-a failures, derived verify failure and one skip. Both shards shared three failures: two successful mocks omitted the account guard’s required userId. The two-line fixture repair changed no guard, assertion or timeout. Three failures reproduced; 54 access/auth tests then passed, including account-change/denial negatives, plus UI types/tokens. The 69285 attempt stays FAILED: 49 jobs, 46 passed, serialized shard 9 failed, its verify aggregate failed and one selection job skipped. The shard passed 575/576 cases. Its aborted-snapshot case expected nine computes but saw eight: a final HTTP 200 coalesced while seven ordinary reads had not proved the aborted compute settled. Earlier CI and the unmodified local baseline passed with a miss; no local RED is claimed. The repair awaits the snapshot, allows exactly one extra GET if coalesced, then requires a miss and retains nine computes/all HTTP429 assertions. No production code, hook, loop, sleep or timeout changed. Six inbox and seven cache/admission cases passed locally, plus server types; 30 unrelated cases were filtered. Green 36 passed 576/576 without taking the extra-GET branch; local runs also missed that schedule. Current CI event merge 1ea9 now passed 576/576 and naturally exercised the former failure: coalesced (count 2, 1ms), then exactly one fresh miss (count 1, 16ms), with strict nine-compute/HTTP429 assertions intact. No instrumentation or retry was added. Earlier compatibility passed scoped remote/inbox, routine, API-placement and UI tests, plus types/migrations/snapshots/maps/tokens. The 89-path adoption restored fleet routing without workflow overrides or added skips. Each result retains its source identity. Live qualification remains actual `9af1a5de42a2`: unchanged Artifact grader PASSED 17/17 and active-Stop grader PASSED 21/21. All three provider test resources were deleted canonically with GET404; post-delete download returned the exact 27 bytes. Histories stayed stable (Artifact 121 and Stop 67 canonical identities), with 21 company runs, zero active work and no accounting/cancellation/reservation debt or integrity findings. Saved settings reopened; no-prompt Test/Linux admission passed with `claude-sonnet-4-5`. No new Save is claimed. The first Stop sampling case stays FAILED on a 10.373-second gap. Unchanged retry kept all 24 samples: 35.076 seconds quiet, maximum gap 4.584 seconds, plus a separate CANCELLED/artifact-absent read after 180 seconds. Initial grading rejected locator spelling before functional checks; metadata changed only after same-file/inode/byte proof, with raw evidence/oracles unchanged. Original Question/Plan/reconnect and historical deleted-artifact results keep their identities. Git trees verified 11 history-only conflicts and six earlier mainline paths. Hosted 9af to the public BRANCH differs in 222 paths; 13,500 other mode/blob leaves match. Runner runtime implementations and six observer/driver pins match 9af on that branch only; inherited `drivers/acpx/runtime-host.test.ts` differs. No all-Runner/src, CI/latest-master runtime or image equality is claimed. Later static audits through `8ab89f41e499` found no concrete API-only blocker. That base adds completed-history sleep proofs and an MCP cleanup migration; protected Stop/ACK owners are unchanged. These later changes are outside this CI and have no live qualification here. Host duplicate-card and later recovery/UI repairs retain separate proof, not deployed 9af identity. Direct-key coverage requires absent aiConnection; API-only placement skips inherited remote-workspace disk-full paths, and config-read gates match their parent. Other retained failures: stale fixture 132/133; E8 48/135 with 87 reset-hook failures; Mac 17 SQL failures/skips; title/startup/custody/Stop/deletion unknown causes and bounded recoveries; superseded warning/50 duplicate identities; pre-repair ACK/Core CI failures. Fixture RED/GREEN passed 7/7 browser and 121/121 shutdown tests with a failing broken-unsubscribe control; stable WSP wrapper passed 128 after physical teardown failure. No full local-suite pass is inferred. All paid attempts remain recorded; vendor dollar cost is UNKNOWN. ## Risks Experimental: Cursor independently acknowledges neither the effective model nor instruction digest before the first prompt. Explicit values are submitted and behavior checked live; unpriced provider dollar cost stays UNKNOWN. The placement exception applies only to validated native Cursor API execution. Other local work remains denied under managed-only policy. Missing/stale Stop or cleanup proof stays pending; damaged archives remain failed. Explicit Legacy keeps its existing policy owners. ## Model Used OpenAI Codex/GPT-6 family: tools, execution, browser checks, delegated review. API ID/context window unavailable. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used and the limits of available model metadata - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above - [x] I have linked public issues or described the issue in this PR - [x] I have not referenced internal or instance-local Paperclip issues or links - [x] My branch describes the change and contains no internal ticket ID - [x] I have run the scoped local tests reported above; retained failures are stated separately - [x] I have added or updated tests where applicable - [x] I have updated relevant documentation - [x] I have considered and documented the risks - [x] All required CI gates pass on the current head - [x] Fresh Greptile is 5/5 with no unresolved findings on the current head - [x] I will address all reviewer comments before requesting merge --------- Co-authored-by: Paperclip <noreply@paperclip.ing>
85 KiB
Cursor Cloud on native Paperclip Runner — 2026-10-28
Owner: the lead integration agent in this task; delegated owners cover the Cloud API client and this research/acceptance record. The lead owns integration, qualification, review, and the final handoff.
Original source baseline: 25f1070fbdabd96b26cdf199e624a77905f3ca37.
Current qualification checkout branch: codex/cursor-cloud-qualified-base.
Target: a reviewable PR with experimental, local-first native Runner support.
Merge, package publication, production rollout, and automatic conversion of
existing agents are separate actions, not completed or implied by this record.
Current delivery: Runner core PR #18068 and dependent product PR #18069. Neither PR is merged. Product PR #18069's Verification section owns the latest candidate, check status and final acceptance decision.
Hosted placement correction — 2026-10-30
Native Cursor Cloud uses a provider API controller. Cursor hosts the model and commands; Paperclip runs only its qualified API client and bounded private artifact stager. This placement has no Paperclip Computer, lease, task checkout or host provisioning command. It is derived from the validated native Cursor profile and persisted with the admitted run; recovery retains that backend and placement. Earlier Cursor profiles retain their admitted workspace binding as identity; recovery does not reopen that workspace or allocate a Computer. Known backend and driver contradictions fail closed, while historical missing driver values remain recoverable. The generic managed-sandbox-only policy and local Computer denial stay intact. Kubernetes-only execution remains unsupported in save, Test, inventory and run admission. An unavailable Computer does not advertise local Legacy execution. Legacy direct agents retain their existing selection and execution behavior.
Ordinary native setup clears the Computer binding and explains Cursor's hosted environment. Save/reopen and Test use the same account/configuration contract as run admission. The Cloud front door must pass the exact authenticated native-run callback to the tenant; Core still enforces live run authority and per-turn scope.
The ordinary Cloud card is available only with native rollout and a qualified controller. A server-held new setup draft can use that managed API default before model selection. It keeps its setup hold and does not inherit another harness's model or permissions. Unsaved automatic Test uses the advertised native default; saved Legacy agents still require an explicit conversion.
This correction requires fresh hosted acceptance on its final image. Local and synthetic checks do not qualify that deployed journey or erase prior failures.
Review correction checkpoint — 2026-10-29 20:25 UTC
All six original acceptance gates have passed on their recorded candidates; these results do not establish a pass for subsequent runtime changes.
| Gate | Retained live evidence |
|---|---|
| C1 Ordinary setup | Fresh Advanced → Paperclip Runner setup, saved reload and real catalog Test on 27172d6ee899; saved trial retested on 3f4d92f3751e |
| C2 Task and C6 artifact | cursor-cloud-local-20261028-artifact-sonnet-2, source b18b743cd45d, eight strict matchers and exact registered/downloaded bytes; owned remote cleanup confirmed |
| C3 Continuation and C5 replay | cursor-cloud-local-20261029-followup-sonnet-11, source 7591c52a8c32, two runs on one owned Agent, one answered question, one injected stream cut and matching-cursor reconnect, unique ordered events, settled receipts and owned cleanup |
| C4 Active Stop | cursor-cloud-local-20261029-stop-sonnet-3, source 27172d6ee899, independently observed foreground command, ordinary UI Stop, terminal cancellation, 15-second quiet window, zero accounting debt and owned cleanup |
The original failed Stop attempts remain failed: Stop-1 lacked the required standard final API/screenshot package, and Stop-2 did not complete its observation window after a status-read timeout. Stop-3 does not establish Stop-2's cause.
Final review corrections cover semantic planning, bounded status-read recovery, atomic artifact staging and checkpoint acquisition. The planning repair retains the pinned Paperclip context and tool restrictions while using the Cloud default harness. Its two separate rejection gates have RED/GREEN proof; 2,390 affected tests and Core typecheck pass, with an additional real-Rust/private-facade Plan control. The Cloud driver, checkpoint and artifact suites pass 45, 38 and 15 controls respectively. Completed Product E2E support checks pass 4,905 tests (two skipped) plus 137 source-contract tests. These are controlled results.
The explicit Cloud suite now also registers the ordinary semantic
plan-revise-accept cell. Its oracle requires draft/revision continuity and a
fresh owned session tied to approval of the exact revised confirmation. The
existing same-Agent follow-up oracle remains unchanged. The new Plan cell and a
fresh artifact cell are unattempted at this checkpoint, pending final source,
artifact and local-trial readiness. Historical artifact staging byte identity is
invalidated by the staging repair. Preserve the earlier grades and record the
new runtime identities and evidence impact before carrying other passes forward.
The local trial is intentionally stopped during dependency/source refresh; its database was backed up before the additive upstream migration. No new provider work has started in this review-correction phase. Existing experimental-model acknowledgment and unpriced-cost limits still apply. No merge, publication or deployment is implied.
Historical pre-qualification snapshot — 2026-10-29
The following is the retained pre-qualification snapshot,
with production source 77b423471668d1ad55cbd4b66841d8a2b3acadf9 and Core
53112a12cbd8d4850ff6d88b9d739f93b49f28f9. The latest candidate and live
verdict belong in Product PR #18069's Verification section; keep the dated
snapshots here as historical evidence. A later passing attempt never rewrites
an earlier failed grade. Core has a fresh exact-head 5/5 review; current checks
and final live qualification are still pending.
The combined source contains the reviewed asynchronous Cloud authority fix,
safe checkpoint retirement for fresh sessions, ordinary Advanced Runner setup
forwarding, and the reproduced title-editor readiness/navigation fixes. Before
this combined candidate, Product b0296016d5be passed recursive typecheck and
build, and 3a4a7c558d73 passed all 1,000 native-session-executor tests.
New focused checks passed: 25 Core checkpoint archive controls; 13 Product
replacement/relay/non-Cloud controls; five relay/artifact cases; 341 UI cases,
then 232 affected editor/detail cases after the cached-route fix; UI typecheck
and token gates; and the unchanged original title-outage browser test. These
are bounded code gates, not complete live acceptance. Build and typecheck the
combined frozen source before another paid attempt.
The saved local trial retains the real private key binding, native Cloud runtime
and explicit Sonnet model. Its earlier save/reload and key/catalog Test passed.
The trial is temporarily paused to isolate the qualification bundle and callback
port. Restore its ordinary idle state, serving candidate and callback listener
after the live campaign, then retest ordinary setup and saved configuration.
Candidate b18b743cd45d retains the earlier ordinary task and exact artifact
passes. Continuation, full replay and active Stop remain unqualified at this
snapshot; the next Sonnet-11 attempt has not been activated.
Native create is working again. On 2026-10-29 a bare HTTP control and the unchanged client plus original observer each returned 201, completed the exact expected reply, and independently confirmed owned Agent/Run absence after deletion. The official Multiple services degraded incident covered Cloud Agents on 2026-10-28 from 21:15 to 23:13 UTC. The three late failed minimal controls occurred inside that window. This is the likely explanation for those HTTP 500 responses; request-level causation remains unproven. No credential, account, model, SDK, request-schema or header change was needed to restore successful creation.
The tenth continuation attempt reached a successful first turn, answered its semantic question, committed a matching interrupted terminal and settled the explicitly unpriced accounting receipt. Its second local turn failed before a second native create at the local Runner authority-rotation boundary. The bounded cold-handoff repair passes real Rust/private-facade checks. The original failed/cleanup-failure grade remains retained. The next paid attempt requires exact source/artifact readiness; active Stop remains held until strict continuation/full replay passes. Both PRs stay draft while gates remain open.
Release outcome and authority
An operator selects Cursor Cloud in native Runner, saves an API-key binding and explicit model, assigns an ordinary task, sees real provider activity, and gets an independently verified result through Paperclip. Cursor executes in its hosted environment; the first Paperclip controller/Runner acceptance environment is the local development stack. Local-first does not mean that Cursor's model or tools execute on the operator's computer.
The user authorized implementation and a reviewable PR. On 2026-10-28 the user also approved the experimental exception below and selected local-first delivery. This adds a native integration for a harness already available through the legacy direct adapter. Preserve that adapter, historical records, and saved runtime selection. Do not migrate existing agents as a side effect.
Authorized experimental exception: the Cloud interface does not acknowledge the effective model or instruction digest before starting the first prompt. Proceed with explicit submitted model selection, recorded exact instruction content/digest, visible experimental treatment, and honest evidence labels. Do not describe a submitted value or an SDK echo as a native acknowledgment. This exception does not relax company authorization, semantic-tool policy, credential isolation, Stop fencing, result acceptance, or existing budget gates.
Native Cursor permission requests, native questions, native plan decisions, and fixed per-run dollar enforcement are unsupported in this release. Paperclip semantic tools remain a distinct contract. Cursor-native tools are not governed by a Paperclip per-command approval callback.
Authentication uses an explicitly bound Cursor user/service-account API key. Authenticated catalog, repository access and real hosted execution were observed on 2026-10-28. Task and artifact acceptance passed on the candidate recorded below. Record binding identifiers only; never put key values in this plan or evidence. Select the acceptance model from the real account's catalog and record it before a paid attempt. It is a test choice, not a product allowlist. No paid calls were made by the research owner. The user explicitly delegated disposable repository/model selection and approved the test spend on 2026-10-28. The initial operational reservation was $10 for the small acceptance cells. The user subsequently delegated proportionate test spending. Actual spend remains unknown; do not infer it from prompt count or call the reservation a provider-enforced limit. Each campaign permits one attempt per cell and no automatic paid retries. This is a planning limit, not a native Cloud dollar cap: provider cost remains unknown until a billing receipt is available. Diagnose the first divergence before another paid attempt.
Architecture and compatibility boundaries
- Provider-owned code owns HTTP v1 requests, SSE decoding/replay, native identity, status mapping, model parameters, provider errors, and cancellation.
- Native Runner owns normalized events and the semantic transport. The selected
design is a Node sidecar behind the existing Rust Codex-style facade, following
the OpenCode pattern. A public MCP relay forwards to the sidecar-owned Unix
HTTP bridge, which emits
item/tool/callthrough Rust and existing PRP to Core authority, then returns the result. Do not add a parallel PRP command. Controlled transport checks and real tools in the recorded C2 candidate exercised this bridge. The remaining live cells retain separate gates. A cloud VM cannot call the local controller's loopback address. Choose and record the relay's authentication, reachability, expiry, and cleanup contract before a live run. Do not substitute SDK in-process custom tools: those are local-agent functionality. - The controller remains authoritative for company/run/session identity, authorization, audit, revisions, budgets, task completion, and durable effects. A replayed or late remote call must pass current source-run authority.
- New provider-neutral shared fields require a concrete consumer and an absent/ disabled-provider behavior. Keep Cursor payloads and SDK types in provider code.
- Persist the durable Cloud agent ID separately from each Cloud run ID and the local Paperclip run/session identity. Recovery must observe the existing run before creating paid work. Refresh scoped MCP credentials on continuation.
- Stop must cancel the owned Cloud run, verify provider terminal state, close local stream/relay resources, and fence later effects. A local socket close or terminal Paperclip row alone does not prove remote work stopped.
- Preserve legacy direct invocations, transcripts, cancellation, and finalization. A direct run starts no runnerd process or PRP connection. Visiting/saving an existing agent does not change its runtime.
- The first supported controller platform is the actual local host used for acceptance; record OS/architecture and installed runtime identity when tested. SSH, Daytona, self-hosted Cursor workers, all-platform claims, and fleet rollout are outside this campaign. Source execution alone does not prove packaging.
Research dossier
Research date: 2026-10-28, with a primary-source refresh on 2026-10-29. Public
documentation is mutable; the original inspected shipped SDK is exactly
@cursor/sdk@1.0.28. The refresh inspected @cursor/sdk@1.2.0 and the unchanged
OpenAPI digest below; it found no request-schema or transport change needed
for the observed successful v1 creates. Evidence labels below distinguish
documented, source-observed, unverified, and product-qualified.
The dossier describes the inspected provider contract. Authenticated observations
and exact product results are recorded separately in the ledger below.
Official references:
- Cloud API reference and OpenAPI schema.
- API authentication and rate limits.
- TypeScript SDK.
- Cloud environment setup, capabilities, and secrets/network.
- Local CLI ACP, a separate interface.
The Cloud API is v1 public beta: durable agents contain per-prompt runs. Creation
starts work immediately. Follow-ups, steering, SSE, cancellation, artifacts, and
usage have first-class APIs. Replay is run-scoped and retention-bounded. Agent
git state spans runs, so it cannot independently attribute a change to one turn.
The downloaded OpenAPI SHA-256 is
dd3b836c4e95ad68892274280e53c348619cdd2051988793d2a85e8213d9a489.
Current prose and schema differ on agent IDLE and some newer fields; preserve
unknowns and verify actual responses rather than assuming agreement.
Installed SDK findings, reproducible by inspecting its distributed
dist/esm/options.d.ts, cloud-api-client.d.ts, and 642.js:
- The Cloud run constructor assigns its model from a caller argument.
send()passes the chosen input; a fresh get/list does not.run.modelandresult.modeltherefore do not establish provider model admission. - Cloud model validation checks catalog membership/aliases and tolerates some discovery failures. It is not native model acknowledgment.
- The status mapper handles
CREATING/RUNNING,FINISHED, andCANCELLED; every other value maps to error. It does not recognize the documented activeWAITING_FOR_BACKGROUND_WORKstate. Unmodified reuse is unsafe. - This Cloud SDK chunk has no steering implementation. A provider-owned HTTP client or a deliberately qualified SDK upgrade must cover the chosen API.
- Host callback
customToolsare local only; per-send Cloud use is rejected. Tool restrictions are also local only. Cloud MCP means a reachable remote server or a server process inside the VM. - The inspected public Agent/Run API responses have neither an effective-model field nor an instruction-digest receipt. There is no pre-prompt admit phase or native human-decision response endpoint in that schema.
The SDK chunk SHA-256 is
67a4eacc8435774d52a1d0f0a2d608c00b7f4f62ffa9cb46fe0b71523304a7bf.
No workstation path is needed to understand or reproduce these findings: inspect
the published package version and named distribution files.
Capability inventory
Required means part of this release; Outside means discovered but not part of
this campaign; Unsupported means no product promise. Controlled checks establish
their tested boundary; authenticated observation and product qualification are
distinct evidence levels. Exact candidate identities and failed attempts are
in the ledger. Cloud v1 means the documented API as researched above; SDK means
the exact inspected 1.0.28 package.
| Capability/field | Exact harness/version/mode | Native evidence | Transport/wrapper | Runner mapping | Durable product/UI | Qualification | Loss/reason/next action |
|---|---|---|---|---|---|---|---|
| Auth/key identity | Cloud v1 | Authenticated catalog and hosted work observed | Bound Bearer auth | Native admission implemented | Saved secret reference/Test | C1 passed | Required; no credential value in evidence |
| Entitlement/repository access | Cloud v1 | Private fixture access and hosted clone observed | Typed API errors | Actionable admission failure | Reopen/reconnect | C1/C2 passed | Required setup |
| Protocol/version discovery | Cloud v1 beta | Documented; mutable | Strict v1 client and SSE decoder | Versioned driver/launch profile | Diagnostic identity | Controlled checks and live traffic | Retain exact candidate; no provider version negotiation claim |
| Model catalog/parameters | Cloud v1 | Authenticated catalog observed | HTTP discovery and explicit submitted values | No model fallback | Saved model/params | C1 passed; explicit Sonnet submitted live | Qualification model is not an allowlist or effective-model acknowledgment |
| Exact model acknowledgment | Cloud v1 / SDK | Source-observed absent/echo | No receipt | Submitted identity only | Visible experimental limit | Unsupported | Authorized exception |
| Default/Auto routing | Cloud v1 | Documented | Provider routing | Preserve caller choice | No fixed-model claim | Unverified | Outside acceptance model |
| Agent/Plan modes | Cloud v1 | Agent request observed | Always explicit Agent mode | Plan rejected | Agent-only Cloud configuration | Agent observed in C2 | Native Plan decisions unsupported |
| Reasoning/context params | Cloud v1 | Documented catalog shape | Per-model values | Preserve values | Selected configuration | Unverified | Outside required cells |
| Exact instructions on create | Cloud v1 | No digest receipt | Full inline text and submitted digest | Content bound to checkpoint | Experimental limit | Controlled serialization; C2 behavior observed | Native acknowledgment unavailable |
| Instructions on continuation | Cloud v1 | No digest receipt | Current full revision or fixed per-turn control guidance | Active digest changes fenced | Saved current instructions | Controlled revised/unchanged-turn checks | Required C3 remains unqualified |
| Assigned skills | Cloud v1 | Bounded text assets inline | Virtual read-only file bundle | No local path/mount assumption | Submitted instruction bundle | Controlled asset checks | Binary assets, scripts by local path and persistent directory unsupported |
| MCP discovery/execution | Cloud v1 | Authenticated SDK discovery and real tools observed | Scoped HTTPS relay to private Unix bridge | Normal Rust/PRP semantic transport | Authorized Core receipts | C2 passed; real question observed in C3 | Required real tool result |
| MCP refresh/reconnect | Cloud v1 / SDK | Run-scoped inline configuration | Re-supply on every turn | Fresh expiring tool capability | Current source-run authority | Controlled follow-up/revocation checks | Required live C3 remains unqualified |
| Runtime secrets | Cloud v1 | Key and scoped callback auth observed live | Bound auth key and scoped MCP headers only | Reject other selected process variables | Hosted shell secrets configured in Cursor | C1/C2 passed; controlled rejection checks | Hosted envVars unsupported |
| Host callback tools | SDK 1.0.28 Cloud | Source-observed local only | No Cloud callbacks | Use relay | No callback claim | Unverified | Unsupported route |
| Assistant text/boundaries | Cloud v1 | Real SSE and durable PRP rows observed | Typed SSE | Ordered canonical events | Task transcript | C2 passed | Required normal task |
| Thinking visibility | Cloud v1 | Documented event | SSE | Existing visibility policy | Policy-controlled rendering | Unverified | Outside required cells |
| Tool identity/arguments/results | Cloud v1 | Real tool names, statuses and bounded results observed | SSE with stable call identity | Builtin facade; Core raw-argument policy retained | Activity and semantic receipts | C2 passed; controlled projection checks | Native truncation/redaction is not lossless raw capture |
| Tool errors/partial deltas | Cloud v1 | Running frames and argument updates observed | Bounded typed projection | Consistent repeated starts accepted | Native activity and error status | Controlled projection/Stop observer checks | No broader lossless-delta promise |
| Shell output/background work | Cloud v1 / SDK | Native command traffic observed | Active/background status handling | Preserve active wait | Running until terminal proof | Controlled status checks | C4 must observe actual pending command |
| Native permission approval | Cloud v1 | No API callback | Native tools auto-run | No interception | Explicit limitation | Unverified | Unsupported |
| Native question | Cloud v1 | No response contract found | No API callback | None | No supported claim | Unverified | Unsupported |
| Native plan decision | Cloud v1 | No response contract found | No API callback | None | No supported claim | Unverified | Unsupported |
| Semantic tool authorization | Paperclip native | Existing controller contract | Run/session/company/agent/epoch-bound relay | Normal semantic dispatcher | Durable audit/effects | C2 accepted effects; controlled negative/expiry checks | No parallel authorization path |
| Semantic questions/approval/plans | Paperclip native | Separate existing contracts | Normal semantic relay | Structured question delivered | Real browser answer persisted | Question and answer observed in C3 | Complete continuation still unqualified; no native equivalence or broader decision claim |
| Todos/plans/revisions | Cloud v1 | Rich events not qualified | Provider translation | No invented capability | Existing generic surface only | Unverified | Outside required cells |
| Active steering/queue | Cloud v1; SDK absent | Provider API documented | Not exposed by this driver | Descriptor explicitly disables both | No active steering/queue promise | Unsupported in this release | Ordinary follow-up is separate |
| Ordinary follow-up | Cloud v1 | Documented | Existing Agent/new Run | Stable session identity and refreshed callback | Same task continuation | Controlled same-Agent and governed-yield tests | Required C3 awaits live confirmation of the bounded timing repair |
| Interruption/replacement | Cloud v1 | Cancel/new-run primitives | Provider-owned sequencing | Ownership fence | Stop then continue | Unverified | No implicit simultaneous turn |
| Load/resume/history | Cloud v1 | Durable Agent/Run API observed | Exact owned identity lookup | Saved deadline and cursor; durable terminal acknowledgment | Persisted separate Agent/Run IDs | Controlled native crash/recovery checks | Ambiguous follow-up identity remains fenced |
| Fork/compaction | Cloud v1 | Not qualified | No promised route | None promised | None promised | Unverified | Outside/unknown |
| SSE replay | Cloud v1 | Real event IDs and exact cursor reconnect observed | Last-Event-ID | Ordered source-sequence deduplication | Durable event/effect identity | Controlled checks; partial live C5 transport proof | Full C5 requires normal two-turn settlement |
| Expired replay | Cloud v1 | Documented 410 | Exact owned terminal lookup | No new paid prompt; bounded reconciliation | Incomplete history remains explicit | Controlled expired-stream check | No live retention-expiry claim |
| Subagents/children | Cloud v1 | Custom agents documented | Rich identities not qualified | No attachment promise | No invented parent/child UI | Unverified | Outside required cells |
| File edits/diffs | Cloud v1 | Tools/git documented | Provider stream/git snapshot | Activity only until proven | Independent result check | Unverified | Do not trust agent summary |
| Images/inbound media | Cloud v1 | Images documented | Prompt attachment | Bound existing input | No broader media claim | Unverified | Outside required cells |
| Artifacts | Cloud v1 | Native listing and signed download observed | Exact-host HTTPS and bounded bytes | Verified private staging and relative Core reference | Registered/downloadable result | C6 passed; exact 24 bytes/SHA/MIME | Core containment, symlink and hash guards retained |
| Usage/cache/subagent totals | Cloud v1 / SDK | Authenticated token response observed diagnostically | Client usage API available | Quantitative production facade not wired | Usage/cost unknown | Production accounting unsupported | Confirmed terminal closure settles explicitly unpriced; receipt/budget controls pass |
| Settled dollar cost | Current SDK docs | Documented eventual fields | API/schema divergence | Unknown until receipt | No fabricated zero | Unverified | Outside fixed-dollar guarantee |
| Per-run dollar ceiling | Cloud v1 | No enforcement contract | No admitted native cap | Existing budget gates only | Explicit limitation | Unverified | Unsupported |
| Idle/heartbeat/retry behavior | Cloud v1 | Partial documentation | Stream/recovery policy | Bounded activity | Quiet idle state | Unverified | No idle polling loop claim |
| Cancel/terminal status | Cloud v1 | Cancellation and terminal API reads observed | Exact Run cancel plus lookup | Unconfirmed termination stays fenced | Durable cancellation | Cleanup observed; native Stop/recovery controls pass | Required active-work C4 unrun |
| Late callbacks/effects | Paperclip native | Existing authority contract | Expiry/revocation and current actor authority | Fence stopped generation | Stale mutation rejected | Controlled relay/authority checks | C4 still requires bounded live observation |
| Native process/VM cleanup | Cloud v1 | Hosted lifecycle opaque | Delete plus independent exact Agent/Run 404 | No host-PID proof | Exact API absence recorded | Observed after retained campaigns | No physical remote VM cleanup claim |
| Local relay/stream cleanup | New integration | Exact owned process exit observed | Socket close/expiry | Bounded shutdown and receipt acknowledgment | No lingering owned local work | Packaged/native controls and live cleanup | Required C4 still unrun |
| Config/command discovery | Cloud v1 | Limited API inventory | Provider-specific | No arbitrary CLI promise | Normal configuration | Unverified | Outside required cells |
Finite acceptance ledger
These six cells are the release's ordinary-user denominator. Each live attempt must name the exact application/Runner commit, dirty state, client/profile identity, local OS/architecture, provider API contract, credential binding, model/params/mode, fixture/grader revision, run IDs, cost/reservation, and cleanup. Keep original failures and new attempts together. A later patch requires an evidence-impact decision before carrying a prior pass forward.
| Gate | Local-first cell | Required independent observation | Candidate/attempts | Verdict | Next action/owner |
|---|---|---|---|---|---|
| C1 Setup | Fresh configure; save/reopen/Test/reconnect | Correct saved runtime/model/binding; useful credential failure; real account test; no launch merely on read | Served ed4ef4796586 passed save/reload, explicit Sonnet and real key/catalog Test with only the authorized effective-model acknowledgment warning. Ordinary UI cleared the paused manager. The trial is temporarily paused during the current campaign. The ordinary Advanced Runner mapping is now repaired and controlled; its final browser acceptance remains pending |
Passed on recorded saved trial | Restore the final app/callback, complete ordinary setup and reopen/Test; configuration Test does not prove native create succeeds |
| C2 Task delivery | Ordinary task using real semantic tools | Provider activity; exact submitted content; authorized tool result; durable task finish accepted by controller; independently checked output; cleanup | cursor-cloud-local-20261028-artifact-sonnet-2, source b18b743cd45d, explicit claude-sonnet-4-5, all 8 matchers passed; result SHA-256 eea3414ff54c7de99f4fc533cd4d88d415bc501dc56e95aa73a8c8f7fe09f270; original failed campaigns retained below |
Passed on recorded candidate | Assess pending recovery changes before carrying this pass forward |
| C3 Continuation | Follow-up on existing task/session | Same Cloud agent, distinct Cloud run; current instructions/tool grants; visible reply and durable result without duplicate work | Seven failed live campaigns (1/2/3/4/7/9/10) retain original grades. Attempts 5/6/8 stopped at local infrastructure. Sonnet-10 completed the first turn and accounting settlement but failed local authority rotation before a second native create; the cold-handoff repair passes controlled real-boundary checks. The separate stale-response repair passed 60 Cloud cases, including 14 old-driver red controls | Unqualified | Build and freeze the combined candidate, then one bounded Sonnet-11 attempt; no automatic paid retry |
| C4 Stop | Stop while provider work is actually pending | Cancel exact run; observe provider terminal state; close local resources; later relay calls/replays cannot mutate task; bounded observation recorded | Supporting controlled cancellation and race checks pass; no live active-command Stop has been attempted | Unqualified; live cell unattempted | After C3/full C5 passes, verify real pending command identity before ordinary UI Stop |
| C5 Replay | Disconnect/reconnect and retention expiry | Resume cursor; stable order; no duplicate effect/reply; expired stream reconciles through known run without a new paid prompt | Failed campaigns retain exact cuts/cursors and ordered unique events. Sonnet-10 recorded one cut, matching-cursor 200 reconnect and 61 unique ordered canonical events, but failed before second-turn admission | Partial transport proof; unqualified | Requires normal two-turn completion on the new frozen candidate |
| C6 Artifact | Download provider-produced result | Listed relative artifact; safe retrieval; independently verified bytes; usable Paperclip result access after settlement; cleanup recorded | Same Sonnet-2 result as C2; one registered/downloaded artifact, exact 24-byte fixture and MIME verified; SHA-256 475af2a29ebe3347d92d24efaa58ee6e50a96c1e25297a4410ea12407aa5c1d9; exact owned Agent and Run each returned 404 after cleanup |
Passed on recorded candidate | Keep the original artifact bytes/receipt and repeat if the output path changes |
Pre-qualification snapshot total: 3 passed on recorded candidates and 3 unqualified of 6 required. See Product PR #18069 Verification for the later current verdict. C1 retains its saved-trial candidate; C2/C6 retain their original candidate identities. C4 has no live attempt. At this snapshot the release was not qualified. A user-approved 30-day key now authenticates to the real Cloud model catalog and is bound privately in the ready local trial. The user approved the callback tunnel and access to the new private README-only fixture repository. Both are configured, and a fresh authenticated repository preflight confirms access. The saved product Test passed after reopening across a controller restart. An initial Test failure was traced to test-drive intentionally discarding ambient PAPERCLIP_* routing variables; saving auth.publicBaseUrl in its isolated instance configuration supplied the callback origin. This was setup repair, with no production-code change or provider prompt. Task delivery retains its earlier pre-prompt and hosted failures alongside the passing Sonnet artifact attempt. The first four continuation attempts retain their original failed grades and exact owned Agent/Run absence after cleanup or later reconciliation. The fourth keeps its original cleanup-failure grade. Later blocks and create failures are recorded separately below. The direct controls and latest cleanup report no remaining active owned native work. No accepted Run ID existed for the create 500 controls, so no Run lookup or Run-404 evidence was invented. The original cleanup-uncertainty grades remain retained. Hosted billing is unknown; no zero-cost claim is made. No source, simulation, protocol test, or screenshot qualifies a live cell.
Required supporting verification, reported separately from those six cells:
- Credential-free client/driver checks cover status mapping, SSE chunking and duplicates, transient errors, unavailable features, cancellation races, unknown usage, replay expiry, and malformed provider data. They must exercise the selected implementation rather than mirror its internals.
- Semantic relay checks prove source-run/company binding, denied operations, credential expiry/revocation, tool-result delivery, and no late mutation.
- Focused regressions preserve legacy Cursor Cloud and another existing native provider, with absent/disabled integration behavior.
- Exercise the clean installed package/runtime resolution used by the local release. Record actual installed artifacts and dependencies. A source checkout or startup probe alone is insufficient.
- Before PR-ready handoff run
pnpm -r typecheck,pnpm test:run, andpnpm build; report any unrun checks precisely. Run relevant token/map/catalog checks if those owned surfaces change. Follow the repository PR template and resolve applicable review feedback.
Resumable state and next gate
| Item | Verified state | Owner | Exact next action |
|---|---|---|---|
| Research | Official docs and original SDK 1.0.28 inspected; SDK 1.2.0/OpenAPI refresh on October 29 confirms unchanged successful v1 requests | Research owner | Keep original and refreshed findings tied to their evidence dates |
| Experimental exception | User-approved 2026-10-28 | Lead | Preserve honest admission/cost limits in product and PR |
| API client | Implemented by client owner; supporting controlled wire proof reported separately | Client owner | Preserve exact pinned contract and run live acceptance |
| Native driver/semantic relay | Earlier real C2 tools passed; current cold-handoff repair passes real Rust/private-facade tests. Generation/authority fencing now passes 60 Cloud controls | Lead | Build and freeze the combined exact artifact identity |
| Credentials/model/budget | Real key privately bound; catalog/repository access and hosted execution observed; scoped tunnel approved; cost unknown | Lead | Preserve explicit model and owned cleanup for each paid attempt |
| Candidate/evidence | Production source 77b423471668, Core 53112a12cbd8; controlled repair gates above pass. Final combined build, current CI and live gates remain pending at this snapshot; both PRs draft |
Lead | Freeze exact source/artifacts, run C3/full C5 then C4, prove private package closure and restore the trial; record the current ledger in Product PR Verification |
Native create is available again under unchanged requests. The remaining gates are exact-candidate artifact readiness, continuation/full replay, active Stop, current private package proof and the saved local trial restoration. Latest-head CI must also be green. A generic retained-Codex replay ACK test has an unchanged local failure; its bounded investigation is recorded below and must not be silently relabeled as passing. Each paid task must be small, have a known output, retain run/evidence identity, and have cleanup already wired. Diagnose the first divergence before another paid attempt. Record active jobs and cleanup obligations here before interruption; there are no active provider jobs recorded by the research owner.
The driver-owned supporting check used the real sidecar stdio, Cloud HTTP/SSE client with a controlled peer, private Unix MCP bridge, and exact accepted Core tool result. It covers fresh creation, same-Agent follow-up, a revised idle instruction bundle delivered once, unchanged follow-up without repeated bundle, strict active recovery identity, replay cursor deduplication, initialized MCP session isolation, ambiguous initial-create recovery without another prompt, Stop cancellation plus native terminal lookup, killed-owner stale-socket recovery through the actual initialized driver under umask 022, persisted absolute deadline cleanup, expired relay rejection before mutation, provider-owned artifact discovery, verified artifact bytes, and reconciliation HTTP 401/403/404/422 preserving uncertain initial-create identity. The final local command ran the four driver/asset/artifact/proxy test files with default Vitest deadlines; all 26 passed in 4.18 seconds. The proxy fixture uses explicit bounded five-second readiness waits. Earlier attempts had four default-five-second test timeouts and one default-one-second readiness timeout during host contention; they remain failed supporting attempts, and no production or repository-wide test timeout was increased. Client token usage retrieval exists, but the production facade does not deliver those receipts, so its descriptor marks production usage accounting unsupported and the UI must retain unknown usage/cost. A follow-up whose HTTP response loses the native Run identity remains deliberately fenced: it is not retried or cancelled by guessing an Agent's unrelated latest Run. This limitation needs explicit live evidence or an improved provider identity contract before stronger recovery claims.
Local milestone evidence — 2026-10-28
Entries below retain earlier state and pending decisions at each milestone. The ledger above is the dated pre-qualification snapshot; the later current release decision is recorded in Product PR #18069 Verification.
Native create recovery and local cold handoff — 2026-10-29
The independent bare HTTP control returned 201/FINISHED with the exact expected
31-byte reply. The paired original client/observer control did the same. Both
had independently verified owned Agent and Run 404 responses after cleanup.
Their comparison receipt SHA-256 is
4991f87568eb2619277ba062bb9b1c27d16eb5425edcf78e736e17b24d6e6d07.
The official incident window and these unchanged successful requests support a
service-outage explanation for the earlier late 500 responses, without proving
a request-level vendor root cause. Usage and cost remain unknown.
Sonnet-10 on source f7bfb75f794a567175d9938d2c8c0ad4dea4669a reached
first-turn success, one applied question answer, the matching canonical
interrupted terminal and accounting-ready receipt sequence 4. The second local
turn failed at native_runner_prp_run_rotation_unavailable before a second
native create. One SSE cut and matching-cursor reconnect returned 200; 61 unique
canonical events stayed ordered. The original FAIL/cleanup_failure result is
retained with SHA-256
963c331d5061836560774d8ffc06d82a42d2c3a4ae2b9324e7ff9e9d89b3b2ff.
Later exact owned Agent/Run lookups returned 404; all six owned local process
identities exited, the fixture PostgreSQL stopped and the callback port was
released. Reconciliation does not rewrite the original grade.
Repair 45ab2610fa7d1d2f9731cd88dcacb87e4c32c222 admits locally owned
Cloud cold authority rotation separately from warm recovery. The new authority
refreshes current instructions; same-authority recovery retains the admitted
instructions. The Rust backend accepts that changed Cloud instruction field
only after confirmed owned shutdown and a freshly validated receipt have
atomically persisted durable prepared state. Every other provider-profile field
remains exactly compared; ambiguous stop, foreign ownership and retained ACK
debt stay fenced. Real Rust/private-facade cases verify distinct per-turn process
and Run identity with the same Agent, fresh relay/tool grants and exact
instruction serialization. The final merged candidate passed 9 facade cases,
14 existing transport controls, 12 Cloud Rust and 7 native Cloud cases, and 107
profile/history controls. Published identity bytes remain unchanged; new current
identities account for the changed bound source inputs.
One generic retained bare-Codex replay case failed at the existing two-second
old-authority ACK fence (native_cleanup_maintenance_unproven); its cohort was
18/19. The unchanged isolated case also failed using a pristine upstream Rust
binary with the merged controller. Selected controller ACK and maintenance code
is byte-identical to upstream. That mixed-controller experiment does not prove
a full pristine baseline, and an instrumented diagnostic pass does not replace
the unchanged failure. No timeout, guard, oracle or skip was changed. Generic
ACK latency work is deferred; local verification remains nongreen for that
case and latest-head CI is required.
The Product 3a4a7c558d73 title-editor CI failure occurred after a successful
heading click and before the first textarea fill. No outage or persistence
assertion ran. Seven relevant source paths match pinned upstream; a loading
readiness remount is a hypothesis awaiting deterministic reproduction. The
separate Core review race allowed a delayed old native read to settle a newer
turn. Repair 9283dcdb3207 passed 60 Cloud tests, including 14 controls that
independently failed against the original driver. Captured logical/native
authority fences launch, reads, stream output, errors and Stop. Controlled
passes do not substitute for current live qualification.
Reviewed setup, fresh replacement and editor repairs — 2026-10-29
Core 53112a12cbd8 adds the checkpoint owner's archive helper through the
existing vendor boundary. It acquires the existing exclusive lock, validates the
exact binding/session/owner and admits only pristine idle or confirmed terminal
state with no pending create, deadline or terminal ACK debt. It archives only
the exact checkpoint and durably syncs the destination chain. Live ownership,
foreign/corrupt/missing or ambiguous state stays fenced. All 25 filesystem and
lock controls passed; directory durability and pristine-history audit gaps were
repaired before the commit. Published provider identities remain unchanged.
Product 9550dc119d calls that helper before moving generic continuity state.
The real-driver server regression first failed with the original checkpoint
already-exists error, then passed with exact old checkpoint preservation and a
fresh Core session open. The 13-case cohort covers positive replacement,
active/foreign/unacknowledged/live-owner refusal, relay cleanup and non-Cloud
compatibility; five relay/artifact cases and direct server typecheck also passed.
No PostgreSQL or real provider was used for these controls.
Product 5d16e75d84 forwards ordinary Cursor Cloud Advanced Runner selection to
both Run Test and Finish setup. Its regression first observed the missing
Runner field. The same commit retains the active loading title editor until
editing actually ends, using the existing InlineEditor editing callback for
single-line edits. The unchanged Product and pinned upstream UI both reproduced
the original editor replacement before the fix. The repaired actual-hook case
retained the same connected/focused input and saved through the ordinary path.
All 341 affected UI cases, UI typecheck and token gates passed. The unchanged
browser case then edited a title through a simulated outage, recovered its write
and preserved it on reload: 1/1 passed, 5.6 seconds, no retry. The initial command
collected zero tests because of an anchored title filter; that harness failure
is retained separately and is not a browser-test pass.
Product 77b4234716 keys the early editor by issue. A separate red regression
proved that navigation from actively edited A to cached B while preferences
were pending reused A's input. The fixed case retires A, preserves B's own
input/focus/draft through readiness and keeps A's stored draft separate, with no
save on cancellation. The two affected files passed 232 tests, UI typecheck and
token gates. The earlier unchanged browser pass retains its original patch
identity; this later edit changes only cross-task editor lifetime.
Earlier Core 314b9a2cc894 CI failed because a Rust integration constructor
omitted the new optional launch-profile field. The separate test-only None fix
passed workspace test compilation and the integration case, and Core 9283
Rust CI passed. Core 9283 also retained an unclassified decision-expiry timing
failure (nextWakeAt 90 seconds earlier; 2,092 passed, one failed, four skipped).
Product b029 retained an E2E failure after a verified first continuation when
the reloaded conversation was still loading; the later always-allow scenario
never ran. Do not silently call these old failures green or infer a cause.
Require the final exact-head checks and reviews.
Final local handoff and unresolved native create — 2026-10-28
All later campaigns and direct controls below pin served source
ed4ef4796586723c47ba39cc4e0620dc489e4123. Product code
146376c108f82c4130cabd112d6566a5f44b453a has identical production, Runner and
README bytes. Its only other differences are four test-only chat brief fixture
files. Those files do not change the Cloud live definition or runtime inputs.
A deterministic partial-write regression first failed, then atomic publication
at every brief writer passed. Full credential-free support passed 4,725 tests
with two skipped, plus 137 Node checks. E2E typecheck passed. Full recursive
typecheck passed at merged code e1aeeaa2e4; the later fixture-only change was
covered by the E2E typecheck. Current Core and Product code CI/review passed;
this final documentation update still needs its own latest-head gates.
The separate older full repository test run was stopped at its exact owned coordinator after about 2 hours 35 minutes, with exit 130 and known failures. It remains partial and not green. The host had exhausted its System V semaphore capacity. That fact does not establish the cause of every earlier test failure. No unaffected local suite was rerun for this documentation update.
| Later campaign | First measured boundary | Native work and retained grade |
|---|---|---|
| Sonnet-5 | Local package-manager resolution | No fixture/native job admitted; no canonical live result. Retain the local tooling block |
| Sonnet-6 | Sandboxed tsx IPC listener denied | No fixture/native job admitted; no canonical live result. Retain the local tooling block |
| Sonnet-7 | One native create POST returned HTTP 500; exact proposed Agent GET returned 404 | No accepted Run, question, SSE stream or cut. Original candidate-failure result retained; cleanup passed after ordinary Board intervention |
| Sonnet-8 | Embedded PostgreSQL initdb exited 1 while host semaphore capacity was 87,381/87,381 across 5,140 sets | Zero native requests. Keep the original failed/cleanup-failure grade despite later local retirement; the exact failing syscall stderr was not retained |
| Sonnet-9 | One native create POST returned HTTP 500 after host recovery; exact proposed Agent GET returned 404 | No accepted Run, question, SSE stream or cut. Original candidate-failure result retained; cleanup passed after ordinary Board intervention |
Canonical result SHA-256 values remain:
- Sonnet-7:
d39a52de698ed89289d78ac598edaa645c03cba2b99aac3517feaf817d8e3671. - Sonnet-8:
847c7d6732b70a20b31c47ee6d23b0032e2c02399050769e12ae82d63cf63907. - Sonnet-9:
bc8b717e6c24645301354edb63b364c57a0e129604d627e2d96d6cc87a8bf723.
The 500 campaigns do not test the repaired terminal accounting or cancellation composition. Their capture remains pending without a matching committed terminal. Vendor usage and dollar cost remain unknown, not measured zero. Each create was issued once. No automatic paid mutation retry occurred.
Three minimal native controls omitted MCP. Bearer and Basic auth each returned
HTTP 200 from /v1/me for the same hashed user and key metadata. Sonnet minimal
create returned HTTP 500 under both schemes. A catalog-supported
gpt-5.4-mini Bearer control also returned 500, with a generic provider message
and no provider error code. Its create response arrived in about 7.23 seconds;
the exact proposed Agent lookup returned 404 in about 0.25 seconds. Request
metadata matched except for fresh ownership identity and selected model.
All three direct controls had one create POST, no cancel or DELETE, no
mutation retry, no accepted Run identity and no remaining active owned work.
No Run lookup was fabricated when the provider supplied no Run identity.
These controls show that the failure persists without Paperclip MCP, across both successful authentication schemes, and across Sonnet and the selected Mini model. They do not identify an account, repository, entitlement, provisioning or service root cause. Read-only account UI inspection showed a connected GitHub account and no visible blocking notice; it supplied neither a confirmed cause nor a campaign billing receipt. No account setting or payment was changed. No additional native creates are planned.
| Diagnostic evidence | SHA-256 |
|---|---|
| Same-identity auth/create comparison | 75fb7a722f9593c464dba4dd19b8299c644c0cd88d1a9eb8558edde1451a1bd1 |
| Minimal Sonnet Bearer control | da538d42435d2fdbaa8609c0e081996f321df536245942feae369f9e3ca9e599 |
| Minimal Sonnet Basic control | 0f58432420baae4017ed34b686e80a6414ba58a0f47ea1c873205513c6d2fcee |
| Minimal Mini Bearer control | 546a36f418f15eb403e31876f3b920d31eb80529af35d05a027dabb512c11a59 |
| Sonnet/Mini comparison | 5223faf425827ab4cefdd1a7cca739f35ba84538b73ed4eb6db36491ba8d0453 |
Final ordinary UI verification retained the explicit native Cloud/Sonnet and
private secret binding across save/reload, then passed the real no-prompt
key/catalog Test. The only warning was the user-approved lack of independent
effective-model acknowledgment. Clearing the paused manager through the UI
persisted reportsTo: null; the trial is idle and server health/recovery are
ready. Temporary plaintext credential material was removed after the encrypted
secret and real Test were validated; the valid 30-day binding remains available.
The private local app and separate callback listener remain running for the
user's test drive. No callback exposure of the board or general API was added:
public root and API probes returned 404, unauthenticated callback POST returned
401, and callback GET returned 405 with Allow: POST.
The final sanitized trial-state receipt has SHA-256
a66701bc674e43bc0150b233c7ae962d32437f19823b0c21df82aec82e40f5a6.
The private screenshot shown to the user has SHA-256
e38c7e65561e333b1b9237c92fbdca6ce6c919bdcf9512c7936342189434b93e.
Neither a ready configuration Test nor this screenshot qualifies C3/C5/C4.
The latest private Runner archive and compiled-consumer proofs passed on the
recorded macOS arm64 host with Node 26.4.0. The tarball has 1,696 entries,
14,031,063 bytes and no bundled node_modules or symlinks. Extracted stdio/Unix
MCP checks exercised a synthetic accepted tool result, terminal retention and
ACK, clean exit and socket removal. The separate compiled consumer loaded 175
modules inside its extracted closure and made zero parent or child provider
requests; no turn was submitted. These prove the tested private package
closure, not ordinary public installation or live Cloud acceptance.
| Current package/runtime artifact | SHA-256 |
|---|---|
| Private Runner archive | eb7fbb3d65752de71bbc29f411e5d2c62904184134fdfe3a3b8791cb30901d7c |
| Local daemon | 519ca52449ec584311107460f155d6b951272001447e15e9a4ac1790989463cc |
| Cloud CJS proxy | 15e1c48df44e4e3bc48eb8814430cf2e37c800c4c4c8c00915bee8a8b8fe8c23 |
| Cloud ESM proxy | 1a1c92e3985f2af42baff74a6f30e08075709980289f1c1b595fd902acf16eeb |
| Full compiled transport | be516371bbd21d7f3a0b4d16713166b43e02b22bf67d67823bedd3ce52dc9590 |
| Compiled 175-module closure | d65d92fe16a8486e7468b60a4ffa75b504b1eb6fa2ca2d56d31ab9151e1133f5 |
| Observed 26-file Node dynamic closure | ce8e6d8d7e9845600a853d7d675810268c29126b6deaafdcc1337a4213c05c48 |
Node is still an operator-supplied observed host runtime, not a newly bundled
or pinned release distribution. The archive proof report has SHA-256
a1aecad1bbf8054aa86006251d8ac606a4f2eed33b0265bdee225bc13dbbe20a;
the compiled-consumer report has SHA-256
89f8fa290e840439707df57311cfdd5cd4a89fddb323de6f1b9afa3160d3017e.
Earlier archive identities below remain historical. Source, package, CI and
controlled proof do not replace the three unqualified live gates. No merge,
public package publication or production rollout was performed.
Earlier controlled repair evidence
The controlled reproduction separated transport delivery from the governed-wait
deadline. Actual Rust/private Node proxy cases delivered the applied question
response and canonical interrupted terminal with both immediate and 18-second
cancellation, without a Stop command. The same real backend under
executeNativeSession passed immediate cancellation but failed the 18-second
case at governed_wait_provider_terminal_unproven. Cloud permits 20 seconds
for cancellation; the generic governed drain allowed 15 seconds.
Core repair 9c54295c5060 adds a trusted, optional terminal-drain bound to the
existing cancellation result. The Cloud backend supplies 30 seconds from its
20-second cancellation budget plus handoff margin. Other providers retain the
15-second default. The runtime validates the bound, preserves the existing
operation cap and consumption-owner abort, and still requires the matching
canonical terminal. The same real governed case now passes at both delays.
Fourteen negative, default, operation-cap and recovery controls, 326 affected
unit cases and eight bundle/Grok checks passed. Missing, foreign and explicitly
unconfirmed terminal evidence still fails. No accounting or budget fence changed.
Copilot advances to immutable v73 because shared identity inputs changed; v72
bytes and decoding are preserved. Grok v8 bytes are unchanged. This asserts no
new Copilot or Grok live qualification. Fresh Core review and CI are required.
Old Product head 3115d0bf2c also failed its Copilot v71 source attestation and
the two already-repaired Cloud launch fixtures. One browser test copied whole
page text instead of YAML. Its unchanged isolated case passed, then its complete
six-case browser file passed on the aligned Product source. The original CI
failure remains retained and its cause is unclassified; new-head CI is still
required. No speculative UI or browser-test edit was made.
The fourth continuation campaign used clean source de3c7d6b6c27, with the
same explicit Sonnet selection, omitted parameters, fixture repository/ref,
allow-unpriced opt-in, deadlines and zero automatic retries. Full build passed
and its build stamp matched the source. All source and test files matched
Product cacb45fd5bfd; only this qualification document differed. The Runner
package source and exact CJS/daemon bytes were unchanged from the previous
packaged proof.
The exact question tool was applied. An interrupt command was issued, followed
by a Stop command issued about 15 seconds later. Those command timestamps do
not establish completion times or a fast interrupt acknowledgment. The exact
native stop receipt records providerExitConfirmed: true, remoteStopped: true
and status FINISHED.
The matching Node checkpoint retained its interrupted terminal-delivery batch.
No canonical turn terminal reached Core before the governed-wait drain failed.
The checkpoint's later last-write time is not asserted to be terminal creation
time. The 15-second drain and 20-second Cloud cancellation bounds require a
controlled composition check; the live timing alone does not prove its cause.
This is a candidate terminal-handoff divergence; it is not evidence of a
provider provisioning failure. No eligible replay frame was cut, no answer or
second run completed, and C4 remained on hold. Missing canonical evidence
correctly leaves accounting pending; do not weaken that boundary.
The ordinary result remains FAIL/cleanup_failure, SHA-256
2965928841f50408cc07eb705c9a785680acf2a106735a37ab9a9f1a4f3536f7.
Its original cleanup could not confirm deletion. Later independent exact owned
Agent/Run lookups both returned 404. That reconciliation does not replace the
original grade. The wrapper restored the exact original CJS and released the
callback port and source/dist freeze. No further paid work is active.
Before that attempt, the accounting repair passed ten focused tests, including
nine scenarios through the actual PostgreSQL receipt, ledger and budget path.
Matching completed and interrupted terminals settle as complete and explicitly
unpriced, with no fabricated counters or zero dollar cost. Allow-unpriced
permits the next reservation only after ledger settlement; block still blocks.
Missing, foreign and explicitly unconfirmed terminals, capture failures and
replaced recorders retain pending debt. Saved canonical evidence also restores
collection closure on recovery. Generic receipt, ledger and budget code is
unchanged. Full recursive typecheck passed at Product cacb45fd5bfd.
The third continuation campaign on 69edecfd84ae saved and independently
verified explicit allow-unpriced policies before dispatch. It discovered the
correct MCP server, created the exact structured question and received the
browser answer. The committed matching turn.interrupted carried
error: null and status: interrupted; native cancellation was confirmed and
the exact owned Node process had exited. Nevertheless, Core emitted incomplete
Cursor accounting because numeric usage was absent. The run remained pending
with no accounting receipt, and the normal budget gate paused the company.
The original ordinary result is FAIL/candidate_failure, SHA-256
0326c611f99557fbcd0fb6dcda6bacdbcda6f4fe8079189abef2f0cd748d9596.
Cleanup passed; independent final Agent/Run reads returned 404, the exact
shipping CJS was restored and the callback port was released. One real cut and
cursor reconnect occurred, but no second run completed, so C3/C5 remain
unqualified and C4 is unattempted.
This is an accounting-producer defect. A confirmed matching committed terminal must close collection as explicitly unpriced when Cursor supplies no numeric usage. Missing or mismatched terminals, explicitly unconfirmed provider termination and capture failures must remain pending. Receipt, ledger and budget enforcement retain their existing contracts. Prove these boundaries through the actual accounting path before another paid campaign; do not mutate the failed measured company to bypass its pending incident.
The second continuation campaign on 9683ba4678ee found the run-bound catalog,
created the required structured question and received the real browser answer.
Its next run could not enqueue because the fixture company and agent policies
blocked unpriced usage. A budget incident paused the company after the first
unknown-cost turn; retrying the response could not bypass that policy. The
original result remains FAIL/candidate_failure, SHA-256
1dfdd92bef4e69dd09bfde0eb7294f219d5a8bfd8e9803b4e747c2e33791aa93.
Cleanup passed and exact owned Agent/Run each returned 404. The original CJS was
restored. C5 again exercised a real cut/reconnect, but no second turn completed.
This is a qualification-policy mismatch, not a reason to change production
budget enforcement. The bounded fixtures now require explicit
PAPERCLIP_CURSOR_CLOUD_ALLOW_UNPRICED_QUALIFICATION=1, upsert only their owned
company and agent monthly billed-cent policies, and verify both saved policies
before dispatch. Each remains active with a 1,000-cent known-cost hard stop;
unknown pricing is explicitly allowed under the user's test-spending approval.
It is not a provider dollar cap. Cost reporting remains unknown. Missing opt-in,
failed readback and changed guards block setup. The red controls, 71 passing
fixture/registration cases, 19 strengthened budget controls and full E2E
typecheck are retained. No production default changed. The separate saved local
trial received the same explicit policy through the public API and verified
readback; its actual vendor cost remains unknown.
Only fixture policy/evidence changed after 9683ba4678ee; the model prompt,
provider CJS and native daemon are unchanged. Retain all prior grades at their
original definition hashes and run a fresh company/Agent campaign. Do not
unpause the failed measured company or relabel its result.
The first live continuation/replay campaign failed its required question on
62fb0252e931. Cursor queried unrelated inherited account MCP namespaces, both
requiring authentication, and never selected the injected paperclip server.
It then ended with objective unsatisfied and no structured question. The
ordinary fixture retained its failed grade and cleanup passed; exact Agent/Run
reads returned 404. No second run or Stop attempt occurred. One real SSE cut
reconnected to the same owned run using the exact cursor, with ordered unique
retained events, but this does not pass the complete C3/C5 contract. Original
CJS bytes were restored after finalization.
Code and retained C2 traffic identify a product guidance gap. The request names the injected server, but model-facing instructions did not identify it. C2 found it by a broad tool search; C3 selected similarly named account servers. Neither unrelated name comes from the repository, and the current semantic question tool remains available. Cursor's SDK documentation confirms that Cloud also loads account/team MCP servers; local setting-source filters do not apply. The repair now binds one provider server-name constant, directs discovery to that server on every turn, distinguishes semantic questions from native callbacks, and explains controller-managed authentication without VM REST credentials. Two serialized-request regressions first failed; all 46 Cloud cases then passed. This is a supported correction hypothesis, not a claim that model causality has been proved. Keep the outcome oracle unchanged and use a fresh campaign because active checkpoints reject instruction-digest changes.
Core CI also exposed a real Copilot source-attestation mismatch after shared bridge/contract changes. The immutable identity advanced to v72 while preserving the original v71 bytes and decoder. Eighty-six identity/compatibility controls passed. This refresh does not assert a new Copilot live qualification. The final Core source has a green full build, 436 selected TypeScript cases, 33 native backend integrations and eight bundle/profile checks; fresh remote gates for that source remain pending. Earlier Copilot CI and local failures stay retained.
A further recovery race was reproduced during review: the native run could finish between two startup reads, causing Rust to reject the valid terminal batch against an older active-turn cache. The repair validates active state and terminal delivery from one snapshot and updates the cache only after validation. The proxy likewise returns one captured state view after the queued checkpoint commit. Both native and proxy red controls reproduced the mismatch; all 33 native integrations and 46 Cloud/facade cases then passed. A paused-write test also proves thread/read cannot return the random terminal receipt before it is durable: the response stays blocked while disk remains running, then returns the exact receipt found in the committed checkpoint. Preserve these controls and the earlier review grades; a new review is still required for this repair.
The saved local test-drive was restarted on abb79acfb016 and returned healthy.
The ordinary UI retained the explicit Sonnet model and organization-secret
reference, passed the account/catalog Test with its expected experimental
warning, and completed Finish setup. Independent API state confirms
paperclip_runner, provider cursor_cloud, model claude-sonnet-4-5,
secret_ref, lifecycle ready and idle status. Setup sent no provider prompt.
The callback-only tunnel again returned 404 for root/API and 401 for an
unauthenticated native-run request. This validates C1's saved setup on the
repaired application; the later Stop receipt repair changes no setup behavior.
Final inspection found one related Stop receipt gap: shutdown could close Node before Rust consumed its retained terminal batch, blocking a later same-Agent turn. Retained Node/Rust red controls reproduced it. The repair retains the batch through the shutdown receipt, persists and acknowledges it before process exit, avoids double settlement, and retries a matching receipt on attachment. All 33 native backend integrations and 46 controlled Cloud/proxy/facade cases passed, as did Node typecheck and unchanged Grok v8 identity. The complete repaired candidate must be rebuilt before the remaining live cells.
Both recovery findings now have retained red/green controls. Recovery arms the saved absolute deadline before any read, retries only transient read failures under that obligation, and aborts pending reads during Stop. Terminal delivery is persisted privately before publication. Rust imports and deduplicates that delivery into its durable outbox, saves the receipt, then acknowledges the Node checkpoint. New work cannot supersede unacknowledged terminal delivery. The actual Rust regression reproduced the lost-turn failure and then passed crash before final delivery and partial final delivery with lost acknowledgment. All 32 native backend integrations and 362 selected TypeScript cases passed. Node typecheck and the existing Grok v8 immutable identity passed; no Grok identity refresh or new Grok live qualification is asserted.
The selected CI launch fixture now builds a private proxy, because that lane does not contain a shared dist bundle. Its missing-dist failure and two passing real-facade controls are retained. The product test roots also preserve short Darwin socket paths while using the platform temporary directory elsewhere. Stop qualification now observes the exact native delayed command, joins its identity to an unfinished Core execution, and checks again immediately before UI Stop. Retained native traffic showed argument-free running frames followed by running argument updates for the same call. The observer accepts consistent updates and rejects completion, changed ownership, stream loss and expiry. Its original failures and 73 passing focused controls remain recorded.
Evidence impact: the recovery repair changes terminal settlement and the Rust artifact identity. Rebuild and qualify final settlement through the remaining two-turn continuation cell. It does not change provider artifact discovery, download, staging, Core file verification or registration, so retain C6's exact Sonnet-2 artifact evidence. C2 keeps its original candidate identity; do not relabel that result as a new run. The Stop prompt and observer changed, so only the new fixture can establish C4. No live replay or Stop pass exists yet.
cursor-cloud-local-20261028-artifact-sonnet-2 passed on source b18b743cd45d.
The same explicit Sonnet model, omitted parameters, repository/ref, fixture and
deadlines were used after the path repair. All eight ordinary matchers passed:
continuity, exact final marker, task done, run succeeded, native/local execution,
exact registered artifact bytes and MIME, and cleanup. Independent saved state
contains one accepted result with objective satisfied and one registered,
downloadable 24-byte artifact. Its SHA-256 is
475af2a29ebe3347d92d24efaa58ee6e50a96c1e25297a4410ea12407aa5c1d9.
The exact owned Cloud Agent and Run each returned 404 after cleanup. The
canonical result SHA-256 is
eea3414ff54c7de99f4fc533cd4d88d415bc501dc56e95aa73a8c8f7fe09f270.
This passes C2/C6 for this candidate; vendor cost remains unknown.
The production stager now returns a path relative to the admitted artifact root for both fresh and repeated staging. The provider's 33 focused controls passed. The product regression first reproduced the exact rejection through the actual Core file reader, then passed normal/repeated handoff and post-staging hash tamper rejection. A static test import initially failed the server TypeScript root boundary and emitted eight unwanted source-side files. Only those untracked emitted files were removed; the established dynamic test import fixed the compile boundary. Full builds then passed in both the serving checkout and the independent Product PR checkout. The latter also passed full workspace typecheck, 1,085 focused tests across 18 files, 46 E2E support tests, token gates and map gates. These do not replace the unresolved full test gate.
The repaired CJS proxy is
dbb219296765add55e7568c4494885f64b9ca5cd7a09128247929995a5e20aa6.
Its 1,696-entry private tarball (14,012,533 bytes) has SHA-256
b25e463011ab6cab7c2b2d9dd53c1b91422025441ab68a66ed0a03880731e551.
The controlled extracted-package protocol and shutdown proof passed. A first
parity check used the wrong working directory, changing esbuild's source labels;
the unchanged check from the canonical package build directory matched both
shipped bundles exactly. No runtime bytes changed during the live attempt.
Core review at this stage scored 3/5 and identified two recovery defects: terminal checkpoint persistence can precede durable delivery of terminal events, and recovery reads can fail before the saved absolute deadline is armed. The Core owner is repairing both with regressions. Continuation/replay and Stop are held until the repaired candidate is built and its evidence impact is recorded. Diagnose any new divergence before another paid attempt.
Campaign 5 (8e4c587102, explicit gpt-5.4-mini) created the exact expected
24-byte file, but native artifact download metadata was rejected before Core
registration. A separate small native diagnostic observed the actual signed
download host, agent-stores.s3.us-east-1.amazonaws.com, and independently
verified six expected bytes. The client now accepts that exact host, retaining
the existing HTTPS and bounded-download restrictions. The original red host
regression and failed product grade remain retained. Both owned native Agent
and Run were independently absent after cleanup.
Campaign 6 (3050fa41a933, same Mini model) independently downloaded and verified
the expected native file. Cursor made no semantic task calls and ended with
Paperclip requiring review. The ordinary 600-second fixture deadline graded
the attempt FAIL; its cleanup matcher passed and exact owned native Agent/Run
lookups returned 404. File creation/download alone does not pass C2 or C6.
One explicit model control uses the same runtime, fixture, repository and
deadlines with catalog model claude-sonnet-4-5, omitting model parameters.
Official MCP SDK discovery observed 56 tools through the exact owned callback,
including completion, artifact discovery and registration, without invoking a
task tool. Sonnet called the semantic tools and supplied correct file metadata.
The downloaded and staged 24 bytes match the fixture, but Core rejected the
absolute staged reference with paperclip_runner_file_handoff_path_denied.
The provider stager must return a reference relative to its admitted artifact
root; Core's existing containment, symlink and hash checks remain authoritative.
This is an observed integration defect. Preserve the original campaign result
and run a real stage-to-Core regression before a new hosted attempt.
The current clean private Runner tarball has 1,696 entries, 14,012,523 bytes,
and SHA-256 bd7b95a988f2ebebdc4fe2e52f19638d4cfb825d3538b89405c1f861e46818e3.
Its CJS proxy is fd6ab6b82b66e5b9bd1a60f70ddca34b7fb44d24c21827c77376931afa52640d;
its daemon is ba78c864a2a688e53d82e26a2c048ad1ab803c4715c1b847324e84a074deffec.
After installing only the declared selected dependency closure in an extracted
consumer, the actual compiled transport, Rust daemon and guarded Node proxy
opened and closed successfully: 175 loaded modules remained inside that
consumer, no vendor request occurred, exit was zero and the owned socket was
removed. A sandboxed listener attempt failed with EPERM; the unchanged check
passed with local-listener permission. This is package-boundary proof, not a
public Paperclip install or a passing live task. Rebuild identity after the
pending stager repair before carrying it forward.
The Core PR uses fixed fetched master d30c8f42b842 and independent dependencies.
Its full workspace build, 357 focused TypeScript cases, 129 Rust integration
cases and eight bundle/profile checks passed. Its CJS matches the serving
candidate; its independently compiled daemon has different bytes, so binary
equivalence is not claimed. The full repository test gate remains unresolved:
a frozen two-file control passed all 981 native executor cases and the original
chat authority case, but found 21 other chat failures (2,581 passed overall).
Diagnostics and baseline classification are in progress; the failed grade stays
in the record.
Campaign 3 (cb5cc2493a) reached private PRP admission, then failed session open
because the outer Runner launch allowlist omitted six private Cloud config/relay
bindings. Its original failure is retained. The corrected regression reproduced
the exact error through transport, sanitized spawn, Rust and the built Node
proxy, then opened/closed that entire chain without any provider request. Four
spawn-boundary controls and the full launch check passed. Reserved configured
environment prefixes remain blocked.
Current master 7f10cc058568 was integrated before the first hosted prompt,
preserving its Stop, recovery, human-input and E2E evidence changes. Only an
additive documentation conflict required resolution. Its declared editor
dependencies were installed with pinned pnpm 9; the resolved dependency lock
was retained privately and the tracked lockfile restored per contribution rules.
Campaign 4 (5de3610003) reached real Cloud work and delivered 16 semantic calls
and results to Core. Native discovery emitted some Invalid arguments results,
but subsequent dispatch succeeded; those errors do not establish an MCP outage.
The concrete remaining failure was internal call_api traffic sent to the
callback-only origin, repeatedly returning 404. The six-minute provider deadline
cancelled the run. The later cleanup readback confirmed its exact owned Agent
and Run absent; this reconciliation does not replace the original failed grade.
No useful artifact or accepted finish was obtained.
Two observed defects are repaired on candidate 8e4c587102: Core authority now
uses the actual selected private listener for internal HTTP calls, and the
provider facade preserves native tool names, actual status and bounded/redacted
result output. Native calls use the builtin facade without inventing MCP/process
transport or widening raw argument logging. Six Core routing controls and real
Rust/PRP tool projection checks passed. The official MCP SDK also completed exact
discovery and tool calls through the callback route, relay and Unix bridge.
Returning GET 405 instead of 404 removed unsupported-stream error notifications;
this was protocol noise, not a demonstrated cause of the failed task. Cleanup
now independently verifies remote absence and retains authorization failures.
The combined 18 MCP/observer checks and E2E typecheck passed.
The required full build passed on 8e4c587102. Earlier full test runs that spanned
source changes remain incomplete and are not green qualification. Two failures
in such a run passed individually in fresh processes on this frozen candidate;
cache versus test-order effects remain unresolved pending full-file controls.
One existing Rust receipt-limit check failed under the concurrent target and
passed unchanged in isolation; its exact cause is not asserted. All 31 native
backend checks passed. Keep these original failures in the verification record.
Candidate 2264a82646dda33e159bf1b95c528f4e383b987c froze the Runner and
product integration in two local commits. The first task-artifact campaign,
cursor-cloud-local-20261028-artifact-1, found a setup divergence before any
provider prompt: assertHarnessTestPassed rejected the successful Cloud
account-catalog receipt because the experimental result has warning status.
The normal saved Test reported its correct informational checks, but lifecycle
verification kept the fresh agent paused, so ordinary task dispatch never
started. The original attempt is retained and was stopped for diagnosis rather
than allowed to consume its task deadline. No Cloud Agent/Run ownership notice
existed at diagnosis. Teardown later observed one local queued run, but no
Cloud checkpoint/create intent existed anywhere in the retained private runtime
tree. Interrupting the waiting browser worker retained its original failed grade
and unconfirmed-cleanup result; its server and database exited. This is not a
passing remote-cleanup observation. C1's connection proof remains valid, but
usable fresh-agent admission is not yet qualified.
The lifecycle regression first failed both listed/unlisted model cases (28 other cases passed). The fix recognizes the informational Cloud account-ready receipt for the native Runner adapter while preserving the experimental warning and all authentication/failure guards. All 30 focused cases then passed. This does not turn the recommended model catalog into an allowlist or claim a prompt response. Evidence impact: the Runner/runtime package bytes are unchanged; repeat fresh-agent setup and the artifact cell against the new application candidate, retaining the original setup failure.
The second campaign, cursor-cloud-local-20261028-artifact-2, used candidate
c011eb97cf10124b679a0c07779137db5750f320. Fresh-agent lifecycle reached ready
and ordinary task dispatch reached native Runner. Its first divergence was
local PRP admission: run.prepare timed out, with zero control-plane connections
and repeated WebSocket 404/500 responses. Startup had advertised the public
callback-only origin to the local Runner. The narrow proxy correctly refused
that unrelated route. No Cloud checkpoint/create intent or remote ownership
notice existed, and no owned Runner/sidecar process remained after teardown.
The original failed result and cleanup-uncertainty grade remain retained; no
provider prompt or vendor cost is asserted from a local running row. Correct
the server's private PRP listener origin while retaining its public callback
origin, then rerun the same bounded artifact cell.
The startup fix now supplies the actual private HTTP listener host and selected port to PRP registration. Public auth/runtime URLs retain their existing meaning; remote transports retain their separate advertised endpoints. Twenty-six focused runtime-origin, HTTP and PRP tests passed, and server typecheck passed. The next artifact attempt must verify this boundary through the full product.
A test-only replay injector is ready for C5. Its 28 controlled tests exercise the actual Driver/Client, one SSE cut after a complete native event, exact saved Last-Event-ID, ordered withheld-frame recovery and deduplication. It preserves and restores exact proxy bundle bytes and records only owned identity/cursor digests. This is supporting proof only. A future live treatment must record both bundle hashes, require the normal product result and grade real reconnect proof; it adds no provider prompt to the selected continuation cell.
The local restart also reproduced a test-drive bootstrap bug: it used the public
callback-only server.apiUrl and stopped after a 404. Bootstrap API and browser
now derive their local origin from the actual started listener. Both IPv4/IPv6
regressions first failed; all 38 CLI tests and CLI typecheck then passed. The
same saved local instance remains the user-facing test environment. Repository
comment-policy cleanup changed no logic; in-memory CJS/ESM proxy bundles remained
byte-identical and the existing Grok identity check still passed. Rebuild and
record the final Rust artifact identity before carrying package proof forward.
The isolated development instance completed the ordinary Cursor Cloud setup path through Save & exit, roster, agent overview, and Harness / Runtime reload. The saved agent retained native Runner, repository, explicit model placeholder, and organization-secret reference. It stayed paused with no provider session or run. Missing-model and missing-key checks were visible. Test then reported the missing public callback, before any provider prompt. These are local configuration controls, not a successful authenticated Cloud setup or task.
That walkthrough exposed two defects now covered by regressions: shared
normalization injected codexPermissionMode after valid Cloud conversion, causing
HTTP 422 on save; the generic runtime form also exposed unsupported Thinking
effort. The fixed route regression executes PATCH, GET, resave and actual provider
parsing. Explicit incompatible user configuration remains rejected. Existing
Codex, Claude, Grok, Dot and Pi cases retain their behavior.
Supporting verification on the current source includes:
- 275 Runner tests across provider, native backend/launch/contracts and the existing semantic bridge; this includes the 26 driver-owned cases above and 12 real loopback Cloud-client cases.
- Eleven executor cases cover actual Cloud admission, selected transport and credentials, owned artifact root, relay revocation and unknown accounting. Three runtime-helper cases exercise private files and a real Unix HTTP peer; three relay cases cover authentication, scope, expiry and revocation.
- Three explicit Product E2E cells are discoverable: task/artifact, same-Agent question follow-up and active-run UI Stop. Their 86 supporting cases and complete E2E TypeScript check passed. Missing configuration blocks before credentials or provider work. The suite refuses public history publication.
- Rust provider lifecycle and shutdown tests passed, including a regression that first reproduced process reuse and then proved a fresh sidecar with the same durable thread. Per-turn product execution does not retain a warm daemon.
- The Grok immutable profile advanced to v8 because its bound shared Runner configuration source changed. The historical v7 identity is preserved and remains decodable; this is an identity refresh, not new live qualification.
pnpm -r typecheckandpnpm buildpassed. The first build stopped at the stale Grok identity; the next exposed invalid new test fixture types. Both failures were corrected. An earlier full test run was interrupted; the finalpnpm test:runrun is pending and cannot yet be claimed green.- Token gates, map structural checks, and generated protocol checks passed.
The clean private Runner candidate tarball contained 1,696 entries and no
node_modules or symlinks. Its extracted proxy completed real stdio and Unix MCP
framing, exact synthetic tool input/result, controlled HTTP/SSE terminal lookup,
confirmed shutdown, socket cleanup and exit zero. Both proxy bundles matched
source and referenced only Node builtins. This proves that candidate's runtime
closure, not an ordinary public Paperclip installation or live Cursor work.
| Candidate artifact | SHA-256 |
|---|---|
| Private Runner tarball (14,012,694 bytes) | 7d06c80239725b36241db7fb96a6127efc757ae367b0f20843641a0544b9ed3d |
| Packaged local daemon | 4492f56745b93392b89e016d2907478ebabcf1025099f79222d66a38dfc8f083 |
| Cloud CJS proxy | 2ccfd84f1acd7e2d15b85b1b772e46a6497b1febbe80c0fb85d6b4f59e909687 |
| Cloud ESM proxy | a582f2b9c1075cfc2185b7d9351072dd06c6d4ae1744f7110873945a10053429 |
The observed controller platform was macOS 26.5.2 build 25F84, arm64, with Node
26.4.0. Node remains an operator-supplied runtime. Its observed 26-file dynamic
library closure digest was
ce8e6d8d7e9845600a853d7d675810268c29126b6deaafdcc1337a4213c05c48;
it is not a newly bundled or pinned Node distribution. Retest artifact identity
after a build input changes. No merge, public package install, publication, or
deployment has been performed.
The tarball proof was refreshed after the README's hosted-secret guidance changed.
README.md was the only changed extracted entry; all runtime artifact and Node
closure hashes remained identical. The full controlled packaged round trip and
shutdown proof passed again. The earlier tarball digest
38bc7632101bdc890591dd58dfb9c75a0956a0c5f1db64c55d963af86c01a1ba
is retained as historical evidence, not the current candidate archive.
Rollback means disabling fresh experimental admission or selecting the existing legacy runtime for future work. Do not rewrite persisted run selection or erase history. Existing native runs still need their cancellation, reconciliation, and finalization paths. No merge, publication, deployment, or live completion claim has been made by this plan.