Skip to content

chore(sync): integrate upstream v0.1.8 into nightly - #212

Open
PsychedelicShayna wants to merge 5378 commits into
nightlyfrom
sync/2026-11-11
Open

PsychedelicShayna wants to merge 5378 commits into
nightlyfrom
sync/2026-11-11

Conversation

@PsychedelicShayna

@PsychedelicShayna PsychedelicShayna commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

What

Integrate upstream T3 Code v0.1.8 into NeoCode's nightly line, retaining NeoPi as the only execution harness. This is the full upstream synchronization, not a visuals-only cherry-pick.

Integration fact Value
Upstream source pingdotgg/t3code tag v0.1.8, commit bf469bb19669671d0df2efda74ed73867a7137c0
Tag signature Lightweight, unsigned tag; no signature verification is claimed
Fork starting point origin/nightly at b02af4beafb23599d13142b1c559e32f22f622db
Recovery ref backup/neocode-pre-upstream-2026-11-11; the older stalled sync branch is preserved
Explicit conflicts 734 resolved personally and sequentially, with per-file decisions recorded before staging
Delivery Topic branch sync/2026-11-11 → nightly; leave open for first-officer review, do not merge
Signed merge 2eedda708b392c901c21d60a09d7c9ffa6225711, with the exact fork-base/upstream parents above
Commit signature Locally verified ED25519 signature using git verify-commit HEAD before the topic-only push

Conflict-resolution summary

Area Upstream changes taken Fork contracts retained
Server and orchestration V2 commands, transactional event/projection/receipt/outbox persistence, effect-worker integration and updated service APIs Real NeoPi V2 adapter; native session/file/leaf/cursor ownership; exact root-attempt prompt acceptance and durable failed-send recovery; retired harness execution rejected before receipt replay
Web and desktop Current composer/timeline/preview interfaces, browser tests, React compiler rules, Electron/Clerk and multiwindow lifecycle APIs NeoCode branding without storage/protocol renames; native Models/stats/session tree; canonical workspace media/review/terminal/browser ownership; private-state diagnostics and bounded owned-runtime shutdown
Mobile Current native/client contracts, rich-content dependencies and project/worktree preparation Native session navigation and lossless attachments/context; guarded native launch; online-only new-task creation with canonical draft retention, no surrogate SQL conversation or SQL outbox
Shared contracts and settings Current schemas, guarded queries, project override mutations and package/export structure Destination-scoped grants, explicit saved choices, no duplicate inference-provider inventory or GUI credential collector
Dependencies and tooling Merged lockfile/workspace graph, Node 26.12.1, pnpm 12.14.0, Effect 4.1.2 and Vite+ 1.4.0 NeoPi RPC package and bundled dispatcher; fork release/runner identities; retired execution SDKs removed rather than reintroduced
Documentation and governance Applicable upstream engineering/test guidance and user-facing feature guidance Fork policy and attribution; touched-upstream-file registry updated; no committed resolution ledger, scratch plans or PR image assets

The complete chronological per-file ledger is published losslessly in 22 ordered comment parts: 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 14 · 15 · 16 · 17 · 18 · 19 · 20 · 21 · 22. It contains 1,682 lines / 944,105 bytes, SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. Every public payload was fetched through the API and matched its recorded byte count and SHA-256; concatenation reproduces the complete local ledger.

Exact executed command evidence · Uploaded before/after component evidence.

Why

NeoCode had diverged substantially from upstream. Reseat its native contracts on the new owners instead of preserving obsolete orchestration, execution adapters or UI conventions. PR #211 remains separate; its desktop identity contracts are not folded into this sync.

Explicit native boundaries and follow-ups

  • NeoPi #698: restricted tool loadouts cannot currently be guaranteed through the CLI/RPC. Review-guide generation is explicitly unsupported on this path; no unsafe model investigation was run.
  • NeoPi #705, filed by the first officer with needs-triage and downstream: durable native-open/request idempotency and queue-gap recovery. New mobile tasks are online only; loss of a creation reply preserves the original draft and asks the user to inspect Sessions rather than automatically creating a duplicate. Known-session setup/send failures retain its canonical draft. No invented filename, acceptance receipt or GUI-owned durable receipt store substitutes for the missing capability.
  • html_render / html_preview still need NeoPiHostToolBridge/McpHttpServer admission and a non-SQL host-scope path; existing HTML handlers require SQL thread scope. MCP Apps additionally need runtime.mcpApps. These are not claimed operational for native sessions.
  • NativeTimelineView remains separate from upstream rich timeline rows. Generic MCP cases/graders are retained; the retired Claude/Codex-specific runner/templates are removed. Genuine NeoPi prompt/tool capture remains a follow-up, not an exercised model eval.
  • The Codex-only PR-content live eval runner is retired with the first officer's approval. Its exact adversarial project instructions, configured-developer-instruction fixture and request data remain in evals/pr-content/cases.json, alongside offline grading. Native disposable generation disables rules/context and has no equivalent instruction-injection seam; no fake replacement, expanded production loadout or live-eval coverage is claimed. Supported title and dictation-cleanup runners use current NeoPi contracts; no paid inference was run.
  • Cursor/Grok/OpenCode/Muse quota-reader source is retained unwired in retired provider workspaces. Native get_usage succeeded for cursor, xai-oauth, opencode-go and muse-code on NeoPi 18.10.3/protocol 2 without a model turn. Cursor's separate Overall row is intentionally replaced by native split pools; Grok monthly accounts and Muse refusal/retry scheduling were not exercised. No new GUI collector or credential registry was added.

Diagnostic exception authority

The owner explicitly approved exactly two next-line nodeBuiltinImport:off directives for synchronous PID/start-identity reads immediately before POSIX signals in NodePtyAdapter. The documentation requirement is docs/internals/effect-services.md:162–163: “Does every directive you added that disables a lint, type-checker, or LSP diagnostic say why, in a -- reason suffix or a comment above it?” Each directive supplies its reason. That documentation requires explanations; it is not blanket permission to waive diagnostics. Six separate narrow desktop test-only VM/private-XDG module-oracle exceptions are not part of the two production approvals. Other integration/type/lint failures were repaired.

Dependency review and the contained lifecycle incident

Read-only preflight covered selected new direct dependency metadata, native fork archives, hooks and advisories, not every transitive package or binary. A conditional fast-xml-parser DoS advisory was recorded. During a later focused verification, pnpm 12 automatically installed after five unused direct declarations and their matching lock importer records were removed, and ran five lifecycle hooks. This exceeded the frozen/ignore-scripts authorization and was reported immediately. Hook versions and integrity pins matched both the committed upstream source and staged frozen lock; all 1,567 downloaded package-cache integrity keys matched that graph.

A later canonical entry exposed a second root-only prepare execution despite both exported suppression guards: four packages relinked, zero downloaded, and vp config --no-agent ran. No dependency hook was logged in that later entry. This was reported immediately. Subsequent verification calls only existing tool binaries directly, not pnpm run or pnpm exec; the unchanged canonical wrapper is not run again. TMPDIR uses an owned short /tmp symlink into the mode-0700 worktree temporary directory to avoid Unix-socket length limits without moving temporary data outside containment; the alias is removed after verification.

Supply-chain review note, not a blocker: enriched-markdown 1.2.0-t3.18 additionally fetched 21 assets outside the pnpm lock graph. The following three were SHA-256 checked by its embedded manifest/scripts:

  • Tree-sitter runtime v0.26.3: https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.26.3.tar.gz, SHA-256 7f4a7cf0a2cd217444063fe2a4d800bc9d21ed609badc2ac20c0841d67166550.
  • RaTeX v0.1.15 XCFramework: https://github.com/erweixin/RaTeX/releases/download/v0.1.15/RaTeX.xcframework.zip, SHA-256 23e4dd2bfe5f81c8efe24e52195435723b0a86c61f100fca7b38068bbf9aae31.
  • RaTeX v0.1.15 sources/fonts: https://github.com/erweixin/RaTeX/archive/refs/tags/v0.1.15.tar.gz, SHA-256 a4296fa21cd40a56543602511bcf417014f4fee7cf5e1eaab58e0ac9610e3f63.

The other 18 npm grammar archives were version-pinned only, with no download hash verification:

  • tree-sitter-json@0.24.8
  • tree-sitter-html@0.23.2
  • tree-sitter-css@0.23.2
  • @tree-sitter-grammars/tree-sitter-markdown@0.3.2
  • @tree-sitter-grammars/tree-sitter-yaml@0.7.1
  • tree-sitter-go@0.23.4
  • tree-sitter-java@0.23.5
  • tree-sitter-javascript@0.23.1
  • tree-sitter-python@0.23.6
  • tree-sitter-c@0.23.5
  • tree-sitter-rust@0.23.2
  • tree-sitter-bash@0.23.3
  • tree-sitter-typescript@0.23.2
  • tree-sitter-cpp@0.23.4
  • tree-sitter-swift@0.7.0
  • tree-sitter-php@0.24.2
  • tree-sitter-ruby@0.23.1
  • tree-sitter-c-sharp@0.23.1

The scripts used and cleaned /tmp extraction directories; Node compile cache remains untouched as directed (regenerable tmpfs). The package manager also wrote a user-home pnpm policy/metadata cache; this was separately reported and left untouched. Shared Git config timestamps predated the incident. Containment quarantined the old generated dependency directories inside the worktree, then an explicitly authorized frozen --ignore-scripts restoration (side-effects cache disabled, local metadata/temp/compile caches) reused 1,567 records, downloaded zero packages, and ran no hooks. Direct provider-core compiler verification passed. Both npm_config_ignore_scripts=true and npm_config_verify_deps_before_run=false remain session-wide; no .npmrc change is committed. No native app build/install or live-state operation occurred.

Testing

All heavy verification was serialized under the existing polite relay/light lock: five shared logical CPUs, memory pressure above 4 GiB and 6 GiB hard limit. Pinned worktree Node/pnpm were used. Counts below are per-selection evidence and must not be summed as a deduplicated total.

Exercised selection Result
Native launch/project preparation, guarded permissions and WebSocket integration 109 cases / 5 suites pass; server, client-runtime and mobile typechecks exit 0 (bg227)
Desktop Clerk/URL ownership, browser-event bounds, catalog and shutdown integration 134 cases / 9 suites pass; nine-source lint and desktop typecheck pass (bg230)
Latest runtime regressions: timeline logic/active tools, preview bridge, landing, markdown and native mobile session/browser 137 cases / 7 suites pass (bg234); web typecheck explicitly exits 0
Actual Chromium regressions: native terminal/background tasks/pending files, local preferences, failed-send recovery, timeline, preview and welcome 88 cases / 8 suites pass (bg242), including all 52 timeline and all 12 preview cases
Native tree destination-grant denial/admission/revocation 26 permission cases pass; four-source lint and mobile typecheck exit 0 (bg236)
Static/native/mapping contracts 335 cases / 22 files pass; contracts typecheck and 39-source lint pass (bg213)
Native RPC transport and schema-backed error consumers 38 cases / 3 suites pass with RPC typecheck (bg211); later 96 cases / 3 suites and four-source lint pass (bg222)
Retained generic MCP grading/device cases 942 cases pass without a paid model call (bg144)
Isolated actual mobile submit-handler runtime proof Five scenarios pass: offline, lost creation response, lost send response, known-session setup failure, concurrent Send. Storage/network stand-ins; disposable proof removed
Canonical orphan-code closure Both unchanged Knip file/dependency and export checks pass; focused format/lint and provider-core/provider-testing typechecks exit 0 (bg14). No added exclusion or diagnostic waiver
Retained generic background-work, guest-share, dispatch-limit and selection-restart consumers 32 cases / 4 files pass against the preserved live integration layer (bg14)
Remaining package compile closure All 38 package typechecks pass across direct-binary runs: the first run passed 36; the two failing packages and three affected consumers subsequently all exit 0 (bg17/bg19). Includes actual Astro checking, not a substituted TypeScript-only pass
Observed desktop failures and updater repair 149 cases / 6 files pass with short contained TMPDIR (bg19), including the unchanged upstream remote-crossing regression and active-check/stale-offer invariants
Retained offline evals, mobile identity and maintainer-tool consumers 497 cases / 6 files pass (bg19); no model calls
Packaging preview and restore/locking regressions All 49 cases pass (bg20); subprocess builds use synthetic temporary fixture packages, not a NeoCode product build
Native config loading and final static closure Actual Expo config loads for development, preview and production with distinct existing package/scheme identities; focused format/lint, both unchanged Knip passes and final scripts types exit 0 (bg20)

The eight-suite browser selection used pnpm --dir apps/web exec vp test run with --project browser --maxWorkers=1 and these paths:

src/components/neopi/NativeSessionTerminal.browser.test.tsx
src/components/neopi/NativeBackgroundTasksPanel.browser.test.tsx
src/components/neopi/useNativePendingFiles.browser.test.tsx
src/hooks/useLocalStorage.browser.test.tsx
src/components/FailedSendDraftRecovery.browser.test.tsx
src/components/chat/MessagesTimeline.browser.test.tsx
src/components/preview/PreviewView.browser.test.tsx
src/components/onboarding/WelcomePage.browser.test.tsx

Package typechecks used pnpm exec effect-tsgo tsrs --noEmit --project <package>/tsconfig.json; lint used the pinned vp lint on each recorded scope. Exact recent command selections are recorded in the separate command-evidence appendix; the chronological ledger retains historical corrections. The preview regression initially failed 11/12 cases after the cursor case while passing in isolation: three legacy unawaited asynchronous act calls leaked the scope across tests. All three are now awaited; assertions remain, and no router/production workaround, timeout increase or skip was added. An earlier truncated web-typecheck report was corrected in the ledger; current web/mobile zero exits were read from complete output.

Canonical changed-scope wrapper

Owner authorization explicitly includes the unchanged scripts/check-changed.ts wrapper and its external temporary install --lockfile-only --ignore-scripts; the earlier worktree-only install restriction is superseded for that exact wrapper. The first invocation passed temporary unused-patch resolution across 39 workspaces, then failed spawn E2BIG after choosing cooperbit/main (46,547 files; 2 MiB ARG_MAX). The subsequent invocation uses its documented comparison argument:

vp run check:changed origin/nightly --concurrency 1 --timeout 1200

The earlier invocation completed with exit 1 using a private 24 MiB child stack (ARG_MAX 6291456), comparing 46,097 paths. Its lint, unused-code and provider-core findings were source-audited and repaired without blanket exclusions or additional diagnostic waivers. The export rerun completed in 16.71 seconds rather than timing out.

The subsequent unchanged canonical run (bg15), comparing 45,701 paths, also exits 1: unused patches, format (6,170 files), lint, both Knip passes, both GraphQL checks and 47 Node tests pass. Its task-runner typecheck failed before compilation because the long TMPDIR exceeded the launcher's Unix-socket pathname limit. Its broad 6,011-file test selection reported desktop/browser failures and aborted on a PDF manual-mock resolution after a 30-second browser heartbeat failure. The external diagnostic named /src/components/files/pdfDocument.ts; its cause chain is heartbeat timeout → closed resolveManualMock RPC, not evidence of the generic wrapper's suggested hoisted-variable error. The full raw log was inspected; the async rendering omitted critical middle output.

The first officer then required individual direct-binary steps, not another full wrapper. All 38 package compiles now pass across the recorded direct runs. The six-file desktop selection passes 149 cases; the isolated snooze suite passes 36 with no source change, which alone does not explain its broad-run failure. The real merge-introduced rejected-offer transition is restored under the updater publication mutex. Packaging preserves both active PR preview version formats through the existing preview-aware release owner, not the narrower CLI updater classifier. No full canonical or full test-suite pass is claimed.

Approved one-commit hook exception

The normal pre-commit hook (vp staged) timed out at 300 seconds on the 734+ staged paths in this upstream sync after reporting formatter/lint progress; no commit was created by that attempt. The first officer explicitly approved skipping that hook for this commit only, using command-local git -c core.hooksPath=/dev/null ... commit -S. No persistent Git configuration was changed and no diagnostic rule was disabled.

The equivalent checks already ran through the existing binaries directly:

  • Format: canonical formatting passed on 6,170 files; the final 28-file repair scope also passed direct vp fmt.
  • Lint: canonical changed-scope lint and final focused direct vp lint both passed.
  • Knip files/dependencies: node node_modules/knip/bin/knip.js --include files,dependencies --no-config-hints passed.
  • Knip exports: the unchanged canonical workspace-limited export command, with its complete workspace list in the command-evidence appendix, passed.

The command-evidence appendix records the exact arguments and pinned Node/tool paths for these checks. A successful full pre-commit-hook run is not claimed.

Baseline attribution

The exact remote-updater regression passes on upstream v0.1.8 (1 case, 25 filtered out), and both source parents finish rejected offers through the no-update reducer; the merge had dropped that transition. The first officer confirmed that repair belongs in this sync. The fork base has no matching case and pins Effect 4.0.0-rc.115, whereas the frozen overlay is 4.1.2: its attempted execution failed on a removed Effect import before running tests. This setup failure is not counted as a baseline reproduction or a passing comparison.

The focused upstream guest/PDF source comparison, using matching Effect 4.1.2 and the current frozen external dependency overlay, started but exceeded its unchanged 300-second command bound before producing assertion results. The fork browser comparison cannot load its old Babel plugin from that overlay. These comparisons do not establish heartbeat/mock origin, and neither a pre-existing defect nor a merge fix is claimed. No browser assertion was weakened, no timeout was raised, and no broad mock was added to make this verification pass.

No app, dev server, product build or integrated web/desktop/mobile client was launched: the mission explicitly forbids that. Live NeoCode, live userdata and other checkouts were untouched. Uploaded UI captures are isolated 640×180 component crops with synthetic model/effort labels, not evidence of an integrated application pass. All three public attachments were opened for the final privacy check. Full repository-wide checks remain CI's responsibility and are not claimed green here.


  • vp check and vpr typecheck pass (CI runs both; locally run only the checks for the touched scope, per AGENTS.md › Verifying)
  • Tested locally
  • Before/after images (video for motion) uploaded to GitHub for UI changes, not committed (if user-facing)

Model: openai-codex/gpt-6.1-sol (high)
Harness: NeoPi

juliusmarminge and others added 30 commits November 5, 2026 22:08
…tgg#31801)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…gg#31842)

Combine the ten runtime recovery collections into one SQLite statement, leaving the initial thread lookup separate. Preserve collection filters, ordering, decoding and ordered reconciliation after prior commits.

Extend startup/shutdown idempotency coverage and guard against full message and run history scans. Synthetic stress measurements show fewer database requests; overall desktop quit latency remains unmeasured.

Implemented with GPT 6.1 Sol through the Codex harness in T3 Code.
… tiles (pingdotgg#28223)

Co-authored-by: Priyansh4444 <105874877+Priyansh4444@users.noreply.github.com>
Co-authored-by: Tanner Polley <42780259+tannerpolley@users.noreply.github.com>
Co-authored-by: Maria <maria-rcks@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Alessio Fano <alessio.fano@swisscom.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ry (pingdotgg#31285)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#25971)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… bottom (pingdotgg#27691)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
A PR based on a branch other than the default saved a ~1 GB pnpm store
that only its own reruns can read, which evicted shared entries. These
PRs still restore and install; pushes, releases, and default-base PRs
save as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ves (pingdotgg#31942)

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

Co-authored-by: Theo Browne <me@theo.li>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#31941)

Release and macOS preview bundle jobs can check out a ref from before
build:desktop:bundle existed. Those refs now install libsecret and run
build:desktop as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… sites (pingdotgg#31142)

Give crawlers a consistent download URL, a sitemap, and links to the official repository and app listings. Publish the monitored security contact in the site and repository policies.

Takeover by Claude Opus 5.5 in Claude Code. Follow-up by GPT-6.1 Terra [1m] in Codex.

Co-authored-by: Victor Valentine Romo <213858052+b2bvic@users.noreply.github.com>
…otgg#29284)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…nch's own pull request (pingdotgg#29817)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…node of the thread (pingdotgg#31012)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#31584)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#31586)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#31017)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@PsychedelicShayna PsychedelicShayna added upstream Upstream is involved: sync, compatibility, conflict avoidance or divergence human: pending Needs an in-the-loop (ITL) session with a human labels Nov 13, 2026
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Nov 13, 2026
@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 1/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44595 bytes; SHA-256 eef2200872e99b6b9cd00a13253272a3e89d8ef3de11886370ea6492e3ac9452.

Base: b02af4beafb23599d13142b1c559e32f22f622db (origin/nightly).
Source: v0.1.8, lightweight unsigned tag at bf469bb19669671d0df2efda74ed73867a7137c0.
Recovery: backup/neocode-pre-upstream-2026-11-11.
Restart rationale: stalled sync/2026-10-14 is 470 commits behind current origin/nightly with 87 unique commits; old merge integrated v0.0.45. Preserve old branch intact; fresh integration avoids replaying stale fork changes.
Authorization: owner says "If you mean NeoCode, go right ahead. Don't cherry pick just the visuals, we're out of sync with upstream as it is."

| Path | Resolution | Fork behavior kept | Upstream change taken | Why |
| --- | --- | --- | --- | --- |
| .agents/skills/test-t3-app/SKILL.md | Both conflict blocks ours; automatic upstream changes retained | Private-state Xvfb fallback and NeoPi-only verification | Unconflicted documentation updates | Upstream insists Browser-only and introduces retired provider scenarios; fork verification surface and execution boundary remain authoritative. |
| .github/pull_request_template.md | Preserve deletion | Fork uppercase PULL_REQUEST_TEMPLATE.md remains authoritative | No competing upstream PR policy | Fork PR workflow, not an application feature. |
| .github/triage/PLAYBOOK.md | Combine upstream permission/form workflow with fork repository | Reports go only to PsychedelicShayna/neocode, with user approval | Permission check, per-field URL encoding and 6,000-character bound | New triage mechanics are useful; upstream destination is not the fork tracker. |
| .github/workflows/ci.yml | Adopt upstream job graph and affected-package gating; reseat fork runner choices | nightly push trigger, GitHub-hosted Ubuntu/macOS, fork release checks, PR asset rejection | Separate lint/build/web jobs, change detection, cache-aware server sharding, release-smoke timeout | Upstream CI features retained without unavailable Blacksmith infrastructure; remove Blacksmith-only apt source rewrites. |
| .github/workflows/deploy-relay.yml | Keep fork eligibility/runner block | main-only fork deployment on ubuntu-24.04 | All non-conflicting upstream relay workflow changes | Upstream repository guard would disable existing fork deployment; Blacksmith is unavailable. |
| .github/workflows/mobile-fingerprint-check.yml | Adopt upstream comments and label-result artifact | Fork precise merge/base comparison, relevant-path filter, ubuntu runner, pull_request read-only permissions | Cross-workflow changed-platform output/artifact | Adds upstream reporting without privileged execution of PR code. |
| .github/workflows/release.yml | Use upstream exact repository guard for upstream release graph | Separate fork channel/ref/tag/artifact release graph unchanged | Upstream release graph updates | Exact pingdotgg guard is stricter than excluding only this fork and keeps upstream production credentials/publishers disabled here. |
| AGENTS.md | Preserve fork identity/policy; adopt V2 architecture, safe seeding and detailed testing; keep native verification | NeoPi-only execution, NeoCode identity, fork PR workflow, native sessions, fork-owned file registry | V2 event/outbox explanation, read-only pruned statev2 seeding, upstream test conventions, agent capability reachability guidance | Retain upstream engineering guidance without reintroducing retired providers or replacing fork governance. |
| CONTRIBUTING.md | Keep complete fork governance document | Fork request destination, vouch/preview rules and policy authority | None; upstream contribution-governance rewrite not product functionality | New upstream model bans, upstream-only triage authority and exemptions are not authorized fork policy changes. |
| README.md | Retain NeoPi-only introduction/install instructions and attribution; label upstream Nix package explicitly | NeoCode fork downloads and NeoPi setup | New upstream Nix package information and unconflicted documentation links | Do not present retired CLI harnesses or upstream packages as NeoCode installation. |
| apps/desktop/gnome-extension/metadata.json | NeoCode text with upstream shell compatibility/version | NeoCode branding and stable extension UUID | GNOME 51 support, extension version 3 | Branding does not require dropping platform support. |
| apps/desktop/package.json | Retain NeoPi RPC workspace dependency and NeoCode Alpha product name; upgrade Electron | NeoPi desktop bridge and NeoCode identity | Electron 44.10.1 and all unconflicted dependency/script changes | Execution dependency and branding are independent of upstream Electron upgrade. |
| apps/desktop/scripts/electron-launcher.mjs | Keep NeoCode display name; take upstream comment removal | NeoCode Dev/Alpha presentation, existing bundle/protocol identities | Comment cleanup and auto-merged launcher improvements | Product presentation remains fork-owned; runtime improvements retained. |
| apps/desktop/scripts/electron-launcher.test.mjs | Adopt upstream removal of direct private-helper tests | Existing launcher cleanup/path safety regressions remain | Tests align with now-private macOS helper functions | Protected-access reasons and signing implementations remain in launcher; no obsolete helper imports restored. |
| apps/desktop/scripts/main-process-bundle.test.mjs | Keep NeoPi CLI entry and sandbox source copies | Packaged NeoPi dispatcher regression coverage | Upstream absolute entry/build API changes outside conflict | Packaged boot still has NeoPi execution path; it must remain represented in test entries. |
| apps/desktop/scripts/smoke-test.mjs | Keep fork file despite upstream deletion | Isolated GUI process ownership, private state, retained logs and verified teardown, proof harness entrypoint | New upstream scripts/smoke-desktop-app.ts retained separately | Upstream replacement does not establish equivalence to fork ownership/cleanup contract; isolated-gui-process.proof.mjs still calls this file. |
| apps/desktop/src/app/DesktopApp.ts | Add upstream Config/WSL window readiness; retain fork early activation claim and shutdown timeout | Environment claimed before writer starts, failure remains fatal, NeoPi stop budget | Session-config import, preflight-aware early window creation, control-socket readiness log | Upstream late activation would weaken fork writer ownership; do not start activation twice or swallow ownership failure. |
| apps/desktop/src/app/DesktopAppActivation.ts | Upstream untraced Effect function retains renderer id argument | Completion remains bound to the actual registered renderer | Updated Effect function style and span ownership | Dropping id would weaken fork multiwindow completion/identity semantics. |
| apps/desktop/src/app/DesktopAppIdentity.test.ts | Retain custom-home and legacy-profile regressions; adopt upstream User-Agent validity cases without branding-copy pins | Custom backend homes never share Chromium storage/lock; existing default/dev profiles remain readable | Native User-Agent token validation and updated service fakes/layers | Saved fork data takes precedence over a forced V2 profile reset; syntactically valid User-Agent fixes preview authentication independently of display branding. |
| apps/desktop/src/app/DesktopAppIdentity.ts | Reseat preserved profile selection ahead of upstream DesktopUserData initializer and adopt User-Agent fix | Custom-home Chromium/lock isolation; existing legacy and current default/development profiles | Shared V2 initializer for fresh installations, structured initialization errors, User-Agent-safe runtime name | Forced V2 relocation would abandon saved NeoCode browser state; fresh installs retain upstream Windows credential initialization. Clerk must invoke this same resolver before taking the lock. |
| apps/desktop/src/app/DesktopClerk.test.ts | Consolidate upstream pre-ready/link regressions with fork activation and lifecycle matrix | Activation captured during bridge construction and before/after configure; OAuth remains SDK-owned; scoped listener cleanup and structured failures | Synchronous profile-before-lock initialization, early secondary-launch rejection, queued pairing/app/web links and sanitized return navigation | Keep both observable lifecycle contracts; remove retired ChatGPT desktop authentication execution tests and replace upstream yield-based waiting with explicit delivery receipts. Verification deferred until conflict integration. |
| apps/desktop/src/app/DesktopClerk.ts | Merge upstream early lock/link queues with fork profile resolver, bridge and activation | Shared Linux URL ownership; selected-profile lock; SDK-only Clerk OAuth delivery; buffered second-launch activation through DesktopWindow and quitting guard | Explicit pre-runtime lock admission, app/pair/web/file links, sanitized return navigation and private Clerk token storage via fork bridge | Do not restore retired Codex auth handoff. Fork bridge now accepts the selected userData path and disables SDK lock management because DesktopClerk owns admission; its SDK-isolation tests are adapted without filesystem effects. |
| apps/desktop/src/app/DesktopConnectionCatalogStore.test.ts | Preserve recovery, durability and fault regressions while reconciling helper names and new Effect imports | Keyring-free empty loads; ciphertext preservation; blocked writes; re-add/restart; Windows sync handling; migration/error coverage | NodeCrypto layer and Base64 module migration | Upstream deletion of error and clear tests does not replace the fork's stronger recovery/round-trip contract. |
| apps/desktop/src/app/DesktopConnectionCatalogStore.ts | Preserve serialized recovery-aware get/set/clear and migrate recovery random calls to SecureRandom | Durable ciphertext preservation and recovery records; blocked destructive writes; empty-profile keyring deferral; legacy migration | Effect 4.1 SecureRandom/Base64 modules and unconflicted changes | Upstream simple get/set and removal of clear do not satisfy fork recovery contracts; auto-merged recovery code also needed the new random service. |
| apps/desktop/src/app/DesktopLinuxUrlHandler.test.ts | Adopt upstream MIME-cache/helper-kill/theme-icon regressions on one fixture with fork URL-registration decisions | Ordinary source startup cannot overwrite an installed handler; complete explicit dev command and separate scheme; existing defaults avoid xdg-mime writes | Persistent icons, case-sensitive theme aliases, stale-byte/cache refresh, launcher selection and helper force-kill regressions | Keep product ownership rules while testing upstream installation/cache behavior. Renderer tests use the fork command-array owner rather than restoring obsolete execTarget exports. |
| apps/desktop/src/app/DesktopLinuxUrlHandler.ts | Keep fork shared URL decision/renderer, take upstream persistent icons and bounded cache helpers | Installed-handler protection, full source argv and environment cleanup, explicit scheme ownership and existing-default detection | Theme aliases/cache invalidation, persistent chooser icon, MIME cache refresh, five-second helper deadlines with forced shutdown | One renderer owner avoids conflicting escaping rules; fork-owned DesktopUrlRegistration accepts upstream iconPath and distribution launcher inputs. Prepared dev portal metadata refreshes MIME cache without claiming its scheme. |
| apps/desktop/src/app/DesktopPreReadyPlatform.test.ts | Combine fork mutable packaged/source fixture with upstream synchronous scaling, portal icon and distro-launcher cases | Explicit password-store preservation, ordinary source installed-handler protection, idempotent complete source registration | Persisted scaling before Electron readiness, early icon availability and configured launcher selection | Remove display-copy pins and synthetic Clerk-shaped wiring test; retained tests exercise actual pre-ready behavior. |
| apps/desktop/src/app/DesktopPreReadyPlatform.ts | Combine fork ownership-gated idempotent desktop entry with upstream configured launcher, icon and scaling setup | Complete source argv; source startup cannot replace installed URL handler; shared scheme/default ownership; selected password-store | Synchronous scale restoration, persistent chooser icon before portal startup, config-driven distribution launcher and merged Hyprland disable-features | One pre-ready registration plan feeds Clerk and post-ready handling; preserve existing fork entry and command contracts without dropping upstream platform fixes. |
| apps/desktop/src/backend/DesktopBackendConfiguration.test.ts | Combine upstream shell-readiness harness with fork environment overrides | Packaged Linux bundled-resource availability without development leakage; stdin-parent lifetime flag on WSL launch | Scoped rotating bootstrap-token assertions, new Effect crypto/process imports and updated shell-discovery harness | Both harness inputs are independent; adapt fork calls to the expanded signature without reverting upstream configuration changes. |
| apps/desktop/src/backend/DesktopBackendManager.test.ts | Retain native shutdown window and adapt upstream force-kill completion regression to the actual configured grace | Backend quit does not preempt owned NeoPi EOF/TERM shutdown; force-kill grace exceeds native close budget | New Effect HTTP/process modules and upstream startup-policy/readiness cases | Exercise lifecycle at the instance boundary instead of restoring a now-private DesktopApp helper; share the fork stop budget rather than pinning upstream's shorter five-second grace. |
| apps/desktop/src/backend/DesktopBackendManager.ts | Retain parent-lifetime stdin and NeoPi-aware shutdown budgets; take upstream backend refactor | EOF lifetime pipe for primary/WSL; native close window before forced termination; output-drain headroom | Subscription state, managed-policy/state-dir startup handling, browser transport and new Effect HTTP/process modules | Upstream five-second grace would cut off owned runtime shutdown. Keep one DEFAULT_BACKEND_STOP_TIMEOUT; migrate DesktopUpdates' new BACKEND_QUIT_STOP_TIMEOUT consumer when reached in sequence. |
| apps/desktop/src/backend/DesktopBackendPool.ts | Use neutral fork guidance with upstream settings destination | No upstream product name in fallback diagnostics | Sharing & access destination and all unconflicted startup-state/pool refactors | Branding is independent of navigation changes; retain upstream recovery guidance for the renamed settings surface. |
| apps/desktop/src/boot.ts | Retain NeoPi CLI dispatch and take upstream comment removal | Packaged --npi bypasses Electron application initialization | Nonfunctional comment cleanup | Bundled NeoPi execution remains a required fork entrypoint. |
| apps/desktop/src/electron/ElectronWindow.test.ts | Keep fork multiwindow lifecycle/X11 reveal cases; take upstream unrelated test deletion and new foreground evidence | Active renderer selection, surviving/reopened window registration, caller lookup and restored/shown/focused/raised X11 states | HiDPI-converted Windows foreground target and cancellation/auxiliary-window regressions | Upstream removal of older tests is not permission to drop the fork's added multiwindow contracts; migrate retained cases to renamed test layers. |
| apps/desktop/src/electron/ElectronWindow.ts | Retain fork multiwindow registry and merge upstream auxiliary-window exclusion/function builders | Focus-aware registered renderers, fromWebContentsId routing, survival across close/reopen and Linux stacking | Auxiliary windows never become fallback main windows; physical-pixel Windows focus targets; named Effect methods | A singleton main-window ref would erase the fork's concurrent-window contract; auxiliary tracking is additive and compatible with the registry. |
| apps/desktop/src/ipc/methods/snapShot.test.ts | Take upstream test cleanup while retaining caller-specific renderer fakes and their type | Capture/config IPC authorization resolves the invoking renderer, not a singleton main window | Removal of forwarding/older duplicated cases; retained config read/write trust and coordinate regressions | Fork changes in deleted cases were only fake construction; active authorization coverage retains the multiwindow boundary. |
| apps/desktop/src/ipc/methods/window.test.ts | Keep fork caller-specific fullscreen regression alongside upstream policy/fullscreen tests | Requesting renderer state cannot be replaced by another focused window's state | Telemetry managed-policy, rotating bootstrap, expanded favicon and HTML-fullscreen tests; upstream older-case deletion | Preserve the fork-added regression, not every old test whose only fork change was a mock field. |
| apps/desktop/src/permissions/MacPermissionHelper.test.ts | Take upstream deletion of older helper cases | No fork behavior depended on the changed error-wording assertion | Upstream test cleanup and retained superseded-probe regression | The only fork change inside the removed block unpinned a product-name string; do not resurrect deleted tests just to preserve that edit. |
| apps/desktop/src/preview/Manager.test.ts | Adopt upstream screenshot-collision case and relocate the fork's obsolete desktop automation result assertion to the new server control owner | Auto-merged multiwindow guest/capture tests retained; SessionControl close regression now requires late actions and observations to fail | Same-millisecond screenshot identities and upstream server-owned automation migration | Desktop automation methods are removed upstream, not shimmed back. Per-ServerTab timelines replace the desktop key maps; the result-after-close gap is fixed and covered at SessionControl. Runtime verification remains pending. |
| apps/desktop/src/preview/Manager.ts | Adopt server-owned automation and preserve fork multiwindow/lifecycle cleanup at its new owners | Multiple host windows; guest-specific destroyed cleanup; monotonically unique local lifecycle IDs; voice annotations return to their own host renderer | Upstream browser host/annotation features and deletion of obsolete local automation | Shared prerequisites: SessionControl rejects closed-tab late results; DesktopBrowserHost.detach checks concrete guest identity; DesktopBrowserChannel guards endpoint writes/releases under its write lock. Existing control/host tests and AGENTS fork registry updated. Endpoint race runtime proof remains part of verification, not a claimed pass. |
| apps/desktop/src/settings/DesktopAppSettings.test.ts | Keep PlatformError for fork preservation tests and drop the removed Option import | Invalid/unreadable settings backup, blocked persistence and recovery regressions | New crypto/tracing setup, updated bounds behavior and upstream test cleanup | Both behavior sets auto-merged; only their import requirements conflict. |
| apps/desktop/src/settings/DesktopAppSettings.ts | Keep serialized failure-latched loads/backups and adopt upstream setter tracing/symlink-safe writes | Unreadable/invalid preferences are preserved, backed up and block persistence until a successful reload | New minimum bounds, SecureRandom, symlink-target writes, shared channel classification and named setter spans | Upstream permissive load would erase the fork's data-preservation contract; backup UUID creation also had to migrate from the removed Crypto API. |
| apps/desktop/src/settings/DesktopClientSettings.test.ts | Take upstream removal of obsolete fixture fields | Fork's retired floating-composer preference stays removed | Updated client schema fixture, symlink persistence and failure-cleanup tests | Neither leftover field is consumed by NeoPi-owned UI; keeping obsolete inventory in a persistence fixture would not preserve behavior. |
| apps/desktop/src/shell/DesktopShellEnvironment.test.ts | Preserve real-executable diagnostic sentinel cases alongside upstream discovery/cache tests | Diagnostic mode never runs profiles or rediscovers the live bus; ordinary hydration still executes | Nonblocking cached startup, fresh PATH replacement, user-shell fallback and new Effect process imports | Retained fixture now supplies private state/home and awaits discovery, matching upstream's asynchronous startup without touching host profiles or sockets. |
| apps/desktop/src/shell/DesktopShellEnvironment.ts | Move fork diagnostic bypass ahead of upstream cache/discovery construction | Complete private diagnostic environment is never changed by cached hydration, profiles or live-bus discovery | ShellDiscovery result, nonblocking cached startup, fresh environment updates and user-shell attribution | Guarding only installShellEnvironment would still allow cache publication to overwrite diagnostics; return an already-prepared diagnostic module before any cache or probe work, with no claim that a login shell ran. |
| apps/desktop/src/snapShot/DesktopSnapShot.test.ts | Take upstream deletion of older capture cases | Fork brand-text unpinning in removed assertions needs no retained compatibility test | Updated capture setup/permission/concurrency cases and SecureRandom fixture | The fork changed only wording assertions in this conflict, not capture behavior; remaining upstream regressions exercise the new capture implementation. |
| apps/desktop/src/snapShot/DesktopSnapShot.ts | Use upstream typed tryPromise with fork-neutral restart guidance | Visible capture diagnostics remain NeoCode-neutral | Explicit shortcutFailure error mapping plus all unconflicted capture setup, image and Effect upgrades | Preserve user-facing identity without losing upstream typed shortcut registration failures. |
| apps/desktop/src/snapShot/PortalCaptureShortcut.test.ts | Take upstream older-case deletion | Fork product-name unpinning needs no resurrected test | Remaining portal binding/consent/disconnection coverage and test cleanup | Conflict is solely a removed case whose fork change deleted a text assertion. |
| apps/desktop/src/snapShot/snapShot.ts | Take upstream removal of uncalled hideAndWaitForBlur | No surviving caller requires the fork-neutralized timeout message | Dead helper removal, browser AX-title matching and key-name normalization | Retaining an unused function only for its branding edit would restore dead code. |
| apps/desktop/src/ssh/DesktopSshEnvironment.test.ts | Preserve upstream deletion | No fork runtime contract changed; fork only removed a legacy brand-string assertion | Upstream low-signal test pruning | Recreating the removed test file would preserve wording/wiring tests rather than fork functionality. |
| apps/desktop/src/updates/DesktopUpdates.ts | Retain atomic state admission/publication and apply upstream policy/floor rules inside those latest-state transforms | Queued checks/download/progress/completion cannot overwrite newer state; updater shutdown uses NeoPi-aware DEFAULT_BACKEND_STOP_TIMEOUT | Managed-channel disabled checks, checked release floor/downgrade safety, dated release notes and upstream install policy | A synchronous instance-local floor predicate allows channel/floor eligibility to be evaluated with the actual state under the mutex, instead of a stale pre-await snapshot. |
| apps/desktop/src/updates/updateChannels.test.ts | Take upstream classifier-test module deletion and migrate meaningful cases to shared release tests during that file's resolution | Preserve numeric-attempt and legacy git-revision classification, malformed suffix rejection and preview feed isolation | One shared release classifier, not a desktop-only copy | Regression cases belong beside cliReleaseChannelOf/desktopUpdateChannelOf after upstream centralized these contracts; migration remains an explicit integration obligation. |
| apps/desktop/src/updates/updateChannels.ts | Remove duplicate desktop-only classifier and migrate its remaining branding/packaging consumers to shared cliRelease classification | Nightly/preview branding and fork run-attempt/git-revision semantics remain required in shared classifier | Upstream shared desktopUpdateChannelOf is authoritative for track decisions | DesktopEnvironment now uses cliReleaseChannelOf; artifact wrapper now uses desktopUpdateChannelOf. Shared classifier/test git-revision migration remains due when those conflicts are reached; AGENTS registry updated. |
| apps/desktop/src/window/DesktopApplicationMenu.ts | Keep fork multiwindow menu and adopt upstream renderer-owned close shortcut | New Window and separate Close Window/Quit stay available on every platform; visible update copy stays NeoCode | Ctrl/Cmd+W no longer closes app windows; focused DevTools can close; reload/devtools/zoom target main contents | Use an explicit accelerator-free Close Window action instead of the fork's Electron close role, which would steal the renderer tab-close chord. |
| apps/desktop/src/window/DesktopWindow.test.ts | Keep fork cold-activation, destroyed-main, multiwindow recovery/creation and complete-display coverage alongside upstream cases | Pending activation reaches a real main, another window survives renderer recovery, and spanning windows preserve placement without gaps | 1px window-manager snap tolerance, main-contents targeting, renderer history and upstream test pruning | Removed duplicated Clerk-to-activation wiring cases (Clerk owns ingress tests; window tests own readiness behavior) and older upstream-deleted context-menu/conceal/setup cases; retained fork Queue receipt fixture and upstream Exit fixture. |
| apps/desktop/src/window/DesktopWindow.ts | Combine fork multiwindow/startup ownership with upstream quitting/reveal/history guards | Registered-main-only activation, queued New Window, per-window bounds flush/recovery and union-of-displays placement remain intact | Pending-first-reveal gate, startup-close intent, quitting checks, renderer-history registration, content commands and 1px snapped-edge tolerance | One mainWindowMutex serializes creation and queued window consumption; shared pending-reveal map replaces duplicate ready tracking. Shrink only the tested outer frame by 1px before display-union subtraction, preserving interior gap detection. Removed the upstream single-display rejection of a valid adjacent-display span; existing fork span cases cover it. |
| apps/mobile/README.md | Preserve fork distribution truth and take upstream development workflow updates | Separate NeoCode package/schemes/signing and disabled upstream OTA/store ownership | Fingerprint-cached native installation, phone/session support and obsolete highlighter-toggle guidance removal | Upstream store availability does not apply to this fork; its updated source-development instructions do. Runtime/package version statements require the merged dependency verification later. |
| apps/mobile/app.config.ts | Preserve fork identities/distribution and adopt upstream native feature configuration | NeoCode package/schemes, owner-selected signing, versionCode and disabled upstream OTA; no upstream team/project/domain claim | Per-platform widgets/initial layouts, Android recording permission, iOS PiP audio, compiler, feature flag, Observe endpoint and native plugin updates | HTTPS thread association is optional via documented NEOCODE_MOBILE_APP_HOST with matching manifest hostedAppUrl; App.tsx must admit that configured prefix at its sequential resolution. Observe keeps its endpoint without adopting upstream EAS project ownership. |
| apps/mobile/eas.json | Combine fork-owned build profiles with upstream simulator/toolchain/testflight build support | Local version authority, default internal APK distribution and no upstream OTA channels/environment/submission credentials | Updated Xcode image, simulator profile, source maps and optional TestFlight archive profile/version override | Store-signing remains an explicit optional build requiring a maintainer-owned project/signing, never an inherited upstream submission target. README distinguishes internal defaults from that archive profile. |
| apps/mobile/generated-uniwind-default-theme-variables.json | Keep Neo palette values and add upstream prominent-action semantic tokens | Existing fork graphical defaults and tonal drawer/readability values | Both new prominent-action keys in light and dark defaults | New keys use source-derived default [colors.text, colors.canvas], not upstream palette literals. Re-run the existing generator under admission after dependency/source reconciliation. |
| apps/mobile/generated-uniwind-themes.css | Preserve Neo defaults and add source-derived prominent-action pair while taking all upstream adaptive/palette additions | Fork semantic colors and generated Clerk roles remain intact | New action tokens and adaptive color classes across every generated built-in palette | Light/dark default action pairs match merged JSON and mobileTheme derivation; full generator verification remains deferred until admitted integrated verification. |
| apps/mobile/modules/t3-subscription-widget/android/src/main/java/expo/modules/t3subscriptionwidget/SubscriptionUsageWidget.kt | Preserve upstream retirement of custom Android widget implementation | Fork-only fallback scheme change is superseded by actual configured-variant URL generation | Replacement Expo Android widget, expiry scheduling and interaction publisher | SubscriptionUsageCoordinator supplies Linking.createURL with the configured fork scheme; replacement publisher opens snapshot.url. Keeping the obsolete Kotlin provider would duplicate the widget owner. |
| apps/mobile/modules/t3-subscription-widget/android/src/main/res/values/strings.xml | Preserve upstream resource deletion and carry product-neutral copy into replacement Android widget | Empty/stale/connect widget guidance does not name upstream T3 | Expo widget replaces custom resource/provider owner without restoring its old module | Replacement SubscriptionUsage.android.tsx uses neutral app guidance; AGENTS registry migrates to that source, and README now correctly distinguishes Android subscription widgets from iOS-only Agent Activity widgets. |
| apps/mobile/src/App.tsx | Keep fork schemes and combine upstream root runtime/navigation lifecycle | Only NeoCode custom schemes register in the client; configured fork hostedAppUrl is admitted alongside existing hosted-link support | Persistent workspace routing, prompt/settings/pairing links, shortcuts, share inbox, outbox/uploads, permission notice, refresh disposal and native layout/voice hosts | App reads the explicit hostedAppUrl manifest value added in app.config.ts, completing the configured HTTPS-prefix consumer without claiming upstream OS associations. |
| apps/mobile/src/Stack.tsx | Migrate native routes/context into upstream workspace navigator and flattened settings | Models and NativeSession routes, canonical native keyboard/workspace identity and native pathname projection remain present | Duo/workspace routing, Android tabs, draft-scoped flow, settings filters, PR/review/MCP-app/browser/queue/agents screens and upstream root lifecycle | Keep routeName plus nativeWorkspace in location results; root pathname also projects native identity. Existing About is now generic upstream copy; remove its obsolete branding import rather than restore the old nested settings stack. |
| apps/mobile/src/components/CompactBrandTitle.tsx | Keep text-only NeoCode branding and adopt responsive upstream title behavior | No restored upstream wordmark; default accessibility label uses APP_BASE_NAME | Optional custom accessibility label, fit-aware stage badge, bounded Dynamic Type and workspace-column offset | Update moved ui imports and preserve layout-measurement behavior without reintroducing a logo or obsolete header-option owner. |
| apps/mobile/src/components/ProviderIcon.tsx | Keep explicit NeoPi glyph and adopt upstream metadata-backed icon renderer/badges | Native execution identity wins before generic provider metadata; historical/inference identities remain readable | Shared provider icon paths/gradients, validated registry artwork and contrast-aware unclipped account badges | Remove superseded local Cursor/OpenCode SVG copies rather than restore retired execution paths; icon display alone does not enable a harness. |
| apps/mobile/src/components/T3Wordmark.tsx | Preserve fork deletion of the upstream text wordmark | NeoCode identity remains text-only and uses existing neutral work-log symbols | Upstream change only removed a comment in this component | CompactBrandTitle no longer imports it. The still-unmerged thread-work-log.tsx has an upstream import/use that must be removed in its sequential reconciliation, preserving the fork's neutral tool icon. |
| apps/mobile/src/features/agent-awareness/remoteRegistration.ts | Keep NeoCode activity title in upstream live-activity call shape | APP_BASE_NAME remains visible identity | Explicit stale-date argument plus upstream registration/token/widget lifecycle changes | Fork changed only the title; preserve the full new lifecycle instead of the old single-argument activity call. |
| apps/mobile/src/features/connection/pairing.test.ts | Keep fork explicit-payload preservation regression and upstream pruning | All fork schemes preserve the pairing server and one-time credential exactly; upstream wrapper coverage remains | Remove older raw-trim and wording-pinned empty-payload tests | The fork regression covers package coexistence and credential destination, not static copy. |
| apps/mobile/src/features/devices/DevicePreviewRouteScreen.tsx | Preserve canonical native target support in upstream full-screen/embedded device UI | Native workspaceResourceId and legacy thread namespace stay distinct without manufacturing SQL records | Initial device selection, blank-link rejection, shake controls, maximization, responsive insets and new device controls | Route params combine the native/legacy union with optional deviceKey; remove the obsolete nested navigator and pass normalized environment/resource identity into the updated shared screen. |
| apps/mobile/src/features/devices/threadDevicePreviews.test.ts | Keep native namespace/profile/file isolation regression while accepting upstream older-case pruning | Native and legacy resource selection remain independent without SQL records | Existing distinct-host selection and close fallback coverage; remove older metadata-placeholder/empty cases | Retained fork case verifies canonical namespace selection and excludes other profiles/files, not UI copy or callback forwarding. |
| apps/mobile/src/features/diagnostics/crash-log-model.test.ts | Take upstream older diagnostic-format test deletion | Fork only unpinned branding assertions in these removed cases | Focused retained crash-record parsing coverage and low-signal test pruning | Do not resurrect static-report wording tests to preserve a branding-only assertion change. |
| apps/mobile/src/features/diagnostics/crash-log-model.ts | Preserve branding import and take upstream comment cleanup | Exported reports retain NeoCode APP_BASE_NAME | Removed low-value source narration with parsing/formatting behavior unchanged | Keep the actual fork identity change, not the surrounding deleted documentation block. |
| apps/mobile/src/features/diffs/nativeReviewDiffHighlighter.ts | Take upstream native lexer architecture and retire the displaced local Shiki handle | The fork's getReviewTokenizer fixed hidden TextMate stoppedEarly output; that engine/call is gone on this path | Shared native highlights, theme-independent byte-capped LRU, full-source/segment coherence, cancellation and retryable source-load failures | Source-verified lib/highlights.ts now uses native records; t3_highlights.c runs the lexer without TextMate time limits and returns failure on traps, with HybridT3Highlights returning null for intentional plain fallback. Do not retain the old parallel grammar/theme/cache implementation solely to keep its retired workaround. |
| apps/mobile/src/features/files/FileMarkdownPreview.tsx | Keep native file-relative media authority in upstream enriched Markdown/media preview surface | NativeRef and resolved file path travel together through rendering, signed inline-image loading, previews, file labels and file navigation | Enriched renderer, expanded image/video/file affordances, native image-source hook and refresh behavior | Companion useMarkdownImageSource accepts the caller's media resolver rather than stripping native identity; NeoPiJournalContent uses current UI imports, no-argument shared styling and the enriched component instead of the retired Nitro fallback. Added resolvedFilePath input to still-unmerged markdownMedia.ts; its early document/PDF/audio branch must retain native resources during that file's resolution. Registry updated; no runtime verification yet. |
| apps/mobile/src/features/files/ThreadFilesRouteScreen.tsx | Preserve native file/media context across upstream permission-aware file/directory browser and inspector updates | Native routes do not select a SQL thread or borrow its cwd; native asset/video identity, retry and return navigation remain intact | File-access states, metadata/directory browsing, delimited previews, inspector host, source controls and correct directory-relative destinations | Native file selections retain ref/cwd through push or navigate; only legacy inspector routes receive a normalized SQL route. Preview remount keys and generic inspector reset keys include native identity so same-path files in different profiles cannot reuse stale view state. |
| apps/mobile/src/features/files/workspaceFileAssetUrl.ts | Keep native ref/resource projection and accept upstream derivation/comment cleanup | Native profile/session identity remains in asset resources and memo dependencies; authored relative paths remain server-anchored | Direct absolute-path derivation and simpler hook source | Preserve the nativeRef field without restoring the removed draft-field narration; legacy thread and actual draft paths remain unchanged. |
| apps/mobile/src/features/home/HomeRouteScreen.tsx | Keep native discovery as default Home and preserve the upstream saved-thread work list behind an explicit Saved threads view | NativeSessionBrowser remains the entry surface, Models/discovery are not replaced by SQL history, and the new view has a Native sessions return action | Project/environment/search/grouping preferences, thread/pending-work actions, undo notice, workspace detail routing and visibility-paused list subscriptions | Upstream saved-thread component mounts only when requested, not beside every streaming native session. Its old automatic split-view empty-detail fallback is obsolete for this explicit view. NativeSessionBrowser companion adopts current UI Button/AppText/settings navigation and exposes the view callback; README updated. Startup update checks stay with upstream App runtime, not duplicate Home effects. |
| apps/mobile/src/features/keyboard/CommandPalette.tsx | Keep native workspace action admission and upstream current project/ranking behavior | Native sessions retain files/terminal/review actions through workspaceCommands and New task runs the shared command dispatcher | Only unarchived projects, pinned-project precedence, richer search/ranking/results and new workspace selection | The fork action list is additive to the new filtered project construction, not an alternative older project catalog. |
| apps/mobile/src/features/keyboard/HardwareKeyboardCommandProvider.tsx | Preserve native command dispatch and adopt upstream workspace/clipboard navigation | New session retains selected NeoPi profile/cwd; files/terminal/review carry canonical native target and palette capabilities | Rich copied thread references, new workspace draft dispatch, column-aware Back behavior and registry dependency annotation | Keep native dependency invalidation and use the current Dialog error surface; ordinary non-native New task uses upstream workspace detail routing rather than the removed nested NewTaskSheet. |
| apps/mobile/src/features/layout/AdaptiveWorkspaceLayout.tsx | Move native sidebar fallback into upstream column/presentation-host architecture | nativeTarget remains accepted and environment-scopes the native browser when this shell owns the sidebar; provided sidebar routes retain their owner | Workspace route names, native/Android/foldable columns, hinges, floating tabs, inspector hosts, persisted filters and current workspace context | Remove the superseded local sidebar/content tree rather than render both layouts. New presentation hosts keep their own sidebar route; Home's native-first surface is already retained there. |
| apps/mobile/src/features/review/ReviewCommentComposerSheet.tsx | Preserve canonical workspace draft submission in upstream current comment sheet | Native comments/attachments append to WorkspaceRef, no SQL-thread requirement, and failed append does not clear attachments or dismiss | Synchronous native highlighting, current SheetHeader/UI imports and simpler event handlers | Keep the native target/text admission guard with the new direct handler, not the old SQL environment/thread checks or obsolete memo/effect pipeline. |
| apps/mobile/src/features/review/ReviewSheet.tsx | Preserve canonical native/legacy review identity in upstream current review surface | Native draft text/context, ref-scoped caches/sections/diff/comments, native cwd and return navigation remain independent of SQL selection | AppBar menus, column-aware insets, native diff rendering, current inspector registration and workspace detail routing | Keep the real native read/refresh header without SQL Git hooks; generic Inspector reveal key is the canonical review-cache key, not environment plus undefined native threadId. Upstream draft-context-based comment bookkeeping now reads the same workspace composer draft. |
| apps/mobile/src/features/review/incrementalSnippet.test.ts | Preserve upstream deletion of retired Shiki incremental-session tests | Fork cutoff/checkpoint recovery cases target the removed TextMate implementation, not the new native lexer | Native Pierre highlighting replaces Shiki under upstream 76da264a0c; current selected-line/review consumers already use the new owner | Do not retain a parallel test-only Shiki pipeline to preserve obsolete grammar-state behavior. Remaining source/helper retirement follows the ordered source conflicts. |
| apps/mobile/src/features/review/incrementalSnippet.ts | Preserve upstream incremental Shiki implementation deletion | The fork's tokenizer/checkpoint/revision fix is specific to the retired TextMate engine | Native token records replace incremental Shiki sessions rather than adding a second highlighter | Only still-unmerged shikiReviewHighlighter.ts referenced this deleted implementation at source inspection; remove its old path at its ordered resolution, then retire orphan fork recovery helpers/tests. |
| apps/mobile/src/features/review/reviewState.test.ts | Preserve upstream deletion of low-signal cache tests (05696c636e) | Examined the fork native-isolation case against the current source: it manually supplies workspaceKey and never exercises the changed workspaceRef-to-threadKey path | Obsolete async-state APIs were removed; current review cache retains canonical workspaceRef identity | Do not restore removed async-state APIs or cache object-identity assertions solely for these tests. Preserve native scoping in the actual hook and its consumers; verify that integrated path under the eventual admitted pass. |
| apps/mobile/src/features/review/reviewState.ts | Keep canonical WorkspaceRef cache identity with upstream current atom APIs | workspaceRef takes precedence over legacy environment/thread IDs in buildThreadKey and useReviewCacheForThread | effect/reactivity migration, removed duplicated async state, section-change comment-selection reset, retained bounded cache | Remove the retired ReviewDiffPreviewSource import rather than restore old async-state fields. Native and legacy callers share the current owner with distinct canonical keys. |
| apps/mobile/src/features/review/shikiReviewHighlighter.ts | Preserve upstream Shiki retirement for native Pierre highlighting (76da264a0c) | The fork grammar-state/cutoff fix targets removed TextMate tokenization; replacement lexer ownership was inspected at the native highlighter resolution | All current source/Markdown/selected-line/native-review consumers use the shared native highlighter | Remove orphan fork reviewTokenization.ts and shikiReviewRecovery.test.tsx with their sole production consumer. Keep reviewIdle.ts/tests because current useReviewDiffPrewarming still uses its cancellable idle scheduler. Update the fork touch registry to current ownership. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 2/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44372 bytes; SHA-256 15b5a614eedccf1eb1bb5e9fdd0e3ce4d67af982756e2e6cb0ed921356b079a1.

| apps/mobile/src/features/review/useReviewCommentSelectionController.ts | Scope upstream range selection to canonical native workspaces as well as legacy threads | WorkspaceRef-aware comment-sheet navigation remains; workspaceKey feeds the new selection scope for native sessions without SQL IDs | Current direct handlers and sheet/thread/section/diff-scoped pending/completed ranges replace old local effects/memos | A native selection must not receive upstream's null SQL-thread scope, which would silently disable tap/long-press comments. Keep upstream stale-range reset behavior across changed diffs and reopened sheets. |
| apps/mobile/src/features/review/useReviewDiffData.ts | Merge canonical native lazy patch reads with upstream preview-driven freshness and draft context | Profile/session-scoped cache key and nativeDiffFilePatch request retain native authority without SQL cwd | Current reactivity imports, draftContext inline-comment parsing, formatted counts and removal of manual refresh effects/perf wrappers | Preview dependency is {ref} for native reads and {cwd} for legacy reads, not the auto-merge's cwd-only dependency on native queries. At the ordered packages/client-runtime/src/state/review.ts resolution, add matching native preview input/refresh-trigger semantics; that owner remains unmerged now. |
| apps/mobile/src/features/review/useReviewSections.ts | Preserve native preview authority in upstream permission-gated, projection-derived review sections | Native previews and retained answers use environment/profile/session identity; native sessions cannot borrow selected SQL checkpoints, turn diffs or worktree answers | Filesystem grant gating, answer retention, pure section selection, projection checkpoints and current active-turn queries replace sync effects/duplicated state | Companion mobile state/review.ts retains native answers via workspaceKey and onNativeDiffPreviewAnswer. The ordered shared review.ts resolution must add that optional callback plus the native preview-revision refresh trigger (ledger row99); its only factory callers are mobile, web and runtime.test.ts. Native RPC success contract is ReviewDiffPreviewResult. |
| apps/mobile/src/features/settings/SettingsAboutRouteScreen.tsx | Keep NeoCode sideload update guidance on upstream current About screen | Signed sideload replacement guidance and disabled upstream store/OTA behavior remain visible | Generic About title, current UI/Dialog imports, deadline-driven confirmation and settled update locking | Generic About removes the old product-name title without reintroducing upstream branding; the now-unused mobileBranding import goes away. |
| apps/mobile/src/features/settings/SettingsEnvironmentDetailRouteScreen.tsx | Keep NeoCode/native discovery while adopting upstream environment policy and routes | Native session browser, product display name and server-neutral update guidance remain; retired harness update commands/state/advisories stay removed | Alternate routes, outdated-server recovery, managed policy/support, permission rechecks, shared release check and scope-aware secret reload | Keep current read-scope refresh admission and managed update denial without resurrecting provider updater imports/controls or busy fields absent from the NeoPi-only contract. |
| apps/mobile/src/features/settings/SettingsNotificationsRouteScreen.tsx | Keep NeoCode notification guidance in upstream current permission/policy flow | Product-specific system-settings and Android Live Update messages use APP_BASE_NAME | Dialog/UI migration, permission-status atom, preference-basis overrides, managed Connect scope filtering and current direct handlers | Drop the superseded memoized handler block, migrating its one product-name change into the new handler rather than keeping duplicate handlers or old Alert imports. External T3 Connect service identity remains unchanged. |
| apps/mobile/src/features/settings/SettingsRouteScreen.tsx | Integrate native Models into upstream searchable, column-aware Settings records | Models retains the selected environment and disabled-without-target behavior | Current settings groups/search, sidebar placement, remembered detail selection, overflow tabs and generic About title replace old JSX groups | Add Models through openSettings with its required environment params, classify it as a Settings detail route and select custom rows by stable list ID. Companion settings-navigation.ts/SettingsRow.tsx keep iOS/Android column/Back behavior rather than raw pushing Models over the old stack. |
| apps/mobile/src/features/settings/SettingsServerControlsRouteScreen.tsx | Keep atomic project override admission while adopting current managed/scoped settings UI | projectSettingsOverridePatches gates project writes/resets; retired provider update preference stays removed | Scoped permission checks, managed controls, current Threads/Worktrees pages, source-control sign-in/credits/clone choices, database notice, queued close-time edits and current primitives | Queue only its pending delta after settlement, not the previous patch: upstream resending old fields assumed whole-entry replacement and would overwrite concurrent edits under the fork's atomic protocol. Remove obsolete provider-update guidance and the leftover separator wrapper. |
| apps/mobile/src/features/settings/SettingsThreadsRouteScreen.tsx | Preserve upstream page relocation (9bc0c33438), not the retired duplicate module | Move the fork's atomic project-patch capability gate to AutoSettleSettingsRows in current ThreadSettingsSections.tsx | All Stack entrypoints already import the relocated SettingsThreadsRouteScreen from SettingsServerControlsRouteScreen.tsx | Keep the shared current write queue, usage/settlement controls and reset owner; do not restore old imports, sync handlers or navigation. Add the replacement source to the fork touch registry. |
Companion to rows105-106: SettingsServerControlsRouteScreen.test.tsx now asserts persisted concurrent-field preservation through queued acknowledgement, visible auto-settle disabled/reenabled state, and read-only versus legacy-project-patch admission in the existing cases. It replaces the old replay-payload assertion and whole-entry comment. Fixture advertises both legacy and atomic capabilities; no test has run.
| apps/mobile/src/features/settings/appearance/AppearancePreferencesProvider.tsx | Preserve explicit local native palette snapshots in upstream app-lifetime appearance runtime | Saved light/dark native themes override graphical/Material You variables; names remain visible and hidden catalog preference does not discard saved palettes | Atom-owned palette listeners/disposal, immediate runtime setters, live preference reads, Android navigation style and opt-in math rendering | Feed local themes into the current variable resolver with an early return, avoiding duplicate base palette work or restoring component effects. No native settings writes or remote theme following introduced. |
| apps/mobile/src/features/settings/environment-maintenance.test.ts | Combine current permission/discovery cases with fork artifact and version regressions | Fork release URLs, exact version archive/checksum matching and metadata-aware non-downgrade checks | Exact permission precedence, quota-free public feed discovery and pagination beyond displaced preview releases | Exercise missing and mismatched public CLI artifacts without permitting anonymous API fallback on the feed success path; remove the retired trivial capability predicate test. Tests not run. |
| apps/mobile/src/features/settings/environment-maintenance.ts | Keep current public discovery while admitting only published CLI releases | NeoCode release helpers, channel and exact archive/checksum gates, metadata-aware upgrade ordering, no retired harness maintenance | environment:maintain permission precedence, public latest/Atom discovery and paginated API fallback | Asset metadata remains authoritative when present; tag-only public results use the existing checksum parser and encoded download URLs, then HEAD the matching archive so desktop-only or partially published releases are not offered. No API quota is needed for a complete public-feed candidate. Verification pending. |
| apps/mobile/src/features/settings/settings-scoped-server.test.ts | Retain atomic mutation regressions alongside current multi-environment settings coverage | Stale-snapshot independent sets/clears and old-protocol refusal remain exercised | Usage-limit mixed selections, manager locks and current streaming modes | Preserve the capability-aware fixture; apply actual settings patches in the usage case and assert unrelated values survive rather than reconstructing the expected mutation by hand. Replace the retired provider-update input with a retained environment-only storage setting. Not run. |
| apps/mobile/src/features/settings/settings-scoped-server.ts | Reseat current managed/mixed-selection helpers on atomic project writes | Capability-gated per-key sets/clears avoid stale entry replacement and unsupported older servers | Managed policy explanations and uniform mixed-value selection | Drop the superseded whole-entry/nullability loop; its inherit semantics belong to the shared projectSettingsOverridePatch helper. Environment-scoped writes and selected-project resolution remain current. |
| apps/mobile/src/features/terminal/TerminalContextSheet.tsx | Keep canonical draft destination with current terminal selection sheet | Captured output inserts into workspaceKey(WorkspaceRef), including native sessions, without SQL thread metadata | Dialog, shared Sheet/Button and current accessible line-range presentation | Combine current semantic controls with native identity; remove obsolete environment/thread imports rather than restoring the old draft key. |
| apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx | Reseat native workspaces on upstream permission-aware per-terminal driver | Native profile/session resource identity, cwd, providerInstanceId on attach, canonical composer context and native return routes | Streaming native output, read-only observation, exact permissions, session-owned launch/resize/paste/exit lifecycle, current AppBar/insets/keyboard primitives | Native and validated legacy wrappers feed one canonical workspace bootstrap and keyed driver. Remove obsolete replay timers, stale-respawn effects and duplicate navigation ownership. Adapt useTerminalExitNavigation and its existing real-router cases for native/legacy sibling fallback, delayed exit and root routes; registry updated. Not run. |
| apps/mobile/src/features/terminal/terminalLaunchContext.ts | Keep generic workspace resource targets in current launch owner | Native resource IDs remain strings instead of requiring SQL ThreadId | stopOnSettle staging, paired cwd/worktree identity and permission-aware first-location hook | Combine the retained generic target with React state ownership; do not revive the old component location/replay effects. |
| apps/mobile/src/features/terminal/terminalTheme.test.ts | Preserve upstream low-signal test retirement (05696c636e) | Production Neo palette application and ANSI preservation remain in terminalTheme.ts | Delete the retired default-color/property-copy/config serialization tests | Fork changes had already removed golden color pins; the remaining case/config assertions repeat the current palette spread and serialized fields rather than cover a new fork behavior. Remove the obsolete registry path, not production theme support. |
| apps/mobile/src/features/terminal/terminalUiState.test.ts | Preserve native grid identity regression without resurrecting upstream cache-test scaffolding | Real grid writes cannot leak across environments, NeoPi profiles or session files | Retire the generic cache-rounding case and removed reset-only export with upstream 05696c636e | The fork adds an actual native resource namespace boundary not covered by the deleted upstream test; retain that consumer-visible isolation case with its own target and current production cache API. Not run. |
| apps/mobile/src/features/threads/ComposerFeedback.tsx | Keep fork retirement of Codex-only feedback (afb69b6f16) | NeoPi remains the only execution harness; retired Codex feedback contracts are not restored | Upstream changes only migrate the retired banner's UI imports and Copy ID primitive | Delete the obsolete banner rather than retaining code that imports removed runtime APIs. Current generic design-system components remain available to supported flows. |
| apps/mobile/src/features/threads/NewTaskRouteScreen.tsx | Preserve the native-first entry point instead of restoring SQL draft creation | NativeSessionBrowser remains the actual owner; no surrogate SQL conversation is created | Upstream chooser changes inspected: current primitives, scratch workspaces, connected project grouping, reserved-share resume and draft navigation | The upstream SQL draft page cannot replace native creation. Native parity for scratch/project selection, reserved shares and new deep-link inputs remains an explicit integration obligation; it is not claimed implemented by this conflict resolution. |
| apps/mobile/src/features/threads/ThreadComposer.tsx | Reseat NeoPi-only admission and branding on the current compact composer | Retired-harness history remains read-only with an explanatory banner and blocked send; activity labels use NeoCode | Current platform primitives, workspace layout, queued editing/resume, flush-before-send snapshot admission, draft navigation, native-paste tracking, dictation and controls | Keep the new owner and delivery semantics, not the obsolete editor/try-finally branch or removed runtime-mode property. Combine the runtime read-only condition with the upstream submission lock; use the current Button for model recovery. Not run. |
| apps/mobile/src/features/threads/ThreadDetailScreen.tsx | Keep native conversation ownership inside the current V2 workspace screen | NeoPi history, compaction availability, native-owned busy state and scrolling stay independent of SQL receipts; retired Codex feedback remains removed | Current history jumps, queued edits, approval feedback, child inputs, provider subagents, background/goal controls, extensions, managed runtime, workspace mutations and platform layout | Reseat native detection on EnvironmentThreadShell.runtime and the current models owner; mount SQL streaming haptics only for non-native detail. Remove old keyboard/list effects instead of restoring obsolete lifecycle refs. Native list end state feeds current floating controls; retain all current legacy feed props. Not run. |
| apps/mobile/src/features/threads/ThreadMarkdownImage.tsx | Combine canonical native media identity with the current image pipeline | Native-media resources remain signed through their profile/session authority; decoded-size identity includes environment, complete resource and fragment | SVG rendering, draft/tool-output image resources, first-decode stability, revision-aware identity/cache keys, current gallery and missing-access handling | Add native resources to the current union and SVG detection. Append the authoritative file revision to the fork's collision-safe resource identity instead of retaining a path-only key or discarding upstream revision invalidation. Native resources without a stable cache key remain URL-keyed. Not run. |
| apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx | Preserve native-first navigation while retaining the current saved-history sidebar | Native session discovery, profile-bound creation and Settings/Connections remain the initial surface; saved history is explicitly reachable and reversible | Current workspace-owned native sidebar shell, message search/jumps, grouping, working/snoozed/settled shelves, pending tasks, permissions, swipe actions, undo and list recycling | Follow the existing Home native/saved switch instead of replacing native navigation with SQL threads or discarding the upstream sidebar. Mount saved-history demand only while selected, restore its upstream styles dropped by the delete/modify merge and use NeoCode labeling/current model types. Not run. |
| apps/mobile/src/features/threads/ThreadRouteScreen.tsx | Retain native configuration on the current route/inspector owner | NeoPi session configuration remains reachable for the matching runtime instance; retired feedback props remain removed | Current route hydration, extracted header, side chats, inspector presentation, draft/worktree recovery, queue and extension/status binding | Keep upstream's single header and Inspector rather than reviving old inspector-role and header APIs. Rebind the native configuration predicate to the current runtime summary, preserving environment/thread scope. Not run. |
| apps/mobile/src/features/threads/ThreadSettingsSheet.tsx | Keep NeoPi catalog ownership on the current model/settings picker | NeoPi is the sole expanded execution harness; its advertised descriptor choices are not removed by a separate GUI filter | Current catalog refresh, persisted model selection, favorites, platform sheets, supported runtime choices and managed-policy ceilings | Adopt the new runtime-choice helpers rather than the obsolete constant import. Preserve direct native option enumeration and remove its unused selectableChoices import; keep the current concise list-layout constraint. Not run. |
| apps/mobile/src/features/threads/new-task-flow-provider.tsx | Adopt the current new-task context owner rather than its obsolete duplicated body | Execution choices continue through the fork's NeoPi-only modelOptions helpers; explicit native selections and project/sticky precedence remain there | Atom-backed route/draft ownership, scratch workspaces, context retention, idle Git demand, current model fallback, managed runtime ceiling and stable context construction | The only fork delta in this file was an explanatory comment inside the now-replaced implementation. Keep the new owner, remove the obsolete Antigravity comment, and import project types from current models instead of resurrecting old draft effects or plan-mode state. Not run. |
| apps/mobile/src/features/threads/thread-settings-options.test.ts | Restore only the current local policy tests and migrate shared behavior tests to their real owner | Do not restore the mobile-only choice-filter wrapper removed by the NeoPi cutover | Managed multi-environment mode ceilings and stale-draft rejection remain tested; upstream workflow-choice/prompt-controlled reasoning cases move intact to client-runtime modelTraits.test.ts | Tests exercise real policy admission instead of pinning diagnostic wording. Shared trait cases stay at one layer and call the actual shared helper, so no dead compatibility re-export is needed. Fork registry updated for the companion test touch. Not run. |
| apps/mobile/src/features/threads/thread-settings-options.ts | Add current managed/runtime-choice behavior without restoring the retired local select filter | Native descriptor options remain runtime-authoritative; no hidden effort inventory or dead selectableChoices alias returns | Supported-mode filtering, compatible mode fallback, managed multi-target denial and capped new-draft mode resolution | The restored behaviors serve current settings and new-task consumers. Reference search finds no remaining local select-alias caller; shared choice and prompt regressions now target modelTraits directly. Not run. |
| apps/mobile/src/features/threads/thread-work-log.tsx | Preserve the neutral fork tool icon within current work-log rendering | The retained t3-code protocol key renders the existing brain symbol, not the removed upstream wordmark | Current UI imports, computer/browser app icon, pull-request glyph, tool imagery/details, layout and stepped inactive-aware shimmer remain | Combine icon cases by their actual meaning; do not restore the retired T3Wordmark component or replace the new computer icon with a generic symbol. Not run. |
| apps/mobile/src/features/usage/UsageDailyChart.ios.tsx | Preserve retirement of the duplicate local usage chart | Actual native NeoPi stats remain authoritative through the shared bridge (a6dc484961) | Upstream only removes a memo and explanatory comment in the replaced Swift Charts view | Do not restore a competing local usage ledger or a dead chart solely for mechanical upstream cleanup; the native stats surface is retained. Not run. |
| apps/mobile/src/features/usage/UsageDailyChart.tsx | Keep the replaced local chart retired on non-iOS clients too | Mobile uses actual NeoPi-hosted stats instead of a second local accounting presentation | Upstream fixes the old view-bar container height and removes memoization/comments | The changed bar renderer is no longer the product owner after a6dc484961; retain its complete native-stats replacement rather than reinstating unused chart machinery. Not run. |
| apps/mobile/src/features/usage/UsageLimitsPooled.tsx | Keep inference quotas and current pooled usage UI without the retired Cursor setup prompt | Subscription quota accounts and inference-provider identity remain available independently of the sole NeoPi execution harness | Responsive wide cards, account pace/refill visualization, custom accent colors, external management links, live account detail and current scroll/UI primitives | Retain native runtime cutover's prompt removal and simple keyed pool container; adopt new external-link-aware empty state and all current quota behavior. No Cursor harness enablement/auth UI is restored. Not run. |
| apps/mobile/src/features/usage/UsageRouteScreen.tsx | Keep actual native stats and reseat the retained quota surface on current workspace UI | NeoPi owns stats history, analysis and calculations; explicit environment/runtime selection never silently falls back after disappearance; quotas stay independently refreshable | Current workspace-root presentation, stable tab-param synchronization, UI primitives, settled workspace width, capped quota content and responsive wide pooled cards | Do not restore transcript-derived totals, local charts or retired harness setup. Adopt layout and quota improvements at their native replacement owner; keep the authenticated native stats bridge and focused-view lifetime. Not run. |
| apps/mobile/src/features/usage/usageChartData.ts | Keep obsolete local-chart derivation removed | Native stats remains the single accounting and analysis owner | Upstream only removes explanatory comments from the old data shaper | The replaced chart and page no longer consume this helper; source references find only its own declarations. Retain the complete cutover, not a dead duplicate chart pipeline. |
| apps/mobile/src/features/usage/usageProviders.ts | Retain inference/history palette identities and the new quota kind resolver | NeoPi keeps its existing orange identity; legacy and inference-provider labels do not re-enable execution harnesses | Current quota consumers gain the driver-to-usage-kind resolver and Pi/Muse palette identities | Keep the resolver's private kind list including NeoPi. Do not restore unused chart order/labels or cost-mix colors after native stats replaced their consumers; source search confirms only quota resolver/color callers remain. Not run. |
| apps/mobile/src/features/voice-input/useVoiceInputController.ts | Move the synchronous native slash guard onto the current global dictation owner | Native suggestions read live controller state before editing/submitting and cannot bypass a just-started dictation freeze | Global capture/transcription lifetime, focused-owner tracking, current draft subscriptions, current selection commit and global busy/audio controls | Keep the public getCurrentState contract, but scope its live read to the current composer's owner key; unrelated composers see idle rather than another draft's capture. Do not restore per-composer recording or dispose-on-blur machinery. Not run. |
| apps/mobile/src/lib/appLinking.test.ts | Apply current link regressions to the fork's mobile schemes | NeoCode production/dev/preview links and existing Connections path remain the fixtures, without claiming upstream mobile schemes | Query text containing lifecycle URLs must still open; cloud-only routing, nested route rewriting, draft restoration and top-most stack lookup cases retained | Keep lifecycle filtering scoped to the route rather than prompt text. Use a neutral HTTPS host for that regression; adapt cloud route cases to NeoCode while keeping Expo Go path-boundary cases. Not run. |
| apps/mobile/src/lib/appLinking.ts | Combine fork scheme admission with current parsed-path link behavior | Bare NeoCode production/dev/preview launch URLs remain ignored; upstream scheme ownership is not claimed | Lifecycle filtering examines only the route, cloud-only destinations respect build config, and current draft/nested-stack helpers remain | Keep current cloud and prompt-link semantics while substituting only the fork's scheme predicate. App.tsx already supplies hasCloudPublicConfig to the new admission signature; focused source reference search confirms that caller. Not run. |
| apps/mobile/src/lib/composerAttachmentUploadQueue.ts | Combine canonical native draft scoping with current colon-safe legacy scoping | Native keys decode their full workspace identity, including profile/session paths; malformed native keys fail closed | Legacy/question thread keys resolve against the longest known environment prefix, while stamped/new and queued draft behavior remains | Keep the native branch before the new prefix matcher, not the old last-colon split. Update the existing native regression's arguments to the current environmentIds/queuedMessages signature; source callers already pass all inputs. Not run. |
| apps/mobile/src/lib/connection.test.ts | Accept deliberate upstream test retirement | Production authClientMetadata still supplies NeoCode branding and authentication metadata; no runtime identity change | Upstream 05696c636e pruned the metadata/copy tests, 7c16a4008a removed trivial relay cases, and 67661cfbb5 deleted unreachable connection helpers and their last test | Delete the obsolete test rather than resurrect removed exports or repin pruned assertions. Remove its fork-touch registry entry; current connection platform still uses authClientMetadata. Not run. |
| apps/mobile/src/lib/markdownMedia.test.ts | Retain native authority and current upstream media routing regressions | Existing native image authorization and thumbnail isolation cases remain; extend the native host-media case to PDF, audio, text and file-relative resolved paths, including a competing SQL thread/display cwd | Preserve current document/audio, captured-host, draft-workspace, signed-URL, filename decoding, UNC and positioned-file routing cases | Combine the two independent imports. Native document cases require the new early document branch to retain canonical native authority instead of producing SQL/draft resources. No tests run during resolution. |
| apps/mobile/src/lib/markdownMedia.ts | Combine current document/audio/file routing with native media authority | Optional native identity and file-relative resolved paths survive; native resources win over SQL context, keep authored relative paths for server-owned cwd resolution and omit SQL metadata from native actions | Current mobile media normalization, direct/captured handling, documents/audio/text routing, positioned-link exclusion, signed URLs and embed labels remain | Use current imports and local markdown-link normalization. Extend the new early document branch, not only image/video handling, with canonical native resources; honor resolvedFilePath in both branches. Existing native regression extended in the preceding file. Not run. |
| apps/mobile/src/lib/mediaActions.ts | Migrate native behavior into upstream's relocated permission-aware owner and delete the old hook | Native open-file actions carry the canonical session ref and absolute file route rather than manufacturing SQL thread IDs; native host media uses destination-environment grants | Preserve upstream state/mediaActions.ts, live permission rechecks, cancellation, sharing, save-image and clipboard formatting; keep MediaActionsSource in its new owned file | Port the native branch and scope checks into state/mediaActions.ts; extend existing denied/revocation/regrant tables with native resources. All production callers already use the relocated owner; update the fork image recovery test's old mocks to current UI/state imports. Registry follows the owner. Not run. |
| apps/mobile/src/lib/mobileBranding.ts | Preserve fork display identity with current upstream stage labels | APP_BASE_NAME remains NeoCode | Upstream's Beta production label, Dev development label and Nightly preview label remain consistent with the returned type | Keep the fork constant and current stage type, not the obsolete Alpha union. Only CompactBrandTitle consumes the resolver; source references checked, LSP unavailable. No wording-pin tests added or run. |
| apps/mobile/src/lib/mobileTheme.test.ts | Preserve native selection/contrast behavior and adopt current semantic palette regressions | Native local palettes remain independent of catalog visibility and appearance resets; native readability and graphical primary behavior remain, with contrast coverage for the new prominent-action pair | Keep current all-palette generated/runtime parity, Android sidebar/header, grouped surfaces and selected-row contrast cases | Remove deliberately pruned literal preview, normalizer and pair-copy tests and the obsolete default-only contrast structure. Keep the pair helper import because the native reset transition still exercises it. Saved snapshot migration must retain the new roles when persistence is reconciled. Not run. |
| apps/mobile/src/lib/mobileTheme.ts | Keep local native snapshots on the current graphical palette implementation | NeoCode option identity, explicit per-appearance snapshots, native projection and graphical-reset clearing survive | Adopt current prominent-action roles, grouped/material contrast, OKLab contrast adjustment and private theme-ID normalization | Keep MobileNeoPiTheme types/resolver; migrate native projection callers to themeColorWithContrast instead of restoring the removed helper. Retain the runtime variable-name export because persisted native snapshot validation uses it, despite upstream deleting its former unused export. Persistence must backfill the two new prominent-action roles for older saved palettes, not discard them. Not run. |
| apps/mobile/src/lib/mobileThemeVariables.test.ts | Accept upstream retirement of implementation-mirroring runtime tests | Fork delta only removed literal palette pins; meaningful native/default readability and selection invariants remain in mobileTheme.test.ts | Upstream 05696c636e deletes this test file; current mobileTheme.test.ts covers cross-platform grouped, sidebar and selected-row readability | Delete rather than resurrect old runtime equality/copy assertions; remove the obsolete registry entry. Preserve the actual runtime palette implementation in the next ordered source resolution. Not run. |
| apps/mobile/src/lib/mobileThemeVariables.ts | Combine tonal iPad row compositing with current runtime contrast correction | Light default iPad hover/selection states remain composited against their actual tonal drawer rather than the page canvas | Current withVisibleSelection label contrast and Android page/frame/card contrast remain | Remove only the obsolete conflicting explanatory comment. The fork row-state calculation executes before upstream selection correction; named palettes and saved local snapshots keep their existing owners. No runtime test claims. |
| apps/mobile/src/lib/modelOptions.test.ts | Retain NeoPi-only admission and port generic upstream model behavior to native fixtures | Preserve inference identities, explicit choices, opaque stored options, missing catalog recovery, ready-default preference and rejection of every retired driver including Pi/ACP | Retain project inheritance/disablement/fallback, server-synchronized hidden/order/custom models, continuation groups, badges and managed policy behavior using NeoPi profiles | Remove retired Antigravity preservation, ACP execution/account semantics and copy-pinned diagnostics instead of restoring their paths. Adapt existing model calls to explicit projectId/null; native policy tests prove an allowed retired driver cannot become executable. Native continuation/badge cases replace the generic upstream counterparts. Not run. |
| apps/mobile/src/lib/modelOptions.ts | Keep NeoPi admission while integrating current project/catalog/account policy | Reject every retired execution driver; preserve valid explicit native selections, missing-catalog fallback, ready-instance defaults and inference names | Retain explicit project scope, managed-policy admission, continuation grouping, badge metadata, model visibility/order/custom semantics and update-required grouping | Combine isReady with new option fields; remove dead ACP registry-agent setup and Antigravity execution exceptions. Use generic project/native diagnostics and current grouping without the now-redundant NeoPi-first sort. resolveSelectableModelSelection also observes managed policy. Source callers mostly pass project scope; the later unmerged use-thread-composer-state.ts still has one old two-argument availability call to migrate in order. Tests/source references checked, no execution. |
| apps/mobile/src/lib/threadActivity.test.ts | Adopt current V2 projected-item tests rather than resurrect SQL activity fixtures | Provider failures remain covered by the existing V2 historical provider_error/usage_limit case; native conversation still has its separate owner | Preserve the complete current projected-turn-item suite, including async question answers, checkpoint history, subagents and rich rows | Remove the old acceptance-bookkeeping regression and adjacent retired cache fixture because buildThreadFeed now consumes typed V2 projected items, not SQL Thread.activities; makeActivity/makeThread/EventId/ProjectId fixtures no longer exist. Do not invent a fake acceptance turn-item or claim native rich-row integration. Not run. |
| apps/mobile/src/lib/videoPreviewSource.ts | Keep distinct native and source-control media thumbnail namespaces | Native resource union and environment/profile/session/path/fragment cache identity remain | Add current source-control resource support, repository/cwd/URL thumbnail identity and relocated MediaActionsSource | Both cases are separate discriminated branches; never stack competing ternary bodies or drop a cache namespace. Existing native isolation regression remains in markdownMedia.test.ts; playback consumers use generic asset resolution and this helper. Not run. |
| apps/mobile/src/persistence/mobile-preferences.ts | Preserve explicit native snapshots alongside current preference and storage semantics | Retain local catalog opt-in, per-appearance palette/name snapshots and target without restoring native theme-follow writes; retain existing preference/storage identities | Keep navigation tab/order, PR controls, Android navigation style, dictation microphone preferences, tool visibility, shelves, draft/workspace selections and current storage fallback owner | Combine independent fields/imports/sanitizers. Before validating older snapshots, derive missing prominent-action/background roles from their saved foreground/screen variables; explicit existing roles override these defaults and invalid/incomplete snapshots still fail validation. Add migration coverage in the next ordered preference test file. No execution. |
| apps/mobile/src/state/preferences.test.ts | Retain native async-selection invalidation and current preference state regressions | Selecting even the same graphical palette still supersedes pending native palette reads; unrelated changes do not invalidate them | Keep current optimistic-hydration and real React setter/favorites cases, current service imports and Effect reactivity; do not resurrect the pruned load-count test | Qualify the retained native test's Preferences type. Add one actual storage-layer regression through injected read-only database/secure-storage services: older palettes retain their custom canvas and gain missing action roles, explicit action colors remain, and incomplete palettes do not corrupt the other appearance or unrelated settings. No fake sanitizer and no production storage accessed. Not run. |
| apps/mobile/src/state/usage.ts | Retain fork removal of the competing local usage summary | a6dc484961 moved mobile analysis to actual hosted NeoPi stats; quotas remain separate | Upstream changes add summary-query permission and model filtering, but all mobile useUsage/UsageView consumers were removed with the duplicate charts | Keep this unused local summary owner deleted rather than reintroduce duplicate accounting. A focused source reference search finds only the separate shared quota refresh imports; native stats and inference quota UI remain their owners. No source or runtime claim that local summary aggregation is still active. |
| apps/mobile/src/state/use-composer-drafts.test.ts | Keep native recovered-input/context acceptance regressions alongside current draft behavior | Withdrawn native text/media retain newer drafts and overflow attachments; canonical native profiles stay isolated; accepted prefixes consume only accepted content while preserving later edits and changed context | Preserve upstream model reconciliation/memory, draft operations, cross-environment upload retargeting, cloud/share and persistence serialization regressions | Remove only conflict markers and the adjacent upstream-pruned copy tests for clear flags and synchronous snapshot reads. Native behavioral cases remain against the current draft APIs, rather than duplicating or restoring obsolete schema tests. Not run. |
| apps/mobile/src/state/use-composer-drafts.ts | Combine native draft authority with current per-draft editor, settings and persistence owners | Native canonical/alias binding, same-session relocation, journal tree state, recovered overflow media, accepted-prefix consumption and environment cleanup remain | Keep current per-draft selection/reset atoms, model reconciliation/option memory, cancellable draft operations, fresh-context retention and serialized persistence | Use current Effect/reactivity and split shell/model type owners. Move native relocation's caret state through the new per-draft atom instead of the removed global lastComposerSelection; extend the existing native context/acceptance test to insert at the retained caret after a file move. Combine independent empty-draft conditions and retain the concise enqueue cleanup constraint. Not run. |
| apps/mobile/src/state/use-terminal-session.ts | Preserve generic native workspace resource IDs with current terminal state contracts | Terminal metadata targets keep the unbranded resource string rather than passing native resource IDs through ThreadId.make | Keep the upstream sessions/isPending/error result, independent terminal read/operate scopes, observe-only access and optional buffer materialization for current native streaming | Combine only the generic string input with the new result and permission-aware owner. Both current consumers use the object result; the previously resolved native terminal screen supplies materializeBuffer and canonical resource ID. Source references checked; no runtime proof claimed. |
| apps/mobile/src/state/use-thread-composer-state.ts | Keep native review destinations and read-only history on the current V2 composer owner | appendReviewCommentToDraft returns a success flag and routes WorkspaceRef drafts canonically; stored runtime identity prevents retired history from sending | Retain current queued-run editing, side chats, fresh-context admission, approval redirects, model/project/permission gates, compaction, pending acknowledgements, draft restoration and shared attachment actions | Remove all Codex feedback imports/state/commands and obsolete pasted-file/cache/callback fragments. Apply read-only admission before queued-edit/side-chat/clear dispatch using the current runtime field, and retain the existing project-aware availability check rather than the stale two-argument call. Use current Dialog and models/type owners; NeoCode side-chat guidance. No execution. |
| apps/mobile/src/widgets/AgentActivity.test.ts | Accept deliberate static-layout test pruning and retain fork routing in the new widget | Existing live activity already uses neocode; the new home/lock-screen widget now uses the same fork scheme and NeoCode empty/accessory labels, and its timeline fallback uses APP_BASE_NAME | Upstream 7c16a4008a deletes the old literal layout/color/copy tests; keep current widget publication, timeline stale-state behavior and its semantic tests | Delete rather than repin the obsolete rendered JSON tests. A focused scheme/branding scan found the new widget still targeting t3code, so fix that companion owner and update the fork registry. Keep widget literals inside its self-contained worklet; external T3 Connect service names and aggregate data stay unchanged. Not run. |
| apps/server/integration/OrchestrationEngineHarness.integration.ts | Accept retirement of the V1 engine harness, not its resurrection beside V2 | The fork's controlled-native-runtime ingestion proofs remain required and must migrate to current V2 provider/session/event owners | Upstream de34391427 replaces the V1 orchestrator; current orchestration-v2/testkit/ProviderReplayHarness.ts exposes layerWithRegistry with the real V2 orchestrator, session manager and effect worker | Delete the obsolete V1 harness rather than restore deleted reactors. REQUIRED integration work: migrate callers in neopiProviderIngestion.integration.test.ts, NeoPiSessionRuntime.test.ts and neopi/mappers/subagents.test.ts to the V2 adapter/runtime layer; reconcile server.test.ts in order and retire the old generic engine suite next. These proof ports are pending, not claimed complete. |
| apps/server/integration/orchestrationEngine.integration.test.ts | Accept retirement of the generic V1 engine suite | The fork delta only removed real Codex execution and its helper; no added native behavior lives in this file | Upstream de34391427 replaces the V1 engine and its generic suite with orchestration-v2 coverage | Delete the obsolete receipt/reactor/session fixtures rather than reintroduce the retired orchestrator or real-harness test path. Keep the separate controlled-native ingestion proofs as explicit V2 migration work, not suppressed or replaced with mocks. Not run. |
| apps/server/integration/orphanedProviderSessionStartup.integration.test.ts | Accept retirement of V1 provider-binding startup fixtures | The fork delta only removed the retired feedback method from a service fake; no new native scenario is lost | Upstream de34391427 replaces V1 startup and recovery with orchestration-v2 ownership | Delete the old engine/session-directory/receipt fixture rather than restore it; reconcile native restart and terminal-attached authority through the current runtime/recovery owners during integration. Remove the three retired integration paths from the fork registry; remaining V1 layer entries are handled in their ordered turns. Not run. |
| apps/server/package.json | Keep current feature dependencies and native RPC without restoring retired harness SDKs | Retain effect-neopi-rpc and NeoPi as the only execution harness; omit Codex/Claude/Cursor/OpenCode/ACP/Pi/Muse/FX/Kiro execution packages and replay commands | Adopt provider-core/testing, every source-control and secret-provider workspace, current FFF/stream-json and speech/browser/document/GraphQL/archive support | Source imports show yauzl now serves document extraction/zip archives and handy-computer models serves speech generation, so retain them; keyring has no direct server consumer. Drop retired SDKs, effect transports and OpenCode dev SDK. REQUIRED integration audit: remove new non-NeoPi V2 adapters, replay scripts/fixtures and provider workspace packages before regenerating the merged lockfile; no install/check run. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 3/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44180 bytes; SHA-256 ffdff21749bfe6e0cf5689639ffcfca92d855b910e3e60f7a1f91c9ed634eb2b.

| apps/server/scripts/acp-mock-agent.ts | Keep the runtime-only cutover's ACP simulator removal | Fork 284c792315 removed the ACP transport fixture; NeoPi controlled-runtime tests use native frames instead | Upstream additions simulate retired ACP/Grok/Antigravity/FX/Kiro lifecycles, approvals and MCP messages, not the NeoPi host-tool bridge | Keep this script deleted rather than restore effect-acp as an execution/test dependency. New ACP-only helper/fixture consumers are part of the required retired-harness dependency audit; generic host-tool/MCP Apps behavior must use the real native interface, with the brief's unsupported cases reported honestly. No execution. |
| apps/server/src/assets/AssetAccess.test.ts | Preserve native canonical-file authority on current asset signing and source-control drivers | Keep canonical native cwd over supplied workspace, exact-file signed capabilities, traversal/symlink rejection and observer-only native catalog fixtures | Keep V2 stored tool images, bounded MCP HTML reads, document/download previews, secret-backed signer, source-control host dispatch and repository context | Combine fixture services with current NodeCrypto/DateTime APIs. The deleted GitHubCli/media cache tests must migrate to the real GitHubCredentials owner when resolving the immediately following deleted GitHubMediaFetch.ts; the new service already single-flights successful lookups but caches missing credentials for ten seconds, so immediate post-login recovery still needs reconciliation. No tests run. |
| apps/server/src/assets/GitHubMediaFetch.ts | Accept source-control driver ownership without losing native-fork credential recovery | Preserve cold-lookup sharing, five-minute successful token lifetime and immediate recovery after external gh login | Current gitHubMediaFetch and sourceControlMediaResponse own credential-host redirects, streaming ranges, MIME/SVG policy, signed uploads and repository-aware driver dispatch | Delete the obsolete server proxy; no remaining consumers. Move both behavioral regressions into the real GitHubCredentials service tests, using per-layer cache ownership, Deferred/Fiber completion and TestClock expiry rather than module-global cache ordering or zero-time scheduling. Keep failed lookups uncached in the shared credential owner so its existing media login contract is real rather than a mock-only claim. Tests not run; add the two new upstream touch reasons during the final registry audit. |
| apps/server/src/atomicWrite.ts | Move exclusive atomic export into upstream's shared writer | Preserve overwrite:false publication by hard link so a concurrent creator or dangling symlink cannot be overwritten; native settle persistence uses the same current helper | Keep symlink-preserving replacement, bounded Windows lock retries, newer-save protection and cleanup-failure handling in packages/shared/src/atomicWrite.ts | Delete the obsolete server helper and migrate both remaining imports; WorkspaceFileSystem's later conflict remains unresolved, with only its old-side import reseated. Extend the existing dangling-symlink regression to prove exclusive create rejects the name without creating its destination. Existing WorkspaceFileSystem tests retain the ordinary export/race boundary. Shared helper and test require fork-registry touch reasons in final audit. No execution. |
| apps/server/src/attachmentStore.test.ts | Keep asynchronous stale sweeps and the new pending-document sidecars | Preserve fresh pending/partial files, thread-owned files and missing-directory behavior while awaiting async completion | Keep sidecar cleanup, deterministic retry/edit attachment identities and thread-scoped HTML/MCP document ownership regressions | The combined stale fixture has four expired pending/partial/sidecar files, not three; await the streamed sweep and assert all four disappear without touching retained files. No tests run. |
| apps/server/src/attachmentStore.ts | Stream stale attachment and document-sidecar cleanup asynchronously | Keep opendir iteration and awaited stat/unlink, bounded per-entry work, pending/partial age limits, fresh/thread-owned preservation and best-effort directory failure handling | Keep text-sidecar identification, content-addressed retry identities and thread-owned captured HTML/App/recording resources | Apply upstream sidecar normalization inside the async iterator rather than reintroducing readdirSync/statSync/unlinkSync. Existing startup/upload sweep consumers must remain awaited in later config/upload integration. The combined regression expects four stale files; unrun. |
| apps/server/src/auth/RpcAuthorization.test.ts | Preserve native lifecycle admission on current fine-grained permissions | Keep read-only native discovery/watch and operate-only native execution/resume; retain distinct relay read/install scopes and the atomic-plan-save permission boundary | Keep terminal observe/operate separation, triage admission and real middleware coverage for telemetry, settings/provider/secret grants, thread context and host-file URLs | Atomic plan writes now require the same filesystem-write grant as editor writes, not the retired broad operate classification. Extend the existing real asset middleware denial table with canonical native workspace/media payloads; make generic provider-mutation fixtures NeoPi, without restoring retired adapters. Scope-to-contract convergence remains required in the following source and later contract merge. Unrun. |
| apps/server/src/auth/RpcAuthorization.ts | Authorize native operations using current permission owners, not retired harness routes | Keep native session/history/configuration/theme/model RPCs, relay scope separation and atomic plan saves; native file URLs require filesystem read just like legacy host files | Adopt filesystem read/write, provider management, settings, diagnostics and environment maintenance grants; preserve current generic source-control, project scratch/create, MCP Apps and dynamic settings authorization | Remove retired execution auth/install/ACP registry/import/feedback routes, keeping source-control and inference support. Native review uses filesystem read; native account/auth/config mutations use providers:manage, and atomic exports use filesystem write. Add corresponding protected native methods to CLIENT_GUARDED_RPC_SCOPES, removing retired provider-auth entry. Existing middleware regression now exercises native host-file denial. Contract/client permission convergence and guard-table behavior coverage remain part of integrated verification; no execution. |
| apps/server/src/bin.test.ts | Accept upstream retirement of the old V1 CLI integration suite | The sole fork delta removes T3 Code from a service help-copy assertion; no native behavior is unique to this file | Upstream de34391427 replaces V1 orchestration and removes this old project-persistence/live HTTP fixture suite; current parsing coverage lives in cli/app.test.ts | Keep the obsolete suite deleted rather than revive V1 services or repin literal help text. Preserve public command/data identities through the current CLI owner and semantic tests. No execution. |
| apps/server/src/bin.ts | Preserve fork CLI identity in the relocated current entry graph | Keep t3 command/protocol/data identities and NeoCode help, with Claude-history execution removed | Adopt SEA raw-asset loading, service-launcher lifetime fast path and relocated binMain/binCli owners, retaining document/speech helpers, browser/environment/thread/project/help/install and up/status features | Remove obsolete command construction/imports from the tiny entry module; move the fork help change and retired Claude/ACP command removal into binCli. Remove only retired managed-ChatGPT/ACP fast paths from binMain, keeping document extraction, speech, console setup and profiling. New upstream binMain/binCli touch reasons are due in final registry audit. No execution. |
| apps/server/src/bootstrap.test.ts | Retain desktop/WSL borrowed-pipe lifetime proofs after upstream fixture pruning | Keep borrowed input open through envelope reading, observe EOF before or after listener admission, and propagate parent-pipe failures rather than orphaning the owned server | Keep current HostProcess/platform and minimal fd-read/fallback coverage; accept deliberate pruning of old error-message and external-FIFO timeout fixtures | Preserve four fork lifecycle regressions with current Fiber/forkChild APIs. Replace yieldNow scheduling assumptions with the real stream resume event as the listener-readiness barrier; no sleep or poll loop. Bootstrap source already auto-merges the borrowed-stream and parent-EOF implementation. Tests unrun. |
| apps/server/src/claude-history-worker.ts | Preserve runtime-only cutover of Claude import execution | Fork 284c792315 deletes the standalone Claude history worker; NeoPi owns its actual catalog/journal/runtime import boundary | Upstream only removes the entry-point narration and keeps executing runClaudeHistoryWorker | Keep the worker entry deleted; preserved saved legacy history does not authorize restoring a retired harness importer. No execution. |
| apps/server/src/claudeHistoryWorker.ts | Keep the retired Claude SDK history implementation removed | Fork 284c792315 replaces harness-specific discovery/fork execution with the real NeoPi boundary | Upstream adds a Claude fork head-message cursor by calling the Claude Agent SDK; this is retired-harness execution, not generic persisted-history decoding | Do not restore the SDK or worker. NeoPi native fork/rollback/leaf/cursor semantics must be implemented in the required V2 native adapter rather than borrowing Claude's worker or inventing a cursor. No execution. |
| apps/server/src/cli/app.test.ts | Retain current CLI and desktop socket safety without reviving a pruned copy assertion | The sole fork delta changes the missing-desktop diagnostic brand, not protocol or activation behavior | Keep current binCli owner, secure socket ownership/permissions/symlink tests, live-server refusal before filesystem effects, explicit home routing and no fallback after a desktop response | Accept upstream removal of the old missing-desktop rendered-message test. Remove two incidental CLI error-text assertions rather than rebrand/re-pin them; keep rejection and exact unchanged-state/non-created-directory assertions. No subprocess, test or server was run. |
| apps/server/src/cli/claudeHistory.ts | Keep the hidden retired-Claude execution subcommand removed | Fork 284c792315 removed the Claude SDK worker and CLI; binCli no longer registers it | Upstream upgrades Effect CLI and lazily imports the same retired worker with interruption sequencing | Delete this command with its worker rather than retain a broken dynamic import or SDK dependency. Native history navigation and forks remain real NeoPi operations. No execution. |
| apps/server/src/cli/config.ts | Preserve the desktop parent pipe on current configuration resolution | Keep NeoCode visible help and opt-in exit-on-stdin-close; WSL's fd0 bootstrap borrows stdin rather than destroying the lifetime pipe | Keep named Effect.fn resolution, injected automatic-port selection, LAN/private-network defaults, live-server refusal before directory creation, quiet auth resolution and current bootstrap/observability precedence | Normalize both lan and exitOnStdinClose in the current function body and pass the borrowed stream only for fd0 with the lifetime flag. Rebrand the new running-server diagnostic without changing flags, data paths or startup refusal. Remove config.test's two incidental diagnostic string assertions while retaining rejection before cwd creation; no check/test run. |
| apps/server/src/cli/connect.ts | Keep current unified up/connect lifecycle with fork product guidance | The fork delta removes T3 Code from obsolete background-onboarding completion copy; preserve external T3 Connect service identity | Adopt connectSubcommands and up.ts as the current command owner, with live reachability, managed/publish-only intent, route-preserving settings, auth scopes and restart/update safety | Delete the old parallel connect handler instead of stacking two command lifecycles. Reseat NeoCode labels in the new up owner and use neutral server startup wording in connection guidance; keep actual T3 Connect references. New up.ts fork-registry reason and copy-only test audit remain due. No execution. |
| apps/server/src/cli/pair.test.ts | Retain current pairing safety and scripted output rather than old brand-copy tests | Preserve rejection of stale runtime state and separation from live/shared home; fork-only changes here were diagnostic strings | Keep local-only managed-policy refusal before Tailscale runs, descriptor/protocol/scope validation, host-aware invocation guidance, app links and clean machine-readable auth output after stale-upload cleanup | Remove misplaced obsolete missing-server assertions from the new policy and scripted-output cases. Keep stale-PID command/base-dir guidance without repinning the diagnostic brand. Policy test still requires rejection before its failing-on-execution Tailscale fixture; async sweep completion remains observable through removed stale files and one valid output record. Unrun. |
| apps/server/src/cli/server.ts | Retain explicit desktop-owned EOF shutdown within current startup/finalizer ownership | Keep opt-in stdin lifetime (including borrowed WSL bootstrap), standalone independence and NeoCode help | Adopt lazy server import, automatic-port selection, database-reclaim finalization, default/start live-server refusal, unknown-command/path admission and launcher-loss/output-pipe safety | Explicit exit-on-stdin-close selects the actual parent pipe; ordinary authenticated desktop launch retains upstream launcher-loss observation. Both interrupt the server through normal finalizers, including requested reclaim; standalone runs without either ownership condition remain independent. Keep hidden start alias and current up guidance. No runtime/test executed. |
| apps/server/src/cli/service.test.ts | Accept deliberate status-rendering test pruning while retaining lifecycle behavior | The fork only neutralizes a service-heading string in the removed formatter test | Keep current service install/update/restart/uninstall safety, newer-version protection and queued restart behavior | Delete old whole-output/copy assertions rather than preserve stale formatter imports or repin NeoCode text. Current semantic service tests remain. No service operation or test executed. |
| apps/server/src/cli/service.ts | Keep fork-visible identity in current service lifecycle and protection | Retain neutral background-service guidance and external T3 Connect identity without renaming units, homes, executable or flags | Preserve handed-off installation/queued restart outcomes, resolved executable diagnostics, wrong-home refusal before restart/uninstall, service.env edits, memory-protection read/confirm/undo and current up onboarding | Reconcile to the current outcome/formatServiceChange owners, not old boolean restarted or duplicated onboarding flow. Use neutral/NeoCode copy for all new protection and wrong-home branches while preserving systemd safety and reversibility. No install/restart/protection or test was executed. |
| apps/server/src/cli/triagePrompt.test.ts | Follow the upstream triage module move without duplicating prompt snapshots | Fork removes copied prompt/playbook assertions but keeps the Windows argv-safe one-line launch invariant | Upstream 7e884b2df6 moves prompt ownership and that exact argv regression to src/triage/triagePrompt.test.ts for in-app triage | Delete the obsolete CLI-path test: the real argv regression is already present at the new owner. The moved prompt source still has ordered conflicts, and its reintroduced text/copy tests plus new TriageService fork repository/native-execution integration remain required follow-through, not working claims. No eval/test run. |
| apps/server/src/cli/update.test.ts | Preserve host/version-matched fork discovery within current authenticated update tests | Keep the stable build-metadata regression: stale-version archives, wrong-host archives and missing checksums cannot nominate an installable release | Keep authenticated pagination, managed update policy/mirrors, launcher ownership, Windows retry/launcher behavior, service handoff and pinned-runtime retention | Extend upstream's existing authenticated pagination case with the fork partial-publication cases and current HostProcess APIs rather than duplicate it. Assert typed policy refusals and mirror routing without literal product-message pins. Requests target the fork repository. Tests not run. |
| apps/server/src/cli/update.ts | Keep fork archive admission together with authenticated and managed upstream updates | Require the exact version/host archive and SHA256SUMS before selecting a release, preserve fork build metadata and NeoCode success/progress identity | Keep current GH_TOKEN/GITHUB_TOKEN page authentication, mirrors/policy refusal, launcher ownership/repoint recording, service-safe update/handoff and runtime pruning | Combine current HostProcess namespace with the fork platform-key gate and shared version selector; preserve current request timeout and error handling. Extend the already-reconciled pagination fixture with an archive-without-checksums row, in addition to wrong-version/wrong-host rows. Shared release helpers and lockfile remain pending. No network/update/test run. |
| apps/server/src/cli/updateProgress.test.ts | Accept upstream deletion of low-signal progress rendering tests | Fork only replaces the redirected-output wording snapshot with escape/line-count assertions; no new fork-specific renderer scenario lives here | Upstream 05696c636e deliberately removes this formatting/throttling snapshot suite; current updater implementation remains | Keep the file deleted rather than resurrect or re-pin copy/color/default-width output tests. Native final background-output behavior has its own owner and is not proved by this download renderer. No test run. |
| apps/server/src/cloud/bootService.test.ts | Retain exact stable-build executable validation on current service management | Keep full +build version acceptance and reject a base-version executable before stopping/restarting any service | Keep current systemd manager UnitPath/busctl ownership, timed-out-stop state, explicit home and queued handoff/current-runtime behavior | Merge the fork's reportedVersion override into upstream's version-probe branch without replacing busctl output or current status controls. The existing native-fork validation regression remains against the real service implementation and current harness; no execution. |
| apps/server/src/cloud/pinnedRuntime.test.ts | Preserve fork build metadata and relative checksum paths in verified installs | Keep full stable +build version as the real fixture and ./ archive entries in SHA256SUMS; default downloads target the fork | Keep current interrupted-download cleanup, unpublished archive/missing asset detection, mirror cache revalidation, executable/launcher ownership and runtime pruning coverage | Retain the semantic fork fixture rather than reverting to a bare base version. Assert URL-encoded tag/archive components to match current cliReleaseAssetUrl, without changing exact archive naming, verification, sentinel or cleanup assertions. Upstream's pruned per-chunk progress fixture stays removed. Unrun. |
| apps/server/src/cloud/servicePreflight.test.ts | Preserve both old launcher refusals with current database and recovery safety | Keep blocking protocols 1 and 2 against current standalone-executable protocol 3, without pinning product prose | Keep explicit version/protocol/PATH repair guidance and real SQLite migration-head readiness/newer/unreadable/missing cases | Retain both legacy protocol inputs and verify recovery points to the exact fork release, never upstream's installer; keep explicit default launcher path/version/PATH-check commands. The following source resolution replaces the upstream install command with truthful versioned fork artifact guidance. No SQLite/test execution. |
| apps/server/src/cloud/servicePreflight.ts | Keep actionable launcher recovery and migration fail-closed behavior fork-correct | Preserve neutral launcher guidance and do not send NeoCode owners to an upstream installer | Adopt exact protocol/version/PATH recovery and block unreadable/newer migration histories before executing a staged server | Keep current migration guards and diagnostic detail; replace t3.codes/install.sh with the encoded exact fork release, checksum verification and explicit ~/.local/bin/t3 repair path. State that this route requires a published CLI archive for the platform; no invented fork installer or unsupported-platform promise. Reuse shared CLI_RELEASES_PAGE_URL in the later shared release merge. No execution. |
| apps/server/src/codexModelOptions.test.ts | Preserve the NeoPi-only cutover of Codex execution option code | Fork 284c792315 deletes the Codex-specific service-tier execution helper/test; NeoPi owns inference traits | Upstream only prunes its direct service-tier assertion and retains the legacy fastMode-to-Codex-runtime option test | Keep this retired helper test deleted. Generic legacy model/history decoding remains readable; it does not require a Codex execution adapter or GUI-authored inference-trait mapping. No execution. |
| apps/server/src/desktopUpdate/DesktopAppUpdate.test.ts | Preserve current track-switch outcome semantics instead of old error prose | Fork removes product wording pins in old unavailable/up-to-date tests; no unique native bridge behavior is added there | Keep NodeCrypto fixture support, cross-request report isolation, progress/prepare tokens, retained commit failures and successful no-install current-version track switches | Accept upstream pruning of the availability-default test and replacement of the old up-to-date-as-error case. Keep actual target/method success values and token-scoped failure behavior; do not resurrect stale upToDate/failed fixture fragments. Unrun. |
| apps/server/src/desktopUpdate/DesktopAppUpdate.ts | Preserve neutral desktop diagnostics on current track-switch success semantics | Keep fork-neutral reachability/availability/commit errors without renaming desktop protocol or request identity | Keep SecureRandom UUIDs, current report consumer, token-scoped prepare/commit/retry guards and no-install success when a track switch finds the current version | Adopt the actual current-version result without fabricating an install token or referencing the prepared-update target outside its branch. Ordinary up-to-date checks still return the current neutral error. No update/bridge/test executed. |
| apps/server/src/device/DeviceService.test.ts | Keep native device namespace isolation on current multi-host service fixtures | Retain profile-qualified native resources, selected-scope close isolation and functional settings mutations | Keep typed multi-host summaries, SSH/secret/process dependencies, crypto, boot/encoder/transport failures and lifecycle regressions | Combine imports without resurrecting removed DeviceServiceState fixture. The existing native isolation case still opens real service sessions for two native profiles and a legacy thread and checks independent closure. Tests not run. |
| apps/server/src/device/DeviceService.ts | Retain canonical workspace namespaces through new device operations | Accept native resource IDs without fabricating SQL threads | Keep current multi-host/EAS/Simlock selection, per-device daemon readiness, launcher leases/close locking and local-host display label | Widen new agentLauncher and locateSession scope inputs to the same string namespace as agentTarget, sessionsForThread and the hashed launcher identity. Their implementations compare exact live session scope; SQL callers remain valid. No device process or test run. |
| apps/server/src/device/LocalDeviceHost.test.ts | Retain interruption ownership regression alongside current daemon recovery suite | Keep receipt-driven readiness and post-ready-maintenance cancellation checks, asserting provisional child release and no published host | Keep current daemon lock ownership, cached health retry, command/read failures, SDK probes and Linux runtime environment tests | Use current HostProcess namespace and stable Effect process/HTTP imports for both suites. Keep Deferred/Fiber cancellation proof rather than scheduling sleeps or dropping fork coverage. Tests not run. |
| apps/server/src/device/LocalDeviceHost.ts | Retain provisional process ownership across upstream daemon recovery | Keep scoped acquisition through readiness, maintenance and helper discovery; atomically transfer published process ownership with supervision, including restarts | Keep upstream working-directory/platform arguments, owned Linux runtime environment recovery, daemon health/lock diagnostics, registered-daemon output recovery and retained agent sessions on hub restart | Use one startup guard rather than duplicated error cleanup. Its scope closes on failure/interruption unless the exact hub has entered runningRef. Preserve the current untraced supervisor with scoped replacement startup, atomic handoff and prior agentDevice state. No process or regression test executed. |
| apps/server/src/environment/ServerEnvironment.ts | Advertise atomic project patches alongside new upstream capabilities | Retain projectSettingsOverridePatches version-skew admission for partial/reset mutations | Keep projectProviderInstanceOverrides and current speech/browser/peer/triage/storage/update descriptors, migration head and SecureRandom identity | Both independent capability flags remain true; no old descriptor or removed server-update continuation flag restored. Native execution support remains owned by native discovery, not fabricated capability rows. No descriptor runtime or test run. |
| apps/server/src/mcp/McpHttpServer.ts | Keep revocable native in-process dispatch on current MCP transport | Preserve exact active credential capability checks, pre-call revocation and abort-raced calls through the registered validated/image-aware tool server | Keep OAuth discovery vs launched-agent denial, mode/policy ceilings, linked-environment gates, schemas/spans/analytics, all current generic toolkits and separate in-process server middleware | Register the native server observer inside current layerMcpTransport registrations; migrate bridge fixture to current toolkit layers. Retain the preview/device/pull-request allowlist only: HTML/native scope and MCP Apps follow-ups remain explicit, not falsely advertised. NeoCode visible server name, stable t3-code client identity. Not run. |
| apps/server/src/mcp/McpInvocationContext.ts | Distinguish native workspace authority from current SQL and OAuth callers | Preserve canonical file/profile/session authority and immediate revocation without a surrogate thread | Keep nested SQL caller, OAuth client modes, administrator ceilings, linked-environment/subagent gates and hosted SQL thread links | Native union branch explicitly has no SQL thread or OAuth client. Add workspace-only capability admission for preview/device while requireThreadScope stays SQL-only. Missing-capability errors retain native refs. Bridge compares the actual nested SQL or canonical native caller, not obsolete flat SQL fields; current Effect AI import. Callers in ordered registry/broker/toolkit resolutions still need migration. Not run. |
| apps/server/src/mcp/McpSessionRegistry.test.ts | Preserve native revocation and trusted idle restoration; reseat config proof at V2 owner | Keep file/profile-separated native capability grants, transport-owned liveness, abort signals and SQL isolation | Keep expired SQL token restoration only after trusted touch, unchanged scope, unrelated-thread refusal and irrevocable session/thread/global revocation | Remove the obsolete deleted-global-cache fixture: current ProviderSessionManager.test.ts already proves real credential issuance before open and both config/token release on close; extend that case with abort-signal verification. Retain native isolation without a SQL thread or OAuth client, current NodeCrypto and nullable SQL callers. Unrun. |
| apps/server/src/mcp/McpSessionRegistry.ts | Keep native connection grants and revocation with trusted SQL credential revival | Native tokens use exact file/profile resources, explicit capabilities, no SQL caller/config cache and transport-owned lifetime; revoke aborts in-flight work | Keep current cryptographic providers, hash-only records, bound endpoint host, nested SQL caller/subagent/browser grants and expired records restorable only by trusted touch | Remove eager pruning that would destroy upstream idle revival. Expiry never aborts/refreshes a dead SQL token; native tokens do not age on SQL traffic. Explicit session/thread/global revocation aborts and deletes, so touch cannot restore them. Retired global config-cache helpers removed; V2 manager owns config, old ProviderService must cut over rather than resurrecting cache. Tests not run. |
| apps/server/src/mcp/PreviewAutomationBroker.ts | Carry canonical native workspace routing through current host leases | Include native session ref on routed requests and admit native scope without SQL caller | Keep environment/provider-session/workspace-isolated assignment keys, preferred server-browser selection, tab ownership, queue-generation checks, timeout grace and typed remote failures | Resolve one concrete caller per invocation from the native authority or nested SQL caller; use its resource namespace consistently for tab matching, diagnostics and dispatch. Native refs are never inserted into SQL thread scopes. Browser lifecycle runtime proof remains due; no broker test run. |
| apps/server/src/mcp/toolkits/pullRequests/handlers.test.ts | Retain native-to-SQL refusal on current PR toolkit harness | Native scope cannot read/link/unlink SQL conversation metadata, even with an explicit SQL thread target | Keep V2 engine/project fixtures, PR watch/unwatch, review guides, bare-id resolution and command error coverage | Move the forbidden native SQL lookup sentinel to actual OrchestratorV2.getThreadShell, supply the new native scope shape and extend the existing refusal case to watch/unwatch and explicit targets. No native SQL surrogate; tests not run. |
| apps/server/src/mcp/toolkits/pullRequests/handlers.ts | Keep native SQL-link refusal before current target resolution | Native conversations do not acquire SQL conversation metadata/control authority from a PR capability | Keep explicit/default SQL caller resolution, deleted-thread checks, V2 dispatch, forge target normalization, watch/subagent handling, stack depth and review-guide service | Preserve the native guard before either requested or default SQL lookup, then use the current OrchestratorV2 path. Remove old snapshots/flat scope fragments. Generic project/review-guide features remain; no handler execution or test run. |
Companion integration after MCP conflict rows: current preview/device declarations used SQL-only caller wrappers and would reject every native scope before its handler. Add explicit workspace read/action declarations; retain existing SQL live-run/mode admission, while native actions require their own granted workspace capability and remain abort-raced by native dispatch. Migrate preview/recordings and all device handlers to native or nested SQL resource identity. Native device_open resolves its cwd through observer-only NeoPiNativeSessions.resolveWorkspace, declared as an actual service dependency, never SQL lookup. Generic SQL loadCaller now rejects native credentials before metadata access (new boundary regression); V2 credential reuse explicitly excludes native tokens. Required downstream fixture/service wiring and upstream-touch registry updates remain due; nothing executed.
| apps/server/src/orchestration/ActivityPayloadProjection.test.ts | Move command-output Unicode proof to current wire/detail projection | Fork adds two complete-code-point boundary cases for opted-in expanded command output | Upstream removes V1 activity payload projection; V2 omits command output from broadcast and fetches a bounded 256 KiB detail on demand | Keep this obsolete V1 test file deleted. Port both split/retained emoji boundaries to actual WireProjection.projectTurnItemForDetail command output, also checking omission on broadcast and source preservation. Native mappers/tools.test.ts still imports removed V1 projection/ingestion and MUST migrate with the real V2 adapter; do not suppress those native proofs. Unrun. |
| apps/server/src/orchestration/ActivityPayloadProjection.ts | Adopt current output-on-demand projection instead of restoring V1 | Fork's only source delta carries an optional bounded Unicode-safe displayOutput tail | Upstream deletes the V1 activity/event transport and uses WireProjection command output omission plus bounded fetched detail | Keep obsolete V1 projector deleted. The current V2 wire/detail regression now covers command detail Unicode boundaries; native output producers/consumers must use real V2 command items during the adapter port. Only actual code import remaining is native mappers/tools.test.ts (must port); transferBudget also lists obsolete V1 paths and needs current-owner audit. No source/runtime execution. |
| apps/server/src/orchestration/Layers/CheckpointReactor.test.ts | Follow upstream V1 checkpoint test removal | Only fork delta removes uploadFeedback from a fake ProviderService; no native checkpoint regression is added | Upstream removes this entire V1 reactor harness during orchestration V2 cutover | Keep deleted rather than restoring legacy engine/provider fixtures for an obsolete fake property. Checkpoint behavior follows upstream V2 ownership; native-specific ingestion/runtime proofs remain separate port obligations. No test executed. |
| apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts | Remove obsolete V1 harness; carry exact acceptance proof into mandatory real V2 port | Unique fork case blocks send and verifies exact message acceptance only after provider success, without assigning its user message a turn or rendering bookkeeping | Upstream deletes the V1 SQL reactor and replaces its admission, execution, events and projection contracts | Keep V1 file deleted, not a legacy execution shim. Its consumer-visible acceptance and failed-send recovery invariant is REQUIRED port work before final verification/delivery; source inspection confirms V2 run.running precedes provider start and cannot substitute for acceptance. No replacement proof or passing check is claimed yet. |
| apps/server/src/orchestration/Layers/ProviderCommandReactor.ts | Adopt V2 execution owner and preserve acceptance obligation | Fork removes retired harness authentication and persists exact successful send/compact outcomes for recovery, after actual provider success | Upstream removes the complete V1 reactor in favor of ProviderTurnStartService and RunExecutionService | Keep this V1 owner deleted. NeoPi V2 adapter integration and current client recovery must preserve actual exact-input acceptance, rejected-send retention, compaction and navigation semantics; no early run state or synthetic success may replace provider acknowledgment. This port remains required, with its unique regression identified in the preceding row. |
| apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts | Remove V1 ingestion harness; consolidate native identity proof at real native integration owner | Unique fork case verifies distinct persisted NeoPi assistant messages across two turns and a second thread; remaining delta removes obsolete feedback fake | Upstream deletes the complete V1 runtime ingestion/projection harness for V2 | Keep deleted rather than restore obsolete SQL engine fixtures. The retained neopiProviderIngestion.integration.test.ts exercises this same identity invariant through actual native adapter/runtime plus restart, tool and cwd/mode behavior; its mandatory real V2 migration must retain the two-thread/multi-turn distinct-ID assertions. That retained suite is not yet ported or run. |
| apps/server/src/orchestration/ThreadSettlementReactor.test.ts | Follow upstream V1 settlement harness removal | Fork changes only settings fake compatibility for atomic update callbacks/null no-op and project override set patches | Upstream deletes old settlement engine/tests; current V2 owns settlement and cleanup | Keep obsolete harness deleted; these are fake-contract migrations, not unique native settlement regressions. The real atomic settings and authoritative project mutation semantics remain required in current source/tests, already tracked at their actual owners. No check run. |
| apps/server/src/orchestration/decider.import.test.ts | Retire V1 SQL import fixture without discarding native restoration invariants | Fork adds stopped/idle-only native history append, stable-ID rather than text deduplication, no invented turns, saved model preservation and active-provider refusal | Upstream deletes V1 decider/import tests and supplies a read-only legacy V1 importer plus V2 execution | Keep obsolete V1 test deleted. Native canonical journal reconciliation already has retained identity/dedup/no-invented-GUI-turn cases; native catalog/binding restoration and its V2 port still MUST preserve stopped-only mutation, saved choices and exact cursor/leaf identity. Do not treat the legacy SQL importer as a replacement for live native ownership. Required native port/coverage remains unrun. |
| apps/server/src/orchestration/decider.ts | Adopt V2 orchestration rather than restoring obsolete SQL decision paths | Fork's only delta adds stable-ID-deduplicated history append to stopped idle threads, preserving original messages and no live turn | Upstream removes V1 decider and imports retained legacy SQL history separately | Keep V1 owner deleted. Native restoration must use the current canonical native authority and real V2 runtime binding, not a shim that resurrects SQL orchestration or silently treats legacy import as restored native ownership. Preserve the preceding row's history/identity/concurrency invariants during the required native migration. |
| apps/server/src/persistence/Migrations.ts | Preserve canonical upstream schema sequence and upgrade the known fork-55 collision transactionally | Fork shipped migration 55 as an additive non-stopped-runtime index; saved native bindings/cursors and its reaper optimization must survive | Upstream 55 is immutable V2 schema, followed by migrations 56–80, preview reconciliation and guards against skipped/colliding history | Keep upstream IDs/names/schema unchanged. Move fork index source/test to 081 and register it after 80. A fork-owned transactional reconciler recognizes only the exact old index receipt with no later history, creates real V2 schema before replacing that receipt, and rolls back on schema failure. Unknown histories remain refused. Extend current SQLite upgrade case for 54/known-fork55, retained cursor/status, idempotency, partial-DDL rollback and unknown-later refusal; preserve actual partial-index/query-plan proof. Tests not run; no live DB touched. Add current migration/helper/test touch reason to registry. |
| apps/server/src/preview/Manager.test.ts | Keep independent bounded-consumer proof on current browser service tests | Fork verifies 300 mutations cannot retain unbounded history for a stalled subscriber, authoritative resync matches current revision/sessions, and healthy/subsequent delivery is uninterrupted | Upstream adds server-owned profiles/presentation, controlled status guards and monotonic batch-close behavior on current service layers | Retain all current upstream cases plus fork resync/independent subscriber cases; use scoped synchronous subscription collector, current Effect subpath/fiber APIs and immediate scoped pull startup instead of scheduler-yield readiness. Remove unused retired URL/PubSub imports. Actual resync/detail contract still reconciles at subsequent source/contract owners; tests not run. |
| apps/server/src/preview/Manager.ts | Preserve bounded independent mutation streams with current hosted-browser lifecycle | Fork isolates stalled consumers using byte/item-capped FIFOs, lazy revisioned authoritative resync and monotonic post-resync filtering | Upstream adds secure-random epoch, server profiles/automation ownership, headless/presentation operations, controlled status guards and beforePublish metadata installation | Retain bounded fanout and all upstream browser operations. Run beforePublish before opened publication inside the state lock; do not restore unbounded PubSub. Include new automation-owner and reveal-request strings in retained-byte estimates. Keep synchronous internal subscription and current full session snapshots/revision. Contract/client merge and runtime proofs remain pending; no test run. |
| apps/server/src/project/AgentSessionImporter.test.ts | Preserve deliberate retirement of external-harness import tests | Fork deletes retired external transcript importer/discovery rather than using it for native sessions | Upstream rewrites this suite around V2 Codex/Claude/Pi transcript import, SQL/provider binding ownership, commit recheck/retry and policy ceilings | Keep deleted: this tests retired external-harness import/resume machinery and does not test NeoPi's canonical native journal/catalog. Retained SQL history remains readable through the V2 legacy importer; native owner/binding concurrency and saved cursor identity remain requirements of the real NeoPi port, not a reason to revive other harnesses or manufacture SQL threads. |
| apps/server/src/project/AgentSessionImporter.ts | Keep retired external transcript import/resume owner deleted | Fork deliberately removes external-harness discovery/import while NeoPi owns canonical native sessions | Upstream rewrites import to create V2 app/provider threads and runtime cursors for Codex, Claude and Pi, including ownership-guarded commits and policy-limited imports | Keep deleted: its resumable external cursor formats, provider defaults and synthetic SQL conversation bindings are not native NeoPi authority. Preserve already-saved SQL history through current legacy decoding; native catalog open/restore uses actual file/session/lease/cursor authority and must retain concurrency guards in its required port. Generic V2 persistence ownership guards remain in upstream core. |
| apps/server/src/project/AgentSessionScanner.test.ts | Keep retired external discovery/parser tests deleted | Fork removes retired harness discovery/import rather than scanning third-party homes for native execution | Upstream expands Claude/Codex/Pi discovery, transcript parsing/bounds/identity, git/FIFO scan isolation, per-instance homes and import filtering | Keep deleted with its retired scanner. These tests exercise external transcript discovery rather than NeoPi's runtime-owned catalog/journal; do not revive those homes, parsers or execution cursors. Generic git/project identity remains owned by retained project/VCS services and native session discovery remains catalog-based. |
| apps/server/src/project/AgentSessionScanner.ts | Keep retired external discovery deleted while retaining shared legacy reading utility | Fork removes external-harness home scanning/import adapters; NeoPi discovers through its own configured runtime/catalog | Upstream adds Claude/Codex/Pi source inventories, streaming transcript selection, rewind/import metadata, bounded file identity and isolated git reads | Keep scanner deleted, not the native catalog. Crucially retain new AgentSessionJson.ts/test and stream-json dependency: actual usageTranscriptReader.ts independently consumes that parser for bounded legacy transcript decoding. Remove scanner service/RPC/caller wiring during full contract integration, not generic retained VCS or legacy usage behavior. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 4/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44474 bytes; SHA-256 c916ac0b79e9641c16ffc09c77234abb5cd08fae2c16c758fa0d8cfd5555b057.

| apps/server/src/project/ProjectSetupScriptRunner.test.ts | Port completion ownership proofs to actual asynchronous shell-readiness harness | Fork requires eager unconsumed completion cleanup, closed-before-await cleanup and interruption-safe subscription ownership | Upstream uses current project/V2 services, observes shell startup prompts before open, returns before async writing and waits for prompt redraw before closing idle shells | Keep all upstream startup/readiness/cancelled-open/exit cases. Replace obsolete V1 fixtures with current harness proofs: closed-before-await releases observation; sentinel retains redraw receipt then releases before awaiting completion; service-scope cancellation during a Deferred-gated background write releases an unconsumed observer. Native source reconciliation follows next; tests have not run. |
| apps/server/src/project/ProjectSetupScriptRunner.ts | Preserve prompt-redraw startup semantics with independently owned completion cleanup | Fork prevents abandoned completion observers and cancellation gaps between subscription and command dispatch | Upstream subscribes before opening, observes rc-file prompts/live line-editor readiness, writes asynchronously, uses actual shell and waits for post-sentinel prompt redraw before closeIdle | Give completion a real interruptible service-scoped monitor: receipt time remains native completion time; numeric sentinel retains only the bounded prompt-redraw wait, redraw/closed release without consumer, monitor completion/shutdown releases idempotently. Acquire completion/readiness under an interruption mask, restore open/getShell and scoped background readiness/write, clean both observations on failed/interrupted launch, release readiness before write. Preserve all project/V2 link fences, settle uniqueness, environment/no-color and shell handling. Current tests staged, source unrun. |
| apps/server/src/project/RepositoryIdentityResolver.test.ts | Preserve origin-first fork identity through new origin metadata | Fork resolves checkout's origin before upstream and falls back when origin is absent | Upstream extends identity with optional distinct-origin metadata and tests upstream-canonical fork resolution; retains new remote parsing/bare clone behavior | Keep current platform/partial/bare/nested/userless/local-path/cache coverage and origin add/replace refresh regression. Assert the selected fork is not repeated as its own distinct origin; keep upstream-only fallback. Do not adopt upstream-canonical expectations that contradict already-merged origin-first source. Test unrun. |
| apps/server/src/provider/AntigravityAuth.test.ts | Keep retired Antigravity execution auth tests deleted | NeoPi owns inference-provider authentication; fork removed ACP Antigravity execution | Upstream ports ACP types/package ownership and adds stalled Google auth/initialize timing cases | Delete this ACP runtime/controller fixture and tests; do not recreate non-NeoPi auth execution or bring back effect-acp/provider-acp dependencies. Native account/auth coverage remains with NeoPi. |
| apps/server/src/provider/AntigravityAuth.ts | Keep retired ACP authentication controller deleted | Authentication/account execution belongs to NeoPi, not a second GUI-managed Antigravity runtime | Upstream adds network-stall hint after initialize, browser interaction metadata and current SecureRandom/ACP package types | Delete Antigravity-owned runtime/process/login controller. Reference search finds only retired AntigravityDriver and new AntigravityAdapterV2 type users; remove those actual consumers in ordered conflicts/full V2 cleanup. Preserve native account authentication and generic shared secret infrastructure rather than emulate this controller. |
| apps/server/src/provider/AntigravityInstallation.test.ts | Keep retired managed Antigravity installer tests deleted | GUI no longer downloads or installs non-NeoPi execution harnesses | Upstream ports host process/crypto services and expands architecture/spawner validation for managed Antigravity ACP archives | Delete the specialized archive fixtures, managed-release activation and ACP executable validation tests with their retired installation owner. Generic archive services and native executable installation guidance remain in retained shared/NeoPi owners. |
| apps/server/src/provider/AntigravityInstallation.ts | Keep retired managed Antigravity runtime installation deleted | NeoPi-only execution excludes GUI-owned Antigravity downloads, leases and process validation | Upstream supports agy acp without a sibling harness, current command/host APIs, package ACP support and managed artifact validation | Delete specialized service rather than reinstate ACP execution. Actual reference search identifies ordered AntigravityDriver and providerInstallation/ProviderRegistry/server/ws-test installation wiring; those must be removed or reconciled in their current owners during integration. Retain generic command/crypto/archive services and independent NeoPi executable ownership. |
| apps/server/src/provider/AntigravityProvider.test.ts | Keep Antigravity execution snapshot fixtures deleted; retain applicable native quota semantics | Fork discovers models/commands/accounts through NeoPi, not a second ACP runtime | Upstream adds launcher-version preservation, refreshed skill caching and asynchronous quota snapshot coverage (retain successful read on failure, clear on sign-out, reject stale post-sign-out results, readiness independent of pending shared read) | Delete specialized ACP snapshot/model/handshake fixture. Mandatory native/V2 integration audit must preserve the applicable account-scoped quota behaviors at NeoPi's authoritative native snapshot seam rather than lose them with the retired harness; keep inference quota UI and generic usage contracts. No native port/test is claimed yet. |
| apps/server/src/provider/AntigravityProvider.ts | Keep retired ACP runtime snapshot/model controller deleted | NeoPi owns its models, command catalogs, thinking choices and inference identities | Upstream adds observed per-model ACP thinking, distinct labels, launcher handshake version preservation and background account-revision-guarded quota publishing | Delete harness-specific controller; only AntigravityDriver imports it. Preserve actual generic provider-core managedProvider/snapshotProbe/usageLimits modules already retained, not ACP session emulation. Audit native quota stale-result/readiness semantics from preceding test row at the native seam. |
| apps/server/src/provider/ClaudeModelCatalog.test.ts | Keep retired Claude Code dispatch catalog tests deleted | NeoPi supplies authoritative inference models/capabilities without GUI-maintained harness inventories | Upstream tests Claude Code version gates, API-model/effort/context-window dispatch, custom ultracode mapping and provider-catalog package refactoring | Delete only this Claude Code adapter-specific manifest resolver fixture. Preserve generic model capability/context contracts and native model metadata; do not reintroduce a competing Claude Code manifest or execute saved legacy harness history. |
| apps/server/src/provider/ClaudeModelCatalog.testFixtures.ts | Keep retired Claude transport catalog fixture deleted | Native model tests consume NeoPi metadata, not a Claude Code harness manifest | Upstream trims unused thinking-model export and marks fixture thinking currently enabled | Delete specialized dispatch fixture. Reference search finds only retired ClaudeTextGeneration.test.ts; remove that consumer during its ordered conflict rather than preserve a dead alias/manifest. |
| apps/server/src/provider/ClaudeModelCatalog.ts | Keep retired Claude Code dispatch/version catalog deleted | Native inference metadata and choices come from NeoPi, not GUI Claude SDK dispatch rules | Upstream adds SDK-reported models, dated-ID alias handling, ultracode toggle translation, context sizing and upgrade gates through provider-core catalog | Delete specialized Claude SDK/manifest resolver. Import search identifies only retired ClaudeProvider/Driver/AdapterV2/text generation, claudeModelOptions and generic registry tests importing retired fixtures; reconcile/remove those actual consumers during ordered conflicts and V2 cleanup, not native model inventory. Generic capability and context schema remain. |
| apps/server/src/provider/ClaudeProvider.ts | Keep retired Claude SDK probe/execution snapshot deleted | NeoPi owns native inference accounts, model catalogs and capabilities; saved legacy data does not authorize Claude SDK processes | Upstream expands SDK account/auth evidence, reported-model catalog, workspace probing and provider-core snapshot services | Delete Claude SDK probe/controller. Import search finds retired ClaudeDriver, new ClaudeCapabilitiesProbe.test.ts and registry tests; remove the newly added retired probe tests and adapt registry coverage during complete closure cleanup. Preserve generic provider-core snapshots and native metadata rather than launch Claude to rediscover it. |
| apps/server/src/provider/CodexDeveloperInstructions.ts | Remove retired Codex additionalContext packaging, retain shared orchestration/tool guidance | Fork has no Codex execution adapter; NeoPi owns native model/runtime instruction channels | Upstream moves common browser/device/orchestration text into provider-core and packages it as ordered 4KB Codex context entries | Delete Codex app-server request packaging only. Keep real shared provider-core runtime/orchestration instructions. Reference search also finds new CodexDeveloperInstructions.test.ts, AgentContextBudget.test.ts and evals/mcp-tool-use/run.ts in addition to retired CodexAdapterV2: migrate applicable generic budget/eval guidance to the actual native/shared context seam, remove Codex-only packing/wording tests, do not drop shared evals. Read evals/README; no eval run yet (heavy admission and final integration pending). |
| apps/server/src/provider/CodexProvider.test.ts | Keep retired Codex app-server capability/default tests deleted | NeoPi reports provider/model routing capabilities and owns saved choices; GUI does not rank a Codex harness inventory | Upstream adds ultrafast service-tier mapping to Codex capability fixtures and removes older default-preference cases | Delete specialized model translation/default fixture. Preserve generic option descriptors and native fast/effort selection, without adding a fixed GUI service-tier inventory or Codex execution. |
| apps/server/src/provider/CodexProvider.ts | Remove retired app-server probe while retaining inference plan-label updates | Fork removed Codex execution but retained pure account/quota decoding in usage/inferenceUsageLimits.ts | Upstream adds discovery/config timing, app-server client/capability probing, service-tier metadata and current ChatGPT plans | Delete execution-specific provider. Port actual non-execution label changes into existing inferenceUsageLimits.ts: Pro 200/100/500, Business Premium, team grouped with Business. Reference search identifies retired CodexDriver/ManagedProvider/AdapterV2/ChatGptModels/replay recorder and registry fixtures; clean actual closure later. cliproxyApi retains fork helper imports when its ordered conflict is reached. Label changes unrun; no copy/wording tests added. |
| apps/server/src/provider/Drivers/AntigravityDriver.test.ts | Keep retired Antigravity process/driver regressions deleted | NeoPi-only execution does not launch or configure an Antigravity ACP harness | Upstream ports driver tests to real V2 openSession/ensureThread and tests agy CLI mode negotiation plus narrow SOCKS diagnostic redaction | Delete specialized installer/process/mock-agent fixture, not generic V2 testing infrastructure. Native driver proof must exercise the actual V2 seam separately; ACP mode names, temp unpacking, Google login and ACP-specific error extraction are retired, not native capabilities to fake. |
| apps/server/src/provider/Drivers/AntigravityDriver.ts | Keep Antigravity execution driver deleted | Native execution/provider configuration belongs exclusively to NeoPi | Upstream reconstructs driver around ProviderHost, secret-resolved settings, model catalog, real AntigravityAdapterV2, ACP logging/auth/quotas and process setup | Delete this complete non-NeoPi driver rather than migrate/re-register it. Reference search finds builtInDrivers registration/type/usage lists and stale shard weight for its removed test; reconcile those owners. Preserve generic secret providers/ProviderHost/model catalog infrastructure and implement the actual NeoPi adapter instead. |
| apps/server/src/provider/Drivers/AntigravitySkills.test.ts | Keep retired Antigravity skill-root scanning tests deleted | NeoPi reports its own skills; GUI does not scan unrelated harness homes | Upstream trims legacy/missing-root/home-expansion cases while retaining Antigravity-specific root precedence and symlink fixtures | Delete specialized ~/.gemini/.agent scanning fixture. Preserve native skill discovery/command integration and shared symlink testing support, not a second harness skill inventory. |
| apps/server/src/provider/Drivers/AntigravitySkills.ts | Keep retired Antigravity home/skill scanner deleted | NeoPi exposes configured skill catalogs, so the GUI does not read other harness skill trees | Upstream replaces NodeOS home discovery with an injected home and shortens comments while retaining bounded native ACP-root parsing | Delete specialized scanner/home semantics. Only remaining import is retired antigravityAuthSupport.ts, whose ordered deletion closes the dependency; keep generic filesystem/YAML infrastructure needed elsewhere. |
| apps/server/src/provider/Drivers/ClaudeDriver.ts | Keep Claude SDK execution driver deleted | Native sessions/models/accounts are NeoPi-owned; GUI never starts the retired Claude harness | Upstream moves Claude to real V2 adapter, provider host/catalog services, scoped probes, maintenance and account credit operations | Delete specialized SDK driver and preserve generic continuation/environment/snapshot/secret services. Import search identifies builtInDrivers and ProviderInstanceRegistry.test.ts concrete-driver fixtures; migrate the registry's actual lifecycle/serialization behavior tests to current native or provider-testing fixtures without restoring retired drivers. |
| apps/server/src/provider/Drivers/ClaudeExecutable.test.ts | Keep retired Claude SDK executable resolution tests deleted | NeoPi binary selection remains native-owned and must not discover/launch Claude SDK binaries | Upstream ports HostProcess references and trims no-op/default cases around Windows Claude npm launcher resolution | Delete SDK-specific npm package/shim fixtures; retain generic shared shell resolution and actual NeoPi binary-selection tests. |
| apps/server/src/provider/Drivers/ClaudeExecutable.ts | Keep retired Claude SDK executable shim resolver deleted | GUI must not resolve package-specific Claude executables for retired execution | Upstream exposes a Windows shim predicate and ports HostProcess context with unchanged SDK package entry search | Delete specialized resolver/file-check reference. Import search now finds only new retired ClaudeAdapterV2 source/test/testkit; remove that closure during V2 cleanup. Shared shell/PATHEXT resolution and native binary selection remain independent. |
| apps/server/src/provider/Drivers/ClaudeHome.test.ts | Keep retired Claude home/environment tests deleted | NeoPi profile and environment resolution own native launch boundaries | Upstream tests dropping launching Claude session/Electron flags and precedence of instance versus Claude settings env, retaining cwd/home cache isolation | Delete specialized CLAUDE_CONFIG_DIR/Claude SDK process tests. Preserve actual generic instance-environment precedence and native profile isolation during native driver integration, without reading another harness's settings.json. |
| apps/server/src/provider/Drivers/ClaudeHome.ts | Keep retired Claude process home/MCP/environment builder deleted | Native profile/environment authority must not read Claude homes or managed MCP settings | Upstream injects host home, filters inherited Claude session flags/Electron run-as-Node, merges Claude settings entrypoint and detects managed MCP files | Delete specialized builder. Import search finds retired ClaudeAdapterV2/Maintenance/TextGeneration plus actual terminal/Manager.ts retired Claude launch path; terminal owner must remove retired launches while preserving native terminal lifecycle. Generic instance-environment and packaged native-launch handling stay with their real owners. |
| apps/server/src/provider/Drivers/ClaudeSkillDispatch.test.ts | Keep retired Claude SDK Skill-block dispatch tests deleted | NeoPi owns skill resolution/invocation, including its native composer insertion hooks | Upstream preserves complete leading requests and annotates bounded user-invocation-only Claude skills while dispatching a trailing Claude Skill command | Delete Claude-specific prompt rewriting fixture. Retain native skill selection/completion behavior rather than translate NeoPi drafts into Claude slash/SDK blocks or add model-facing compatibility text. |
| apps/server/src/provider/Drivers/ClaudeSkillDispatch.ts | Keep retired Claude skill text-block adapter deleted | NeoPi runtime owns skill invocation and prompt semantics | Upstream repairs mid-prompt preservation and annotates earlier user-only Claude skills around a final native Claude expansion | Delete Claude-specific slash rewriting and injected skill-file guidance, not native/shared composer tokens. Only remaining imports are retired ClaudeAdapterV2 and next ClaudeSkills.test.ts; close those actual consumers. Evals guidance read earlier; retired channel removal does not justify inventing NeoPi text injections. |
| apps/server/src/provider/Drivers/ClaudeSkills.test.ts | Keep retired Claude skill/plugin filesystem tests deleted | NeoPi authoritative catalogs replace GUI parsing of other harness plugins and homes | Upstream adds plugin manifest/install registry precedence, add-dir roots, tolerant descriptions and user-invocation metadata cases | Delete specialized Claude filesystem/plugin/dispatch fixture. Preserve generic shared skill metadata and native runtime discovery; do not reconstruct a Claude plugin resolver in the GUI to satisfy its old tests. |
| apps/server/src/provider/Drivers/ClaudeSkills.ts | Keep retired Claude managed-settings/plugin/skill scanner deleted | Native skill catalogs are authoritative and GUI must not duplicate another harness's discovery | Upstream adds plugin root/install/settings precedence, launch argument roots and Claude-tolerated frontmatter repair | Delete specialized scanner/settings parser. Sole remaining import is retired ClaudeAdapterV2; retain independent generic YAML/schema/filesystem/token services and native skill metadata instead of a compatibility scanner. |
| apps/server/src/provider/Drivers/CodexDriver.test.ts | Keep retired Codex managed-account/maintenance driver tests deleted | NeoPi owns inference authentication and native execution; GUI does not operate Codex CLI installations/accounts | Upstream adds managed-token broker/account replacement during probe, standalone updater home handling, V2 dependencies and realpath-safe installation fixtures | Delete Codex-specific process/token/updater fixture, preserving generic ServerSecretStore/environment and provider-testing services. Native account identity and current registry lifecycle behavior remain mandatory at their actual owners, not via a reinstated Codex driver. |
| apps/server/src/provider/Drivers/CodexDriver.ts | Keep Codex app-server execution/managed-auth driver deleted | NeoPi remains the only execution/authentication owner | Upstream uses CodexAdapterV2, managed-provider/token broker, current secret/environment services and executable-owning standalone update home | Delete specialized driver and retain generic host/secret/catalog/instance services. Actual consumers are builtInDrivers, concrete ProviderInstanceRegistry tests and stale shard weighting; preserve registry replace/failure/scope ownership cases using current native/testing fixtures rather than remove behavior coverage. |
| apps/server/src/provider/Drivers/CodexHomeLayout.test.ts | Keep retired Codex shadow-home mutation tests deleted | NeoPi profiles/session ownership replace GUI materialization of another harness's home | Upstream adds private auth.lock, Finder metadata isolation and sharing of SQLite/thread writer locks once safe | Delete shadow-home symlink/auth/runtime mutation fixture. Do not recreate these writes for historical readability; native configured profiles and legacy transcript decoding retain their independent real paths and ownership guards. |
| apps/server/src/provider/Drivers/CodexHomeLayout.ts | Keep retired Codex shadow-home write/materialization owner deleted | Native profile/lease handling belongs to NeoPi; readable history never requires rematerializing Codex auth/runtime homes | Upstream adds auth.lock privacy, shared SQLite/thread writer lock rules, local Finder metadata and injected host home | Delete specialized Codex filesystem mutation/continuation builder. Import search finds retired CodexAdapterV2/ManagedHome/ManagedRuntime/ManagedProvider/usage reader plus terminal Manager's retired launch branch; remove that closure without deleting independent legacy transcript parsing/history. Preserve native ownership guards instead of sharing foreign runtime locks. |
| apps/server/src/provider/GrokProvider.test.ts | Keep retired Grok CLI/ACP provider tests deleted | NeoPi exposes Grok inference identity; GUI does not start a Grok execution harness | Upstream moves implementation/testing to provider-grok package, adds slow version/ACP probe handling and adjusts advertised reasoning descriptors | Delete specialized CLI/ACP/model/credential probe fixture with removed provider-grok execution dependency. Preserve native inference identity/quota surfaces, shared option descriptors and generic provider-testing fake CLI utilities required by retained integration. |
| apps/server/src/provider/Layers/ProviderAdapterRegistry.test.ts | Accept upstream removal of obsolete V1 adapter routing tests | Fork removed retired maintenance/auth/feedback but still used legacy instance.adapter | Upstream V2 resolves scoped orchestration adapters through current provider services rather than this V1 registry | Delete obsolete four-harness mock adapter identity/forwarding fixture; its sole remaining case asserts routing/copies rather than consumer behavior. Preserve meaningful current registry lifecycle/selection and actual native V2 runtime tests at the current seam; do not restore V1 registry for fixture compatibility. |
| apps/server/src/provider/Layers/ProviderAdapterRegistry.ts | Accept upstream removal of obsolete V1 adapter facade | Fork removed retired auth guarding but still returned legacy instance.adapter | Upstream owns actual V2 adapter selection/scopes in orchestration-v2/ProviderAdapterRegistry.ts over current provider instances | Delete obsolete lookup/copy facade and re-export, not current V2 registry. Remaining actual layer import is server.ts's conflict; reconcile server composition with the real native orchestrationAdapter. Do not restore legacy adapter properties to satisfy that import. |
| apps/server/src/provider/Layers/ProviderInstanceRegistryLive.test.ts | Move unique native-only registry behavior to the current registry seam | Fork proves separate native profiles coexist, retired saved runtimes remain unavailable/unmodified and obsolete selection cannot hide NeoPi default | Upstream removes old Layers registry owner and places current instance/secret resolution in provider/ProviderInstanceRegistry.ts | Move retained fork cases to NeoPiInstanceRegistry.test.ts with current root imports, Node crypto and fail-closed process/secret fixtures. Remove legacy adapter/text-generation identity assertions; preserve actual listing/unavailability/saved-config/default-selection assertions, comparing values rather than incidental object identity. Real native driver/V2 dependency integration is still pending; tests not run. |
| apps/server/src/provider/Layers/ProviderRegistry.test.ts | Port authoritative native inventory regressions into current registry tests | Fork refresh replaces/clears native models while retaining workspace commands; old fixture also asserts no refresh at registry construction | Upstream moves registry and its broad behavior tests to provider/ProviderRegistry.test.ts, including new workspace metadata/secret services | Extend existing current model-retention case into native replacement/empty-inventory/workspace preservation behavior, replacing the retired Cursor expectation; delete duplicate old Layers test. Remove old fake V1 adapter/wrapper call-count fixture, not native no-eager-probe requirement: audit current construction coverage and real native driver proof. Current root test has other retired import/fixture cleanup pending; no test run. |
| apps/server/src/provider/Layers/ProviderService.test.ts | Remove V1 service fixture with explicit mandatory native V2 regression port | Fork adds ordered terminal cursor protection against late send/steer admission; startup dialog routing before binding and stale route removal; persists successful branch cursor when subsequent history projection fails | Upstream V2 replaces ProviderService/legacy adapter events with scoped ProviderSessionManager, ProviderEventIngestor and run execution | Delete obsolete 5K-line V1/mock-harness fixture, not these behaviors. Port unique cases through actual controlled native V2 runtime/persistence: late admission cannot rewind final native boundaries/active state; startup approve/input answers unblock correct pending owner and failed start rejects stale replies; post-branch history failure retains new cursor for restart. Original cases recoverable from HEAD same path at 711–830,1667–1753,1962–2013; diff artifact533. Replace yieldNow/sleep readiness with Deferred/Queue/current drain. No replacement proof claimed yet. |
| apps/server/src/provider/Layers/ProviderService.ts | Accept V2 cutover while carrying native lifecycle invariants forward | Fork serializes terminal cursor versus late send admission, tracks pending starts for first-session replies, and persists successful branch cursor before reporting projection failure | Upstream removes V1 service/events and replaces SQL orchestration/session ownership with real V2 manager/ingestion/execution services | Delete obsolete service, retired feedback and stale global MCP activity callers. Remaining layer import is server.ts's conflict. Mandatory actual native V2 port must implement event/receipt ordering, generation/instance/cursor guards, pending-dialog ownership/cleanup and partial branch failure cursor durability; do not copy V1 SQL/global-MCP machinery or add shims. Source diff artifact536; paired proof row264. No V2 implementation/proof claimed by removal. |
| apps/server/src/provider/Layers/ProviderSessionDirectory.test.ts | Move stopped native cursor CAS proof to retained real repository | Fork allows only matching stopped cursor updates, preserving saved payload and refusing missing/newly running/wrong-instance rows, including promoted legacy null-instance bindings | Upstream removes V1 directory facade while legacy ProviderSessionRuntime repository remains with actual guarded SQL and new current SQLite layers | Port both unique guarded-update cases into persistence/ProviderSessionRuntime.test.ts against actual layerMemory, without fake directory or V1 service. Assert complete stored row preservation, no implicit insertion, no live-writer overwrite and null-instance/default-instance matching. Delete obsolete directory fixture; current native V2 binding restoration remains separate mandatory integration. Source tests unrun. |
| apps/server/src/provider/Layers/ProviderSessionReaper.test.ts | Accept removal of obsolete V1 reaper fixture | Fork's only delta removes retired feedback from its fake service | Upstream V2 replaces the V1 service/reaper lifecycle with current scoped session/runtime recovery ownership | Delete obsolete legacy-service fixture, including wall-clock/yield polling helpers. No unique native behavior is lost from the fork delta; preserve current active/background/stopped guards and independent failure handling in actual V2 ownership/recovery, with owned-versus-terminal native lease protections. |
| apps/server/src/provider/ModelManifest.test.ts | Keep competing GUI execution catalog/remote manifest tests deleted | Fork already removed duplicate model-manifest inventory; NeoPi owns model metadata and refresh | Upstream extends remote manifest freshness/release badges and exposes provider-core ModelCatalog projection, still backed by bundled foreign harness catalog and upstream GitHub URL | Delete tests for this competing GUI catalog/cache and its fixed harness metadata, not generic ModelCatalog types or actual native model refresh/capability behavior. Native metadata remains authoritative; no empty catalog service or second model inventory introduced. |
| apps/server/src/provider/ModelManifest.ts | Keep duplicate upstream-fetched execution catalog/cache deleted | Fork already delegates provider/model inventory and capability refresh to NeoPi, preserving saved choices | Upstream projects bundled/remote foreign-harness manifest into generic ModelCatalog, adds freshness/badge timestamps and shared-cache refresh lifetime | Delete competing GitHub model inventory/cache and bundled-only test facade; retain actual provider-core generic model contracts where used, never supply empty shim catalogs. Reference search finds current Registry/server/ws-test, registry fixtures, retired Codex installation/adapter/maintenance/compatibility and new telemetry/ProviderDimensions.ts. Reconcile current generic callers and telemetry privacy/dimensions with authoritative native data rather than restore a fixed foreign inventory or drop shared telemetry. |
| apps/server/src/provider/NeoPiAdapter.test.ts | Preserve native adapter regression scenarios across upstream directory relocation | Fork-owned test has only stage2 entry from directory rename; retains native planning/chat, turn/steer/UI, configuration, ownership, cursor/rollback and restart tests | Upstream relocates provider implementation files and changes Effect module paths but has no native NeoPi implementation | Resolve physical relocation with correct root-relative native/MCP/environment imports and current Effect HTTP/net/process paths. Preserve existing scenarios, not legacy adapter APIs as final architecture: known V1 calls/event types, stale MCP fixture and polling must be ported to actual V2 scoped runtime/receipt-driven assertions during mandatory native integration. No test run or V2 compatibility claim. |
| apps/server/src/provider/NeoPiAdapter.ts | Preserve native implementation across directory relocation; retain mandatory real V2 cutover | Fork owns runtime/journal/configuration/model connections, native cursors/lease identity, ordered terminal state, plan/chat/UI and rollback semantics | Upstream provider directory relocation has no NeoPi V2 adapter; legacy makeNeoPiAdapter/ProviderRuntimeEvent is structurally incompatible with current orchestrationAdapter | Correct actual root-relative mapper/runtime/MCP/asset/error/service imports and preserve native behavior rather than deleting it with old service facade. Actual V2 scoped openSession/capabilities/selection/turn/reply/read/rollback/fork and event/terminal-disposition translation still must replace the legacy shape after remaining contract conflicts; no adapter shim, fake capabilities or execution success accepted. Existing native observation/model/journal closures must retain canonical identity and no-start observer behavior. Unrun. |
| apps/server/src/provider/NeoPiProvider.test.ts | Preserve native discovery/binary/auth proof at relocated root | Fork tests explicit executable precedence/fallback/capabilities, metadata versus handshake failures, retained native catalog/live commands, OAuth evidence and selectable roles | Upstream provider directory relocation changes relative paths and Effect process module, with no competing native implementation | Fix native imports and Effect process path. Keep meaningful authentication/role selection/real controlled-peer executable/metadata/discovery regressions; delete full-field static model copy/default capability pins, exact mock request-list wiring case/assertions and per-test timeout override rather than re-pin them. Current native snapshot/model schema alignment still pending; tests unrun. |
| apps/server/src/provider/NeoPiProvider.ts | Preserve native executable/discovery authority and use real shared snapshot seam | Fork preserves explicit selected executable, capability-aware released/nightly/bundled resolution, profile/env, live catalogs and independent handshake/metadata outcomes | Upstream relocates provider files and extracts actual generic snapshot/subprocess/model helpers into provider-core | Correct native root imports and current Effect process path; call real provider-core snapshotProbe/model/subprocess helpers after reading their current signatures, not deleted local facade. Preserve native RPC catalogs/roles/auth/capability retention and binary precedence; full native driver/shared schema integration and runtime checks remain pending. No fallback inventory/manifest/shim added; unrun. |
| apps/server/src/provider/ProviderAuthService.test.ts | Keep retired GUI-managed provider authentication fixture deleted | NeoPi's real Models service owns cancellable native login, correlated UI replies, account activation/logout and configuration receipts | Upstream ports generic GUI auth-controller tests to V2 SQL session draining, using ACP capabilities/Antigravity shared-credential fixtures | Delete duplicate GUI auth orchestration fixture, not native auth tests or generic secret vault support. Read actual NeoPiModels start/watch/respond/cancel/login/logout/account operations to verify independent native ownership exists. New ProviderAuthService.ts/server/ws/contract callers still require full cutover closure; do not reintroduce GUI-managed credential/session-drain policy for terminal-owned native sessions. Native auth source still needs current API/owner port and verification. |
| apps/server/src/provider/ProviderCredentialStore.test.ts | Retain shared host vault isolation and durable-key proof after consumer inspection | Fork removed old harness-owned credential flows, but generic server vault support must survive | Upstream's current ProviderHostLive directly consumes this store for its generic namespaced credential capability; tests port real crypto APIs and pin the persisted lookup key | Initial retired-owner classification corrected after reading actual ProviderHostLive.ts49–73. Retain namespace/binding isolation, opaque bytes, delimiter ambiguity/path/size bounds, removal and stable durable lookup key coverage. This is generic vault infrastructure, not a NeoPi credential mirror or GUI-managed auth flow. No stored credentials touched; tests unrun. |
| apps/server/src/provider/ProviderCredentialStore.ts | Retain real generic ProviderHost credential capability without retired execution | NeoPi account/auth policy stays native-owned; generic shared secret storage is retained | Upstream extracts host services, and ProviderHostLive.credentials actually binds this helper to ServerSecretStore/Digest with typed credential errors | Keep the actual namespaced stable-key vault implementation and current Effect Digest API, not an empty/error shim. Preserve the generic host consumer while removing separate Codex managed-auth/other retired execution consumers in closure cleanup. Do not migrate or delete saved secrets or use this helper to duplicate native account ownership. Paired test decision corrected above before final staging. |
| apps/server/src/provider/ProviderDriver.ts | Cut over all legacy contract imports to current provider-core SPI | Fork's duplicate ProviderInstance still requires V1 adapter and lacks current V2 orchestrationAdapter | Upstream canonical driver SPI includes real scoped V2 adapter, resolved environment, current managed snapshots/text generation and usage hooks | Read actual provider-core/server/driver.ts fully; delete obsolete local contract/re-export path. Migrate all eight import consumers found by source references (native driver/catalog/source/tests/stats tests, server test, registry and builtInDrivers) directly to canonical SPI. Future marker files retain their markers; only their known import lines changed. Actual native orchestrationAdapter implementation, managed snapshot/driver/fixture alignment remain mandatory; no structural cast/shim introduced. |
| apps/server/src/provider/ProviderRegistry.ts | Preserve current shared refresh/workspace/secret/update lifecycle without a competing model inventory | Native model/auth metadata and successful empty inventories remain authoritative; discovery failures are handled at the actual native provider boundary | Upstream adds secret-backed environment reload, coalesced full refresh, installer-scoped cache invalidation/update verification and maintenance-state publication plus per-instance/cwd scan ownership | Adopt current root service/mutator and real provider-core SPI; retain native inventory replacement/clear and workspace retention, not foreign-harness model/auth carryover. Remove fixed GUI ModelManifest/compatibility fetches only; model-catalog refresh performs actual coalesced driver metadata refresh, never a fake empty catalog/no-op. Restore upstream maintenance-state helpers lost by auto-merge and keep real declared maintenance resolution (unknown targets are manual-only as upstream), version-cache invalidation and exact refreshed-instance verification. Preserve subscription-before-snapshot, rebuilt-instance stale-result guards, bounded workspace snapshots, detached waiter scans and latest publication. Current registry tests still need retired fixture/import removal and actual native V2 seam verification; no checks run. Shared generic maintenance is not permission to reintroduce retired provider installers or native-account mirroring. |
| apps/server/src/provider/RuntimeInstructions.ts | Move fork display identity into canonical current runtime guidance | Fork's only change is NeoCode identity in runtime_info, not a distinct prompt implementation | Upstream moves shared instructions into provider-core, adds audio/files guidance and improves PR linking/watch ownership with optional session-invariant linking | Delete obsolete server-local duplicate after full reference search found no remaining consumers; port NeoCode runtime/files-viewer names into actual provider-core source while preserving new guidance and conditional linking. Remove its static phrase/brand-copy tests rather than repinning them; real model behavior belongs to existing MCP tool-use eval. Read eval requirements/runner README; eval still unrun pending complete merge and admission. Native MCP PR linking remains SQL-scoped/unavailable as separately documented, not claimed fixed by this text move. Add shared owner to touch registry. |
| apps/server/src/provider/Services/ProviderAdapter.ts | Remove obsolete V1 session/event adapter contract in favor of actual V2 SPI | Fork adds ordered terminal-resume-cursor semantics and removes retired feedback, not a second runtime authority | Upstream's canonical provider-core ProviderAdapterV2 has scoped session/thread/turn lifecycle, typed receipts/events and terminal disposition rather than V1 startSession/sendTurn/streamEvents | Delete V1 contract after references confirm only the soon-obsolete ProviderService contract and native contract's mislocated import depend on its types. Ordered native cursor/admission semantics remain mandatory real V2 adapter/runtime proofs (earlier ledger and checkpoint); do not retain a compatibility facade. Found auto-relocated fork native interface at packages/provider-core/src/server/NeoPiAdapter.ts with broken server-relative imports: must move back to actual native owner and extend genuine V2 service when ported, not cast the V1 adapter. Native current methods still unported; no compile/runtime claim. |
| apps/server/src/provider/Services/ProviderRegistry.ts | Remove duplicate registry service identity and migrate remaining imports | Fork's old snapshot contract removed retired GUI maintenance and held an obsolete service-tag identity | Upstream owns the real current root ProviderRegistry service, including secret-aware refresh and workspace discovery | Current root registry resolution owns applicable shared lifecycle while native catalogs stay authoritative. Delete old Services contract rather than alias/re-export it; migrate the only two remaining import consumers, server.test and ws, to actual root service. Both files remain unstaged until their ordered conflicts are resolved. No service implementation or proof is supplied by this import migration; native driver and test-layer integration remain pending. |
| apps/server/src/provider/Services/ProviderService.ts | Remove obsolete V1 orchestration router contract, not native lifecycle guarantees | Fork removes retired feedback; ordered cursor/start-dialog/branch-projection behavior lives in earlier provider service implementation/test decisions | Upstream replaces V1 ProviderService with scoped V2 ProviderSessionManager/ProviderTurnStartService/RunExecutionService and actual adapter events | Delete old contract with its already-removed implementation; no replacement facade/no-op. Reference search found future server.test/ws/startup-reconcile fixtures and real NeoPiNativeOwner starter. The latter explicitly starts a stopped native session only after canonical file/session identity and saved workspace checks: port that exact explicit-start path and observation resolver to real V2/native owner, never make observer resolution launch/resume a session or attach external work as SQL turns. Startup proofs must migrate to V2 rather than retain old injected service or casts. No V2 ownership behavior claimed verified. |
| apps/server/src/provider/Services/ProviderSessionDirectory.ts | Remove obsolete V1 directory contract while preserving real stopped-cursor persistence | Fork adds stopped-only matching-cursor CAS, refusing insertion or replacement of a concurrent writer | Upstream deletes the V1 directory implementation and moves active runtime ownership to current V2 services; retained historical ProviderSessionRuntime repository still has actual guarded SQL | The unique CAS remains in the real retained repository and its already-ported SQLite tests (ledger266); delete orphan V1 service contract rather than restore an execution directory/tag or alias it to V2. Native catalog/journal/models/owner plus future ws/startup/server test consumers still require current native/V2 binding migration; preserve legacy saved cursor/import metadata read-only where needed without treating the old table as V2 lease authority. Read actual SQL CAS and searched implementations: no live directory implementation remains. Guarded native ownership/canonical identity and explicit-start semantics are mandatory integration work, not satisfied by repository-only tests. |
| apps/server/src/provider/Services/ServerProvider.ts | Remove unused duplicate snapshot shape in favor of canonical managed snapshot | Fork removes retired GUI maintenance from its old local service shape while retaining sparse live quota merges | Upstream extracts ManagedServerProvider into provider-core/server/snapshot with current maintenance ownership, optional independent usage refresh and window-ID merge contract | Delete old unused shape after reference search finds no consumers; actual ProviderInstance already imports canonical ManagedServerProvider. Native snapshot construction must use that real shared helper/API, preserve live quota merging and stale-instance guards, and declare only actual native/manual installation capabilities. No dummy resolveMaintenance, fabricated usage or false update support; native driver/shared helper and fixture integration still pending, unrun. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 5/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44130 bytes; SHA-256 de0e9357262c6dab80a0630b92e0aad2e4cefcde3144d86562ac2e821a6a0fad.

| apps/server/src/provider/acp/AcpJsonRpcConnection.test.ts | Keep retired ACP execution transport fixture deleted | Fork has already deleted this ACP runtime suite; no stage-2 file exists | Upstream extends AcpSessionRuntime protocol metadata, config/auth, session lifecycle, cancellation, process/error/drain and content normalization regressions using effect-acp/provider-acp and the removed ACP mock agent | Read imports/startup/cancel body and inspected the complete test scenario list: every case drives the retired ACP execution runtime, not NeoPi's JSONL/RPC transport. Keep suite deleted with that runtime/SDK/mock-agent closure; shared AgentScope/HostProcess utilities remain owned by their actual consumers. Native cancellation, ownership, startup and cursor invariants must be exercised through real native V2 runtime tests, not by retaining foreign protocol mocks. No native regression proof inferred or executed here. |
| apps/server/src/provider/acp/AntigravityAcpSupport.test.ts | Keep retired Antigravity ACP launch/model/prompt fixture deleted | Fork removed this harness-specific support suite | Upstream extends qualified agy release/client-name/tool gates, account model selection/legacy family mapping and ACP image/audio/PDF/text/video encoding with Google-specific caps | Read test startup/model cases, complete scenario list and the full 530-line implementation; actual consumers are only retired Antigravity V2 adapter/text-generation paths. Delete this harness suite with its support owner, not shared upload/media behavior. Native attachments remain real native RPC/sidecar work and must retain uploaded bytes and capabilities at their own boundary; no Google budgets/model allowlist/protocol blocks are copied into NeoPi. Unrun. |
| apps/server/src/provider/acp/AntigravityAcpSupport.ts | Keep retired Antigravity ACP execution support deleted | Fork removed agy execution/auth/model/prompt support | Upstream adds version-qualified native reader/system prompt/tool gating, agy ACP construction, policy/model compatibility and bounded ACP attachment encoding | Full source and reference closure inspected: only Antigravity adapter/test and retired Antigravity text generation consume it. Remove the harness support implementation, including editor impersonation, eager Google auth, agy model aliases and Google-specific attachment gates; do not revive ACP SDK dependencies. Shared file/media upload support and native current selection/policy/capability semantics remain required through actual NeoPi owners, not this foreign runtime. No behavior execution or checks. |
| apps/server/src/provider/acp/AntigravityProtocol.test.ts | Keep retired Antigravity wire-protocol normalization fixture deleted | Fork removed the agy execution protocol and tests | Upstream extends agy ACP questions/approval-warning metadata, trajectory subagents, command/output/image normalization, edit-location patches and served-read repair | Read native question/approval/subagent bodies, full scenario list and full normalization owner; all imports/consumers drive Antigravity ACP wire events. Delete harness-specific fixture with its execution closure, not canonical shared input/tool/media contracts or historical projected rows. NeoPi pending UI IDs, actual permission semantics, subagents and tool output retain separate native V2 proof requirements; this foreign fixture cannot prove them. No tests run. |
| apps/server/src/provider/acp/AntigravityProtocol.ts | Keep retired agy ACP wire translator deleted | Fork removed Antigravity execution and its native wire normalization | Upstream expands ACP permission/question translation, agy warning metadata, bounded tool payloads, served-read correlation/repair, pre-edit patch recovery and trajectory-tool subagent recognition | Full 509-line source and consumers inspected. Delete agy-specific translator with its adapter/text-generation/child-work closure; preserve generic shared image-path validation and tool contracts at their current owners. Do not impose agy tool titles, repair guesses or permission IDs on NeoPi. Native canonical journal/tool/output/input behavior must port through actual native V2 mapping, not this retired protocol. New upstream AntigravityChildWork/EditLocation/ClientFiles helpers are part of the retired closure to remove during full integration. |
| apps/server/src/provider/acp/AntigravitySessionFiles.ts | Keep retired Antigravity runtime/session cleanup owner deleted | Fork removed Antigravity profile/session housekeeping with that execution harness | Upstream keeps canonical UUID/cwd ownership checks for temporary agy session databases and adds pre-launch retirement/deferred cleanup of extracted runtime temp directories | Full helper, companion test and consumers inspected: only retired Antigravity runtime/text-generation/tests use these paths. Delete helper plus new obsolete AntigravitySessionFiles.test.ts; no generic native tempfile helper is lost or copied. This is source cleanup only: no profile directories, database files, real sessions or temporary runtime data were inspected or deleted. Native probe/runtime scoped resource ownership remains independently required. |
| apps/server/src/provider/antigravityAuthSupport.test.ts | Remove retired managed-login/process fixture while retaining durable history identity proof | Fork removed GUI-managed agy authentication, private launch profiles and auth transport compatibility | Upstream expands Google auth methods/profile writes, browser suppression/preflight, stream transforms, skill links and isolated runtime environments; also tests stable hashed profile directories | Read auth/profile tests and full 628-line support source, complete scenario list and actual consumers. Generic NativeChildWorkQuery reads historical agy child records without executing a harness; retain that upstream read-only history feature and extract its stable profile-path resolver rather than dropping history. Move saved-path/case-fold isolation regression into real read-only AntigravityProfilePaths.test.ts (created, staged with resolver next); delete execution/auth fixture. Existing ledger's blanket child-work cleanup note is narrowed: read-only historical decoders stay; execution adapters/installers/auth and runtime repair code do not. No saved data touched; test unrun. |
| apps/server/src/provider/antigravityAuthSupport.ts | Remove retired managed auth/launch code and preserve its actual read-only history dependency | Fork removes agy auth and launch/profile mutation, not saved history | Upstream expands eager OAuth/API-key/GCP configuration, profile/skill writes and browser/protocol compatibility; NativeChildWorkQuery and legacy usage reader consume only stable profile path derivation | Delete auth/launch implementation after full read; move exact SHA-256 profile/temp namespace derivation into existing read-only acp/AntigravityProfilePaths.ts, preserving data identities. Migrate all three surviving consumer imports (NativeChildWorkQuery, its test and legacy AntigravityUsage) directly; stage moved saved-path/case-fold proof from previous row. No shim/auth API retained, no runtime directory/profile/credentials mutated. Keep read-only historical child query/decoder tests; detach its two private bounded-text helpers from deleted AntigravityProtocol and replace that test's runtime-sanitizer dependency with actual persisted truncated-record fixture data. Existing blanket child-work cleanup decisions are corrected: historical readers stay, execution/auth/repair code does not. Native live children remain native session streams. Unrun; add read-only path/query/decoder upstream owners to registry. |
| apps/server/src/provider/antigravityCallback.ts | Keep retired GUI-managed Google OAuth callback relay deleted | Fork removed Antigravity harness login flows | Upstream validates exact loopback/state/issuer response URLs and forwards them to an agy local OAuth server | Full source and references inspected; no surviving consumer exists. Delete harness-specific callback/state forwarding owner; do not mirror it for NeoPi, whose correlated native account/UI replies own login. Shared transport/OAuth authorization elsewhere and saved profile/history data remain untouched. No URL, network request, callback or credential operation executed. |
| apps/server/src/provider/antigravityRelease.ts | Keep retired Antigravity binary/harness download inventory deleted | Fork removed non-NeoPi execution installers | Upstream pins agy ACP executable/harness URLs, hashes and sizes across six desktop platforms for release 1.4.5 | Full table and reference closure inspected: only obsolete GUI providerCompatibility tests still import it. Delete foreign execution release inventory, not shared fork CLI/desktop release selection or read-only historical decoders. No package/archive was fetched, installed, executed or removed. Current NeoPi executable/bundled/nightly choice remains native-owned integration work. |
| apps/server/src/provider/builtInDrivers.ts | Register only real NeoPi execution under canonical current SPI | Fork preserves NeoPi as the sole executable harness while saved legacy identities remain readable | Upstream adds more foreign runtime drivers and couples historical usage readers to executable driver objects/dependency environments | Keep only actual NeoPiDriver with provider-core AnyProviderDriver, not retired/new ACP/Pi/Fx/Kiro/Muse or other execution drivers. Do not expose an empty/fake usage-driver registry to make imports compile: current UsageService is a later ordered conflict and must retain actual read-only historical parsing/scanning, current alias/filter/cache behavior and native Stats authority through an execution-independent reader seam. Source reads confirmed its new driver-coupled loop; no runtime inventory populated or provider spawned. Actual native V2 driver still mandatory. |
| apps/server/src/provider/claudeResetCredits.test.ts | Keep retired local-Claude credit reading/redemption fixture deleted | Fork removes GUI consumption of credits through a retired harness's local credentials | Upstream tests grant parsing/eligibility/expiry and Claude CLI credential/organization reads plus idempotent HTTP credit claims and failure classification | Read source/test boundary and actual reference closure: no production consumer remains for this module, including inference quota owners. Delete fixture with its obsolete local-credential redemption API, not native read-only inference quotas or retained usage history. Do not add NeoPi reset-credit execution or infer redemption support from displayed quota metadata. No account, credit or HTTP action exercised. |
| apps/server/src/provider/claudeResetCredits.ts | Keep unused retired Claude local-account reset API deleted | Fork excludes GUI credit redemption through removed local harness credential stores | Upstream supports Anthropic reset-grant projection and organization-scoped idempotent claim requests using .credentials.json/.claude.json | Full 258-line source/reference closure inspected: no real consumer survives. Delete obsolete local-Claude credential/credit owner rather than retain dead account logic or wire it into NeoPi. Actual native quota display remains separate, with no inferred claim support. No credentials read, network requests sent or reset credits consumed. |
| apps/server/src/provider/claudeUsageLimits.test.ts | Move actual read-only Anthropic inference quota regressions to existing inference owner | Fork removes Claude SDK execution quota events but retains account quotas through usage/inferenceUsageLimits.ts | Upstream adds precise Enterprise monthly spend/extra-usage fallback, currency/scale/enablement guards alongside session/model-scoped weekly windows and SDK stream updates | Real consumer inspection found CliproxyApi's Anthropic inference quota route, so do not drop its applicable upstream spend behavior. Move non-SDK projection tests to usage/inferenceUsageLimits.test.ts, import the actual existing inference helper, and remove retired SDK event tests/typings casts/ignored SDK-only fixture field. Native helper gains the real spend conversion next in source resolution; no inference-quota success or test pass claimed. Keep meaningful missing-utilization, scoped-window and money/fallback regressions, not wiring/static-copy checks. Unrun. |
| apps/server/src/provider/claudeUsageLimits.ts | Port applicable upstream Anthropic inference quotas without the Claude execution SDK | Fork owns account quota projection in usage/inferenceUsageLimits.ts without launching/loading Claude | Upstream adds exact Enterprise spend minor-unit ratios, enabled extra-usage fallback and guards for invalid currency/scale/budgets plus SDK-only live event mapping | Delete obsolete provider/SDK quota owner, port actual spend/extra-usage conversion and probe-failed distinction into existing inference helper, and switch it to canonical provider-core usage-limit helpers. Keep session/week/model-scoped projections and native quota separation; no SDK type shim, local auth read or fake limit. Non-SDK regression cases moved in preceding row; actual Cliproxy inference caller will use this owner when its ordered import conflict is resolved. Retired ClaudeAdapterV2 remains a closure-removal consumer, not a reason to preserve live SDK mapping. Source-only; tests/HTTP/runtime unrun. |
| apps/server/src/provider/codexLaunchArgs.ts | Keep retired Codex app-server/exec launch argument adapter deleted | Fork removes Codex execution paths, not generic CLI tokenization or inference identity | Upstream tokenizes Codex launch overrides and filters app-server-only flags from exec | Full helper, new companion test and references inspected: only removed Codex V2 adapter/text generation/managed-runtime fixtures consume it. Delete helper plus codexLaunchArgs.test.ts; retain shared cliArgs tokenizer at its actual owner and native NeoPi launch parsing. No argument shim, Codex process or foreign execution support restored. |
| apps/server/src/provider/codexUsageLimits.test.ts | Preserve real inference quota projection regressions without Codex runtime fixtures | Fork retains account quotas in execution-independent inferenceUsageLimits.ts | Upstream adds individual Enterprise monthly allowance and keeps main/Spark precedence, duration-derived windows, cached SDK event merging, runtime errors and continuation-reset scheduling | Move meaningful quota-read/allowance projection cases into the existing inference quota test owner, alongside Anthropic cases. Delete obsolete Codex stream/merge/error/continuation-runtime tests with that harness; omit the tautological same-function legacy-map comparison. Preserve exact monthly conversion when provided, paid/free fallback and main-bucket precedence. Current Cliproxy normalization does not expose the individual monthly field, so this is projection coverage, not a claim of new end-to-end HTTP/native monthly discovery. Source port follows next; tests unrun. |
| apps/server/src/provider/codexUsageLimits.ts | Keep inference quota conversion and remove retired Codex event/runtime policy | Fork owns real read-only account quota mapping separately from execution | Upstream adds structural individual monthly credit allowance, partial/cached SDK notification merging and exhausted-window continuation reset calculation | Full source/reference closure inspected; port actual individual allowance field and finite remaining-to-used monthly conversion into existing inferenceUsageLimits.ts. Preserve bucket precedence, exact reset timestamp, no invented duration, ordinary quota windows/reset-credit display and updated plan labels. Delete duplicate SDK/error/event/continuation owner, not inference quota projection. Cliproxy's later conflict retains actual HTTP normalization; no guessed monthly HTTP field or native support was fabricated. No SDK dependency reintroduced, network request made or quota action executed; regressions unrun. |
| apps/server/src/provider/model-manifest.json | Keep duplicate GUI execution model/compatibility inventory deleted | Fork delegates live models/capabilities and saved native choices to NeoPi | Upstream bundles versioned compatibility/current-model/provider inventories for antigravity, claudeAgent and codex | Read actual root schema/provider/current-model keys and metadata, then searched literal consumers: only obsolete providerCompatibility tests remain after prior ModelManifest removal. Delete competing execution inventory; do not substitute an empty catalog, hard-coded NeoPi model list or GUI-fetched upstream manifest. Generic ModelCatalog types and telemetry must reconcile with native provenance/privacy at their actual owners, not restore this file. Native provider discovery and successful empty catalogs stay authoritative; no catalog request or test run. |
| apps/server/src/provider/neopiUsageLimits.test.ts | Preserve native quota attribution/redaction/fallback/cache regressions on current process API | Fork supplies real native get_usage/CLI fallback projection with account ambiguity/privacy guards and no credit-redemption IDs | Upstream relocates provider code and updates Effect process imports; no native transport replacement supplied | Keep native tests and move process import to actual effect/process API. Extend the existing live-RPC case with accountsWithoutUsage for the same provider: it must not publish another credential's windows or private metadata. [INFERENCE] candidate integration defect: current live decode schema may strip this attribution metadata before toUsageLimits; run this regression before fixing during targeted verification, not claim a failing/passing result now. Retain malformed/failed/timeout previous-window retention, successful unsupported, environment-separated cache, real active-provider selection and no fallback when live report is malformed. No tests, CLI probe or account access run. |
| apps/server/src/provider/neopiUsageLimits.ts | Preserve actual native quota projection/probing on current shared helpers | Fork owns native usage metadata redaction, active-account ambiguity, live-first probe/fallback and explicit-environment cache identity | Upstream relocates native provider modules and canonical snapshot/usage helpers with current Effect process API | Correct root-relative native model import and bind actual provider-core usage retention/process collector after reading current signatures and failure semantics; keep real RPC/CLI probe behavior, no fabricated limits/redemption or GUI SDK path. Preserve finite amount precedence, percent units, coarse reset-credit display without IDs, no role-label account scan, error/timeout retention and environment-isolated cache. New live attribution regression remains to run before fixing the suspected decode metadata loss; do not hide it or claim source-only completion. Driver ready/epoch/quota publication guards still require full V2 integration. No probe, HTTP, test or typecheck run. |
| apps/server/src/provider/providerCompatibility.test.ts | Keep fixed GUI harness-version policy tests deleted; retain registry publication invariant at real owner | Fork delegates native executable/protocol compatibility to NeoPi capability discovery and has no remote GUI manifest | Upstream tests foreign runtime version ranges, bundled recommendations, Homebrew advice and remote-manifest refresh preserving newer registry health | Read entire file and production references. Delete obsolete policy/bundled-manifest fixture suite, not a native compatibility guard. Remote-manifest service was removed rather than replaced with fake empty policies; the asynchronous refresh must still preserve newer health at real ProviderRegistry/native snapshot owner, whose current source rereads getSnapshot after refresh and current providers on publication. Registry test closure still needs genuine current driver fixture/race port during integration; no passing regression claimed. No test run. |
| apps/server/src/provider/providerCompatibility.ts | Remove unused GUI-maintained foreign-harness policy engine | Native executable capability/protocol discovery remains authoritative; saved legacy compatibility fields remain readable | Upstream recognizes Cursor date hashes, Antigravity/Muse tags, manifest SemVer ranges and Homebrew stale-metadata advice | Full source/reference closure inspected: only removed manifest/foreign installer/maintenance/adapter fixtures and stale registry test helper consume it. Remove policy engine instead of adding an invented native release range or empty catalog substitute. Preserve shared SemVer helpers and historical advisory contracts; current native capability rejection is independent of these foreign policies. Remaining foreign maintenance/installation files and registry fixture imports must cut over at their actual owners. No test or executable run. |
| apps/server/src/provider/providerInstallation.test.ts | Keep managed foreign-runtime installer routing suite deleted | Native installation guidance/executable selection remains NeoPi-owned and must not create a second GUI-managed runtime | Upstream tests Codex/Antigravity installation completion account probes, shared status, per-instance PATH and removal protection | Full test source and installer references inspected. All scenarios route exclusively to retired Codex/Antigravity installers; no native installer or generic package-manager contract exists here. Delete retired tests without adding a mock NeoPi installer or claiming foreign installation parity. Preserve existing generic shell/path helpers and native binary selection/capability tests at their real owners. No install, removal, account probe or test run. |
| apps/server/src/provider/providerInstallation.ts | Keep Codex/Antigravity managed installation router deleted | NeoPi executable selection, saved profiles and native capabilities remain authoritative; no GUI-managed foreign runtime reintroduced | Upstream watches managed installation after disconnected requests, refreshes accounts on success and protects other instance executables during removal | Entire source and server/ws references read; both dispatch branches are exclusively retired harness installers. Delete router and later remove actual transport/layer/schema closure, not replace with no-op successful install/remove. Applicable generic shell resolution, per-instance environment and maintenance command infrastructure remain separate; native installation still uses existing explicit guidance and capability diagnostics. No installer or filesystem removal executed. |
| apps/server/src/provider/providerMaintenanceCommandCoordinator.ts | Adopt current generic maintenance target admission and shared-installation locking | Only capabilities declared by the NeoPi runtime instance may reach maintenance; no retired installer/credential implementation restored | Upstream deduplicates per-target requests, serializes by executable installation and releases target markers on failure/interruption | Full helper and actual runner consumer inspected. This file is generic coordination, not foreign execution; retain current KeyedLock/Ref implementation for the declared-capability maintenance service rather than delete applicable upstream concurrency behavior. Runner's fixed manifest/policy dependency must be removed at its upcoming resolution and unsupported version-targets must fail closed without invented native recommendations. Existing receipt-driven interruption/ownership regressions remain to port/run; no update command executed. |
| apps/server/src/provider/providerMaintenanceRunner.test.ts | Port generic declared-command update regressions without fixed foreign compatibility policy | NeoPi/native capability authority cannot be replaced by a GUI-maintained recommended version; unsupported explicit targets fail before any updater state/side effect | Upstream generic update admission, ownership recheck, stale/current/failed probes, installed-vs-reported versions, post-update cache invalidation, output bounds, timeout, duplicate admission, cancellation cleanup and Windows PATH dispatch | Retain real behavioral cases on current process/Core helpers and replace foreign executable fixtures with explicit test-agent capabilities. Remove manifest service fixtures/foreign pinned-recommendation cases, incidental progress/default wording pins and pure environment-forwarding test. Preserve installedVersion precedence/null-vs-absent behavior and installer-specific fresh latest lookup at actual runner seam; explicit targeting has no native compatibility authority and must fail closed rather than invent supported versions. Concurrency remains receipt-driven; no updater, account, HTTP, test or clock run executed. |
| apps/server/src/provider/providerMaintenanceRunner.ts | Reseat upstream generic maintenance under real declared capabilities, without a foreign manifest | Native compatibility remains NeoPi-owned; no SDK installer, fixed version inventory, fake recommendation or fabricated successful update | Upstream bounded streamed output/progress, timeout, per-target admission/shared executable locking, fresh ownership check, latest-cache invalidation, stale-probe protection and actual post-update verification | Keep genuine generic runner and process execution on Core capability methods already retained in ProviderRegistry. Remove obsolete ModelManifest/foreign-policy dependency. Reject explicit version targets before any command/state mutation because no native compatibility recommendation exists in this contract; only the actual declared latest command is eligible, and manual-only capabilities still reject honestly. Preserve fresh/current/unknown version semantics, per-instance environment/Windows shell handling, installation-change refusal, failure cause/output and lifecycle states. NeoCode diagnostics replace upstream display branding. Tests ported in prior row but unrun; no update, network, process or account action executed. |
| apps/server/src/provider/providerStatusCache.test.ts | Preserve native-first ordering and upstream cache identity/settings invariants | NeoPi precedes readable legacy identities without enabling retired execution; ordering must not mutate caller snapshots | Upstream tests current settings model precedence, removed custom-model exclusion, disabled-state precedence and instance/driver correlation for legacy/mismatched cache rows | Keep native ordering regression alongside current meaningful cache hydration cases. Resolve import conflict with only actual tested helpers; remove obsolete unused cache-I/O imports. Add immutable-input assertion in the existing ordering case, not a separate wiring test. Legacy Codex data is an intentionally historical cache fixture, not a registered executable. No cache file, live data or test run accessed. |
| apps/server/src/provider/providerStatusCache.ts | Preserve native-first ordering on upstream identity-safe cache owner | NeoPi runtime ordering and saved legacy snapshots retained without ranking retired execution harnesses as built-ins | Upstream canonical shared atomic write, settings-derived model precedence/custom-model deletion, per-instance cache correlation and coarse parse-error diagnostics | Resolve only built-in ordering conflict to NeoPi; preserve current hydration/read/write contracts and historical data shapes. Use toSorted directly instead of copying before its own copy, maintaining immutable input and ordering without redundant snapshot-array allocation. Current shared atomic-write owner is already reconciled and remains authoritative. No live cache read/write, filesystem mutation or test run. |
| apps/server/src/provider/resetCreditCoordinator.test.ts | Keep retired local-credential reset redemption suite and unused implementation deleted | Native quota display/coarse reset-credit availability remains read-only; credit IDs/claims and local foreign login ownership are not GUI execution contracts | Upstream serializes account redemptions and retains idempotency keys for uncertain outcomes | Read entire suite, implementation and consumers: only now-obsolete server/test layers reference the coordinator; no actual redemption caller survives. Delete unused resetCreditCoordinator.ts alongside the original conflicted test, and remove stale layer imports during their actual integration, never substitute a no-op redemption/success. Preserve native quota metadata/privacy regressions and unrelated generic KeyedLock/SecureRandom infrastructure. No account, credit, credential or test action executed. |
| apps/server/src/provider/testFixtures/codexCollabMockPeer.mjs | Keep retired Codex app-server execution peer deleted | Native execution tests must exercise the real NeoPi/V2 boundary, while saved foreign history stays readable | Upstream fake Codex initialize/account/thread/turn/server-request/collaboration/credit-reset protocol | Entire 230-line peer and references read: only obsolete Codex execution setup in ProviderInstanceRegistry.test consumes it. Remove execution peer, not historical child-work decoders or their persisted-format fixtures. Registry's generic ownership/refresh requirements must use current native driver fixtures, not keep a Codex runtime for test convenience. No peer, CLI, account request or test run. |
| apps/server/src/provider/testFixtures/codexCollabMockPeer.sh | Keep retired Codex probe/app-server launcher deleted | No foreign execution helper is restored merely to satisfy an old fixture import | Upstream strips app-server argument and runs the Codex collaboration peer | Entire launcher and consuming registry test setup read. Delete alongside its actual peer; no replacement shell launcher, native protocol impersonation or successful no-op supplied. Current native executable-selection and controlled-runtime tests are the appropriate seams. No shell fixture or test executed. |
| apps/server/src/provider/testUtils/providerRegistryMock.ts | Align shared test fixture with actual current registry contract | Native test fixtures do not launch/probe retired harnesses or advertise invented update commands | Upstream registry adds secret reload, cache/model refresh and declared maintenance capabilities/state methods | Read complete fixture, actual root registry interface and its MCP/thread-launch consumers. Retain current canonical root import plus generic methods; fixture maintenance is explicitly manual-only through real Core helper. These are test dependencies only, not production no-op service replacements. No new forwarding/default test added and no test run. |
| apps/server/src/pullRequest/GitHubPullRequestCli.test.ts | Move fork regressions to upstream's real HTTP/GraphQL API test owner; remove obsolete CLI suite | Selected fork, verified credential/viewer attribution, no upstream redirection and receipt-driven cancellation/coalescing remain observable requirements | Upstream replaces gh-based request implementation with source-control-github/GitHubPullRequestApi, preserving credential scope/quota and repository search/fallback behavior | Read fork commit 726e5d43e1 and exact authored-fork regression, current API/credential locking/list fallback and corresponding tests. Extend existing HTTP fallback case across authored/reviewing branches with verified current viewer, exact fork owner/name, unindexed-search fallback, state/team/account filtering and returned fork URLs. Port old cancellation credential-read milestone and replace coalescing yield scheduling with Deferred receipts at canonical API owner. Delete old imports/tests instead of restoring deleted gh adapter; retain current native HTTP/GraphQL suite. New upstream file touched: packages/source-control-github/src/server/GitHubPullRequestApi.test.ts; touch registry due. No credential, GitHub request or test run. |
| apps/server/src/pullRequest/PullRequestService.test.ts | Preserve selected-fork, failed-list-cache and routed invalidation regressions on current provider fixture | Explicit project listing targets its actual repository with verified host viewer across involvement/filter changes; invalidation does not self-notify unless requested; failed viewer reads must not poison cache | Upstream shared source-control provider/test packages, new read cache, batching/pagination/credential and richer PR operations | Read full conflict plus current fixture/service interfaces and invalidation implementation. Keep three fork behavioral cases and migrate obsolete fakeProvider calls to real source-control-testing fakePullRequestProvider with branded provider kind; do not restore an old local fixture or SQL/native surrogate. Preserve all surrounding current batching/filters/operation regressions. Correct relocated GitHub API synthetic row metadata to match actual GraphQL author/fork shape in the companion already-staged port. Tests remain unrun; no GitHub request, remote mutation or live database access. |
| apps/server/src/pullRequest/PullRequestService.ts | Reseat explicit selected-project repository reads in upstream's new batching loop | Origin fork and host viewer remain authoritative; explicit project lists never host-search another repository first | Upstream readTogether search chunks, boundary-aware grouping, unresolved-repository fallback, bounded filtered pagination, cache and richer operations retained | Read competing block and complete surrounding grouping/read helpers. Keep upstream extracted readTogether implementation, not the obsolete duplicate grouping fragment from ours. Add explicit-project condition to the single current grouping loop so selected repositories take direct readRepository while all-project requests retain host batching, cursor boundaries and fallback. Existing routed invalidation implementation and newly ported fork/filter/cache regression cases remain; no cached history reclassification, SQL conversation creation or host mutation. Verification unrun. |
| apps/server/src/review/ReviewService.ts | Combine upstream KnownWorkspaces with exclusive native session review scope | Native review is authorized solely by server-resolved canonical session cwd; configured/registered/managed workspaces cannot widen it, and symlink escapes remain rejected | Upstream recognizes current/previous managed folders, registered projects and Git-verified live thread worktrees via shared KnownWorkspaces service instead of ad hoc root lists | Read full review owner, actual KnownWorkspaces membership logic, native scope issuer and existing review tests. Canonicalize candidate and selected native/config root, use shared containment helper, and consult broad known-workspace membership only when no native scope was supplied. Native resolver remains observation-only with no SQL surrogate. Fix old fork test helper names to actual layer and extend existing native isolation case with a separately registered project root, keeping generic worktree/project and symlink tests. Actual native service interface/DI port remains separate integration work. No review, live data, SQLite migration or test executed. |
| apps/server/src/server.test.ts | Remove obsolete V1 route-suite owner with upstream's V2 cutover; retain explicit regression-port obligations | Saved retired-harness history must reject execution even when a caller supplies NeoPi, before any dispatch or saved-selection mutation; explicit native discovery refresh must invalidate only the selected runtime caches before probing, without eager startup probes | Upstream deletes this 12,662-line makeRoutesLayer/V1 service harness and replaces orchestration and router ownership; retain all current V2 transport/auth/assets behavior in its real owners | Read fork-only merge-base delta in full (artifact638), original read-only case at HEAD:5888–5940 and native media cases:5943–6003. Remove dead suite, not restore V1 services or fake V2 adapters. Mandatory integration ports remain: original legacy guard in current Orchestrator admission under thread lock (including caller model overrides/model-switch/restart/queue and MCP/scheduled paths), current native refresh ordering at real ProviderRegistry owner, and canonical media/observer authority through current router DI. Current ThreadManagementService target-enabled check only validates the requested selection and is not this saved-history guard. Upstream legacy importer retains saved model/provider but does not itself mark read-only or restore native file/cursor ownership. Canonical assets regressions already preserved separately; generic host/draft media cases are upstream, not new fork behavior. | Source reconciliation only; native admission/cache/route regression ports and admitted runtime verification still pending. |
| apps/server/src/server.ts | Reseat native ownership and hosted stats in upstream's complete V2 server composition | One canonical native session owner and one preview broker per server lifetime, shared by WebSocket/HTTP/MCP and runtime services; no retired execution, installer/account scanner, fixed manifest or reset-credit redemption startup | Preserve current event logging, V2 runtime/project/search/checkpoint/finalization workers, settlement/compaction/PR/delegated-work reactors, managed-policy activation/readiness, ownership/standby recovery, database/storage management, OAuth/guests/peer delegation, source control/review guides, speech and browser streaming | Read the entire owner and nine competing regions, actual native session/stats layer requirements, current registry/driver hydration, native model facts and generic ModelCatalog service. Replace obsolete V1 composition with current V2 owners while retaining the concrete canonical NeoPiNativeSessions and hosted NeoPiStatsService in the shared runtime layer. Lift the shared PreviewAutomationBroker into server scope so native runtime and every route consume it; keep current registry/MCP credential service scope and current startup activation ordering. Drop all retired native installers, OpenCode/ACP runtime composition, local foreign quota-account readers, reset redemption and manifest layers, not read-only history codecs. Retain CodexUsageHistory as read-only V2 historical tier recovery; its deleted codexModelOptions import must move to a historical decoder, not restore the execution helper. Native session/stats companions now import actual current root ProviderInstanceRegistry directly; no tag aliases. Current NativeDriver/NativeOwner/services, ACP-based hydration/replay, telemetry ModelManifest dependency and UsageService generic reader closure still require their recorded integration ports; none are papered over by no-op catalog/service layers. | Source-only reconciliation; real dependency closure, shared ownership/broker runtime proof, targeted compile/tests and all remaining native V2 ports are pending. |
| apps/server/src/serverRuntimeStartup.reconcile.test.ts | Keep deleted V1 reconciliation suite removed and carry its native/legacy invariants into the current recovery owner | Restart must never start/send/prepare retired execution, even when continuation is enabled; retain saved runtime identity and resume cursor while settling only active execution. Native recovery must preserve real journal/lease ownership, with terminal-owned sessions observed rather than stolen | Upstream replaces V1 ProviderService/directory reconciliation and continuation markers with ProviderRuntimeRecoveryService, RestartContinuation and real V2 session/turn/run recovery | Read complete fork-only suite delta and old legacy restart regression at HEAD:120–195; actual upstream side of startup conflict removes all old V1 reconciliation exports. Delete obsolete fixture suite rather than restore removed V1 tags or relabel Codex fakes as native. Mandatory native V2 recovery ports retain late admission/final cursor guards, fresh-start dialog routing, stopped-only persistence, restart/cancellation exact turn ownership and no orphan startup execution for saved legacy records. Existing V2 recovery/restart/runtime/replay test owners found for the real integration port; shared getThreadRuntimeReadOnlyReason in packages/shared/src/serverSettings.ts is the existing stored-identity policy to adapt, not duplicate in a transport. | No test executed. Source-owner deletion resolved; current recovery/admission behavior and receipt-driven native regression proofs remain pending. |
| apps/server/src/serverRuntimeStartup.test.ts | Port bootstrap selection regressions to current V2 startup harness and remove obsolete duplicate V1 tests | Native machine/project model and permission precedence, enabled alternate native profiles, disabled-native refusal and ignored-but-preserved retired preferences remain behavior requirements; optional bootstrap launch failures must not hide a created project or prevent command readiness | Keep upstream V2 recovery/import/effect-worker/project-service fixture, awareness relay failure cleanup, command readiness and safe automatic pull cases | Read entire merged suite and current startup/activation implementation. Remove old V1 ProjectionSnapshotQuery/OrchestrationEngine bootstrap tests and their dead imports/duplicate readiness cases, not the behavior: extend current startup table with saved native global/project selections, retired saved machine/project defaults and enabled work-profile fallback, asserting selected model/permissions, attempted versus refused launches, preserved legacy selection and welcome project retention. Use only configured NeoPi for executable fixtures; Codex is retained solely as saved read-only data. Replace relay yield-based startup timing with a Deferred worker-start receipt; gate case starts its actual fiber immediately instead of yieldNow. Assert propagated startup failure identity instead of pinning error wording. No fixture relabeling as a real native adapter or successful mock launch. | Source regression port prepared before startup owner fix; tests unrun and source conflict remains the next sequential file. Native bootstrapping must retain authoritative native file/journal ownership rather than treat V1 SQL import as a native resume binding. |
| apps/server/src/serverRuntimeStartup.ts | Replace deleted V1 restart/bootstrap ownership with current ordered V2 startup and native-only bootstrap selection | Keep saved project/machine NeoPi selections and scoped permissions; refuse disabled or retired defaults without rewriting them; choose another enabled native profile only when no usable saved choice exists. Legacy SQL transcript import is not native lease/session restoration; no V1 execution services return | Preserve ordered legacy shell hydration, V2 recovery and delegated recovery, parked effect worker/awareness relay, optional project/thread bootstrap, automatic pull after activation, trial prepare, welcome/readiness publication, safe headless/pairing output and shutdown recovery/finalization | Read entire competing V1 block, full V2 startup/activation/shutdown body, actual shared read-only helper and current startup tests. Remove obsolete V1 reconciliation, continuation-marker and worktree-setup implementations with their dead exports. Reseat bootstrap through current ProjectService/ThreadManagement/ThreadLaunch, checking stored driver identity plus project-enabled status for project and machine preferences, then configured native fallback; preserve project ID after optional launch failure. Reuse scoped default permissions and current SecureRandom, not old Crypto/SQL providers. Keep all current readiness and activation order, and NeoCode-visible pairing copy without leaking its URL into logs. Grep fallback (LSP unavailable) finds no external callers of removed V1 startup exports. Old saved-session read-only/cursor/terminal-owned restart behavior remains a mandatory real V2 recovery/admission port in the integration ledger, not a recreated V1 service. | Eight-row current startup regression table prepared in preceding file, but no tests/checks executed. Real NativeDriver/V2 recovery and canonical observer ownership proof remains pending. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 6/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 43975 bytes; SHA-256 e3ea2acaf17a9b038f8586312d7f125ba2cc7ddb398b0a06f289aae9862ce3b0.

| apps/server/src/serverSettings.test.ts | Reconcile current settings/secret/policy tests with native-only runtime selection and atomic executable persistence | Preserve native profiles, arbitrary native model backends/options, original disabled/unknown runtime preferences on disk, legacy explicit flags, callback-save concurrency, environment-secret error context, stale-probe rejection and authoritative project-key edits; never revive foreign execution to make a fixture pass | Keep upstream unified secret fields/reference schemas, policy-aware fixtures, current Sqlite, vault configuration rejection, snapshot locking, external-edit rebasing, invalid-file refusal, model preference coalescing/broadcast, read-cache invalidation, rollback of failed/partially committed secret writes, legacy provider migration and custom-model fallback behavior | Read all 13 competing blocks, native automatic-selection races, source materialization/error mapping, legacy migration and current atomic project-key regression. Merge native selection tests with current fixture names and policy DI; fold the explicit-disabled-native/foreign-ignored case into current disable/re-enable fallback transition, preserving stored preferences and observable published state. Retain backend/model/option switching and optional-metadata clearing; translate custom-model fallback to configured native profiles. Restore original secret-read contextual failure using current redacted environment wire and exact underlying cause, not retired materializers. Remove obsolete legacy-default/executable pins and duplicated V1 settings tests, retaining real migration and observability normalization cases. Current source still requires its next sequential conflict resolution. Companion NeoPiBinarySelection now writes provenance and auto-selected executable into the actual default providerInstances slot when absent, using existing per-instance expected/current race guards; the obsolete providers.neopi branch is removed, not retained as an alias. Its existing custom-instance/bundled/sibling/removal/environment guard suite is intentionally unchanged; actual settings persistence test now checks canonical instance config. The remaining native consumers and contracts must complete this same canonical-instance cutover. | No settings test, install or check has run. Prepared behavior regressions and source helper are staged only after this ledger entry; source functional updates/secret transaction integration and full native contract migration remain pending. |
| apps/server/src/serverSettings.ts | Reseat native-only runtime selection and locked callback patches on current policy-aware settings owner | Preserve arbitrary NeoPi model/backend/options and configured native fallback profiles without rewriting saved selections; preserve legacy preference/history data, explicit disables and native executable probe CAS; callback null performs no settings write or broadcast | Take current canonical instance migration, managed defaults/locks/provider rules, standalone inference text generators, secret references/vault validation, source-control secret migration, invalid-file refusal, fresh disk rebasing, snapshot/mutation serialization, secret rollback/materialization generation guards and symlink-target watching | Read every source region and all eleven competing blocks, retained behavior cases and merge-base owner. Remove obsolete providers.neopi/default-stripping and environment-only secret machinery rather than restore V1 settings shape. Compute callback patches from freshly reloaded/materialized authoritative settings while holding the same write semaphore; route both callback and literal patches through current validation/policy/secret transaction and rollback, preserving atomic create and snapshot operations. Effective runtime text selection accepts NeoPi only, while standalone HTTP inference text generators remain an upstream non-execution feature; native fallback delegates to shared selection logic including configured native profiles and preserves original stored preferences. Shared fallback's pending conflict must replace the retired driver inventory with native candidates and retain standalone text-generator support. | Source reconciled, no tests/install/typecheck/check run. Settings regressions in preceding ledger row remain unexercised. Full canonical native consumer/contract cutover and the genuine V2 adapter/admission/recovery ports remain required. |
| apps/server/src/terminal/Manager.test.ts | Port terminal lifecycle, bounded output and native authorization regressions onto current shared PTY/output protocol and open/relaunch owner | Keep cancelled-waiter/failed-request serialization, no retired-provider-bound terminal launch or synthetic legacy defaults, exact secret failure cause without disclosure, explicit native environment, refreshed secrets/history reset on relaunch, output/replay/exit ordering, retained-payload limits, healthy-versus-stalled isolation and detached termination ownership | Preserve current exit-on-subscribe, viewer grid negotiation/retry/detach, close/resume tombstones, observer non-mutation/deduplication, lazy snapshot recovery under close/reopen races, bounded/hashed history filenames and migration failures, shell completion/fish/multiplexer environment handling, timed process-table budgets and settlement behavior | Read complete merged suite, base and current terminal/open/output/queue/lock owners. Adopt shared PtyAdapter and current terminalOutputStream; merge fake pause/resume with replayed-exit/kill hooks. Replace obsolete restart calls with actual open-driven context relaunch, current SQLite/policy/secret fixture and canonical native instances. Keep native refusal and secret error tests using complete service fixtures. Re-express stalled-client recovery as authoritative snapshot through current protocol with a small configured budget, preserving PTY isolation; retain actual payload-memory invariant but delete incidental array-compaction length pin. Port queued output/exit sequence proof with Deferred instead of polling; extend existing multi-terminal case to prove whole-thread close/deletion/events, and existing shutdown case for exited versus unexited detached handles. Remove obsolete polling/yield duplicate blocks and ACP Registry binary-injection-only test/options, not ordinary terminal functionality. | Prepared source regressions only; nothing executed. Manager source is next in original order and must retain bounded producer queues, current viewer/observer features, lock reclamation, native-only environment resolution and observed-exit shutdown safety. |
| apps/server/src/terminal/Manager.ts | Keep native authority and bounded producer queues while adopting current terminal observer/viewer/output/open lifecycle | NeoPi-only bound terminal resolution with preserved user environment and exact secret errors; release consumed PTY payloads, pause only internal producer backlog and retain detached process exit observation/drain through worker shutdown | Use shared PtyAdapter, effectful provider-core environment merge, reference-counted/reclaimed shared KeyedLock, viewer-owned minimum grids/retry/resume tombstones, observer/lazy authoritative resync, current hashed history and migrations, quiet process-table pacing, shell startup and open-driven context relaunch | Read source conflicts, base, real queue/lock/environment/output owners and every changed lifecycle region. Keep ProcessEventQueue instead of upstream's redundant array/index, taking upstream lock owner because its acquire/use/release counts queued and active callers and removes the last key. Keep Deferred exit-before-grace escalation and add the fork's already-exited pre-signal guard; retain pending-kill drain before worker shutdown. Remove retired explicit restart owner, raw unlocked getSnapshot and ACP Registry installation/PATH injection rather than restore retired execution. Preserve Windows case-insensitive explicit environment overlay without legacy home rewriting. Companion queue source/test import shared PTY types. Current OutputProtocol now budgets every retained string (including metadata/errors) against max UTF-16 storage and UTF-8 bytes so its batching still respects wire windows; extend existing oversized-event boundary case to metadata/errors as well as history. Remove obsolete fork EventStream and its synthetic tests: real manager sequence/observer/resync/close/reopen/isolation tests and current RPC ACK/budget/handoff tests now own these contracts. No compatibility shim or second stream owner remains. | No tests/checks/install executed. ws.ts is later in the ordered queue and must take the current terminal attachOutputStream/observer/output-window handlers, dropping its obsolete EventStream import and removed subscribeTerminalEvents handler. ProviderInstanceRegistryHydration and provider-core environment legacy closure still need the full native audit. Add OutputProtocol/test to upstream touch registry. |
| apps/server/src/terminal/NodePtyAdapter.test.ts | Merge native POSIX process-identity safety regressions into current Windows readiness and persistent exit replay suite | Reject reused/missing spawn identities and escalation after identity loss; never signal an exited native process even after manager listeners detach; preserve Windows signal normalization | Keep zero-output Windows PID readiness, cancellation/failed startup cleanup, missing readiness API rejection, scheduler-budget handoff races and late-subscriber exactly-once exit replay | Read full competing tests, merge base and complete actual NodePty owner. Use current EventEmitter/socket native fixture with pause/resume-capable shared PTY shape and per-test identity reader. Move identity mutation inside each case, exercise through the real adapter layer rather than restoring private make export, and fold post-exit signal refusal into the existing replay/unsubscription regression. Remove superseded spawn forwarding/wording pins and pause/resume mock echoes, retaining platform-sensitive kill behavior and structured cleanup/error assertions. | Prepared source regressions, unrun. NodePty source next must capture the spawn identity once, use one persistent replaying native exit observer, preserve Windows readiness/cleanup and refuse signaling after observed exit or loss of ownership. |
| apps/server/src/terminal/NodePtyAdapter.ts | Combine spawn-time POSIX ownership checks with upstream Windows readiness and durable exit replay | Capture parent/start identity once at spawn; refuse every POSIX signal when absent, changed or no longer verifiable; never signal after a native exit, independently of detachable manager subscriptions; retain producer pause/resume | Keep current shared PTY interface, Windows readiness without first output, private pending-connection cancellation, startup failure cleanup, early exit capture and exactly-once late replay/unsubscribe semantics | Read full merged adapter, original base and preceding integrated regressions. Use the single persistent replaying native exit observer as the signal-exit authority instead of installing two observers or restoring a detachable flag. Preserve original identity reader/reference and pass it through the actual new native/tracked process pair; take current HostProcess namespaces and real Windows readiness cleanup path. No public make alias or fake identity fallback is introduced. | No tests/checks executed. Linux/Darwin identity refusal and Windows readiness/exit/handoff cases are prepared in preceding test file; actual runtime proof remains due under polite-run admission. |
| apps/server/src/textGeneration/AntigravityTextGeneration.test.ts | Keep retired Antigravity harness text generation regression owner deleted | NeoPi remains the only executable harness; saved Antigravity history and usage decoding stay in their separate read-only owners | Do not restore upstream ACP execution helper/test fixtures; generic text-generation services and standalone HTTP inference remain separate retained features | Inspect imports and fixture: this suite instantiates Antigravity ACP runtimes, model/mode/prompt/permission handlers and transient native session cleanup, not a historical reader. Preserve the fork deletion rather than resurrect removed effect-acp/provider-acp and Antigravity process execution for tests. | No tests run; native text-generation lifecycle and genuine V2 runtime ports remain part of integration verification. |
| apps/server/src/textGeneration/AntigravityTextGeneration.ts | Keep retired Antigravity ACP text execution owner deleted | Only NeoPi executes helper sessions; retain historical Antigravity decoding separately and keep generic/HTTP inference owners | Exclude retired Antigravity runtime startup, hook/MCP gating, model/mode/prompt handling and helper-session deletion rather than restore their deleted SDK/process dependency closure | Inspect actual implementation/exports and use grep fallback because LSP is unavailable: no external consumer of makeAntigravityTextGeneration, isAntigravityTextGenerationAvailable or its options remains in apps/server or packages. This is executable ACP session machinery, not read-only history or inference quota parsing. | Source-only resolution; no verification run. Native helper implementation and generic text generation services remain separate acceptance obligations. |
| apps/server/src/textGeneration/ClaudeTextGeneration.test.ts | Keep retired Claude CLI helper execution suite deleted | Do not restore Claude execution/catalog defaults; NeoPi remains authoritative for execution and inference choices | Retain generic text-generation utilities and provider-testing helpers where real retained consumers exist, not this CLI-only suite | Inspect imports/fixture: it writes a fake Claude CLI, executes makeClaudeTextGeneration with Claude settings/catalog metadata, checks subprocess environment/arguments and helper lifecycle. This is not the retained legacy transcript decoder or generic title sanitization owner. | No suite executed. Remove only the retired owner; actual native helper/lifecycle and generic service behavior still require integrated verification. |
| apps/server/src/textGeneration/ClaudeTextGeneration.ts | Keep retired Claude CLI text helper implementation deleted | No direct Claude process execution, fixed model catalog or Claude-specific home/MCP execution setup; native inference choices remain NeoPi-owned | Keep generic TextGenerationOperations, output-schema/error/title utilities and retained standalone HTTP inference, not the foreign CLI runner | Inspect implementation and exported makeClaudeTextGeneration references (grep fallback, LSP unavailable): no external apps/server or packages consumer remains. File owns Claude CLI invocation, tool restrictions, effort/model flags and output parsing during execution, not historical read-only transcript decoding. | No verification run. Read-only Claude history/usage support is retained in its own reader; native helper and genuine V2 ports remain pending. |
| apps/server/src/textGeneration/CodexTextGeneration.test.ts | Remove retired Codex CLI suite but relocate its newly co-located generic service regressions to the real TextGeneration owner | No Codex execution/MCP inventory/model flags return; native profile selection retains per-request options or drops them only on a real fallback; HTTP text generators cannot investigate a checkout | Preserve six-state generic preflight behavior (ready, pending, exhausted, missing install, signed out, unusable fallback) and review-guide agent fallback/refusal as actual service-layer cases, rather than deleting them with the CLI fixture | Inspect imports/CLI fixture and read complete generic tail. Move the two generic cases into new TextGeneration.test.ts with two configured NeoPi profiles and typed snapshots/instances; unexpected orchestration calls fail, no empty adapter/capability casts or fake runtime success. Preserve actual selection/error behavior and remove error wording pin. Companion TextGeneration.ts admits NeoPi for investigating fallback instead of the retired Codex/Claude inventory, retaining generic API inference and useful failure. The suite proves routing only, not native execution. | New/moved service regressions unrun. CRITICAL: actual NeoPiTextGeneration.ts#E50B still imports obsolete local prompt/utils owners and implements only four old operations; port it to current provider-core operations, real review-guide read-only investigation and transcription post-processing before delivery. Native tests#C067 also have old effect/process imports. Do not claim guide/transcription execution works from these routing mocks. Shared native fallback/capability contracts and real NativeDriver V2 work remain pending. Add TextGeneration.ts to upstream touch registry. |
| apps/server/src/textGeneration/CodexTextGeneration.ts | Keep retired direct Codex helper runner deleted after preserving generic service tests separately | NeoPi alone executes helper sessions; preserve native attachments/options through its real helper, not Codex CLI flags/MCP/plugin discovery; retain Codex usage/history decoders separately | Keep generic schema/prompt/error operations and useful text preflight/review routing in the real generic owner; exclude foreign Codex managed runtime/CLI machinery | Inspect imports/exports and grep consumers (LSP unavailable). This owner launches codex exec/mcp list, builds Codex home/launch/service-tier flags and materializes CLI image arguments. Its remaining external importer is the newly introduced foreign provider/Drivers/CodexManagedProvider.ts, already required to be removed with the foreign auto-merged execution closure before dependency regeneration; no native consumer needs this implementation. Generic cases were moved in preceding row, not discarded. | No verification run. Full foreign managed-provider/SDK closure cleanup, native helper operation/attachment parity and genuine V2 integration remain mandatory. |
| apps/server/src/textGeneration/GrokTextGeneration.test.ts | Keep retired Grok ACP helper execution suite deleted | NeoPi is the sole execution runtime, including for xAI inference; historical Grok usage/history identity remains separate | Keep generic JSON extraction and standalone HTTP inference services; exclude provider-grok ACP execution/testing and fake Grok CLI inventory | Read the complete suite: both cases create a grok agent stdio wrapper, run provider-grok/testing makeGrokTextGeneration, assert ACP capability/model setup and parse its generated response. No generic service preflight/routing cases are embedded here, unlike the preceding Codex file. | No tests run. Foreign provider-grok package/fixtures belong to the pending complete execution-dependency closure removal; native JSON/helper behavior remains covered in its own suite and requires the real current API port. |
| apps/server/src/triage/triagePrompt.ts | Reseat fork/native triage guidance on upstream's shared CLI and in-app preparation flow | NeoCode/fork/nightly report and source destinations; NeoPi diagnostics, preserved Windows one-line argv launch and no secret reads; user approval still required before fixes/report submission | Keep app file-chip prompt and same-turn description, distinct CLI/client entry facts, actual server-versus-CLI version provenance, asynchronous source clone context, in-app self-server warning, permission-aware issue creation and bounded prefilled form fallback | Read full moved prompt, base, online playbook, current session/service owners and exported references; LSP unavailable, use grep fallback. Merge new TriageEntry/context/sourceClone functions instead of restoring duplicate CLI-only signatures. Retain upstream permission/form behavior but target only the fork; distinguish installed NeoCode CLI from an upstream npx example. Keep online/offline guidance aligned and remove source-copy/wording tests, retaining Windows argv safety. Companion TriageService now clones the fork and resolves release tags then nightly, preserving peeled tags, immutable-release lookup caching, moving-branch lookup, shared scoped clones and untrusted partial checkout refusal; extend existing parser case with main decoy/missing-nightly boundaries and retain cache/checkout behavior cases, not copied context sentences. TriageService only prepares files/source and returns a prompt; it does not itself launch SQL or native sessions. New web/mobile useStartTriage entry hooks must be reseated with the pending native new-task/scratch/draft flow, not discarded. | No tests/evals/checks executed. Evals README reread; grep found no triage-prompt imports/cases in existing evals (unrelated triage words appear in MCP cases). Actual source-cache/CLI/native-client entry proof remains due under admission; do not infer native execution from prepared prompt files. Add moved triage prompt/service touch entries. |
| apps/server/src/usage/UsageService.test.ts | Preserve SDK-free historical usage and upstream cache/pricing/concurrency regressions while removing retired SDK-backed collectors | Keep the saved-Cursor-credential/Keychain exclusion and OpenCode-plus-no-Cursor coverage; disabled and aliased historical accounts remain readable without adding executable harnesses or a duplicate NeoPi ledger | Retain host identity initialization race, compressed Codex rollouts, retained V2 service-tier evidence and price repair, Pi historical per-model/auxiliary usage and directory overrides, read-only OpenCode/Antigravity history, persisted cache migration/deletion/repair, model filtering/aliases, pricing fallback and concurrent scan ownership | Resolve the single large block by retaining each independent historical/caching regression, not by choosing a whole side. Remove Cursor API/sign-in collector cases and their account-reader layers/helpers; remove Muse SDK-host startup/discovery case and mocks because they require an excluded non-NeoPi SDK/executable, not a static historical decoder. Retain the pure history formats independently during dependency-closure reconciliation. Port the credential exclusion to the current layerService owner and remove only now-unused imports. The retained source must use a real read-only reader registry, not fabricated ProviderDriver methods or empty usage success. | No tests/checks run; actual reader wiring, historical configuration decoding and admission-controlled focused verification remain pending. |
| apps/server/src/usage/UsageService.ts | Reseat history aggregation on real SDK-free readers, not executable provider registration | NeoPi native Stats stays authoritative and is not scanned or recomputed by this legacy-history service; retain saved historical provider identities, disabled instances, explicit default-slot precedence, canonical path aliases and no Cursor credential/Keychain collector | Take upstream reader contracts, incremental parse state, concurrent source scans, retained/deleted-file cache coverage, occurrence-aware cross-file deduplication, model aliases/filtering, historical V2 Codex tier repair, atomic host identity initialization and settings/refresh/filter-sensitive scan sharing | Replace the removed built-in executable-driver usage inventory with historicalUsageReaders: actual config-schema and usage-reader metadata only, with no driver construction, probes, SDK hosts, catalogs or invented execution methods. Keep Claude/Codex and Antigravity's pure readers; move Grok, Pi and OpenCode historical formats/scanners out of excluded execution packages into retained server owners, and move their independent regression suites. Pi historical directory parsing retains upstream launch-argument semantics as a private read-only parser, not a launcher. Keep Muse's raw historical envelope decoder and five normalization/identity/schema boundary cases for generic transcript/cache readers, but exclude SDK-host home discovery rather than guessing a directory or faking success. Port TEST_FORMATS imports to retained owners. Reuse the pure Codex historical home resolver with injected HostProcess.HomeDirectory and shared-home semantics; remove the unused superseded Antigravity helper. CodexUsageHistory reads retained SQL evidence read-only and now decodes serviceTier/legacy fastMode with existing shared model helpers instead of the deleted execution helper. Foreign execution packages still have imports of relocated files and must be removed as a complete closure during integration; do not claim that closure is complete yet. | Source-only reconciliation; no checks/tests/runtime execution. Preserve focused history, scanner, price-repair, host-race and cache suites for admission-controlled verification. Current registry type reuses only the existing core schema/usage metadata view, never supplies fake ProviderDriver capabilities or methods. Server DI must provide genuine AntigravityUsage and CodexUsageHistory services; full dependency/native V2 integration remains pending. |
| apps/server/src/usage/cliproxyApi.ts | Keep inference-account HTTP quota operations independent of retired execution providers | Retain the SDK-free inferenceUsageLimits helpers and their Claude spend/extra-usage and Codex plan/window normalization; no execution driver, provider SDK or NeoPi reset-credit adapter is restored | Keep typed already-decrypted CliproxyHub input, provider-core unavailable-limit contract, current secret-safe TLS/HTTP diagnostics, account/workspace identity, HTTP account reads and idempotent hub credit redemption/cooldown behavior | Resolve imports by combining fork-owned pure inference helpers with upstream's actual core contract and hub interface; inspect the full source rather than restoring deleted CodexProvider/claudeUsageLimits execution owners. Preserve existing account normalization and consumer-visible errors. The HTTP Codex decoder still exposes primary/secondary windows only: do not claim it discovers the separate monthly window supported by the pure helper. | Source-only import/interface reconciliation; no tests, HTTP calls, credential use or reset-credit side effects executed. Existing focused hub and inference-normalization tests remain due under admission. |
| apps/server/src/usage/usagePricing.test.ts | Keep shared pricing and billing-model precedence regression without restoring a retired Cursor account collector | No provider-cursor dependency or model-name inventory returns; actual native pricing remains in NeoPi while retained historical records can supply their explicit billed model | Retain UsageSpeed's current core type, override/public/provider-reported precedence, fast and ultrafast prices, disjoint token categories, exact model IDs, first-party alias collisions and synthetic/unpriced boundaries | The conflicted Cursor case combines account-specific model-name rewriting with generic billing-model pricing. Preserve the real shared pricing invariant using recorded rateModel values: Fable and distinct xAI/reseller rates produce different exact cache savings while provider-reported cost remains authoritative. Exclude only the removed account collector's mapping helper; do not discard the pricing regression or restore executable package imports. | Source-only test reconciliation; no tests/checks run. Existing focused pricing suite remains due under admission. |
| apps/server/src/usage/usageTranscriptReader.test.ts | Adopt current generic transcript formats/streaming gate and keep moved SQLite regressions in their actual retained scanner owners | Preserve readable historical records, byte-exact resume and lossless Unicode/CRLF boundaries without restoring any retired execution SDK or obsolete promise-reader interface | Keep nested plain/zstd discovery, long-line projected/native equivalence, malformed and tentative tails, compressed restart behavior, incremental guard/state recovery and byte-oriented marker matching beside malformed UTF-8 | Both conflicted imports now use TEST_FORMATS and the current generic transcript reader. Remove the obsolete copied SQLite suite only after finding its exact migrated cases: OpenCode migrated-message/WAL coverage is retained in provider/Drivers/opencodeUsage.test.ts; all four Antigravity generation/step retry, per-step model, bridging-alias and cross-root ownership regressions remain in provider/Drivers/antigravityUsageReader.test.ts under the real Effect/SQLite reader. This avoids duplicate tests, orphan semicolons, undefined NodeSqlite/proto helpers and deleted reader imports. Preserve upstream's actual transcriptLineGate behavior case and literal regex-marker boundaries. | No tests/checks run. Actual compressed/streaming/resume and moved read-only scanner suites remain due under admission. |
| apps/server/src/vcs/GitVcsDriverCore.ts | Retain independent fork trace-tail and upstream worktree/process helpers | Keep the fork's incremental byte-oriented Git trace consumer and its existing real makeTraceTail call rather than restoring whole-file rereads or dropping hook observation | Keep removeEmptyDirectory/error, explicit bare-repository and Windows config environments, worktree checkout cache, linked-worktree removal and configured worktree-directory resolution | The sole conflict is additive imports: source references prove each side's helpers remains used in the merged implementation (trace tail at hook monitoring, process environment, cache initialization, worktree creation and safe removal). Keep every independent import and do not rewrite unrelated VCS/review behavior. GitTraceTail's consumed-offset/newline/UTF-8/inode/cancellation logic remains in its separate fork-owned helper. | Source-only reconciliation; no Git operations performed by the product and no tests/checks run. Existing focused VCS/trace-tail tests remain due under admission; preserve/add the moved owner in the touched-upstream registry audit. |
| apps/server/src/workspace/WorkspaceFileSystem.ts | Combine fail-closed atomic plan publication with current known-workspace, canonical-path and Git metadata guards | Atomic create never follows or replaces an existing named leaf, including dangling links; only explicit replace can publish replacement contents; ordinary editor writes remain in-place and keep hard-link/inode semantics | Keep known-workspace admission, canonical existing-ancestor resolution, workspace escape and Git-folder checks, ordinary write O_NOFOLLOW protection, host metadata/read behavior and new-path-only index refresh rather than a full rescan on every save | Share current resolveWriteTarget for both save contracts, but resolve only ancestors for create so atomic hard-link publication rejects the literal occupied name. Keep ordinary NodeFSP writes and route only explicit create/replace through the shared atomic helper. Add followSymlinks:false for this already-validated canonical path: otherwise the helper would resolve a symlink swapped in after validation and could replace an outside file. Its default symlink-preserving/Windows retry behavior remains unchanged for all other callers. Extend the existing replacement regression with a real sandboxed symlink swap after validation and assert protected outside contents plus safe replacement; extend the existing create-link case to a dangling target. Expose the existing known-workspace fixture layer to direct make callers, retaining its rejection behavior. | Tests were edited before source reconciliation but not executed: no install/check/test/runtime proof has run. Shared atomic helper and complete workspace regression suites, including admission, create race, in-place writes and Git-path guards, remain due under polite-run. Keep the fs.write-specific RPC and client conflict/overwrite semantics during later transport/client integration. Add concise plan-save/overwrite user guidance when resolving the composer documentation; do not change another conflicted file out of sequence. |
| apps/server/src/ws.ts | Move native RPCs and atomic saves into current V2 handlers and middleware while retaining complete upstream generic transport features | Keep native canonical session lifecycle, journal/tree, read-only configuration, native model/account/auth/theme services, native review and media URLs; do not create SQL conversations for native operations. Atomic plan writes retain their distinct fail-closed wire method. NativeSessions is the existing server-lifetime service, not a socket-owned competing runtime. | Keep V2 bounded shell/thread replay and wire projection, paging, protocol compatibility, split-frame transport, current project mutation/clone/scratch/enrichment, credential-scoped source control, browser profiles, diagnostics, hosted text helpers and server-update progress. Terminal attach/resize use socket-qualified viewers; observation uses authoritative resync and withOutputWindow, not deleted EventStream or restart APIs. Provider refresh retains coalesced native cache/secret/workspace logic and awaited usage-hub refresh. | Resolve all 12 conflicts on the new owners, remove obsolete V1 command/replay/clone implementations, duplicate service captures and deleted instrumentation helpers, and register thin native service calls under the current authorization/instrumentation middleware. Remove ACP catalog/session/auth/setup, retired session scanners/importers and harness feedback handlers rather than restoring retired adapters. Preserve external usage-hub reset-credit operations and advertised-capability checks; NeoPi does not advertise native reset-credit execution. Native media bypasses SQL workspace lookup while ordinary paths retain current network guards and project-checkout handling. | Source reconciliation only: native catalog/journal/conversation constructors still require their genuine V2 migration, and legacy execution admission must move to the central Orchestrator seam so MCP/schedules cannot bypass it; do not treat the removed V1 transport-only guard as proof. ws.test.ts still contains retired fixtures/imports and needs migration with the true V2 service proof, not fake adapters or forwarding assertions. No test/check/runtime run; endpoint parity, stream readiness, fs.write authorization, remote assets and native ownership remain due. |
| apps/server/src/observability/RpcInstrumentation.ts (auto-merged companion to ws.ts) | Register native/atomic aggregate labels in the current middleware and remove retired wire-method entries | Keep prior native workspace/review labels without duplicate spans or deleted observeRpc helper aliases | Keep current middleware counters, duration, tracing-disabled diagnostic operations and exact exhaustive RPC method map | The new middleware already wraps authorization and handler execution. Native RPCs therefore become ordinary thin handlers, and their aggregate labels must move here rather than preserving the old per-handler instrumentation. Remove only methods whose retired execution/auth/import/feedback endpoints were removed. | Source-only; exhaustive contract compatibility and existing instrumentation suite remain due after contract resolution. Add the moved fork seam to the upstream-touch registry audit. |
| apps/server/vite.config.ts | Keep fork removal of the retired history worker while adopting current executable/bootstrap packaging | No Claude history worker entry or obsolete execution helper is emitted; ordinary builds still expose the existing CLI entry | Preserve single-entry SEA build versus bootstrap selection, CLI asset output directory, target/Node validation, embedded binMain asset, native dependencies and current weighted test sequencing | Use binMain only for the embedded executable build; bootstrap and ordinary bundle builds use bin. The upstream multi-entry ordinary build included the removed retired-harness worker, which is not part of the native frontend. | Source-only; targeted packaging configuration and release smoke remain due under polite-run. No build or worker executed. |
| apps/web/index.html | Keep NeoCode Alpha document identity with current upstream boot/theme recovery | Preserve NeoCode page title and already-merged splash naming, existing favicon/PWA/storage identifiers and saved graphical palette choices | Retain upstream boot error recovery styles and bootstrap, custom/built-in palette decoding and system appearance selection | The only conflict renames the upstream product stage; upstream becoming Beta does not change the fork's explicit Alpha identity. Do not rewrite unrelated boot or theme logic. | Source-only title reconciliation; no page launched, visual verification or wording-pin test added. Existing boot behavioral tests are next in the conflict queue. |
| apps/web/src/appearanceFonts.ts | Preserve the fork's Inter-first interface with the current bundled font's family name | Keep NeoCode's Inter-first typography, Nerd-symbol fallback, explicit custom font precedence and separate composer/code preferences | Recognize the bundled @fontsource-variable/inter family as Inter Variable; retain all upstream availability/monospace probes and appearance behavior outside the single stack conflict | Upstream changes default priority to platform fonts, which conflicts with the fork's graphical defaults. Put the actual newly imported bundled family first, retain prior installed Inter aliases and existing fallback order, and align the CSS token when its queued conflict is resolved. | Source-only; no font picker or page launched, no literal-stack assertion introduced. Existing behavioral font/appearance checks remain due under admission. |
| apps/web/src/bootstrap.test.ts | Accept upstream removal of obsolete splash test fixture instead of pinning new copy or a removed development-only detail gate | The actual bootstrap still catches both main import rejection and the exported asynchronous startup promise; native frontend startup remains the same real entry | Current boot recovery is a richer pre-React document with sanitized reports, desktop updater actions and CLI troubleshooting; its real report/quoting/update-state tests remain in lib/bootError.test.ts | The retained fork suite uses an old synthetic one-child DOM, asserts old title/button copy and expects details to exist only in development, which is no longer the report workflow. Remove wording/incidental rendering and four-line promise-forwarding assertions rather than fabricating a replacement DOM or re-pinning the UI. The environment connection bootstrap suite is separate and retained. | No test or UI run. Report redaction, error boundaries and actual boot recovery behavior must be verified on the new owner; this deletion does not claim asynchronous runtime proof. |
| apps/web/src/branding.test.ts | Retain fork channel/version behavior regressions despite upstream deletion; remove injected-value copying assertions | Keep fork numeric run-attempt and legacy revision-suffixed nightly/preview classification, malformed-version fallback and stable Alpha/Dev/Latest identities | Keep hosted latest display behavior and unknown-channel rejection without pinning product literals | The fork-owned release suffixes still have real consumers in appInit and SidebarStageBackdrop, so their behavioral tests are not obsolete. Make the existing desktop case assert precedence over competing hosted metadata rather than echoing three injected fields; exercise actual whitespace/case normalization in the existing hosted row and release environment stubs after each test. | No test run. Existing branding/version compatibility cases remain due under polite-run; no static product-name tests added or re-pinned. |
| apps/web/src/branding.ts (auto-merged companion to branding.test.ts) | Restore fork Alpha default and route new upstream download/phone QR entry points to NeoCode releases | NeoCode display identity and desktop-injected/saved server channel precedence remain authoritative; users must not be sent to upstream installers or store applications | Keep hosted channel selection and new shared desktop/mobile URL entry points used by hosted empty state, prompt-link landing and onboarding QR | Automatic merge kept the name but silently changed the fork's default stage to upstream Beta and introduced upstream download URLs. Reseat those product defaults without changing public names, protocol identifiers, desktop injection or entry-point behavior. | Source-only; QR/download targets are actual fork release destinations, not a claim of app-store availability. New hosted prompt-link copy and welcome QR explanatory text need fork identity review in the auto-merge audit. No URLs opened or app installed. |
| apps/web/src/browser/ElectronBrowserHost.tsx | Carry canonical native workspace identity through the current stable hosted-guest owner | Use parseWorkspaceKey for both native session targets and genuine legacy thread refs; retain environment/session/epoch-scoped runtime tab identity, PiP/zoom state and source workspace when opening a guest link | Keep fixed guest render order (reordering destroys Electron guests), local server-native filtering, app-lifetime pointer/link listeners, annotation theme observers, environment-scoped operate permission and hydration-latched browser profile selection | The old fork component duplicates the newer component and only handles snapshot enumeration. Keep the upstream lifecycle owner and its independent rendering/authorization features, changing its one parser to the canonical native-aware workspace parser. Do not restore theme effects or filter native workspaces out as non-SQL threads. | Source-only; current HostedBrowserWebview/openFileInPreview/tab-ID contracts are next in sequence. Existing guest-order browser regression retained; native guest lifetime, host teardown, permission and cross-window runtime proof remain due. No browser, desktop app or dev server started. |
| apps/web/src/browser/HostedBrowserWebview.tsx | Retain native workspace props and route new server-driven desktop leases through the canonical resource namespace | Both native and legacy workspaces retain the actual guest, preview bridge, recording, resizing and browser surfaces without inventing a SQL thread | Keep server rendering color scheme/zoom, fixed profile partitions, hydration admission, acquired tab leases, queued bridge operations, crash recovery, guest registration/focus, PiP/background visibility and fitted viewport behavior | Merge type imports, retain WorkspaceRef, and replace newly introduced direct threadRef.threadId access with the existing shared workspaceResourceId for server tab acquisition and its dependency key. Keep the new lifecycle owner rather than restoring the obsolete simpler webview. | Source-only; direct source inspection found only the two new thread-only lease accesses. Current tab bridge, resize, recording and automation callers still require their queued/native audit and actual lifetime proof; no browser/desktop execution or tests run. |
| apps/web/src/browser/browserRecording.ts | Combine current typed capture failures with the retained canonical workspace recording owner | Recording ownership/conflict lookup remains environment-and-native-session scoped through WorkspaceRef/workspaceKey, including logical versus runtime tab IDs | Keep PreviewCaptureFailure decoding, actual media acquisition diagnostics, queued display grants and cancellation, compositor/chunk/artifact lifecycle and surface-activity ownership outside the import conflict | The competing imports are independent capabilities. Retain the new error and artifact contracts while removing the obsolete ScopedThreadRef import; body consumers already use native-aware workspace equality and do not access a SQL thread ID. | Source-only; capture, queued-grant cancellation, native recording isolation and upload/composer integration remain due in focused existing suites/runtime proof. No recording, permission request, or media capture performed. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 7/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44163 bytes; SHA-256 ab886d6f9a6805656afc157a828e005d1b26f4dd693826b06a75713dcc35ada1.

| apps/web/src/browser/browserRecordingUpload.ts | Preserve the fork's native-aware encoded recording transfer despite upstream deletion | A local/desktop automation recording can transfer its finished file to the selected remote environment and return an actual durable upload ID; WorkspaceRef supplies only the canonical resource namespace for failures, never a surrogate conversation | Reuse the current shared attachment upload cycle, destination-scoped RPC commands, prepared connection URL resolution, file byte cap, abortable deadline and pending-upload cleanup rather than a second transport | PreviewAutomationHosts still actually calls this helper for recordingStop with transferToEnvironment; source verification confirms the current shared upload result and command APIs match. Removing it would silently break the retained fork's remote recording contract. Keep the owned file unchanged instead of restoring obsolete general browser or SQL APIs. | Source-only consumer/interface comparison, not a successful transfer claim. Current shared upload-cycle and recording lifetime suites plus destination/deadline/cleanup runtime proof remain due under admission; no media captured or uploaded. |
| apps/web/src/browser/openFileInPreview.ts | Compose native workspace namespacing with upstream side-chat host capture | Signed file/media URLs retain the original canonical native session ref and destination environment, with readable legacy-thread behavior; native browser tabs use a resource namespace rather than SQL conversation creation | Preserve pre-await right-panel host capture, background-tab focus restoration only while selection is unchanged, selected browser profile/runtime, browser-setting failures and current preview state updates | Neither conflict side alone is correct: use workspaceResourceId of the already captured host reference, not the original child ref or a thread-only property. Asset authorization still uses the actual source session, while the browser surface belongs to the selected panel host. | Source-only; no upload/asset/open command executed. Native versus legacy resources, side-chat host changes during hydration and background focus behavior remain due in integrated/private proof. No new forwarding or class/wording test added. |
| apps/web/src/browser/previewRuntimeTabId.test.ts | Keep meaningful renderer and canonical ownership isolation regressions while removing duplicate/tautological identity assertions | Distinct renderers, environments, SQL threads, native profiles/session files and server epochs cannot adopt each other's guests; runtime IDs must not expose a native session path | Keep the upstream epoch invalidation contract in the existing isolation case rather than a second same-path comparison | Preserve the fork's real cross-renderer module-load test and separate native canonical-identity case. Remove the identical-call stability assertion and duplicate epoch-only test. Native rows compare actual generated IDs directly rather than invoking an unimported equality wrapper, avoiding both the clean-merge ReferenceError and mock/forwarding coverage. | No tests run. Source owner and real previewNavigationReadiness consumer are next/current in the queue; pinned-operation readiness still needs actual integration proof, not an ID comparison presented as an executed operation. |
| apps/web/src/browser/previewRuntimeTabId.ts | Keep renderer-local native workspace identity and the actual pinned-operation guard | Every window/reload, environment, canonical workspace, server epoch and process-local tab keeps a distinct runtime ID; native path identity remains in the shared opaque workspace resource ID | Preserve upstream server-restart isolation and process-local-tab assumptions in a concise invariant comment | The equality helper is not dead: previewNavigationReadiness uses it alongside an actual session-presence check to reject a stale pinned runtime before navigation readiness work. Retain the helper and native-aware source rather than restoring SQL-only thread identity or deleting a live guard. | Source-only; meaningful identity regressions reconciled immediately before this file, but no tests or navigation executed. Actual server-restart/closed-tab behavior and async readiness admission still need runtime proof. |
| apps/web/src/browser/useOpenLink.ts | Keep canonical workspace routing and accept upstream pointer-button link intent | Native sessions and genuine legacy threads can open links in their own scoped preview/history; no workspace still falls back to the actual system opener | Retain optional mouse button metadata, platform modifiers, saved browser preference resolution, interrupted-command handling and settings-read rejection without fallback | Merge the native-aware hook/override types with the current event contract. Keep the concise upstream error contract comment instead of the obsolete long thread-only explanation; actual open/record/fallback code remains shared. | Source-only; no external URL opened. Existing link-target behavior plus native history/preview isolation and real external fallback remain due under admission/integrated proof. |
| apps/web/src/browserFaviconStore.test.ts | Preserve current favicon freshness/storage regressions and port native persistence/reconnect coverage to the actual new owners | Canonical native profiles with spaces in session paths remain separate across persistence; a newer pending native capture must survive offline use, reconnection and an older arriving capture without bleeding into another profile | Keep current shell/draft project discovery, local alias/offline behavior, pending capture precedence and asymmetric storage-write failure coverage | Merge independent imports, import migration from its current browserFaviconLogic owner and remove the obsolete four-argument capture calls. Generalize the existing lookup test to an explicit storage scope (project or canonical native key) and extend the existing native hydration case through pending-to-stored reconnection with no SQL project. Source reconciliation will implement this one shared lookup path in the next file. | Tests updated before source and not executed: no install/check/test/runtime run. Actual native pending flush, persistence, privacy/alias bounds and legacy project behavior remain due under polite-run, not claimed passing. |
| apps/web/src/browserFaviconStore.ts | Combine canonical native scopes with upstream automatic project discovery and one freshness-aware lookup path | Native icons and pending captures remain isolated by environment/profile/session, do not query or manufacture SQL projects, preserve canonical paths with spaces through the existing last-space migration, and flush on reconnection without replacing newer data | Keep quiet shell and composer-draft project lookup (no manual view registration), pending-over-stored freshness, bounded origins/threads/entries/aliases, hostname equivalence and asymmetric persistence shadow semantics | Remove the obsolete registration map/function; adapt current hook and imperative project lookup to bypass SQL/drafts for native refs. Use explicit project/native storage scopes for the shared entry lookup so both routes retain newer pending captures and aliases. Native flushing no longer requires a SQL project. Keep the existing exported flush/project hook for the real queued preview-bridge hydration consumer. | Source-only; corresponding behavioral test was updated first and not run. Existing migration helper already splits at the last space, so it needs no second decoder or compatibility shim. ChatView retains only an obsolete registration import (no call); remove it when resolving that queued file. usePreviewBridge needs the preserved native hydration hooks re-imported during its queued port. Full favicon/store/alias and actual native reconnect verification remain due under admission. |
| apps/web/src/browserHistoryStore.test.ts | Keep current history ordering/title regressions and drive native titles through the real preview-store observer | Native visits, settled titles, persistence and removal stay isolated by canonical session without project registration | Retain MRU bounds, corrupted-state sanitization, loopback aliases, client-settings hydration, automatic shell/draft grouping, queued visit ordering and protection against older or unchanged title replays | Merge both import sets, use WorkspaceRef/resource namespaces in the real settled-preview fixture, import the actual removal operation and replace the deleted/unimported direct title helper with an observed settled snapshot. Native setup now owns the same real preview-title subscription as legacy tests. Remove the incidental function-type assertion while keeping the corrupt-state behavior case. | Updated before source reconciliation, not run. The global preview ref index must become native-aware in its queued owner; current source title observation and scopes are next. No fake title-forwarding mock replaces the actual preview/history state transition. |
| apps/web/src/browserHistoryStore.ts | Reseat native history on upstream automatic project grouping and application-lifetime settled-title observation | Native history keys remain environment/profile/canonical-session scoped; recording, titles, removal and recent history never require SQL project registration or alter another session's entries | Keep sidebar-aligned logical grouping, quiet shell/draft resolution, saved grouping hydration, queued MRU replay and changed-settle/untitled-only title policy so retained old tabs cannot clobber newer titles | Extend the current resolver/observer/hooks to WorkspaceRef and return the canonical native scope before legacy project work. Keep the actual current shared title observer instead of the obsolete direct-title setter and nonexistent pending-title map. Adapt both imperative and reactive recent-history paths, not just recordVisit. Legacy registration remains a real internal drain mechanism, not a required view callback. | Source-only; existing native test now drives a real settled-preview transition but has not run. The queued preview store must publish native refs in its application index; audit subscriber release when its five-minute eviction removes a workspace. Remove old setTitleForThreadUrl effects/mocks when resolving queued PreviewView files, and keep appInit's real title-observer startup. No browser or tests run. |
| apps/web/src/cloud/linkEnvironment.ts | Keep NeoCode display-name dependency and take current schema-based cloud errors | Unsupported relay installation guidance names the actual fork without changing the retained external T3 Connect/relay service identity or credential destination | Preserve schema-tagged errors, trace/detail propagation, destination-scoped authenticated requests, install confirmation/progress, endpoint matching and link/unlink workflow | The fork's branding import is still used twice; only the obsolete Effect Data import became dead when upstream moved errors to Schema.TaggedError. Keep the live import and remove conflict/dead import without rewriting cloud behavior. | Source-only import resolution; no relay installation, tunnel, credential mutation or network action performed. Current cloud-link behavior checks remain due under admission. |
| apps/web/src/components/AppSidebarLayout.tsx | Keep native session/Roles navigation and connection-catalog recovery inside current application shell | Native attention/session navigation remains the primary sidebar; saved legacy workspaces remain readable through its existing section. Roles retains its native sidebar, project subscriptions remain pinned across sidebar variants, and catalog recovery still covers children independently of local startup. | Adopt showSidebar gating for welcome, measured brand-constrained resizing, fullscreen/macOS control inset, workspace focus registration, command-dispatcher back/forward and undo, global live-region mount and desktop history-swipe navigation | Merge native sidebar content into the current shell rather than restoring the retired SQL ThreadSidebar or duplicating older keydown listeners. Settings navigation now has a real owner in _chat.settings.tsx's AppRouteModal, so do not render a second settings navigation sidebar here. Main-app tracking is already started by appInit on the router, replacing the obsolete component/effect. Keep native Roles content and explicit recovery wrapping while taking every independent shell capability. | Source-only; no client launched. Native equivalents for upstream background attention announcements, undo/reveal/navigation contexts and native modal retention require the full native/callsite audit, not an empty SQL-backed announcer claimed as native support. The queued mainAppLocation and _chat route owners must keep onboarding out of remembered Back destinations and preserve native workspace state behind Settings/Usage. Existing resize/focus/history regression and private integrated proof remain due. |
| apps/web/src/components/BranchToolbar.logic.test.ts | Keep checkout-boundary and machine-visibility coverage while updating strip visibility for current persistent-context preference | A pending new worktree does not report a local-checkout branch mismatch; a single remote machine remains visible without requiring Git or several machines | Preserve upstream branch/worktree/ref-selection tests and cover new-draft permissions visibility independently from the active-thread persistence preference | Retain meaningful fork boundary cases, add the missing helper imports, and replace obsolete three-argument strip cases with the actual five-field visibility matrix. Remove literal machine-label wording tests rather than re-pin incidental copy, as required by verification policy. | Source-only; no test executed. Corresponding strip predicate resolution is next; ChatView's queued merge must supply both new inputs and preserve native workspace behavior rather than retaining the old call signature. |
| apps/web/src/components/BranchToolbar.logic.ts | Preserve native-independent machine context and adopt current draft/active context-strip policy | Machine identity remains visible for a sole remote environment and does not depend on Git; checkout mismatch boundaries and branch actions remain unchanged | Take upstream persistence setting and unconditional initial-draft permissions visibility, with project presence as the outer guard | Both sides still agree on environment labels and indicator selection. The real competing change is whether every active thread must show the strip; retain the new user-controlled preference instead of silently overriding it with the old predicate. | Source-only; matching behavior matrix is recorded immediately before this file and remains unrun. Queued ChatView integration and native composer entry points must honor current preference and permissions contracts. |
| apps/web/src/components/BranchToolbar.tsx | Keep shared scoped workspace controls and adopt current context-strip trailing slot, contrast and responsive layout | Environment/project/thread identifiers and existing local/remote workspace actions stay intact; no execution harness or SQL surrogate is introduced | Retain current panel layout, previous-worktree reuse, scoped clipboard menu and measured label-overflow behavior; connect the existing trailing permissions slot and use the same xl breakpoint as the compact selector | The trailing prop and render were already present outside the conflict, so destructure it rather than leaving a broken reference. Resolve the competing responsive breakpoints coherently with the immediately preceding compact selector; take the light/dark contrast intent without a redundant single-argument cn call. | Source-only; no browser, app, test or screenshot run. Native workspace counterpart and draft permissions entry points remain part of the full integration audit; no claim that these legacy-typed controls alone implement native branch context. |
| apps/web/src/components/ChatMarkdown.test.tsx | Follow upstream's browser-suite migration and move the fork's real suffix regressions to their shared owner | Preserve shortest-unique reversed-parent disambiguation for repeated basenames, slash normalization, duplicate references and a large set of package index paths | Upstream's current ChatMarkdown.browser.test.tsx and extracted chat/markdownRenderer, media, permission and copy suites replace the former monolithic react-test-renderer file | Move the three fork suffix cases into existing packages/shared/src/fileLinks.test.ts and remove the obsolete deleted-upstream test file instead of retaining broken re-exports, obsolete mocks or static-markup/copy pins. The actual shared implementation must receive the fork's trie in the immediately following source resolution. | Source-only; no test executed. Current browser coverage was inspected for privacy, streaming, task edits, workspace races, skills, headings, selection, audio, host-image routing and permission revocation. Native media lifecycle assertions need explicit current-suite coverage during this source port; SQL fixtures do not exercise native identity. |
| packages/shared/src/fileLinks.test.ts | Place fork suffix behavior coverage at current shared implementation | Retain shortest distinguishing parent paths, duplicate normalization and large-package-set semantics without importing or mounting the full markdown surface | Existing file URL/position and Windows path regressions remain unchanged | Move rather than duplicate the three previous fork cases, with the real shared helper import. This also covers consumers in shared thread-find text, not just web rendering. | Source-only; shared trie port next; no test or performance command run. |
| packages/shared/src/fileLinks.ts | Reseat fork's reversed-parent suffix index at upstream's shared implementation owner | Avoid pairwise path comparisons while distinguishing repeated basenames; preserve normalized path keys, shortest unique suffixes and the existing two-segment display minimum | Keep shared file URL/position parsing, path resolution and file label composition so markdown and thread-find text use one authoritative algorithm | Replace only the quadratic peer-comparison loop with the existing fork trie; remove the duplicate implementation from ChatMarkdown during its immediate conflict resolution. Consumers were enumerated before porting; no signature change or compatibility re-export. | Source-only; moved behavior cases precede this change and remain unrun. New shared-file upstream touch must be recorded in the final fork touch table. |
| apps/web/src/components/chat/MarkdownFileLink.tsx | Make file-panel availability a presentation capability rather than a SQL thread requirement | Native file chips open the actual canonical workspace and custom onOpenFile callbacks remain usable without a synthetic SQL thread | Preserve current copy-path resolution, permission rechecks, editor/browser priority and memoized chip behavior | Replace the unused SQL identity prop with the actual boolean consumed by the component. Its only current caller now supplies capability from the real workspace ref or callback; no fake ScopedThreadRef and no compatibility prop. | Source-only; no UI/test run. Native file-link click and host-action revocation proof remain due with the integrated markdown surface. |
| apps/web/src/components/chat/ChatMarkdownMedia.tsx | Port native authenticated media into upstream's extracted renderer | Native media/workspace resource variants retain canonical session identity, authoritative signed source path, native file-panel actions and signed URL refresh | Keep current tool-output/source-control media, permission-denied detail, authored sizing, decoded-image preservation, workspace-mutation refresh and video retry | Add native variants at the existing asset boundary, use sourcePath for display when available, and route default native open actions using resource.ref rather than SQL IDs. Explicit callbacks take precedence on every resource type. | Source-only; extend the real cache/render browser regression for native scope transitions before verification. No app, URL mint or test executed. |
| apps/web/src/components/chat/ChatMarkdownMedia.browser.test.tsx | Exercise native image identity through the real renderer and revisioned asset cache | Identical authored paths from different native profiles or canonical session files must not reuse another session's signed URL; returning to the original session retains its own warm URL | Keep existing remount cache-admission proof and its actual atom registry rather than replacing the asset hook with an echo mock | Make minted fixture URLs distinct and extend the existing suite with a profile/session transition through the same mounted media renderer. Assert displayed URLs and mint counts, not source text or forwarding calls. | Source-only; not executed. Uses existing isolated fake asset endpoint; no real environment, signing, HTTP mint or live database touched. |
| apps/web/src/components/ChatMarkdown.tsx | Port native workspace/media authority into upstream's extracted, compiler-memoized rich markdown surface | Native refs and explicit file callbacks survive links, file chips, media expansion, audio embeds and canonical browser history without SQL thread manufacture; old-session media requests are invalidated by native identity changes | Retain new math/citations/thread links, audio, themed picture sources, scoped host/preview permissions, latest-request file lookup, repeated-prefix correction, shared parsing/streaming caches and precise remote missing-file diagnostics | Remove the old duplicated code/media/chip implementations and reuse their current extracted owners; move the trie to shared fileLinks. Merge native identity into the new state and permission pipeline, use fresh connections on click, keep SQL-only PR linking explicitly on threadRef, and route native browser/file actions through WorkspaceRef. Host-page image routes never replace native asset authority. | Source-only; no app, browser or tests executed. Current native media transition proof and suffix cases are recorded but unrun. Queued MessagesTimeline still imports ChatMarkdownAssetImage from the obsolete monolithic owner; migrate that real caller to chat/ChatMarkdownMedia, never add a compatibility re-export. Integrated native audio/file/browser/expansion lifecycle and permission proof remain due. |
| apps/web/src/components/ChatView.logic.test.ts | Port meaningful fork chat boundaries to current run/runtime models without restoring retired execution | Preserve active-run-only tool-anchor release, history-reader pinning, runtime identity precedence, native-only draft choices, exact-instance and continuation-group constraints, and checkout metadata behavior | Keep current dispatch acknowledgement, paged rollback receipts, worktree setup, preview attachment bounds and composer snapshot behavior | Merge current imports/fixtures rather than keeping duplicate V1 thread definitions. Port run IDs and runtime fields, retain imported-history identity as read-only, and reject every legacy execution selection even when a saved custom instance exists. Remove obsolete V1 interrupt/loading/promotion tests whose owners changed, along with copy-only and mock-forwarding tests rather than re-pinning them. | Source-only; not executed. Current draft-promotion owner already has preparing/persisted-message coverage in composerDraftStore.test.ts. Current interruption belongs to V2 commands and native atomic Stop, not the removed SQL session/turn helper. Native reconnect grace and callsite audit remain due; no missing helper is replaced by a shim. |
| apps/web/src/components/ChatView.logic.ts | Preserve native-only execution choice and current run-aware chat logic without retired provider gates | Keep native instance/continuation constraints, runtime identity precedence over draft/catalog settings, and supported plan-mode normalization | Retain current V2 dispatch/rollback/worktree/context/attachment helpers and the attachment cap import | Keep the fork's small mode normalization function with its actual ProviderInteractionMode type; remove the obsolete V1 session/turn interruption helper and Antigravity-specific execution gate instead of restoring retired contracts or renaming V2 runtime data to fit V1 code. | Source-only; run/runtime and identity cases are recorded but unrun. Queued ChatView must take the actual V2 interruption path and remove its retired getAntigravitySendBlockReason references; native Stop remains the canonical native queue/runtime command. Final exported-callsite audit remains due. |
| apps/web/src/components/ChatView.tsx | Reconcile the current decomposed V2 chat workspace without restoring its obsolete V1 monolith | Keep runtime-authoritative NeoPi conversation binding and Session tree navigation, per-occurrence error dismissal, docked full-width composer, native-only provider selection and reusable scoped actions | Retain current paged history, run-aware interruption and queued-run editing, workflow/parent navigation, citations, find, side chats, fresh-context controls, usage recovery, worktree preparation, focus areas, preview canvas, attachment handoff and extracted panel/terminal lifecycle owners | Resolve the 45 hunks by migrating to the corresponding current owners rather than retaining duplicate V1 functions. Bind native conversation only from activeRuntime.providerName, never a newly selected model or catalog row. Keep native conversation separate from rich SQL rows; retain current rich rows for readable history. Keep error occurrence timestamps on the V2 runtime and docked notices inside the composer instead of rendering centered-hero notices off-screen. Remove retired Codex feedback state/timeline rows and Antigravity child-work execution actions. | Source reconciliation only; no build, tests or UI run. NeoPi V2 driver/native binding and exact acceptance are still mandatory integration work, not proven by this marker-free file. NativeTimelineView remains separate from upstream rich rows and their find/citation/MCP Apps behaviors. Native agent-hub/workspace and saved-surface parity still need the global native integration audit. |
| apps/web/src/components/chat/useComposerSend.ts | Move native command and failed-send ownership into upstream's extracted send owner | Native slash text must not be stolen by GUI /side, /clear or synthetic usage handlers; a native send keeps its draft and hydrated uploads until its exact provider outcome | Retain current queue/steer admission, environment redirects, cross-environment context checks, attachments, snapshot concurrency, worktree setup, fanout and optimistic blob ownership | Remove the retired Codex feedback upload parser/service/state contract. Read the actual composer command owner once. Capture a NeoPi submission before clearing, including new thread/environment context, preserve uploads across orchestration admission, and mark exact command failures without overwriting newer drafts. | Source-only; unrun. Existing root recovery still consumes V1 outcome activities and MUST be ported to genuine V2/provider acceptance during the native adapter migration; run.running is not acceptance. Fanout/native slash projection and draft-promotion callers remain part of that full integration audit. No acceptance receipt is fabricated here. |
| apps/web/src/components/chat/RightPanelSurfaceContent.tsx | Carry native Session tree and branding into the current extracted panel owner | Existing native-history surfaces read the journal attached to their exact thread and cwd without starting a session | Keep current preview, terminal, diff, PR detail tab, side-chat, device and file behavior | Add the native-history case using NeoPiJournalPanel, keyed by the scoped thread identity, and use APP_BASE_NAME in the retained unsupported-server diagnostic rather than duplicating ChatView's old panel renderer. | Source-only; unrun. Canonical V2 binding and native workspace panel integration remain due; no SQL surrogate or empty agent model was introduced. |
| apps/web/src/components/chat/useProjectScriptEditing.ts | Preserve inherited actions and atomic project mutations in the extracted script editor | Editing one project's actions must not overwrite stale whole entries or delete a shortcut still owned by an inherited/global/other-project action | Retain current permission rechecks, role release, exact keybinding replacement/removal and shared action ID handling | Use the existing projectActionsPatch helper and require the authoritative projectSettingsOverridePatches capability instead of falling back to whole defaultProjectScripts replacement. Include effective global actions and other projects' explicit actions in shortcut retention. | Source-only; unrun. The queued shared settings/contracts reconciliation owns the helper's final atomic wire shape; focused concurrent persistence and shortcut behavior verification remain due. |
| apps/web/src/components/chat/useChatTerminalActions.ts | Preserve reusable action shell freshness at the current terminal owner | A reusable scoped action starts in its requested cwd instead of reusing an idle shell that may have cd'd elsewhere | Keep current terminal permissions, stop-on-settle, history suppression, drawer/panel ownership, script environment and preview auto-open behavior | Pass existing resolved settings from the sole ChatView caller and treat global/project action IDs as requiring a new shell, using the existing launchTerminal pipeline rather than the old direct open/write implementation. | Source-only; unrun. Current PersistentThreadTerminals already owns equal/subset reconciliation, stable saved grouping and launch locations; its native resource/state parity remains on the global audit. |
| apps/web/src/components/chat/failedSendDraftRecovery.ts | Retain upstream thread/environment context through native failed-send recovery | A captured prompt must keep every context record and restore only into an empty composer without disturbing newer work | Keep existing upload ownership, exact outcome matching and route-independent recovery lifetime | Extend SubmittedComposerDraft with the current threadContexts/environmentContexts fields and restore them through the existing draft-store setters. Migrate all currently found capture fixtures rather than adding optional compatibility fields. | Source-only; unrun. The legacy activity-based reconciler and its root subscription are still pending genuine V2 acceptance migration; this row does not claim that lifecycle port is complete. |
| apps/web/src/components/chat/failedSendDraftRecovery.test.ts | Keep existing recovery scenarios compatible with the current complete draft snapshot | Preserve exact provider-success/failure, newer-draft, environment isolation and hydrated retry scenarios | Keep the existing behavioral cases pending their V2 lifecycle port | Add the newly required context arrays to the shared submitted-draft fixture; do not add setter-forwarding assertions. | Fixture reconciliation only; unrun. V1 outcome fixtures require migration together with the real provider-acceptance port. |
| apps/web/src/components/FailedSendDraftRecovery.test.tsx | Keep root recovery scenarios on the complete current composer snapshot | Preserve navigation-independent recovery and newer-draft protection | Retain existing root recovery scenarios pending V2 state-owner migration | Add the current required context fields to the submitted fixture without changing expectations to orchestration admission or runtime-running state. | Fixture reconciliation only; unrun. Root subscription, history traversal proof and current disposable render conventions still require the global native V2 audit. |
| apps/web/src/lib/attachmentUploadQueue.test.ts | Keep hydrated-upload recovery fixtures aligned with the current composer snapshot | Admission and navigation must not delete bytes still owned by recovery; restoration transfers ownership and discard releases exactly once | Retain current upload behavior cases and captured server attachment IDs | Add required thread/environment context arrays to both recovery captures; no new wiring assertions or alternate upload implementation. | Fixture reconciliation only; unrun. Exact V2 acceptance outcome fixtures remain due with the native provider port. |
| apps/web/src/components/CommandPalette.logic.ts | Keep current palette sessions and reversible child-search navigation without restoring a competing theme catalog | Retain the fork's local graphical theme entry point and native-session palette boundary; do not restore old execution/thread assumptions | Keep keyed open-intent sessions, file/content child-search context and BackToCommand restoration, plus current search/project/remote-source behavior | Remove obsolete ClearOpenIntent state machinery in favor of the current session-keyed palette owner, use openWithIntent for new-thread selection, and retain OpenChildSearch/BackToCommand. Route the newly extracted theme.select shortcut to the fork's existing graphical Appearance destination rather than adding an empty change-theme submenu or reintroducing an independent built-in/environment theme inventory. | Source-only; unrun. Existing session-bump and child-search round-trip cases remain, not re-pinned. The immediately queued CommandPalette.tsx must take the session-keyed owner and remove its obsolete ClearOpenIntent caller; CommandPaletteThemeItems must retain the fork's local graphical/native-copy theme policy when that extracted owner is reconciled. |
| apps/web/src/shortcuts/commandPaletteCommands.ts | Preserve the graphical-theme shortcut through upstream's extracted dispatcher | theme.select uses the same local Appearance entry point as the fork palette, without writing native settings or opening a second catalog | Keep current shortcut capture, repeat protection, appearance cycling, theme editor, usage and reversible overlay controls | Close the palette through its current SetOpen action, then navigate to /settings/appearance#appearance, matching the existing fork action's exact destination; remove the now-unneeded OpenChangeTheme reducer action. | Source-only; unrun. No command-dispatch echo test added; actual palette/shortcut/theme navigation verification remains due. |
| apps/web/src/components/CommandPalette.tsx | Integrate upstream's extracted palette owners without losing native session entry points | Keep native session discovery/creation, Models, canonical workspace panels, terminal/model/tree actions, NeoCode display identity and graphical-local theme policy | Retain keyed palette sessions, returnable child searches and focus restoration, visible/hidden-thread filtering, source-control/project creation and cloning, scratch/triage/prompt links, grouping/pinning, search and guest/MCP entry points | Resolve all eleven hunks by adopting the current store, search reducer and extracted lookup/project/thread/theme owners while carrying native hooks/actions into the mounted dialog. Keep native creation for project actions and use it for upstream's contextual new-thread entry; retain the native picker host. Drop obsolete intent clearing and the removed theme-intent submenu, preserving current dynamic project/source/appearance groups. Models shortcuts move to the current dispatcher rather than restoring the old global key listener. | Source-only; unrun. Native scratch/triage/reserved-prompt and new-thread handler parity remain part of the global native-flow migration; current scratch actions still use their central handler. Native workspace keyboard/find/rich-row and extracted-owner compatibility require integrated verification, not claims from conflict-marker removal. |
| apps/web/src/components/CommandPaletteThemeItems.tsx | Preserve the fork's graphical theme policy at upstream's extracted owner | Appearance goes to the existing graphical defaults/native-copy settings; native settings remain authoritative and are never written here | Keep the extracted appearance submenu and graphical palette editor, with save-failure reporting | Replace the upstream built-in/custom/environment inventory submenu with the fork's existing Choose graphical theme action and exact /settings/appearance#appearance destination. Remove the now-unused theme-card inventory hooks and the unreachable theme-intent path in the caller. Keep appearance modes and editor behavior in the shared extracted hook. | Source-only; unrun. The palette and theme.select shortcut now share their intended destination; actual graphical defaults, explicit native-copy and locally saved palette behavior remain due in the client verification pass. |
| apps/web/src/components/neopi/modelsPageState.ts | Share the real native Models navigation action with the extracted keyboard dispatcher | Preserve selected native computer, profile and session file, and legacy route/draft environment fallback without starting or modifying sessions | Read current destination state when an action executes rather than keeping a retired active-environment hook | Extract the existing navigation into openModels(router), reading the canonical selection plus current server/draft route at invocation; keep useOpenModels as its React caller and use the same action for global models.open. Remove the missing useActiveEnvironmentId dependency instead of inventing an environment fallback. | Source-only; unrun. Existing palette and sidebar hook callers retain the same callable API; canonical selected-session, draft, server and already-open Models cases need actual route verification. |
| apps/web/src/shortcuts/commandPaletteCommands.ts | Carry native Models and workspace shortcut context through the current dispatcher extraction | Preserve models.open and native terminal/preview when-clauses without a second global shortcut listener | Keep current command registration, modal/mount gating, child-search Escape/back, appearance/theme/usage handling and focused-widget arbitration | Register models.open with the shared native navigation action; close the palette first. Resolve terminal/preview context from a real server thread or the selected native session on the native workspace route, retaining the fork's canonical WorkspaceRef path. | Source-only; unrun. No dispatcher mock echo or wiring test added; actual shortcut/action/route behavior remains due. Chat-route new-thread/preview dispatch and the retired active-environment consumers elsewhere still need the global auto-merge audit. |
| apps/web/src/components/ComposerPromptEditorTiptap.tsx | Preserve stable editor layout attributes while adding current accessibility semantics | Keep the docked composer's existing attribute memoization so unrelated renders do not imperatively rewrite ProseMirror attributes before layout | Retain the current textbox role, multiline/readonly state, supplied accessible label and active suggestion/listbox relationships | Combine the memoized attribute owner with every upstream ARIA field and include each contributing primitive in the memo dependencies. Keep the current imperative editable/attribute synchronization, editor extensions, clipboard/citation/selection behavior and rendered layout unchanged. | Source-only; unrun. Provenance: HEAD 689fdd05a6 owns the docked composer change; current setProps runs in the layout effect keyed by editorAttributes. No wording, source-shape or callback-wiring test added; accessible suggestion transitions and composer layout remain due in the integrated client pass. |
| apps/web/src/components/DiffPanel.tsx | Bring current commit/tool-call review, metadata-first loading and visibility refresh into the native-aware panel | Preserve canonical native ref authority, environment/session cache isolation, native file expansion and workspace actions without SQL turn/checkpoint access | Retain current run-ID checkpoints and tool-call diffs for genuine SQL threads, commit selection, remembered branch base, tracked-first metadata/partial errors, deferred path-based patches, file hiding/collapse/reveal and shown-panel revalidation | Combine nativeWorkspace with the required visible prop; use the current route hook and environment-scoped file access. Keep native turn/tool-call selections off SQL history. Route complete current preview selectors through the native ref RPC, with the same mutation-keyed refresh as the legacy path, and keep native content loaders, workspace-scoped parsed/collapse caches, links, editor actions and commit selections. Adopt current patch/reveal/collapse owners instead of old duplicated index-based state. Show SQL turn menus only for SQL threads while retaining commit controls for both paths. | Source-only; unrun. Native preview/file schemas already project every current selector from the shared contracts. Required downstream reconciliation: lazy patch previewInput must accept the native/generic input union and retain native revision invalidation; diff store selectCommit/baseRef must accept WorkspaceRef. Native commit listing still reaches the generic guarded getBranchCommits path: implement a real ref-authorized native commit-list RPC/service/client/permission path, preserving generic root guards, before calling native commit review complete. Existing browser fixture remains intentionally unchanged; its command hook is mocked independently of command metadata. |
| apps/web/src/components/neopi/NativeSessionWorkspacePanels.tsx | Apply current diff visibility and per-workspace component ownership to native review | Keep the canonical native target and cwd without creating SQL metadata | Preserve the current visibility-controlled diff refresh and menu snapshot lifetime across workspace changes | Pass panel.isOpen to DiffPanel.visible and key the native DiffPanel by its existing workspaceKey, matching the current SQL caller's per-thread mount boundary. | Source-only; unrun. This prevents the native caller from omitting the newly required visibility contract or carrying an opened commit menu into another selected session; actual lifecycle/client proof remains due. |
| apps/web/src/components/Icons.tsx | Retain native runtime identity while accepting current icon additions | Preserve the NeoPi source mark and inference/legacy display identities without restoring any execution adapter | Keep upstream's remaining icon changes and additions | Retain the fork-added NeoPi and Grok SVG definitions in the conflicting insertion; the live NeoPi settings metadata consumes NeoPiIcon and the pending provider-icon reconciliation still consumes both. No executable/provider inventory is added. | Source-only; unrun. Caller evidence: providerDriverMeta uses NeoPiIcon; providerIconUtils currently references both definitions and must be reconciled to the current presentation seam later in sequence. Final dead-export checking owns any definition made obsolete by that cutover; no static SVG assertion added. |
| apps/web/src/components/NoProjectsHero.tsx | Preserve missing-project history guidance while offering upstream's scratch start | Keep hasSavedProjects and the distinction between unavailable saved directories and a genuinely first project; no saved history deletion | Retain current workspace-focus semantics, desktop titlebar, primary/single-available scratch environment selection and Start without a project action | Combine the optional saved-project prop with the current content-area and scratch owners. Keep Add project on the shared palette bus; offer the real central scratch action only when its environment is available and adjust missing-directory guidance to include that alternative. Remove the obsolete local callback rather than restoring old imports. | Source-only; unrun. Current landing callers must retain saved-directory availability detection during their later reconciliation, and the central scratch handler must follow the native prompt/session flow as already tracked. No copy/markup test added; client landing/creation behavior remains due. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 8/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44562 bytes; SHA-256 5ec2f4ae380cd56a5e28b0a48815c9e80d2f02ec06834e239ca0b058e85440f1.

| apps/web/src/components/ProviderUpdateLaunchNotification.logic.test.ts | Keep the fork's retired-harness maintenance cutover when upstream modifies its old tests | NeoPi owns execution/runtime maintenance; no restored Codex/Claude/etc one-click update inventory or advisory contract | Preserve the independent NeoCode app/server fleet-update feature and its tests, not the retired provider-maintenance cases | Resolve the modify/delete conflict as deletion after reading the full current test: every case targets provider version/update state, per-driver candidate admission, sidebar pills or provider-update result toasts, all backed by the removed maintenance contract. | Deleted owner tests intentionally; unrun. The next original conflict is the corresponding helper module. New upstream ProviderUpdatesAction and sidebar useUpdateEverything currently import it; their provider-only closure must be removed while retaining genuine app/server fleet updates, channel switches, handoff/restart and failure reporting. Never substitute an empty successful updateProviders callback. |
| apps/web/src/components/ProviderUpdateLaunchNotification.logic.ts | Retain the existing deletion of retired provider-maintenance policy | NeoPi remains the only execution harness and owns its runtime/inference setup; do not reintroduce provider update commands or advisory/update-state inventory | Keep app/server fleet updates, channel switches and their own reporting as independent upstream features | Resolve this modify/delete conflict as deletion after reading the complete current helper. All exported candidate, deduplication, one-click, pill and toast behavior depends on retired provider maintenance fields; none implements NeoCode app/server updates. | Source-only; unrun. Remaining callers are explicitly known: later-conflicted ProviderSettingsPanel and SidebarProviderUpdatePill, plus new sidebar/useUpdateEverything. Remove only their provider-maintenance paths; preserve actual app/server download, handoff, restart, channel and failure behavior. The combined updater's logic/run/tests must lose the provider phase rather than fake a successful empty update. |
| apps/web/src/components/ProviderUpdatesAction.tsx | Remove the new extracted action for the same retired provider update contract | No GUI-owned fixed execution-harness update inventory, and no serverEnvironment.updateProvider compatibility shim | Preserve the independent server/app update action and native installation guidance | Delete the extracted bulk updater and UI action; every operation selects retired version advisories and calls the removed updateProvider command. | Source-only; unrun. Its remaining production imports are the later-conflicted settings owner and sidebar/useUpdateEverything, whose genuine app/server flow must be migrated during the native auto-merge reconciliation. |
| apps/web/src/components/ProviderUpdatesAction.browser.test.tsx | Remove tests for the retired extracted provider updater | Do not retain tests or a mocked success implementation for execution paths the product no longer exposes | Keep generic authorization/permission tests and NeoCode fleet-update tests at their actual owners | Delete the single provider bulk-update grant test with its deleted owner; it exclusively probes Codex version-advisory/updateProvider behavior. | Deleted obsolete owner test; unrun. No permission guard is weakened: native configuration and maintenance permissions still belong to their real contracts and server paths. |
| apps/web/src/components/settings/ProviderSettingsPanel.environment.browser.test.tsx | Keep environment settings fixtures independent of the deleted retired updater | Preserve environment/profile settings behavior without importing a retired provider-maintenance module | Keep the current settings behavior scenarios and other fixture owners | Remove only the ProviderUpdatesAction vi.mock block, whose module and UI owner were removed; do not repin settings expectations or replace provider actions with fake successes. | Fixture-only source reconciliation; unrun. Native settings/atomic profile cases and this current browser suite still require full contract/fixture migration and targeted execution later. |
| apps/web/src/components/QueuedMessageSender.test.tsx | Keep deletion of the removed client-side V1 queue dispatcher | Do not restore foreign-harness auto-send or use a SQL thread/session surrogate for native queue ownership; preserve native queued prompts, attachment recovery and cancellation races at their actual owners | Keep current V2 server-owned queued runs and QueuedRunsControl resume/promote/fresh-context behavior, alongside the real native queue frames and commands | Delete the modify/delete test file after reading every case: it imports the absent QueuedMessageSender implementation and tests the superseded V1 local queue/session-state dispatcher and old startTurn/mode command wiring. Do not recreate that owner merely to run its tests. | Deleted obsolete owner tests; unrun. The helper sendQueuedMessage.ts remains its own original conflict at queue index 393; __root must remove its obsolete QueuedMessageSender import/mount during later resolution. Native queue withdrawal/Stop, failed-send ownership and real V2 queue settlement/acceptance proofs remain required; no behavior is claimed from this deletion. |
| apps/web/src/components/RightPanelTabs.tsx | Integrate current sortable/accessibility/tab owners while preserving native surfaces and the shared NeoCode tab look | Keep native Agents with real live count, Session tree, Background tasks, canonical runtime browser IDs, optional PR actions and persistent reordering; preserve fork branding and shared rounded tabs | Retain current per-tab memoizable owners, drag suppression during renaming, side-chat status and admission, stable action handlers, middle-button default suppression, current source-control host resolution, focus/scroll/resize behavior and custom shortcut context | Resolve all sixteen hunks without duplicating drag owners: use upstream's SortableTabList/RightPanelTab with the existing shared ui/Tab and baseline, retaining bottom alignment. Keep native and side-chat menu/launcher/icon/title entries together; carry the original live-agent badge omitted by the automatic merge. Adopt current composed-path/effect-event shortcut handling and all close/context actions. Remove the duplicate surface-object onMoveSurface type in favor of the current string-ID interface. Native-only actions are optional when the caller has no such capability, not fake callbacks. | Source-only; unrun. Primary fork evidence: HEAD fcc2b9df0b/522820d6b9 and full HEAD RightPanelTabs source in artifact760; current shortcut/PR-link behavior tests remain unchanged. ChatView's extracted reorder owner already accepts IDs; native caller is migrated below. Later-conflicted pull-requests route still has its old surface-object callback and must migrate when resolved. Real native tab/launcher/sheet/drag and side-chat verification remains due. |
| apps/web/src/components/neopi/NativeSessionWorkspacePanels.tsx | Supply the current panel tab shortcut and reorder interface from native state | Keep the selected native workspace, its real terminal/browser focus and model/composer context | Preserve current rightPanel.new custom keybindings and ID-based drag persistence, without restoring a second tab implementation | Pass the existing keybindings and one shared getShortcutContext callback into RightPanelTabs; use the same callback in the native shortcut owner so editable/composer/terminal/preview/native context stays coherent. Pass the dragged surface ID directly to moveSurface instead of reading an obsolete surface object. | Source-only; unrun. The callback retains the existing event-target typing checks and reads current native focus state; no forwarding/mock-echo test added. Existing native key handling and current panel capture behavior still require integrated verification. |
| apps/web/src/components/ServerUpdateAction.tsx | Keep NeoCode display identity with current real fleet/server update controls | Preserve APP_BASE_NAME in remote desktop restart confirmations and fork release identity | Retain maintenance grants, managed-policy admission, per-environment pending updates, release-track/migration checks, current server/app targets, quiet outcomes, progress and outdated-host handling | Combine the fork branding import with upstream's full current auth, installation/channel and session-state imports; remove only the duplicate old narrow contracts import and conflict markers. No update path is disabled or replaced. | Source-only; unrun. This remains the real app/server update module that useUpdateEverything must retain while its retired provider phase is removed. Shared cliRelease track/version helpers and actual remote handoff/restart behavior still require targeted verification. |
| apps/web/src/components/ThreadTerminalDrawer.test.ts | Carry terminal attachment-error and inherited-theme regressions into the current renderer seam | Preserve per-occurrence attachment diagnostics without rewriting output or selection, and mount-local terminal colors instead of the document theme | Retain current replacement-subscription snapshot/clear behavior, current output/session helpers and existing selection-popup/exit handling cases | Use the current buffer constructors and synchronizeTerminalOutput/synchronizeTerminalSession owners. Keep the fork's inherited-color test. Fold the duplicate old attachment-error case into the current one, checking unchanged output/cursor/selection plus same-error deduplication and recurrence after clearing. Remove old static menu-inventory assertions instead of repinning the new Select all/Jump to latest menu contents or exporting private helpers only for those assertions. | Source-only; unrun. The next file must keep the current session synchronizer and real native workspace/viewer attachment semantics. Exact diagnostic-prefix text is intentionally not pinned; menu target/permission behavior remains in implementation and requires actual surface verification. |
| apps/web/src/components/ThreadTerminalDrawer.tsx | Integrate current attachment/focus/split lifecycle without losing native terminal identity | Native workspaces use their canonical resource ID and selected profile, never a surrogate SQL thread; preserve local theme, quote target and read-only observation | Retain keyed launch mounts, atom-owned attachment while WASM loads, direct buffer subscriptions, bounded selection comparison, error-only notifications, permission-aware write/resize/focus, metadata-gated links, shared-grid updates and current split panes/geometry | Resolve six hunks with the current output/session synchronizers and atom/split owners; remove the obsolete React-per-chunk synchronizer and duplicate focus/fit effects. Derive the wire resource and fallback profile from WorkspaceRef, key mounts by resource plus explicit provider and launch environment, and pass the originating WorkspaceRef when a split exits. Drop the redundant threadId prop and old split render branch rather than adding compatibility props. | Source-only; unrun. Adjacent tests retain snapshot resubscription, error occurrence and local theme behavior. Focus and close consumers are migrated below. Terminal metadata remains the current permission-gated stat path; the broader native metadata/file surface audit and real observer/reconnect/split/client checks remain due. |
| apps/web/src/lib/terminalFocus.ts | Carry pending focus and navigation ownership across native and SQL workspace references | Distinguish native environment/profile/session identities and preserve requests until a visible operable viewport can accept them | Keep current newest-request, mount/unmount, navigation-entry, hidden viewport and grant-gated focus behavior | Replace the SQL-only ScopedThreadRef/scopedThreadKey at the existing module interface with WorkspaceRef/workspaceKey for targets and every matching operation. Existing SQL keys remain byte-for-byte the same under workspaceKey; native keys include profile and session. | Source-only; unrun. All import consumers were checked before widening the interface. No alias, alternative focus manager or second request store is introduced. |
| apps/web/src/lib/terminalFocus.test.ts | Exercise native focus identity isolation at the existing request/target interface | A terminal ID reused in another native profile, session file or environment must not consume the intended focus request | Keep all existing SQL navigation, latest-request and hidden/permission focus cases | Add one isolated native collision case that registers other-profile/session/environment targets before the intended target and releases every registration through DisposableStack. | Test added but unrun; no failing-before/passing-after claim. This covers identity selection through actual focus target callbacks, not a copied key string or implementation-text assertion. |
| apps/web/src/components/terminal/useThreadTerminalActions.ts | Close terminals against the originating native or SQL workspace | Preserve canonical resource IDs and destination permission checks without inventing SQL metadata | Keep current launch allocation, project/worktree/script environments, close/history semantics and failed-close exit fallback | Widen only closeTerminalSession's explicit target to WorkspaceRef and derive its wire ID through workspaceResourceId; the SQL project launch owner remains explicitly SQL-scoped. | Source-only; unrun. Existing callers without an explicit target retain their captured SQL owner; native-origin close requests now use the real native resource namespace. |
| apps/web/src/components/chat/useChatTerminalActions.ts | Preserve an exited pane's originating workspace in the current close action | Do not redirect a late terminal exit to whichever thread happens to be active | Keep current permission admission, panel lookup, terminal close, persisted UI removal and focus handoff | Accept the widened WorkspaceRef as closePanelTerminal's optional origin and carry it unchanged through the existing terminal action/store/focus owners. | Source-only; unrun. No new close implementation or provider behavior is added. |
| apps/web/src/components/PersistentThreadTerminals.tsx | Align persistent panel close callbacks with canonical workspace ownership | Keep source-target identity while preserving current SQL thread rendering and stable split groups | Retain current mounted panes, group reconciliation, history, script launch locations and focus behavior | Widen the close callback parameter to WorkspaceRef to match the shared drawer and close action; retain the panel's own SQL threadRef and all existing render behavior. | Source-only; unrun. This is the typed consumer update for the originating-workspace close interface, not a new native conversation or terminal owner. |
| apps/web/src/components/neopi/NativeSessionWorkspacePanels.tsx | Keep user-created native terminals focused under the current explicit focus lifecycle | Focus the selected native workspace's new terminal only through the grant/visibility-aware target registry | Keep existing native terminal creation, profile and resource-ID RPC behavior | Request focus through focusTerminal immediately after placing the new terminal, matching the current persistent terminal owner pattern; no unconditional DOM focus or retired autoFocus counter is restored. | Source-only; unrun. Focus can wait for mount/visibility/operate permission and remains isolated by the canonical native target. |
| apps/web/src/components/onboarding/WelcomePage.tsx | Remove the redundant terminal viewport ID argument from the current caller | A viewport derives its resource identity from its supplied reference instead of accepting a second potentially conflicting ID | Preserve the currently imported onboarding terminal invocation pending the full NeoPi-only onboarding audit | Remove only the obsolete threadId prop from TerminalViewport. | Source-only; unrun. This does not certify the new upstream WelcomePage's foreign-harness install/import paths: those still require the global native onboarding cutover already tracked. |
| apps/web/src/components/chat/ChatComposer.tsx | Reconcile all 81 original composer conflicts around the current extracted owners | Keep a separate canonical native workspace input, authoritative NeoPi commands and argument completion, native model and traits controls, editor/history/dictation actions, top-edge resize and native send intent | Keep V2 typing guards, permissions, current queued and inline context handling, mobile collapsed controls, prompt suggestions, list keys, speech and attachment owners | Remove superseded inline copies; route native submit separately from SQL dispatch modes and preserve target-scoped snapshots. Source only; no checks run. The genuine V2 adapter still must publish provider notice metadata consumed by the new projection. |
| apps/web/src/components/neopi/NativeSessionWorkspace.tsx | Supply current composer permission and native effort interfaces | Keep real native identity, session authority, argument completion, queue and dictation ownership | Honor the actual orchestration operate scope and current separate composer input contract | Native effort steps use only levels reported for the current model and issue set_thinking_level; stale model levels cannot apply. Source only; unrun. |
| apps/web/src/components/chat/useComposerMenuItems.ts | Keep one current menu owner with native-owned command and completion rows | Native commands remain authoritative with argument hints, source and terminal-only availability; GUI commands do not shadow them | Retain current search, loading, linked context and model suggestion behavior | Carry validated argument completions into the existing menu rather than retaining the old inline implementation. Source only; unrun. |
| apps/web/src/components/chat/useComposerContextImport.ts | Widen the extracted import owner to canonical composer targets | Native imports and quoted terminals use their workspace resource without manufacturing a SQL thread | Preserve current transfer, question, linked-thread, capacity and pending-work logic | Reuse the current owner and derive terminal origin through workspaceResourceId. Source only; unrun. |
| apps/web/src/components/chat/useComposerImageGroups.ts | Accept canonical draft identity | Preserve native screenshot grouping and pending animation identity | Keep current grouping and shared animation subscription | Widen only the target contract to ComposerThreadTarget. Source only; unrun. |
| apps/web/src/components/chat/useComposerProviderModel.ts | Keep current model derivation usable by the shared draft store | Native target identity is not coerced into a SQL thread | Preserve upstream model-selection and provider catalog behavior | Widen only the draft target; actual native model controls remain owned by NativeSessionWorkspace. Source only; unrun. |
| apps/web/src/components/chat/useComposerStash.ts | Reuse current durable stash owner for native and SQL workspaces | Preserve canonical targets and native agents-panel shortcut precedence; carry environment references with other context | Keep current verification-before-take, persistence outcomes, upload accounting, restore and collapsed mobile behavior | Add native shortcut context and environment records to the same stash snapshot and clear/restore lifecycle. Source only; unrun. |
| apps/web/src/components/chat/composerCommandKey.ts | Integrate native keys into the current shared key handler | Keep native prompt history, explicit argument-completion selection and empty-Enter queued send | Keep current configurable send modes, prompt suggestions, literal answers, list continuation/outdent and target-scoped recall | Native history is supplied directly, not mapped into fake SQL entries; all attached context blocks recall. Source only; unrun. |
| apps/web/src/components/chat/useComposerAttachmentIntake.ts | Make attachment admission resource-based, not SQL-thread-based | Native images, files and pasted-text attachments retain their initiating target and error callback | Preserve current synchronous capacity reservations, compression, question attachment and reference insertion logic | Replace the SQL ID prerequisite with a resource ID and captured error callback without changing attachment processing. Source only; unrun. |
| apps/web/src/components/chat/ComposerAttachmentStrip.tsx | Accept canonical targets in current media and file rows | Native retry and removal retain the selected workspace identity | Preserve upstream thumbnail, preparation, failure, retry, preview and permissions behavior | Widen the two attachment target props instead of keeping duplicate native rows. Source only; unrun. |
| apps/web/src/components/chat/neopiComposerUi.ts | Project the genuine V2 visible-item stream | Keep newest-key status/widget semantics and once-per-target editor consumption | Use current projected turn-item IDs and stored provider notice metadata | Remove the V1 runtime-warning/activity dependency. Producer publication remains required in the genuine NeoPi V2 adapter; no V1-shaped warning fabrication or cast. Source only; unrun. |
| apps/web/src/components/chat/neopiComposerUi.test.ts | Port projection regressions to real V2 item shapes | Preserve replacement/clear semantics and editor replay protection across navigation and edits | Use typed projected items and persisted notice metadata | Retain behavioral assertions, remove literal command-source/skill copy pins. Source only; unrun. |
| packages/contracts/src/orchestrationV2.ts | Carry provider-owned notice metadata in both V2 codecs | Native composer updates can retain structured data through persistence and wire projection | Leave current turn item and JSON schemas otherwise unchanged | Add the same optional providerMetadata record to system_notice in both codecs; genuine adapter emission and runtime proof remain pending. Source only; unrun. |
| apps/web/src/components/neopi/neopiNativeComposer.ts | Extend native prompt and acceptance snapshots for current context records | Preserve actual native send, durable uploads, newer edits and cross-window acceptance ownership | Carry thread/environment context through the existing message builder and exact accepted-snapshot consumption | Match revisions by the record's actual identity; keep suffix-referenced or revised records; restore persisted context arrays before comparing. Source only; unrun. |
| apps/web/src/components/neopi/neopiNativeComposer.test.ts | Extend native acceptance cases with workspace references | Protect same-ID thread/environment revisions and cross-window recovery | Retain existing media, text suffix, terminal and focus regressions | Extend existing cases for exact context consumption and preserved concurrent edits. Source only; unrun. |
| packages/shared/src/composerContextLegacySend.ts | Carry thread/environment identities on the native text wire | Preserve existing lossless attachment and screenshot metadata | Retain upstream context types rather than reducing their references to labels | Include typed workspace contexts in the existing bounded recovery envelope and keep canonical references in the prompt. Source only; unrun. |
| packages/shared/src/composerContextLegacySend.test.ts | Extend the existing native context roundtrip | Keep Unicode media and screenshot bindings with actual workspace identity | Verify thread/environment records survive serialization and recovery | Add workspace records to the existing roundtrip case rather than a forwarding test. Source only; unrun. |
| packages/shared/src/composerContextLegacy.ts | Add workspace records to the existing recovery decoder, without resolving this later queued file | Preserve native context identity and malformed-input fail-closed behavior | Keep the existing bounded schema and atomic conversion | Decode optional typed thread/environment contexts in the attachment envelope. Companion edit only: file remains unmerged and MUST NOT be staged until its sequential resolution. Source only; unrun. |
| apps/web/src/components/chat/ChatHeader.test.ts | Accept upstream deletion of the standalone rename-helper test | Preserve header rename behavior in the current header owner | The current resolveRenameCommit is private rather than a test-only export | Remove trivial helper cases instead of restoring an obsolete public export solely for tests. Header rename actions and permission guards are reconciled in the next file. Source only; no checks run. |
| apps/web/src/components/chat/ChatHeader.tsx | Use the current breadcrumb/header owner and retain native session controls | Preserve terminal handoff and the read-only native configuration inspector | Keep current parent-thread breadcrumbs, scratch-project naming, directional titles, guest sharing, permission-checked rename and resize handling | Remove obsolete inline Git/script action hosts; those actions already live in the current workspace toolbar. Keep the native controls beside the current guest indicator. Source only; unrun. |
| apps/web/src/components/ChatView.tsx | Supply permission preference inputs to the retained native inspector | Preserve the real current runtime mode and existing change callback | Keep all current header navigation, sharing and find inputs | Pass the existing runtimeMode and handleRuntimeModeChangeStable through ChatHeader; no duplicate preference state. Source only; unrun. |
| apps/web/src/components/neopi/NeoPiTerminalHandoff.tsx | Read the current thread runtime field | Preserve the actual bound native instance when choosing handoff availability | Use the V2 shell runtime instead of the removed session property | Change only the runtime field lookup; handoff effects and error/clipboard handling remain unchanged. Source only; unrun. |
| apps/web/src/components/neopi/NeoPiSessionConfiguration.tsx | Read the current thread runtime field | Preserve the bound native instance for the configuration inspector | Use the V2 shell runtime instead of the removed session property | Change only the provider-instance lookup; snapshot observation and permission editing remain on their existing service paths. Source only; unrun. |
| apps/web/src/components/chat/CompactComposerControlsMenu.tsx | Keep the current permissions overflow menu | Native model, effort and mode controls stay in the native workspace rather than reintroducing a GUI plan toggle | Preserve runtime-mode options, permission shortcut focus, popup lifetime and hidden-trigger handling | Its only live caller is the current ComposerControlsBar; obsolete interaction-mode/traits props and dead radio controls are removed. Source only; unrun. |
| apps/web/src/components/chat/ComposerCommandMenu.tsx | Combine native command rows with the current accessible menu owner | Keep authoritative native command/completion types, argument hints and terminal-only badges | Preserve current path search targets, skill display names, thread/environment/model rows, scroll and highlighted-item behavior | Keep native hints alongside the current unconstrained description layout and give slash-argument suggestions their own accessible label/loading state. Source only; unrun. |
| apps/web/src/components/chat/ComposerFeedback.tsx | Remove the unused retired Codex feedback banner | Do not restore a non-NeoPi execution/feedback path | Current ChatView and composer have no consumer of this old banner | Remove the obsolete module; the remaining shared Codex feedback helper and tests are tracked for their later queue/closure cleanup. Source only; unrun. |
| apps/web/src/components/chat/ComposerPendingUserInputPanel.test.tsx | Accept upstream deletion while porting the meaningful auto-advance regression | Preserve one-question ownership of delayed selection even after manual navigation | Use the existing disposable real-browser test harness instead of old jsdom lifecycle hooks | Remove static-markup/default/copy pins; move the state-transition regression into the existing navigation browser suite with fake-clock control. Source only; unrun. |
| apps/web/src/components/chat/ComposerPendingUserInputPanel.navigation.browser.test.tsx | Extend current navigation tests with the fork's delayed-advance boundary | A selected question advances once, not again after manually moving to the next question | Keep current navigation and persistence coverage and disposable render ownership | Add the two existing timer/manual cases and replace the real-module-spreading markdown mock with a small presentation-only replacement. Source only; unrun. |
| apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx | Combine current question rendering with scoped auto-advance cancellation | A delayed selection cannot advance a later question or run after answering becomes unavailable | Keep current render-time optimistic state reset, markdown/direction, scoped keyboard handling and response-capability admission | Cancel the same timer on question changes or any response-disabled transition; the click handler uses that same admission condition. The original race cases were ported to the navigation browser suite. Source only; unrun. |
| apps/web/src/components/chat/ComposerSurface.tsx | Keep the opaque dock with current sizing and collapsed-state hooks | Preserve the fork's semantic composer surface/border colors and prevent history from scrolling behind the prompt | Keep current context-row metadata, content-width variable, context spacing and attached-banner collapsed minimum height | Do not restore layered backdrop-filter glass; retain one solid card and card-relative gutters while aligning width with the current conversation. Source only; visual proof remains pending. |
| apps/web/src/components/chat/ExpandedImagePreview.test.ts | Keep native media identity and current preview regressions | Preserve canonical native ref, remote signed query/fragment and reconnect refusal coverage | Keep protocol-relative media and extensionless image MIME assertions | Retain the native imports and use the current effect/reactivity AsyncResult export; the current resolver still accepts and routes the same canonical native input. Source only; unrun. |
| apps/web/src/components/chat/MessagesTimeline.logic.test.ts | Keep current V2 projection tests and port remaining fork regressions | Preserve author identity, metadata timing, expandable bounded tool rows, group icons, per-run disclosure and older-page scroll intent | Keep current task/steer/approval/compaction, V2 answered-question, worktree-handoff, failure, subagent and attempt coverage | Remove obsolete queued-message fixtures and duplicate V1 setup/compaction/question/subagent cases already exercised through current V2 fixtures; use RunId and current group keys for retained tests. Remove summary-copy pins from the retained grouping cases. Source only; unrun. |
| apps/web/src/components/chat/MessagesTimeline.logic.ts | Retain the current V2 row/fold engine with native presentation and scroll semantics | Provider intent wins for individual/live/single-group labels; author identity, compaction detail and older-page scroll intent remain available | Preserve run/attempt folding, structured timing, approvals, task updates, errors, compaction reasons/counts, source icons and bounded grouped rows | Resolve duplicate minimap constants, use current models for run summaries, and port disclosure to RunId/current group keys. Keep compaction detail in row equality and exclude journal dividers from fallback worked duration using the current structured end-time helper. The old line-break helper is superseded by the existing shared markdown owner; its old inline caller is removed in the next component reconciliation. Source only; unrun. |
| apps/web/src/components/chat/MessagesTimeline.tsx | Reconcile all 25 conflicts around the current extracted V2 row and viewport owners | Preserve bubbles, shared work rail, native author labels, per-run bulk tool disclosure, expandable compaction detail and history-prepend follow release | Retain attempts, approvals, find/citations, audio pinning, guest HTML rendering, deferred history loading and current virtual-list anchoring | Delete obsolete inline copies and duplicate list/minimap implementations. NativeTimelineView/projectNativeTimeline still require current contract migration; no native rendering or runtime success is claimed. Source only; unrun. |
| apps/web/src/components/chat/timelineRowContext.ts | Extend the actual extracted row context | Carry canonical native media identity, assistant name and run-scoped disclosure epoch | Keep all current V2 callbacks, scope and source ownership | No parallel legacy context remains in the main timeline. Source only; unrun. |
| apps/web/src/components/chat/TimelineAssistantRows.tsx | Port fork presentation into the current assistant row owner | Preserve first-bubble identity, native media scope and semantic bubble palette | Keep live text subscriptions, citations, find text, changed files, copy and fork actions | Use current shared markdown line-break detection. Source only; unrun. |
| apps/web/src/components/chat/TimelineUserMessageRow.tsx | Keep current user media/layout behavior with fork bubble identity | Restore the user bubble palette/tail and native markdown scope; remove upstream visible branding | Retain guest colors, media-only layouts, file cards, audio, grouped messages, steering, attribution, clipboard and find behavior | Native transcript projection/file metadata still needs migration before end-to-end proof. Source only; unrun. |
| apps/web/src/components/chat/TimelineWorkEntryRow.tsx | Port bulk disclosure and native viewed-image authority into the current rich row | Mounted rows follow a matching run's disclosure epoch once; standalone and grouped rows retain expansion state | Preserve approval, retry, lazy details, question answers, links and V2 item inspector behavior | Native reasoning markdown and image resources use canonical refs without SQL substitutes. Source only; unrun. |
| apps/web/src/components/chat/TimelineWorkGroupRows.tsx | Keep bounded current tool groups with bulk disclosure awareness | Expanded child rows update the virtual group's extra data and measured height | Preserve current restore, fades, bounded list, live append and item-size callbacks | No old inline list owner retained. Source only; unrun. |
| packages/client-runtime/src/work-log/presentation.ts | Extend viewed-image resolution to canonical native sessions | Keep native authored paths relative so the authoritative server cwd, not stale client metadata, anchors access | Existing legacy media paths and fragments retain their behavior | A disjoint native/thread input union prevents mixing authority. Source only; unrun. |
| packages/client-runtime/src/work-log/presentation.test.ts | Extend the existing image-normalization boundary case | Assert native identity and authored relative path survive a stale client cwd | Keep legacy workspace and external-source assertions | Added assertion not yet run; all checks remain deferred until source integration. |
| apps/web/src/components/chat/ModelListRow.tsx | Keep the native model/role row with current favorite interaction | Preserve opaque instance-scoped selectors, role aliases, native facts, unavailable rows and source descriptions | Retain current hover-only favorite stars, keyboard-safe actions, disabled explanations and instance-qualified keys | Remove retired provider/ACP icon contract; the native tooltip names its instance, and favorite actions carry exact instance and model arguments. Source only; unrun. |
| apps/web/src/components/chat/ModelPickerContent.test.ts | Retain native selector consumer boundary coverage | Keep native rank/order, opaque IDs, exact roles, per-instance scope, missing selection and canonical session targeting | Preserve highlighted-row identity and enabled/available admission tests | Remove summary-copy and Unknown-label assertions while retaining numerical effective-context/zero-cost coverage. Current picker integration is the next file; no suite run. |
| apps/web/src/components/chat/ModelPickerContent.tsx | Combine native selector authority with current picker interaction owners | Preserve runtime-ranked opaque selectors, roles, exact target scope, per-instance errors, provisional filtering and highlighted-row pinning | Retain scoped favorite persistence, virtual-list fades, bounded jump shortcuts, IME guards, announcements, popup-owned initial focus, docked/effort navigation and stable search height | Remove retired harness setup/update/catalog/legacy sections rather than shadow NeoPi. ProviderModelPicker still needs its later sequential migration to supply the focus ref and native selector context together. Source only; unrun. |
| apps/web/src/components/chat/ModelPickerSidebar.tsx | Retain the native roles/favorites/inference-provider rail | Native rail entries filter a runtime catalog rather than selecting retired execution drivers | Keep current Base UI toolbar keyboard behavior and constrain scroll chaining | Driver readiness/icon/ACP machinery does not apply to this native filter rail; native request errors remain visible in the picker. Source only; unrun. |
| apps/web/src/components/chat/OpenInPicker.tsx | CORRECTED during FilePreviewPanel: preserve local and SSH editor opening alongside inherited project actions | The earlier deletion assumed actions replaced file launch, but HEAD's picker still implements it and the current action model has no equivalent file argument path | Restore current upstream picker, file/reveal semantics, live permission rechecks and current menu behavior | Earlier deletion superseded: exact upstream source restored. Retain shortcut/logic/browser-test owners; audit existing ChatView/ThreadDetailsPanel/appInit callers and keybinding preservation during integration. This is editor launching, not a retired execution harness. Unrun. |
| apps/web/src/components/chat/ProposedPlanCard.tsx; ProposedPlanCard.test.tsx | Preserve no-clobber atomic plan export inside upstream's extracted local-state save form | Create by default; show the exact environment/workspace/path conflict; require explicit overwrite; reject stale target authorization and old servers without a destructive fallback | Keep find-reveal, displayed-title stripping, permission scopes and event-time permission recheck; path typing stays local to the mounted form | Added open-dialog permission-revocation regression, retained target/path/cancel/no-clobber tests, removed wording pins. Source integration only; tests unrun. |
| apps/web/src/components/chat/ProviderModelPicker.tsx; ProviderModelPicker.browser.test.tsx; ProviderModelPicker.composition.browser.test.tsx; ModelPickerContent.tsx | Retain native selector context and exact model/role routing while adopting the current popup owner | Saved unavailable selectors remain visible; each popup queries NeoPi through its mounted native selector rather than refreshing a retired GUI model catalog | Preserve docked effort focus, IME suppression, background-scroll ownership, popup-local initial focus, keyboard targeting, multi-selection and accessible trigger details | Removed retired ACP-image coverage and Codex-login sharing controls; converted focus/composition fixtures to native catalogs. Repaired one leftover marker in the previously staged content props. Existing settings/new text-generator consumers still need the recorded integration pass. Source only; unrun. |
| apps/web/src/components/chat/ProviderStatusBanner.test.tsx; ProviderStatusBanner.test.ts | Consolidate provider warning regressions into upstream's behavioral policy tests | Preserve warning occurrence dismissal and authentication-error priority using native NeoPi fixtures | Keep incompatible-version, changed-message, policy-relaxation and recovery transitions | Remove duplicate static-markup/wording pins and retired harness-specific fixtures. Extended the current policy test rather than retain two suites for the same state. Unrun. |
| apps/web/src/components/chat/ProviderStatusBanner.tsx | Preserve current compatibility/readiness and explicit refresh controls for NeoPi | Native selectors own the model catalog, so a ready provider must not falsely claim an empty GUI catalog is a failure | Keep permission-scoped refresh, in-flight admission, setup navigation, warning/error messages and compatibility priority | Drop the retired Antigravity exception. Authentication diagnostics still outrank generic compatibility advice; warning dismissal is occurrence-specific. Source only; unrun. |
| apps/web/src/components/chat/ThreadErrorBanner.test.tsx | Preserve occurrence-scoped dismissal alongside upstream structured-error decoding | An identical later failure must reappear; prior dismissals survive navigation but never cross thread/occurrence boundaries | Keep readable nested error messages without discarding raw diagnostics used as identity | Adapt new raw-diagnostic identity coverage to the required occurrence argument; remove obsolete static CSS/wording assertions. Unrun. |
| apps/web/src/components/chat/ThreadErrorBanner.tsx | Retain occurrence identity with upstream structured diagnostics and usage-limit recovery | Session-local dismissal keys include thread, raw error and failure occurrence; no later identical failure is hidden | Preserve expandable raw diagnostics, readable nested messages and provider-neutral limit classification; ChatGPT usage links/admin-copy actions are external account helpers, not execution adapters | Kept current component rendering and consumer argument shape. Source only; unrun. |
| apps/web/src/components/chat/TraitsPicker.test.ts | Retain native advertised-option and unavailable-metadata regressions against the extracted trigger helper | Only the actual native fast-mode boolean signals speed; arbitrary service-tier labels must remain data, not silently become Codex speed controls | Preserve model aliases, unknown option IDs and read-only saved values | Remove copied trigger-label assertions and check capability/selection semantics instead. Shared helper and current traits owner are the next sequential integration; tests unrun. |
| apps/web/src/components/chat/TraitsPicker.tsx; packages/client-runtime/src/modelTraits.ts | Port native option discovery into upstream's extracted trait selection and trigger owners | Resolve native aliases; preserve unknown advertised controls and read-only saved options without synthesizing foreign model capabilities | Keep reported-selection precedence, reasoning-step order, current draft persistence, disabled menus, descriptor-gated prompt choices, generic effort columns and native fast-mode indication | Remove duplicate inline trait helpers and retired OpenCode/plan-agent/Codex-style branches. Shared trigger no longer infers speed from arbitrary service-tier labels. Composer provider-state callers still need the next sequential API migration; add shared helper to the final fork-touch registry. Source only; unrun. |
| apps/web/src/components/chat/composerProviderState.test.tsx | Exercise native option dispatch and current reasoning-step transitions | Keep runtime defaults implicit, explicit opt-outs and native agent choices intact; preserve absent-model selections and validate known aliases | Retain catalog-order wrap, unrelated traits, advertised reasoning-role discovery, descriptor-gated prompt edits and exact reported-selection scope | Removed Cursor default injection and retired-harness fixtures rather than carry their policy into NeoPi. Source tests rewritten against the current owner, unrun. |
| apps/web/src/components/chat/composerProviderState.tsx; useComposerProviderModel.ts; ChatComposer.tsx; chatViewSend.ts; TraitsPicker.tsx | Preserve native defaults while adopting current pure reasoning-step and traits-target APIs | Explicit options remain explicit; unavailable native selections retain saved data; aliases validate against the authoritative advertised catalog | Keep caret-preserving descriptor-gated edits and current draft/observed option precedence without mutating the prompt merely to project model state | Remove forced Cursor fast-off, OpenCode/plan-agent filtering, old JSX trait wrappers and redundant prompt-injection projection from all callers. Native keyboard execution still uses its existing RPC branch. No tests run. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 9/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44888 bytes; SHA-256 d7adf3543af5ede0a57dba2e84bd5c2719273dd385619783225058d24f71053b.

| apps/web/src/components/chat/composerSlashCommandSearch.test.ts | Keep native command and completion authority while adopting upstream start-only command rules | Completion results remain bound to prefix, command and native session; advertised aliases rank without duplicates; native slash ownership excludes every local action | Retain fuzzy names, skill display names and rendered-prefix searches; cover side/btw/clear outside the first line | Use native catalog fixtures instead of retired execution-driver fixtures. The expanded position test is unrun. |
| apps/web/src/components/chat/composerSlashCommandSearch.ts | Combine native catalog ownership and alias ranking with upstream prompt-position exclusions | Retain exact request/session gating for native argument results and advertised alias scoring; never synthesize a local native command | Preserve skill completion anywhere while side/btw/clear and provider commands remain start-only | Combined predicates rather than selecting either competing body; native ownership also applies while the native catalog is unavailable. Unrun. |
| apps/web/src/components/chat/providerIconUtils.ts; ProviderInstanceIcon.tsx | Move fork icons to upstream's extracted icon owner without retaining a dead map | Keep native model facts and NeoPi identity, plus readable legacy provider icons | Preserve current short-name resolution, direct HTTP text-generator identities, instance accents and package-icon precedence | Removed the duplicate exported map after checking its consumers; the extracted owner receives the missing fork/history icons. Add its upstream touch row later. Unrun. |
| apps/web/src/components/chat/sendQueuedMessage.ts | Remove the retired V1 SQL queued-message sender | Native queue acceptance, withdrawal and attachments remain in native runtime owners; legacy history must not start execution | Current V2 QueuedRunsControl already owns send-now/resume/fresh-context rather than this unreferenced V1 helper | Checked all references: no caller remains; an obsolete QueuedMessageSender import/mount in the later __root conflict still needs removal. Native/V2 queue behavior remains explicitly unverified. |
| apps/web/src/components/chat/timelineMinimapItems.test.ts | Retain current minimap behavior with the fork's message-row contract | Supply showAssistantIdentity on the actual fixture instead of retaining an unused pre-V2 row builder | Preserve attachment-only label suppression, prompt-prefix handling and thread-link prose previews | Removed dead fixture/helper and its obsolete turnId shape; current fixture uses runId. Unrun. |
| apps/web/src/components/chat/timelineScrollTarget.test.ts | Keep nested-scroll isolation beside the new upward-scroll detector regressions | Preserve tool-group edge chaining, nested overflow traversal, ordinary content and invalid-target boundaries | Retain iframe-only upward movement, fractional accumulation, height shrinkage and programmatic positioning tests | The merge interleaved two describe blocks; restored their independent test ownership rather than dropping either behavior. Source implementation already contains both helpers. Unrun. |
| apps/web/src/components/chat/useComposerMultilinePrompt.ts | Retain upstream's current mobile-collapse measurement hook | Preserve the docked native composer and its independent pinned body-resize owner | The current hook controls whether a wrapped mobile draft stays expanded, not the retired floating-composer layout; ChatComposer still consumes it and its upstream browser regression covers wrapping | Accepted the current source after reading both call sites and the browser test; earlier deletion of the old floating-layout test is not grounds to delete this re-used current hook. Unrun. |
| apps/web/src/components/chat/useComposerTriggerState.test.tsx | Retain occurrence-scoped suggestion dismissal regressions | Native slash arguments stay dismissed only for their command and reopen after leaving; another command at the same offset is independent | Keep immediate keyboard rejection, scoped-package edits, caret movement, explicit reset and distinct token behavior | Current hook already compares kind, command and range. Retained the behavioral suite; its fake-DOM harness and tests remain unrun pending dependency integration. |
| apps/web/src/components/clerk/MobileClientsUserProfilePage.logic.test.ts | Remove presentation-copy pins rather than rebase them onto NeoCode strings | The source still uses shared APP_BASE_NAME and preserves platform/version and notification data | No runtime or protocol behavior removed; this suite only asserted rendered label wording and punctuation | Removed in accordance with the no-wording-test rule after reading the complete presentation owner. No replacement snapshot or branding assertion. |
| apps/web/src/components/clerk/MobileClientsUserProfilePage.tsx | Retain NeoCode identity in upstream's phone-neutral setup guidance | Use shared APP_BASE_NAME and preserve the external T3 Connect service name | Keep current client registration, refresh/retry, notification status and device listing | Combined the wording change without restoring the old iPhone-only instruction or renaming service/protocol identifiers. Source only; unrun. |
| apps/web/src/components/composerFooterLayout.test.ts | Retain overflow and jitter regressions against the current footer measurement model | Preserve readable-minimum control widths, native/context-strip coexistence and stable progressive collapse | Keep actual fitting/overflow boundaries, fractional jitter and strip-label hysteresis; current icon-only stages remain exercised | Removed incidental constant-threshold tests, a duplicate same-path case and an unused clearance import rather than keep exports for tests. Unrun. |
| apps/web/src/components/composerFooterLayout.ts | Combine current resting thumbnails and transition admission with retained footer geometry | Preserve fork scroll-button clearance while its ChatView caller remains; retain progressive native/context-strip controls | Keep upstream private breakpoints, image preview counts and first-layout/interrupted-animation gating | Both new helpers have actual consumers; constants are no longer exported solely for tests. No alternative layout model introduced. Unrun. |
| apps/web/src/components/desktop/SshPasswordPromptDialog.tsx | Preserve NeoCode identity while adopting accurate upstream credential-retention guidance | Keep password/verification support and the actual target visible; do not claim responses are connection-only | Retain settlePromise error handling, expiration, cancellation and page-lifetime prompt queue | Confirmed packages/ssh/src/tunnel.ts stores target-keyed authSecrets in memory, reuses them and removes failed credentials. Combined new disclosure with APP_BASE_NAME; no credential operation performed. Unrun. |
| apps/web/src/components/desktopUpdate.logic.test.ts | Preserve fork release routing and current configured-repository validation | Keep encoded build metadata, full nightly suffixes, missing-version handling and fork-default fallback | Retain retry/install admission and downloaded-state checks; cover valid custom repositories as well as invalid segments | Removed tooltip/confirmation/warning copy pins and redundant fixed URL tests; restored missing behavioral-helper imports. Unrun. |
| apps/web/src/components/desktopUpdate.logic.ts | Adopt configured release-repository support with a fork-default destination | Keep encoded full version tags and APP_BASE_NAME messaging; invalid configuration must not fall back to upstream's product | Preserve repository-segment validation, updater status transitions, downloaded-version fallback and managed-update denial precedence | Replaced only the competing constants; no duplicate hard-coded URL path or compatibility alias retained. Unrun. |
| apps/web/src/components/device/DevicePanel.tsx | Preserve native workspace identity while adopting current discovery and failure UI | Keep resource-scoped sessions, panel/mini-player state and terminal focus without a SQL surrogate | Retain mounted host probes, first-snapshot errors/retry, operation-scope guards and current device setup/actions | Combined imports and state shape. INTEGRATION REQUIRED: ws.deviceOpen still resolves threadWorkspaceRoot(input.threadId), which is SQL-only; the hash is not reversible. DeviceOpenInput currently has no native ref. Carry explicit native authority through contract/client/server and resolve observed cwd without starting a session; migrate mobile too. Do not claim native device opens work yet. |
| apps/web/src/components/diffs/AnnotatableCodeView.tsx | Keep native draft ownership with upstream lazy diff annotation behavior | Persist comments into ComposerThreadTarget, including native workspace drafts, without SQL thread synthesis | Preserve environment/project annotation context, file-path identity through placeholders, current render callbacks and draft submission | Combined required imports and dropped obsolete hook/draft/thread types; body already carries both behaviors. Unrun. |
| apps/web/src/components/diffs/useReviewFilePatches.ts | Route upstream's path-stable lazy patch model through native or workspace authority | Keep explicit native refs and session-scoped parsed caches; never replace native reads with cwd-only generic calls | Preserve commit selectors, requested paths across file reorder, per-file retry, incomplete placeholders and revision-driven patch refresh | Added a discriminated query target shared by subscriptions and parsing. REQUIRED at later shared review.ts conflict: native patch input must accept its preview and subscribe to the matching native preview revision; add the native onAnswer hook. No effect-based refresh shim remains. Unrun. |
| apps/web/src/components/files/FileMarkdownPreview.tsx | Keep canonical native media identity with current workspace-mutation refresh | Pass native ref and environment separately from genuine legacy thread refs; retain directory-relative media resolution | Preserve frontmatter masking, task-list edits and new workspaceMutationId invalidation | Combined both contracts; ChatMarkdown already supports the mutation key, and FilePreviewPanel supplies it. Unrun. |
| apps/web/src/components/files/FilePreviewPanel.tsx; filePreviewMode.ts | Preserve native file/media authority through upstream revision-aware viewers | Native refs precede draft handling; native documents and full-file readers never read threadId or collide across environments | Keep draft resources, host-file fallback, PDF position/revision retention, audio/video refresh, full-file viewer and local/SSH editor reveal | Combined resource helper with WorkspaceRef; native document keys use workspaceKey. Restore the real editor picker rather than invent an unimplemented action replacement. REQUIRED later: native-media-file disposition contract/server parity; native panel folder navigation/current props and behavioral resource tests. Unrun. |
| apps/web/src/components/onboarding/WelcomeWizard.tsx | Retain the fork's native onboarding against upstream deletion/replacement | Keep selected-computer ownership, explicit multi-computer NeoProxy credential target, native readiness and optional setup; never scan/import retired harness sessions | Upstream moved onboarding to WelcomePage; connection/discovery/phone/setup capabilities must be reconciled without selecting foreign drivers or manufacturing SQL conversations | Read the complete functional flow and current route conflict. Keep this module for the native route, not an unreferenced archive. The welcome route and new WelcomePage still need the recorded integrated native-only cutover and current APIs; no UI proof yet. |
| apps/web/src/components/preview/PreviewAutomationHosts.tsx | Follow the upstream server-owned browser automation cutover | Native requests continue through the shared revocable native/legacy MCP scope and server broker, not a second desktop-only request consumer | Upstream ac8e9453ca moves browser execution to ServerBrowser/PreviewBrowser and removes GUI host subscriptions | Delete obsolete GUI host: no imports remain, current client preview atoms no longer expose automationRequests/respond/focusHost, and ServerBrowser owns broker requests/responses. Later sequential obsolete preview helper conflicts should be deleted after checking callers. Native server request scope/preview authority still needs the integration proof. Unrun. |
| apps/web/src/components/preview/PreviewPanel.tsx | Combine canonical native workspace panels with preview permission admission | Preserve WorkspaceRef, sheet placement and NeoCode branding | Keep current AuthPreviewOperateScope guard and re-pair guidance, plus server-browser availability | Combined imports and both failure branches. Unavailable copy no longer claims all previews are desktop-only: usePreviewAvailable also admits an environment server browser. No UI proof yet. |
| apps/web/src/components/preview/PreviewView.test.tsx; PreviewView.browser.test.tsx | Follow the upstream real-browser test migration without losing fork race regressions | Retain replacement-runtime, same-runtime, hidden-panel, explicit-cancel and unmount ownership boundaries; an old recording cannot hide a new browser cursor | Remove fake DOM and static callback/markup tests; reuse current real browser harness and permission/malformed-crop coverage | Ported actual race cases to Promise receipts, disposable browser renders and real focus targets; cursor case uses the live pointer store. Deleted obsolete unit owner. Source merge is next; tests unrun. |
| apps/web/src/components/preview/PreviewView.tsx; PreviewAnnotationSpeech.tsx | Keep native identity and stale-pick ownership in the current server/desktop browser surface | Every stream, download, adjustment, recording and annotation uses the canonical workspace/resource target; sheet guests retain overlay z-order | Preserve server browser streaming/control/downloads, responsive viewport toolbar, search, move, focus actions, permission-aware annotation and dictation | Combined real server surface with native IDs and retained host overlay portal; removed duplicate history-title effect because the shared history observer owns it. Pick replies require current operation/runtime/mount ownership before applying and before focus restore, including the permission-enable await. Native speech uses nullable legacy project context, never synthetic SQL. Browser race tests ported but unrun; server-native authority and native project speech settings need integration proof. |
| apps/web/src/components/preview/ThreadPreviewMiniPlayer.tsx; apps/web/src/browser/serverPictureInPicture.ts | Carry native workspace identity through the new streamed/PiP floating browser | Resource IDs cross the stream wire; full environment and native ref key client metadata, PDF watches and PiP ownership | Preserve server canvas and PDF rendering, viewport reports, browser/device source-size coordination, drag/resize, recording and desktop pop-outs | Replaced SQL-only key/type assumptions and the flat PiP target with WorkspaceRef. Native and legacy targets share the same current implementation. Remaining native panel/canvas caller integration and runtime stream/PiP proof are unrun; review asynchronous PiP replacement during video.play before final delivery. |
| apps/web/src/components/preview/openTerminalLinkInPreview.ts | Open native terminal links on the current available browser runtime | Preserve native resource namespace, environment-scoped history and panel ownership | Use the current desktop-or-server availability check, configured runtime/profile/viewport, explicit external fallback and interrupt handling | Combined availability with canonical workspaceResourceId rather than a SQL thread field. Native preview server authority remains the shared integration dependency; unrun. |
| apps/web/src/components/preview/previewAutomationErrors.ts | Remove obsolete GUI-host automation error adapter | Preserve typed errors at the current server-owned broker boundary instead of retaining an unused GUI protocol | Server browser automation supersedes desktop client request/response dispatch | Only remaining importer is the likewise-obsolete navigation readiness helper. Remove both in this ordered sequence; no active host caller remains. |
| apps/web/src/components/preview/previewAutomationTarget.test.ts | Remove the deleted GUI-host target owner's tests | Canonical native scope must be validated at the actual server owner, not merely by a dead client decoder | Current server owns browser selection, navigation and readiness | Reviewed native matching/mismatching ref cases before deletion. REQUIRED integration proof: broker emits sessionRef, but ServerBrowser currently never reads it and open forwards only request.threadId. Port authority regression there, not to a retained dead client. |
| apps/web/src/components/preview/previewAutomationTarget.ts | Remove obsolete GUI-host tab/namespace resolver | Native canonical identity and hash matching belong in the server path now receiving the request | Upstream ac8e9453ca deleted this alongside the only GUI consumer | No active imports remain after its obsolete test/host are removed. Central native server preview authority still required; do not claim this deletion implements it. |
| apps/web/src/components/preview/previewNavigationReadiness.ts | Remove obsolete GUI polling over desktop automation | Preserve current server runtime/session ownership and stale-operation refusal | ServerBrowser owns navigation/readiness under the current browser protocol | No active imports remain after removing the obsolete GUI host. Its only dependency on the retired local error adapter is removed too. New server-native operation proof remains due. |
| apps/web/src/components/preview/usePreviewBridge.ts | Preserve native favicon/workspace routing in the current guest bridge lifecycle | Canonical workspace keys stabilize native and legacy refs; pending favicons flush to the matching workspace/project only | Keep capture activity ownership, pointer clearing, current status projection and suppression of duplicate reports for server-driven tabs | Restored existing favicon/prepared-connection helper imports and combined capture subscription cleanup with stable workspace dependencies. No competing browser owner added. Runtime proof unrun. |
| apps/web/src/components/preview/usePreviewSession.ts; packages/contracts/src/preview.ts (unstaged companion) | Preserve bounded preview resync with native background tab discovery | Discover native targets only from a canonical sessionRef matching the hashed resource ID; never turn native hashes into SQL thread refs | Keep event-epoch guards, list refresh and idle release; discover snapshots carried by resync as well as normal events | Added sessionRef to snapshot/event schemas without resolving/staging later preview.ts conflict. REQUIRED server work: preserve/broadcast the validated canonical ref on native tabs and events; open/list/adjust scope still must be wired. Background leases release after authoritative closure; tests and runtime proof unrun. |
| apps/web/src/components/projectScriptEditor.tsx | Reseat inherited-action guidance on upstream's request-owned form | Preserve scopeDescription customization and safe directory-command guidance for reusable actions | Keep keyed fresh forms, late-save guards, environment permissions, independent shortcut authority and settle/stop action controls | Removed the obsolete nested dialog fragment, passed the fork description through the new form boundary, and retained upstream ownership of form lifecycle. Focused interaction and native action execution proofs unrun. |
| apps/web/src/components/pullRequest/pullRequestList.logic.test.ts | Keep fork repository/environment cache regressions with current tests | Retain stale upstream-row rejection after origin changes and isolation of overlapping project IDs across environments | Take upstream test cleanup, current time ordering, host capabilities, query ranking and reply-driven updates | Retained the existing narrow-filter block rather than obsolete moved query/group tests; restored its direct helper import. The current extracted PullRequestsPage caller still needs project identity passed into this guard. Tests unrun. |
| apps/web/src/components/pullRequest/pullRequestList.logic.ts; apps/web/src/components/pullRequest/PullRequestsPage.tsx | Move repository-isolation behavior onto upstream's source-control client registry and extracted page | Require cached rows to match the current GitHub repository on the matching environment; retain current host/filter behavior | Keep upstream forge-specific action/list scopes, answer-driven state, sort order and extracted page ownership | Removed stale schema/host imports and duplicate type import. Applied the fork guard to carried rows, main display and live/held priority partitions, only after project discovery. Focused regression suite and page proof unrun; route conflict must retain the extracted page rather than duplicate it. |
| apps/web/src/components/settings/AddProviderInstanceDialog.tsx; apps/web/src/components/settings/AddProviderInstanceDialog.environment.browser.test.tsx; packages/client-runtime/src/providerClients.ts; apps/web/src/components/onboarding/WelcomePage.tsx (companion) | Reconcile the current provider wizard with NeoPi-only execution | Keep NeoPi profile/executable creation, collision-free IDs, labels/accents, permission rechecks and atomic instance creation | Take upstream shared client registry, wizard identity ownership, managed policy, secret-source environment fields and current settings controls | Removed ACP discovery/authentication and managed Codex entry paths rather than hiding them. Registered actual NeoPi client metadata in the shared registry, retained generic model-name/OpenRouter helpers, and removed the retired show-more prop from its only caller. Preserved collision, pending-create duplicate and revoked-grant tests; discarded retired-harness/wiring-copy tests. All checks unrun. Helper/foreign-module closure and WelcomePage native integration still due. |
| apps/web/src/components/settings/AddUsageLimitSourceDialog.logic.test.ts | Preserve fresh-identity and concurrent-add regression tests | Adding the same or colliding URL never replaces another hub's saved management key | Extend retained collision rows with upstream same-host path and schemeless-port cases; use current contract defaults | Upstream's same-URL overwrite expectation conflicts with the fork's deliberate fresh Add semantics, so it is not adopted. Existing source editing remains the update path. Tests unrun; secret-reference support must remain in the helper and form. |
| apps/web/src/components/settings/AddUsageLimitSourceDialog.logic.ts | Keep fresh source identity and add current secret-reference support | Preserve independent concurrent additions and never derive a replacement identity from a URL | Accept a selected secret provider reference alongside a trimmed literal key | Preserve reference objects through the real server-settings patch; extend the existing concurrent-add regression with one referenced key and one literal key. No URL-based compatibility alias retained. Tests unrun. |
| apps/web/src/components/settings/AddUsageLimitSourceDialog.tsx; apps/web/src/components/settings/UsageProviderSettings.tsx | Use the fresh-identity builder with upstream secret-source selection | Each Add creates an independent hub; no stale client snapshot can select and overwrite another saved key | Preserve literal and configured secret-provider inputs, validity state, reset behavior and environment-scoped persistence | Removed the obsolete URL-ID helper import and saved-source prop from its sole caller. Kept the existing updateSettings owner rather than a second save mechanism. UI and patch tests unrun. |
| apps/web/src/components/settings/BrowserImportWizard.tsx | Combine NeoCode identity with current upstream import flow and copy | Use the shared display name in Full Disk Access guidance | Preserve source/profile refresh, import single-flight, permission checklist and current punctuation | The only conflicting hunk is display copy. Kept current upstream lifecycle and source/target ownership without a second import implementation. No permission grant or import was exercised. |
| apps/web/src/components/settings/CaptureShortcutConfig.tsx | Keep current capture bridge and remove its retired compatibility warning | Preserve NeoCode identity in settings and pending registration guidance | Current bridge availability and shortcut-action registration replace the old supported flag | Removed the obsolete unsupported-version paragraph and undefined supported reference. Kept upstream preview/apply, backup, permission and registration behavior. No desktop settings or permissions changed; UI unrun. |
| apps/web/src/components/settings/ConnectionsSettings.tsx | Combine NeoCode identity with current upstream connections/access page | Preserve branded WSL and network restart guidance without renaming T3 Connect | Keep extracted connection controls, environment-specific access navigation and SessionPermissions | Retained only the icon imports still used by the current page; old extracted control imports were removed. No connection, permission or network state was changed. UI unrun. |
| apps/web/src/components/settings/CustomModelEditor.tsx | Keep generic runtime-supplied model options, not retired-harness presets | Preserve memoized large-catalog filtering and optional reasoning metadata when copying native capabilities | Keep current shared input/select controls and generic custom option editing | Removed the orphaned Codex-preset application helper and ProviderDriverKind import. The companion logic preset table remains for its own sequential conflict resolution. Current metadata/save regressions are unrun. |
| apps/web/src/components/settings/FontFamilyPicker.tsx | Combine current virtualized picker with cancellable font classification | Keep open-only batched monospace measurement, shared measurement cache, stale-result cancellation and memoized search | Preserve upstream Legend List API and last-mile non-monospace selection rejection | Retained the actual cancellable filter rather than reintroducing synchronous mount scans; declared its external measurement lifecycle at the effect. No font permission prompt or visual check run. |
| apps/web/src/components/settings/IntegrationsSettings.tsx | Retain explicit browser-access scope on the current settings layout | Distinguish server/project agent access from device-local browser defaults; preserve NeoCode display names | Keep upstream scoped access control, server browser profiles, imports, recording controls and device settings | Replaced the removed ProjectDefaultsSettings block with the current AgentBrowserAccessSetting owner, which already marks server scope and project overrides. Retained the Browser defaults section label without restoring obsolete preview-default variables. No settings changed; UI unrun. |
| apps/web/src/components/settings/KeybindingsSettings.logic.test.ts | Keep current stable-row and platform-aware conflict regressions | Preserve unknown-condition validation without restoring command inventory pins | Keep upstream keybinding identity, duplicate normalization, physical/layout keys and platform-modifier cases | Dropped obsolete default/source/search tests and duplicate old conflict test; folded the meaningful unknown-variable assertion into the current condition-parser case. Native keybinding execution remains covered at its behavior layer, not by settings copy. Tests unrun. |
| apps/web/src/components/settings/KeybindingsSettings.logic.ts | Keep current binding identities and generic command labels without retired chart controls | Preserve native Stats as an opener only, with no local metric or time-window shortcut implementation | Keep upstream platform-aware conflict detection, grouped editor model, layout keys and new generic workspace/composer labels | Removed the usageShortcuts import, rank table and label lookups; ordinary total lexical ordering remains for the surviving commands. Kept the fork's copy-reference ID clarification. Tests unrun. |
| apps/web/src/components/settings/KeybindingsSettings.tsx | Preserve current editor, scope checks and searchable groups with NeoCode identity | Keep shared display identity in browser shortcut guidance | Keep current compact notice, stable row editors, environment permission checks, anchored search and isolated catalog hook | Removed the obsolete duplicate notice instead of duplicating controls. The modern notice carries the branded guidance; current hooks and helper implementations are retained. UI unrun. |
| apps/web/src/components/settings/NotificationSettings.tsx | Keep branded guidance with current permission error handling | Preserve NeoCode display identity and device-local notification preference | Use upstream settled permission result, busy state and rejected-permission guidance | Combined the required imports only; did not change or exercise browser notification permissions. UI unrun. |
| apps/web/src/components/settings/ProjectActionsSettings.tsx | Combine inherited action semantics with the current editor and permission controls | Preserve per-ID overrides/tombstones/reset, inherited origin labels and atomic-capability admission | Keep upstream environment-scoped editor, t3.json import and settle/stop fields | Combined edit-scope and environment props with the fork's scope explanation; gated list and hidden-action restore controls on current write permission. The atomic project patch filter is retained. Companion persistence helper still awaits sequential reconciliation and multi-target admission proof; UI/tests unrun. |
| apps/web/src/components/settings/ProjectDefaultsSettings.tsx | Move model availability to the current shared scoped owner | Preserve native environment/project selector authority and native capability options without prompt-injected effort | Keep current automatic/default/fallback selection, managed permission choices and repository defaults | Removed old inline model validator and retired TraitsPicker prop. Added native selector context to the new fallback picker as on the main picker. The removed integrations category now has its own AgentBrowserAccessSetting. Shared useScopedModelAvailability still requires sequential reconciliation preserving the same-target NeoPi dynamic-model exception. Tests/UI unrun. |
| apps/web/src/components/settings/ProviderInstanceCard.test.ts | Preserve custom-model precedence and generic secret replacement regressions | Keep named custom capability overrides and bare-model runtime defaults; no static markup pins | Keep current secure environment variable replacement and referenced-secret clearing | Restored the fork's substantive custom-capability test from the index; retained upstream secret helper behavior with inference-provider fixture names rather than retired Cursor execution configuration. Actual helper integration follows in the card. Tests unrun. |
| apps/web/src/components/settings/ProviderInstanceCard.tsx | Combine native runtime/model split with current profile editor owners | Keep explicit enabling for disabled NeoPi profiles, runtime-only rendering, native compatibility diagnostics and current custom-model precedence | Keep secret-source environment editing, managed policy locks, inherited enablement controls, current status row and stable custom-model callback | Removed retired installer/updater, ACP URL authentication/session management, Codex setup and foreign icon metadata rather than retaining hidden paths. Preserved unknown driver config read-only presentation and current profile settings form. Current parent props, field locks and rendering require integrated verification; no tests/UI run. |
| apps/web/src/components/settings/ProviderModelsSection.test.ts | Retain substantive fork capability and preference regressions after upstream test deletion | Verify native reasoning metadata precedence, capability versus enabled state, custom visibility and favorite/order semantics | Current component remains the owner of these derived behaviors | This is a modify/delete conflict without inline markers. Retained its behavior tests, not static markup or wording snapshots; the component's helpers must remain exported. Tests unrun. |
| apps/web/src/components/settings/ProviderModelsSection.tsx | Keep virtualized native capability catalog on current preference APIs | Preserve bounded rendering, explicit native reasoning precedence and visible support badges independent of settings | Keep upstream permission gates, stable row handlers and current custom-model controls without fixed retired-harness examples | Restored the retained helper exports, used shared reasoning classification only as a missing-metadata fallback, removed service-tier speed guessing and foreign presets, and included permission state in virtual-row invalidation. Current virtual scroll API is retained. Catalog and UI proofs unrun. |
| apps/web/src/components/settings/ProviderSettingsPanel.environment.test.tsx | Accept removal of obsolete mock-hook component tests | Preserve account isolation through current atomic preference/mutation owners rather than reinstating client-local saves | Use upstream real browser suite and current shared preference patch tests | Removed the deleted-upstream React-tree callback harness, whose assertions target retired local preference writes and whole-map instance resets. Native routing, removal confirmation, pending mutation and preference isolation must be verified on the current owners; the browser companion is being ported with the parent panel next. No tests run. |
| apps/web/src/components/settings/ProviderSettingsPanel.tsx | Combine native runtime/models routing with current settings mutation, permission and secret owners | Keep selected native profiles, disabled default enable path, install guidance, automatic binary selection and dynamic catalogs | Preserve upstream atomic profile mutations, explicit missing-target behavior, model preference patches, policy locks, project overrides and interval failure recovery | Removed retired updater, ACP/Codex authentication/setup and legacy whole-map synthesis; default and custom profiles come only from the native registry. Row-local native guidance retains upstream stable row ownership and current secret references. Explicit profile deletion/reset uses the atomic mutation hook after confirmation. Companion real-browser tests now exercise native profiles, existing admission/confirmation boundaries and interval recovery; old mock-hook tests remain deleted. No tests or UI proof run. |
| apps/web/src/components/settings/ProviderSetupSection.tsx | Remove the retired Antigravity setup surface | NeoPi installation guidance remains in its native owner and NeoCore profile editor | No generic upstream settings behavior lives in this Antigravity-only installer/authentication component | Removed the component and its browser suite after the parent panel's native cutover left no consumer. Its exported auth-method helper, managed downloads, removal and Google authentication are retired execution paths, not inference-provider support. No tests run. |
| apps/web/src/components/settings/SettingsPanels.logic.test.ts | Retain settings migration and remembered grouping behavior | Preserve the repository-path grouping preference across disable/enable | Keep current shared background-policy migration tests; remove obsolete legacy-provider mirror tests | Removed deleted diagnostics text pins, browser label wording pins, retired provider-mirror expectations and the native shallow-copy helper test. Native profile preservation belongs at actual atomic persistence, not a helper that merely spreads a record; that runtime proof remains due with settings verification. Tests unrun. |
| apps/web/src/components/settings/SettingsPanels.tsx | Keep upstream settings extraction and new controls without reviving retired execution settings | Preserve NeoCode identity, native text-generation fallback, native per-profile catalog and global reusable actions | Retain new Chat/Diffs/Threads/Maintenance sections, tool visibility, snooze options, grouping, current reset coverage and extracted About/Appearance/Typography owners | Removed duplicate legacy appearance/typography/background/streaming implementations and obsolete plan/sidebar toggles. Removed Claude-only idle-compaction UI and its profile-panel caller; saved legacy data is untouched. Native text generation retains current scoped selection validation and standalone HTTP inference choices. The newly extracted AppearanceSettingsPanel still needs its ThemeLibrary props reconciled with the fork's native/local theme owner during that file's turn. No checks or UI proof run. |
| apps/web/src/components/settings/SettingsSidebarNav.tsx | Keep native NeoCore navigation in the current settings sections | Retain the native runtime profile entry without reinstating the retired integration route | Keep upstream section grouping, compact search, IME handling and workspace focus | Combined the NeoCore icon entry with current Threads/Browser/Devices/Scheduled tasks navigation. Browser is the renamed integration settings owner; search remains the current direct derived computation. Native route scope migration still needs parity with the extracted modal router. No UI proof run. |
| apps/web/src/components/settings/SnapShotSettings.tsx | Keep NeoCode diagnostics and actual capture verification on the current registry | A missing native verification bridge must fail rather than report setup as verified | Preserve upstream registry-scoped refresh, permission resume and wizard close state | Combined the current RegistryContext import with branding. Kept the explicit test-mac-capture availability check before the real permission proof instead of silently optional-chaining it. Capture is not exercised during integration. |
| apps/web/src/components/settings/SourceControlWritingSettings.tsx | Merge current writing/review controls with native model authority | Scope every native picker to its environment/project and require a native agent for review guides | Keep standalone HTTP text generators for writing, mixed-target settings and current instructions | Resolved the overlapping writer/review JSX, retained independent review selection/instructions, and removed obsolete fixed-provider setup callbacks and unsupported plan-agent picker props. Review model validation now uses native agent entries rather than the writer list, which can contain HTTP generators. Runtime review-guide execution and cross-target validation proofs remain part of the native backend/shared-validator work. No checks run. |
| apps/web/src/components/settings/ThemeImportDialog.tsx | Retain the fork's removal of an independent theme import catalog | NeoPi owns theme discovery; graphical preferences remain explicit local palettes | Do not restore a second VS Code/Open VSX installation inventory through upstream UI extraction | Removed the import dialog and its browser tests. The remaining ThemeSettings call is inside its unresolved upstream catalog block and must be removed on that file's turn. Native snapshot adoption and the local graphical editor remain separate and must survive that resolution. No checks run. |
| apps/web/src/components/settings/ThemeSearchSection.tsx | Remove the competing graphical Open VSX catalog | Native theme discovery remains authoritative | No other consumer remains after the import dialog removal | Removed the standalone remote search/install lifecycle and its tests; no native RPC discovery, local palette data or graphical editor is removed. Tests unrun. |
| apps/web/src/components/settings/ThemeSettings.tsx | Keep explicit native theme discovery and local graphical palette ownership | Catalog reads remain opt-in; selection saves a local snapshot without changing or following the native runtime | Reconcile the extracted Appearance surface while retaining current graphical editor entry points | Retained native catalog/profile selection, cancellation and request-revision protection; replaced the removed config.providers lookup with current environment provider state. Removed upstream's competing catalog/import/installation owner and updated AppearanceSettingsPanel to mount the self-owned library. Create/edit palette actions use the existing local editor store; current appearance mode and palette save failures are visible. Upstream appearance/typography controls outside the catalog remain. RPC/visual proofs unrun. |
| apps/web/src/components/settings/UsageProviderSettings.tsx | Keep inference quota hub management | Preserve external inference quotas alongside native accounting | Keep current per-ID source removal, confirmation and environment-scoped add dialog | Conflict was an empty-line mismatch. No behavior changed; no checks run. |
| apps/web/src/components/settings/customModelEditor.logic.test.ts | Preserve native capability round-trip regressions | Explicit reasoning flags, boolean choices, choice descriptions and current values survive editing and copying | Retain generic validation boundaries without legacy Claude filtering or text pins | Kept the native serialization cases, removed the retired prompt-injection field and replaced validation-message wording assertions with invalid/valid outcome assertions. No tests run. |
| apps/web/src/components/settings/customModelEditor.logic.ts | Keep generic native capability editing | Preserve explicit reasoning and option metadata without fixed GUI presets | Current draft serialization and validation remain | Removed the obsolete per-harness preset table and prompt-injection comment. No remaining preset consumers were found; the parent custom editor already uses advertised native capabilities. Tests unrun. |
| apps/web/src/components/settings/providerDriverMeta.ts | Use the existing shared native provider client registry | NeoPi remains the only execution profile definition | Remove the obsolete local registry and migrate its final onboarding consumer | Re-exported the shared providerClients registry already made native-only earlier in this sync. WelcomeWizard now uses the same lookup; no old getDriverOption/DriverOption aliases remain. Checks unrun. |
| apps/web/src/components/settings/providerStatus.test.ts | Preserve native status precedence without retired setup tests | A startup error must not be masked by stale authentication; explicit authentication failure stays actionable | Drop Antigravity sign-in and retired installer/version-advisory cases | Migrated the fixture to NeoPi and retained the two precedence invariants without literal headline assertions. Removed retired-harness and version-installation tests. No tests run. |
| apps/web/src/components/settings/providerStatus.ts | Keep native health summaries and version presentation | Preserve NeoCode disabled-runtime wording and generic error/auth precedence | Remove retired Antigravity sign-in formatting and execution-installer advisory presentation | Kept native-compatible status/version helpers, removed the retired sign-in special case and unconsumed installation advisory helper. ProviderInstanceCard remains the version-label consumer. No checks run. |
| apps/web/src/components/settings/scopedSettings.test.ts | Combine atomic project changes with upstream save-result and cleanup regressions | Preserve independent concurrent edits, clears, local-save settlement and native profile selection | Keep current cleanup policy fields, model-option reset and dropped-write detection behavior | Reconciled atomic set/clear expectations and capability fixtures; cleanup and model assertions inspect applied state rather than stale replacement patches. Removed retired idle-compaction and callback-forwarding-only cases. Actual tests remain unrun pending full conflict resolution. |
| apps/web/src/components/settings/scopedSettings.ts | Combine atomic project mutation with complete scoped save outcomes | Keep capability-gated set/clear patches and await client-local persistence | Preserve upstream per-environment dropped-key detection, failure reasons and cleanup policy behavior | Removed unused retired idle-compaction helpers. Both project planners retain the authoritative prior snapshot. Dropped-write detection compares applied expected state (including deleted keys) to returned state so atomic set/clear envelopes are not mistaken for stored fields. Collects local and remote results without losing successes. Tests added to the existing dropped-project-key case cover ignored and applied clears; all unrun. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 10/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44840 bytes; SHA-256 64edc170f09fbadad082d7d4903c663d8dc3c035c78f000df18a9d74e4ae6032.

| apps/web/src/components/settings/settingsSearch.test.ts | Preserve native NeoCore search alongside upstream split settings pages | Runtime queries stay on NeoCore; browser/thread controls move to their actual owners | Keep host/primary availability, normalized ranking, scope admission, anchor relocation and source-control discovery | Removed static wording/anchor-copy tests and obsolete retired-harness titles. Reconciled dedicated Browser/Threads navigation and retained native profile queries plus both remote host and Welcome availability cases. No tests run. |
| apps/web/src/components/settings/settingsSearch.ts | Mount native runtime search in the split settings navigation | Keep Roles and NeoCore separate; native theme discovery stays graphical and opt-in | Retain Threads, Browser, Devices, Scheduled tasks, Secrets, Maintenance, About, HTTP text generators and relocated links | Added NeoCore to the current shared sidebar list and scopes, removed obsolete live Integrations/Storage and legacy plan/sidebar entries, retained old-link redirects. Native model/runtime terms replace fixed retired-harness inventory. The existing generic provider-update control remains pending the final capability/consumer audit. Tests unrun. |
| apps/web/src/components/settings/useAvailableSettingsSearchItems.ts | Derive search availability from current environment permissions and capabilities | Keep native profile discovery independent of a primary computer | Retain upstream peer links, managed tunnel, fast worktree checkout, HTTP text generators and primary-only Welcome gating | Used the current environment-maintenance authorization hook instead of the obsolete primary-session access check. Native provider status still derives from connected configurations. No checks run. |
| apps/web/src/components/settings/useProjectScriptSettings.ts | Preserve keyed reusable actions and inherited shortcuts through current save hooks | Edit project deltas, retain action IDs, preserve shortcuts used elsewhere and refuse unsupported atomic writes | Keep the extracted asynchronous write helper and skipped unspecified shortcut updates | Removed the obsolete duplicate whole-entry writer and desktop-only shortcut restriction. Shortcut cleanup uses the authoritative saved settings and checks even unloaded project override entries. ProjectActionsSettings now passes unsupported targets to a preflight guard instead of silently omitting them. Checks unrun; shared action patch semantics remain in the ordered shared-file queue. |
| apps/web/src/components/settings/useScopedModelAvailability.ts | Admit native dynamic selections only in their actual scope | Do not require a fixed GUI catalog for the current native target; validate all other destinations | Keep upstream HTTP generator kind/endpoint matching and per-environment model availability | Combined the native current-target exception with HTTP generator checks; missing destination configuration or provider data now returns unavailable rather than silently accepting the selection. Cross-environment/project native selections still require an advertised available model. Checks unrun. |
| apps/web/src/components/settings/useScopedSettings.ts | Report local and remote persistence failures together | Preserve session-visible preference changes, local rejection visibility and successful destinations | Keep upstream execution-time authorization and draft failure callbacks | Combined detailed per-environment errors and saved-location summaries with failed client persistence; calls onFailed for any rejected/dropped target or unavailable plan. No checks run. |
| apps/web/src/components/sidebar/SidebarChrome.tsx | Keep NeoCode branding and native Roles entry on current shell chrome | Reuse the native Models opener and show one undo notice | Preserve upstream width probing, safe-area positioning, desktop back/forward navigation and PR capability gating | Combined the native entry with current plain handlers and extracted brand measurement, using the same NeoCode text in both measured and displayed brand marks. Removed duplicate undo and retired provider-update footer controls. No visual/runtime checks run. |
| apps/web/src/components/sidebar/SidebarProviderUpdatePill.tsx | Remove the retired execution-harness installer surface | NeoPi runtime setup remains native-owned | Do not restore the deleted provider-update notification model | Deleted the unmounted pill and its Claude-update browser tests; its only remaining consumer was the removed test. Current application/server update controls remain. No tests run. |
| apps/web/src/components/sidebar/mainAppLocation.ts | Keep setup out of remembered native workspace navigation | Models remains a utility page; Welcome never replaces the return destination | Preserve current router-level tracking, modal return state and quote-hash stripping | Removed the obsolete component tracker and its react-test-renderer test; ported its setup/native workspace regression into the existing real-browser test alongside citation return behavior. Current startup already owns tracker registration. No tests run. |
| apps/web/src/components/threadSidebarWidth.ts | Preserve explicit sidebar widths and NeoCode's compact default | Keep the fork's 14-rem starting width and exported minimum | Retain upstream measured-brand minimum and viewport clamping | Combined the fork defaults with the new brand-width resolver; saved-width behavior stays unchanged. No checks run. |
| apps/web/src/components/ui/input.tsx | Preserve shared Neo graphical input styling | Retain semantic card surfaces and the fork's focus treatment | Keep the current native-input adapter, sizes, Base UI props and browser fixes | Resolved only the conflicting shared appearance classes in favor of the established Neo palette; all non-conflicting input behavior stays current. No visual checks run. |
| apps/web/src/components/ui/select.tsx | Keep shared Neo selection-control appearance | Preserve semantic card surfaces, accessible state contrast and focus treatment | Retain current Base UI rendering and size variants | Kept the established fork classes only in the conflicting default variant; no other select behavior changed. No visual checks run. |
| apps/web/src/components/ui/sidebar.tsx | Keep NeoCode identity and narrow sidebar defaults without full-app resize work | Native mark, saved open state, semantic palette and accessible visibility stay intact | Use current direct gap/container width writes, commit-time persistence, collapse cancellation and safe-area control sizing | Replaced the conflicting root CSS-variable drag path with upstream's more localized width writes, retaining the fork's performance intent. Removed dead cookie constants and unused morph-icon imports. No visual/runtime checks run. |
| apps/web/src/components/ui/textarea.tsx | Keep shared Neo textarea appearance | Retain semantic card surfaces and the fork's focus treatment | Preserve upstream explicit-row sizing, wrapping and Base UI field integration | Resolved the conflicting appearance class only; current rows and size behavior remains. No visual checks run. |
| apps/web/src/components/ui/wizard.tsx | Retain semantic Neo wizard surfaces | Use palette surface and border roles instead of fixed black/white overlays | Keep upstream panel className, step summaries, disabled steps and height behavior | Combined the fork's visual tokens with the current extensible WizardPanel. No visual checks run. |
| apps/web/src/components/usage/UsageLimits.tsx | Preserve inference quota display alongside native stats without restoring retired execution | Keep server-authoritative quota sources and permission checks; native accounting remains separate | Adopt provider-aware enabled-environment snapshots, hidden-provider filtering and narrow-bar pace marks | Combined current presentation atoms and source/account filtering with the retained quota view. No runtime or visual checks run; reset redemption remains a backend-authorized inference-source operation, not a NeoPi execution command. |
| apps/web/src/components/usage/UsageLimitsPooled.tsx | Retain shared inference quota pools without duplicating the native ledger | Display source-reported accounts, windows and notices; preserve generic provider identity | Adopt shared segment-popover ownership, current account details and authenticated external usage links | Kept the current pooled UI and its popover dependencies rather than the older fork rendering loop. External links use reported usage destinations and do not enable retired execution. No runtime or visual checks run. |
| apps/web/src/components/usage/UsagePage.tsx | Host authoritative native stats instead of reconstructing its ledger | Preserve the authenticated sandboxed dashboard, environment/runtime identity, message-port lifetime and native calculations | Adopt modal close/back semantics; keep subscription pools, arbitrary multi-environment selection, provider filters and explicit quota refresh | Ported the native page to provider-aware current presentation atoms and AsyncResult imports. Removed the duplicate local accounting/price/chart surface, but retained inference limits as a reachable separate view with shared refresh deduplication. No runtime, navigation, security or visual proofs run yet. |
| apps/web/src/components/usage/UsagePriceOverrides.tsx | Remove the independent graphical accounting editor | NeoPi remains authoritative for prices and ledger calculations | Quota-source management remains separate from local price overrides | Deleted the now-unreferenced duplicate price editor rather than revive its deleted usage-state dependencies. Remaining price helper/test import closure will be removed with the accounting surface. No checks run. |
| apps/web/src/components/usage/UsageProviderChart.test.ts | Remove coverage of the replaced local chart | Native dashboard owns accounting visualization | Preserve quota-pool behavior separately | Deleted tests of the removed local period-band chart rather than retain a second accounting implementation solely for its tests. No checks run. |
| apps/web/src/components/usage/UsageProviderChart.tsx | Remove duplicate local accounting visualization | Native dashboard owns chart calculations and rendering | Subscription quota visualization is retained independently | Deleted the replaced local chart; its remaining isolated model-dialog and shortcut consumers will be removed in the accounting closure. No checks run. |
| apps/web/src/components/usage/usageBreakdown.test.ts | Remove tests of replaced local ledger summaries | Native stats owns token-rate and pricing calculations | Quota regressions remain separate | Deleted the obsolete local breakdown test with its implementation cutover. No checks run. |
| apps/web/src/components/usage/usageBreakdown.ts | Remove local duplicate ledger calculations | Native stats owns model ranking, token/cost shares and rates | Preserve independent inference quota math | Deleted the local breakdown helper used only by the replaced accounting surface. No checks run. |
| apps/web/src/components/usage/usagePagePreferences.test.ts | Remove tests for retired local accounting preferences | Native dashboard owns its own range and metric controls | Existing stored browser data is not erased | Deleted obsolete local-page preference tests with their removed consumer. No checks run. |
| apps/web/src/components/usage/usagePagePreferences.ts | Remove obsolete local metric/range persistence | Native stats owns those controls and saved choices | Leave historical localStorage contents untouched | Deleted the unused local accounting preference module; no browser storage migration or erasure is performed. No checks run. |
| apps/web/src/components/usage/usageProviders.ts | Preserve NeoPi identity and legacy inference quota identities | Add NeoPi to the current driver-keyed label/color map without restoring execution adapters | Retain upstream quota filtering and color lookup contracts | Removed obsolete SVG mark duplication and local-accounting rank helpers; existing shared provider icons own rendering. Remaining rank-only tests belong to the dead accounting closure. No checks run. |
| apps/web/src/components/usage/usageShortcuts.ts | Remove dead local-accounting shortcuts | Native dashboard owns its metric and period controls | Keep global Usage navigation separate | Deleted the obsolete local page's metric/period dispatcher. Contract/default/search documentation cleanup follows in their ordered files; no inert shortcut handler is retained. No checks run. |
| apps/web/src/components/usage/{UsageModelDialog,UsageShareBar}.tsx, {usagePriceForm,usagePriceTable,usagePriceTargets,usageProviders}.test.ts, {usagePriceForm,usagePriceTable,usagePriceTargets}.ts | Remove the orphaned local accounting import closure | Keep one native accounting owner and the separate quota UI | No active external consumers of these model-dialog, price-editing, ranking or share-chart helpers remain | Deleted nine automatically merged non-conflict files after checking consumers across web and packages; their only references were inside this obsolete closure. Quota components and their browser test remain. No checks run. |
| apps/web/src/composer-logic.test.ts | Keep native slash argument completion regressions alongside current editor behavior | Cover whole-argument replacement, Unicode and multiline tails; native commands are not reinterpreted as retired GUI plan modes | Retain currency-vs-skill triggers, side-chat position filtering, remapped send intent and literal editor-answer cursor cases | Combined independent regression groups and removed tests/imports for deleted standalone plan/default parsing and the superseded Enter helper. No tests run. |
| apps/web/src/composer-logic.ts, components/chat/ChatComposer.tsx | Preserve native argument completion while accepting current editor/submission semantics | Keep whole native argument replacement and capability-gated completion; do not intercept native plan/default commands | Retain current keybinding-based submission, literal cursor handling, side-chat command types, pasted-path handling and shared replacement helper | Combined independent logic, removed the retired standalone parser and unused old inline-adjacency helper, and removed the superseded Enter-helper import from the already-staged composer. No tests or typechecks run. |
| apps/web/src/composerDraftStore.test.ts | Preserve canonical native draft isolation and citation persistence | Native terminal/image drafts require no SQL draft, and clearing one environment/profile/file cannot clear another | Retain current V2 draft promotion, batch context and attachment regressions | Restored native identity and citation tests, supplied missing citation imports, and migrated the single-context call to the current batch API. No tests run. |
| apps/web/src/composerDraftStore.ts | Keep canonical workspace drafts through the current V2 store | Key native drafts by environment/profile/session file without manufacturing SQL draft state; preserve context resources and attachments | Retain upstream draft promotion, batch terminal insertion, model reconciliation and persistence behavior | Kept WorkspaceRef targets and workspace keys, migrated the thread shell type to its current owner, and removed the unreferenced single-terminal wrapper in favor of the existing batch API. Full model/persistence integration tests remain unrun. |
| apps/web/src/connection/clientMetadata.test.ts | Keep substantive client identity coverage without branding pins | NeoCode display labels stay in the existing implementation | Preserve hosted/server distinction, Electron OS authority, and mobile/tablet classification | Retained behavioral tests and moved private helper assertions through the public metadata result instead of re-exporting helpers. No tests run. |
| apps/web/src/connection/storage.test.ts | Preserve desktop catalog recovery alongside current IndexedDB resilience | Secure-storage refusal stays visible; blocked recovery never overwrites preserved credentials, including across recreation | Keep upstream aborted-commit, forced-close/reopen and cross-runtime routing permission regressions | Combined native recovery cases with current database handles and namespace APIs. Removed only obsolete imports; no security or persistence assertions dropped. No tests run. |
| apps/web/src/connection/storage.ts | Retain visible desktop catalog recovery without blocking local startup | Read catalog and recovery together; leave failed preservation read-only and surface recovery state | Keep current DatabaseHandle retry/invalidation, IndexedDB commit semantics and cache owners | Preserved the fork's typed recovery response in the current backend, dropping the obsolete non-null assertion. No tests run. |
| apps/web/src/diffFileActions.ts | Keep native workspace identity through diff-file navigation | Native file opens use the canonical workspace target, never a surrogate SQL thread | Preserve current absolute-path containment, nested-workspace and Windows normalization | Combined WorkspaceRef typing with upstream path helpers and retained the generic editor fallback. Removed retired-harness wording only. Existing path regression suite remains unrun. |
| apps/web/src/diffPanelStore.ts | Keep all native Git diff selection keyed by canonical workspace | Branch bases, commits and keep-on-open state must distinguish environment/profile/session; SQL turn/tool-call selection stays scoped to real threads | Preserve upstream commit links, current RunId, tool-call revisions and session-only fold choices | Unified branch/commit/open-consumption/read keys on workspaceKey and migrated the visible-turn type to its current owner. Native review/commit RPC implementation remains separately pending; no checks run. |
| apps/web/src/diffPanelStore.test.ts | Guard native diff selection identity across current state transitions | A commit link cannot consume another environment/profile's keep-on-open flag or branch base | Preserve existing tool-call revision and fold-state regressions | Added one behavior case for native commit → unstaged → branch → removal while sibling workspace selections stay intact. Test setup resets the new transient link flag. No tests run. |
| apps/web/src/hooks/useActiveProjectTarget.ts | Resolve native navigation from observed canonical workspace state | Native sessions need no SQL project/thread; cached authoritative cwd is read without opening a session | Preserve current legacy draft/thread project lookup | Kept native observation and workspace target identity, while migrating reactivity imports to the current Effect path. No runtime checks run. |
| apps/web/src/hooks/useEnvironmentThemeSync.test.ts | Do not reinstate automatic runtime-to-client theme following | Native theme use is explicit and saves a local graphical snapshot | Keep local preview and repaint behavior in the current theme owners | Deleted tests that invoke the removed useEnvironmentThemeSync hook and require live server publications to replace the user's palette. Current themePalette/useTheme integration still needs the ordered cutover and focused verification. No tests run. |
| apps/web/src/hooks/useHandleNewThread.test.ts | Retain delayed draft-open safety through current settings APIs | Navigation and project removal must cancel stale opens without overwriting drafts | Preserve current runtime defaults and origin-worktree behavior | Updated getClientSettings and project-model resolver mocks, retaining the availability hook mock; removed the incomplete contracts replacement so shared quota/default helpers see real schemas. No tests run; native scratch/new-session entry-point integration remains separately pending. |
| apps/web/src/hooks/useHandleNewThread.ts | Preserve reachable automatic project selection and current draft safety | Automatic landing filters unavailable roots without deleting projects or history | Retain current router targets, event-time settings, draft reuse races, model fallback and unloaded-thread checks | Combined the availability hook with ordered non-archived projects; removed the obsolete render-time settings hook and migrated EnvironmentProject to its current owner. Native scratch/new-task creation and the imperative keyboard default-project path still require their cross-entry integration; no checks run. |
| apps/web/src/hooks/useLocalStorage.test.ts | Preserve invalid-preference recovery without treating denied storage as empty | Direct, functional and removal updates may replace malformed values; access and updater failures preserve stored state | Keep upstream storage-access retry coverage | Retained the hook's actual state/storage regressions and async renderer cleanup alongside current access-retry coverage. No tests run. |
| apps/web/src/hooks/useLocalStorage.ts | Preserve safe preference recovery through the new shared write seam | Only decode failures fall back to the displayed default; denied reads and updater failures stop writes | Retain upstream exported read/write/subscription helpers and hook delegation | Moved the fork's strict read/error handling into writeLocalStorageValue, which serves both direct callers and useLocalStorage. Removed duplicate hook-side write logic. No tests run. |
| apps/web/src/hooks/useNavigateBack.ts | Preserve native utility-page Back and Escape behavior | Models and other utility pages return to the tracked workspace rather than a settings/history detour | Keep ordinary browser Back with home fallback and consumed-Escape protection | Retained the still-used full-page helper and joined it to current main-app location tracking. Native Models modal conversion remains separately pending. No navigation/UI checks run. |
| apps/web/src/hooks/useSettings.test.ts | Preserve client preference ordering and failure recovery | Failed hydration never writes defaults; queued/optimistic updates preserve later edits and saved preferences | Keep upstream model-preference migration and settlement ownership regressions | Retained both persistence race/failure groups. Removed orphaned tests that only mirrored a now-private identification-mode helper; graphical preference behavior remains in the live hook. No tests run. |
| apps/web/src/hooks/useSettings.ts | Preserve durable preference ordering and honest save outcomes while adopting current shared settings | Keep serialized optimistic/awaited saves, local failure reporting and explicit environment-identification choices independent of palette | Retain current selector equality, model-preference migration, instance mutation, shared-setting permissions and per-environment diagnostics | Removed obsolete hook aliases; updateClientSettings reports fire-and-forget failures while retaining its rejection for awaiting callers. Unified save callbacks now settle all local, server-local and shared writes before reporting success/failure. No tests run; native palette publication cutover remains in theme owners. |
| apps/web/src/index.css | Preserve Neo graphical identity and native transcript styling while adopting upstream semantic additions | Retain Neo palette, radius, lazy Nerd Font coverage and local palette overrides; do not reintroduce a competing fixed sidebar palette | Add any-hover support, guest message roles, clipped-control focus offsets and current diff/settings presentation rules | Combined font stacks with the actual Inter Variable face first; retained explicit focus rings inside clipping edges. Kept upstream guest/diff/provider-detail/copy affordances, rejected upstream black/zinc sidebar overrides that would defeat Neo defaults. No stylesheet build or visual verification run. |
| apps/web/src/keybindings.test.ts | Keep native session and terminal/context precedence while adopting upstream test cleanup | Preserve role/effort, interrupt, agent views, session tabs, literal dictation modifiers, custom bindings and editor/terminal boundaries | Keep current thread-panel, alternate-send, AltGr, physical-key and shortcut-label shadowing regressions | Removed unused helper imports and old default-inventory/copied-label cases rather than restoring them; repaired an interleaved upstream thread-panel test. Retained Stats desktop thread navigation but removed obsolete local-chart absence pins. No tests run. |
| apps/web/src/keybindings.ts | Preserve current configurable editor and native keyboard dispatch | Keep native context matching and terminal behavior without resurrecting retired harness execution | Retain the upstream repeat-safe favorite-editor matcher used by the restored OpenInPickerShortcut owner | Resolved to the current helper after verifying real call sites in OpenInPickerShortcut and OpenInPicker. This is workspace editor navigation, not a retired execution adapter. Its contract/default routing remains in the queued shared keybinding files. No tests run. |
| apps/web/src/lib/bootError.ts | Keep fork diagnostics and supported installation routes in the new startup recovery surface | NeoCode errors and reports go to the fork; fallback commands must not download upstream T3 Code | Preserve current accessible live announcements, clipboard fallback, launcher quoting, redaction and updater recovery | Ported branding into the current recovery DOM and linked actual fork releases/issues. No-launcher recovery uses the installed t3 command rather than npx; extended existing fallback cases to prove no package bootstrap, preserving shell quoting and launcher precedence. No tests/UI verification run. |
| apps/web/src/lib/diffFileContents.test.ts | Retain native expansion cache isolation despite upstream deleting the old loader tests | Distinct environment, profile, session and comparison identities cannot reuse hydrated diff content; authorization failures remain visible | Keep pure-rename and failure behavior but remove the deleted upstream forwarding/mock-copy assertion | Updated to the current Effect reactivity import. Retained native cache-boundary regressions and substantive rename/error cases, not request-wiring pins. No tests run. |
| apps/web/src/lib/diffFileContents.ts | Preserve canonical native unchanged-context expansion alongside current generic and PR sources | Native requests carry the authoritative session reference, not a client cwd, and cache identity includes environment/profile/session/comparison | Keep current shared rename handling and host-backed PR revisions | Retained the native loader as a separate authorized source over the common content adapter; kept current generic/PR paths and failure propagation. Native review API/revision integration remains pending and no runtime checks have run. |
| apps/web/src/lib/openPullRequestLink.ts | Preserve native workspace navigation in upstream commit-link previews | Native links use canonical session review requests and workspace-scoped panel state without reading or creating SQL threads | Keep current modified/middle-click semantics, host-backed PR routing, commit availability and stale-user-action guards | Ported the commit lookup to nativeDiffPreview for native refs; legacy refs retain repository matching and cwd-based review. Kept ordinary link behavior and removed stale callback scaffolding. Extended the existing available-commit browser case to both target kinds with a native-to-SQL read guard. Native server commit support and UI proof remain unverified. |
| apps/web/src/lib/terminalContext.ts | Preserve native terminal resource identity in shared composer context | Terminal context threadId is a resource namespace string and must not require a SQL ThreadId | Use the upstream shared kind-scoped context reference helper | Replaced the old local helper import with the shared owner while retaining the native resource type. Text normalization, reference ranges and legacy placeholder migration are unchanged. No tests run. |
| apps/web/src/modelSelection.test.ts | Preserve native selection authority and port upstream scoped-default regressions | Exact native role/model IDs survive catalog lag; retired harnesses stay unselectable | Keep environment/project default comparison, client preference precedence, custom alias/capacity/stale rows, supported generation and fallback option ownership | Replaced foreign-execution fixtures with native profiles, retained native regressions, and ported current consumer-visible cases without restoring foreign plan-agent behavior. Tests not run; remaining unmerged dependencies prevent a meaningful current run. |
| apps/web/src/modelSelection.ts | Resolve scoped model defaults without normalizing explicit native selectors | Preserve native descriptions, exact roles, instance configuration and dispatch; no OpenCode plan-agent option | Keep upstream short-name resolution and automatic-default mixed-state comparison across environments/projects | Combined resolver imports, removed the retired plan-agent branch, and made automatic defaults honor effective hidden-model preferences while explicit choices remain exact. No runtime or typecheck yet. |
| apps/web/src/composerDraftStore.ts | Use the current instance-owned custom-model reader | Model options must stay with the model/profile that selected them | Preserve current fallback-instance option ownership | Removed the obsolete driver argument from the one external call after reference search; LSP reported no server. Existing fallback behavior is now covered by the native model-selection cases, not yet run. |
| apps/web/src/onboarding/projectImport.logic.test.ts | Keep native discovery separate from retired harness import | Native histories remain canonical files rather than imported SQL conversations | Upstream scan grouping/retry tests belong to the removed import path | Removed tests for retired AgentSessionProjectCandidate scanning and SQL history import. The new upstream WelcomePage still needs its foreign onboarding/import sections cut over; its non-harness first-run features remain in scope. |
| apps/web/src/onboarding/projectImport.logic.ts | Remove the retired history-import model | Discover and open native sessions through NeoPi rather than recreate projects/threads from foreign harness scans | Do not preserve unused SQL-import grouping and landing helpers | Removed the old scanner-only helper module after locating its sole production consumer in the new WelcomePage. That consumer is an explicit pending native cutover, not claimed working. |
| apps/web/src/onboarding/providerReadiness.logic.test.ts | Preserve readiness for native profiles | Unknown authentication does not hide a ready NeoPi runtime; choose an actionable native profile | Keep status, disabled, missing and pending-snapshot regressions | Retained substantive native readiness/selection tests. Removed new Claude/Codex login-shell tests because those execution installers are retired, not repurposed as NeoPi authentication. No tests run. |
| apps/web/src/onboarding/providerReadiness.logic.ts | Keep NeoPi-only readiness in first-run setup | Prefer usable native profiles without treating unknown native auth as failure | Retain current generic status classification | Removed foreign installer/login command generation; kept native profile selection. WelcomePage's new imports of those retired helpers remain explicitly due for native onboarding reconciliation. |
| apps/web/src/onboarding/targetEnvironment.logic.test.ts | Keep current explicit connection and credential target safety | Preserve NeoProxy destination choice, stale-target refusal and relay/direct/SSH distinction | Adopt the new multiselect wizard's connected-ID readiness rather than test an unused old mode resolver | Retained live helper regressions; removed tests and fixtures for resolveOnboardingTargetEnvironment after confirming it has no production caller. Exact paired-ID gating now lives in WelcomeWizard's selected-ID readiness and needs integrated UI proof. |
| apps/web/src/onboarding/targetEnvironment.logic.ts | Preserve only the current onboarding target seam | Credential destinations remain explicit when several computers are selected | Remove the obsolete single-mode target resolver | Kept relay classification and NeoProxy target selection; dropped the unused mode/primary fallback API and its private environment shape. No connection or credential mutation performed. |
| apps/web/src/onboarding/useProjectScans.ts | Remove retired harness scanning from onboarding | Native session discovery must use canonical NeoPi session observations | Do not revive the removed agentSessionScan API | Removed the obsolete scan hook. Its newly added upstream WelcomePage and import-test consumers are recorded for native cutover before verification. |
| apps/web/src/openVsxThemes.test.ts | Keep theme discovery owned by NeoPi | Local graphical snapshots are opt-in; no competing marketplace catalog | Package-download regression tests belong to the removed catalog | Removed catalog-only tests after confirming production import/search callers are already gone. No test executed. |
| apps/web/src/openVsxThemes.ts | Remove the competing graphical theme marketplace | NeoPi owns native theme discovery; explicit local palettes remain | Do not retain unused VSIX search/download/package parsing machinery | Deleted the isolated catalog module after checking all exported symbols and references. This does not remove the local graphical palette/editor or native snapshot import. |
| apps/web/src/previewMiniPlayerStore.ts | Keep native mini-player identity while adopting anchored resize | Browser/device drag and resize remain keyed by canonical environment/profile/session, with stale-source guards | Resize may atomically update the player's position as well as width | Combined the current optional-position resize signature with WorkspaceRef; kept the already merged position update and source-identity checks. No UI or test run. |
| apps/web/src/previewStateStore.ts | Reconcile native preview lifetime with upstream global observers and popup timing | Workspace refs and resource checks remain canonical; live sessions and pending-close receipts pin state, idle metadata expires | Keep active-session reads, indexed cross-store observation, delayed popup lookup and explicit deletion cleanup | Combined the observer index with native refs; index entries exist through writes and while active, then remove themselves so observers release idle atoms. Kept server revision/epoch reconciliation and native filtering. No runtime or tests run. |
| apps/web/src/browserHistoryStore.ts, components/preview/{agentOpenedPreviews,showPreviewPopup}.ts | Release global preview watchers and preserve native popup/surface routing | Browser history and floating/panel surfaces use full WorkspaceRef identity, never a parsed SQL surrogate | Keep background reveals, delayed popup opens and final-close surface reconciliation | Observers unsubscribe when their indexed workspace is removed; surface observers reconcile the final state before releasing it. Ported browser reveal/popup paths to native refs. Device snapshot canonical references remain pending with the device contract/server migration. |
| apps/web/src/previewStateStore.test.ts | Guard idle release with the real history observer present | Background native sessions and close tombstones remain pinned; inactive workspaces and their observer index do not accumulate | Extend current lifetime tests rather than test subscription wiring | The existing idle and live-to-closed regressions now start the actual title recorder and assert state eviction plus index release. Added its missing rememberPreviewUrl import. No tests run. |
| apps/web/src/providerInstances.test.ts | Preserve NeoPi-only admission with current per-environment presentation | Explicit native selections, unavailable catalogs, legacy history and ready fallback remain distinct | Keep prototype-key safety, environment-local branding, project-visible siblings and stored-choice regressions | Combined native selection tests with current presentation tests; removed duplicate foreign-execution selection cases, fixed the missing visibility import and obsolete doubled terminators, and made the no-catalog expectation native. No tests run. |
| apps/web/src/providerInstances.ts | Keep current scoped instance settings without restoring retired execution | Only NeoPi is picker-visible/selectable; native instances sort first and preserve explicit saved choices | Retain project-aware defaults, per-environment presentation and historical registry branding | Combined current settings/presentation helpers with native ordering/admission. Historical icon metadata is display-only. The contracts' default enablement set still needs its native cutover in the ordered queue. No runtime verification. |
| apps/web/src/modelSelection.test.ts | Supply real configured native profiles for scoped-default regressions | Custom profiles require explicit configuration and cannot borrow the default profile's enablement | Preserve mixed-settings and project override comparison tests | Filled the work/personal profile settings in the new regression fixture after reading authoritative enablement precedence. Tests remain unrun. |
| apps/web/src/providerModels.ts, providerModels.test.ts, providerInstances.ts | Keep native model capabilities authoritative | Do not manufacture a fixed model when a native catalog is empty or strip native options named plan | Retain declared aliases and exact custom-slug precedence | Removed the retired OpenCode plan-option filter and its flag. Native default helpers now return no model instead of borrowing the old fixed Codex default; the existing unavailable-runtime regression covers the string-returning helper. No tests run. |
| apps/web/src/queuedMessageStore.test.ts, queuedMessageStore.ts | Remove the retired client-side V1 dispatch queue after upstream moves queueing into orchestration | Native prompts remain in NeoPi's authoritative queue; no competing local sends or fabricated model settings | Preserve upstream V2 queued-run controls and native promote/withdraw behavior separately | Read both complete files and all imports. Only native view types remained outside dead store tests. Deleted the store/tests; native projection now owns its inferred presentation type without dummy dispatch settings. |
| apps/web/src/components/neopi/{nativeTimeline.ts,NativeTimelineView.tsx,NativeQueuedMessages.tsx} | Preserve native queued prompt visibility across the upstream timeline footer API | Promote only follow-up prompts, keep in-flight prompts non-withdrawable, and retain atomic restore through existing native handlers | Use the existing timeline footer and current queue presentation pattern; retain long-queue expansion | Added a native-only read-only footer backed by the observed queue, with existing Send now and withdraw handlers. The larger native timeline V2 projection/API migration remains pending. No UI, tests or typecheck run. |
| apps/web/src/rightPanelStore.test.ts, rightPanelStore.ts | Keep native workspace tabs while adopting upstream panel behavior | Canonical native profile/file/environment keys must be used for every operation; legacy keys and native Agents/tree/jobs tabs survive reload | Retain hosted side-chat routing, proactive diff receipts, maximize/visibility state, breadcrumbs, close history, hidden browser tabs and drag order | Combined all surfaces and widened new upstream paths to WorkspaceRef/workspaceKey; preserved bounded reorder without duplicate methods. Migration drops legacy Agents but retains native Agents. Native persistence case now covers panel preferences and exact-identity close/reopen. No checks run. |
| apps/web/src/closedViewStore.ts, closedViewStore.test.ts, components/ReopenClosedViewShortcut.tsx | Extend upstream closed-view recovery to native sessions | Never interpret a native key as a SQL thread; preserve profile identity and private-browser non-persistence | Keep bounded history, validation, duplicate collapse, native panel recovery and legacy navigation | Closed views accept canonical native targets and validate both shapes. Native restoration goes through the existing native opener rather than SQL shell lookup. Existing migration regression includes two native profiles sharing a file. No runtime/UI verification. |
| apps/web/src/routeTree.gen.ts | Keep the generated route tree derived from final route files | Native Models/NeoCore routes and current upstream route additions must coexist | Regenerate once route conflicts are resolved under admitted tooling | Inspected its 19 conflict locations. Deferred generation until route source reconciliation; not staged or counted resolved. |
| apps/web/src/routes/__root.tsx | Adopt upstream app-lifetime services and stable toast ownership without SQL bootstrap navigation | Native session selection owns root navigation; failed-send recovery remains mounted outside composer routes | Retain hosted links, guest/onboarding branches, dialogs, telemetry and project grouping | Moved to upstream stable root/branch shape; startup appearance, keyboard notices and notifications already live in appInit. Removed dead local duplicates and retired queued sender. Bootstrap welcome expands its project but never opens a SQL conversation. Recovery still requires actual V2 acceptance proofs. No checks run. |
| apps/web/src/routes/_chat.index.tsx | Keep the native workspace as the root entry instead of creating a SQL draft | Empty native workspace remains explicitly creatable without a project; hosted clients wait for connection discovery | Preserve hosted empty-state gate and native start pending/error handling | Removed the unused alternate hosted onboarding view and upstream SQL auto-draft landing; existing NativeSessionStart owns explicit creation and error feedback. Project chooser/scratch/triage native entry parity remains in the global integration audit. |
| apps/web/src/routes/_chat.pull-requests.tsx, components/pullRequest/PullRequestsPage.tsx | Follow upstream's extracted page rather than retaining a second obsolete route implementation | Preserve fork repository/environment scope narrowing, branding and persisted panel order | Keep upstream query, host filtering, detail-tab, panel maximize and route-search validation improvements | Read the base-to-fork route diff: its only behavioral deltas were rowScopeFilters, branding and reorder. Current extracted page already applies rowScopeFilters to carried/current/partition rows and uses the new string-ID move callback. Moved the NeoCode diagnostic there and deleted the duplicate old page. No runtime verification. |
| apps/web/src/routes/_chat.settings.providers.tsx | Retain saved provider-settings links while moving execution/model configuration into native owners | Redirect to native Models with the selected environment/profile; never mount retired provider installers | Adopt upstream's layout-relative route identity | Kept search validation and the native Models redirect at the renamed _chat route. NeoCore launch configuration remains on its own existing route. |
| apps/web/src/routes/_chat.tsx, routes/_chat.index.tsx, components/neopi/NativeSessionWorkspace.tsx | Adopt upstream modal/background workspace ownership without dropping native sessions | The native root workspace stays mounted, hidden and inert while an in-layout settings page is open; native creation stays explicit | Keep legacy draft promotion, thread-link prompts and find retention, and avoid duplicate global shortcut listeners now owned by appInit | Added the native root to the existing background-target model and moved root rendering into the layout. The index is now a route marker; hosted connection gates remain in the layout. Full-screen Models/NeoCore routes still require relocation into this layout in the global route audit. No UI verification. |
| apps/web/src/routes/welcome.tsx, components/onboarding/{WelcomeWizard,WelcomePage,WelcomePage.browser.test}.tsx, onboarding/{welcomePage.logic,welcomePage.logic.test,welcomeState}.ts | Keep native connection, credential destination and profile setup while adopting upstream onboarding completion and non-harness extras | NeoPi remains the only harness; no foreign installer, history scan, SQL import or automatic SQL thread. A known resume hash selects that computer. | Preserve optional phone/tunnel reachability, desktop CLI PATH setup, managed-policy visibility, completion persistence failures and navigation ownership | The existing native wizard now embeds the upstream extras, awaits persisted completion and navigation, suppresses stale callbacks and blocks navigation during saves. Removed retired import state and installer logic; preserved and extended actual phone reachability/identity and policy regressions. Tests and UI not run. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 11/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44824 bytes; SHA-256 79249197c731dcab23461755fb10a5958409124af78ef8d0c5638a6b155c63c7.

| apps/web/src/routes/{_chat.models,_chat.settings.neocore,_chat.settings}.tsx, components/sidebar/{mainAppLocation,mainAppLocation.browser.test}.tsx | Bring fork-owned configuration routes under upstream's persistent chat layout | Models and NeoCore must not tear down the active native workspace; NeoCore respects the selected machine and stays single-environment | Retain modal return navigation and settings-scope middleware, including historical environmentId links normalized by the parent | Reparented both routes without changing public URLs; Models is now tracked as a modal destination, NeoCore inherits the actual settings scope rather than an absent parent, and the existing return-location case now covers closing Models. Route generation and browser proof remain pending. |
| apps/web/src/rpc/requestLatencyState.test.ts | Adopt upstream's removal of its obsolete private test API | No native wire method or runtime latency policy is changed here | The current tracker no longer exports resets, snapshots or threshold constants used only by this old test | Removed the modify/delete leftover rather than restoring test-only runtime exports. Runtime latency verification remains pending. |
| apps/web/src/session-logic.ts, session-logic.command-output.test.ts | Use actual V2 projected turn items and retain provider intent | Native rows keep the provider-owned intent field; native adapter/projection must feed it through V2, not revive old activities | Adopt V2 run identity, projected items, structured payloads, status and tool surfaces | Removed the obsolete deriveWorkLogEntries activity tests; existing V2 timeline tests and shared presentation coverage remain. V2 expanded-output proof is still due. |
| apps/web/src/state/agentSessions.ts, state/usage.ts | Remove retired import RPC client and duplicate local usage ledger | Native session discovery and hosted NeoPi stats stay authoritative | No current clients import either removed module after the onboarding cutover | Full web import search found no remaining consumers. Retained shared quota access and refresh helpers; removed only the dead web modules. |
| apps/web/src/state/terminalSessions.ts, state/terminalSessions.test.ts | Combine upstream per-terminal atoms and permission-aware read-only observation with native workspace namespaces | Native resource IDs remain opaque strings, separately keyed by environment, not SQL thread records | Preserve metadata group identity, per-thread notification isolation, launch-keyed attach buffers and permission gates | Kept both native namespace and stable numeric-order regressions alongside upstream atom tests; keyed metadata accepts native namespaces. Tests not run. |
| apps/web/src/terminalUiStateStore.ts, terminalUiStateStore.test.ts | Preserve native workspace layout identity and upstream terminal transitions | Native layouts survive SQL-only cleanup; restored panel groups keep direction, active pane and unrelated close tombstones | Keep upstream close-neighbor, split-cap, persistence and reconciliation behavior | Read the full merged store. Kept WorkspaceRef keys and functional native/panel-return tests; removed the obsolete literal-empty-default test. No execution. |
| apps/web/src/versionSkew.test.ts | Keep branded diagnostics independent of product text | Test fixture supplies APP_BASE_NAME without asserting its literal wording | Preserve version direction, update-failure identity, dismissal and installation-prefix tests | Resolved only the branding mock; fork nightly/release command parity remains in the release audit. No tests run. |
| apps/web/src/themePalette.ts, themePalette.test.ts | Merge native semantic theme support with upstream live preview and context-chip colors | Preserve Neo graphical defaults, opt-in local native snapshots and readable destructive solid fills | Retain preview appearance notifications, sidebar artwork eligibility, search colors and dynamically derived context-chip colors | Combined independent derived-color writes and preview lifecycle state. Kept native/solid-fill/storage regressions, added upstream search-color coverage, and removed literal palette pins in favor of all-built-in contrast invariants. No tests or visual checks run. |
| docs/README.md, docs/internals/{connection-runtime,devices,model-manifest,providers}.md, docs/operations/development.md | Reconcile upstream runtime and build guidance with the native-only fork | Keep native feed/cache/owner boundaries, bounded AVCC decoding and isolated desktop diagnostics; remove retired manifest and execution-provider links | Preserve shell-family omission/replay rules, prepared server bytecode and generic request/checkpoint/diagnostic constraints | Updated documentation links and native terminology without treating pending runtime proofs as executed. Event logger filtering/bounds source checked; device subagent propagation remains owned by the native runtime. Provider adapter implementation/proofs are still pending elsewhere. |
| docs/user/{appearance,composer,keybindings,permission-modes}.md | Reconcile native instructions with upstream editor, voice and shortcut additions | Preserve opt-in local palette snapshots, native commands, failed-draft recovery, queue withdrawal, native permissions, dictation and Agent Hub keys | Keep rich-text editing, environment/mobile voice, generic effort controls and expanded key contexts | Removed retired CLI setup, foreign-only goals/prompt prediction and Codex custom-model example; retained native authoritative command descriptions. Combined additive shortcut contexts; no tests or UI checks run. |
| docs/user/{install,project-settings}.md | Reconcile fork installation and native settings with upstream operations | Preserve fork assets/unsupported-platform boundaries, NeoPi discovery and ownership, secret-preserving NeoCore setup, native history and scoped actions | Keep CLI task reference, installed-command PATH setup, WSL, managed policy, worktree location, fast checkout, cleanup and project organization | Removed upstream-only package/store installation and retired harness setup instructions; settings labels follow current search routes. Preserved all native session guidance. No commands from documentation were executed. |
| docs/user/providers-{antigravity,claude,codex,opencode}.md | Complete retired execution-guide cutover | Delete obsolete installation/authentication pages for removed execution adapters; keep inference-provider configuration in native Roles guidance | None: upstream pages exclusively document retired harness execution | Reviewed each page's setup and runtime ownership before removal. Broader newly added provider-guide/link closure remains pending. |
| docs/user/{remote-access,thread-sidebar,usage,welcome-wizard}.md | Preserve native sessions while bringing current client workflows forward | Keep encrypted-catalog recovery, stable native selection, attention/idle semantics, hosted native stats and native onboarding | Retain multiroute/revocation guidance, no-project/background workflows, quota pooling/hubs/widgets and optional phone/CLI setup | Removed Antigravity callback and foreign quota discovery instructions; kept supported account reset actions conditional. Native APIs and new upstream workspace workflows still require integration proofs; docs are not verification. |
| evals/thread-titles/{run.ts,README.md}, evals/package.json | Run title comparisons through the retained native generator | Replace deleted Codex generator/settings with real NeoPi RPC construction and profile/model selection | Preserve fixtures, linked-context digests, blind comparisons, latency and baseline checks; allow one-case preflight | Native generator interface itself remains queued for V2 parity. Added declared RPC dependency, no eval run or inference requested. |
| package.json, knip.jsonc, apps/server/scripts/{probe-claude-fork-local-rollback-replay,verify-background-live}.ts | Align upstream check tasks and script entries with retained packages | Include native RPC and exclude retired execution SDK/provider packages and Claude replay probe | Keep split file/export check tasks, generic/core/testing packages, secret providers and every source-control provider; retain live-background verifier with explicit native model | Verified task dependency names in vite.config.ts and check-changed.ts, not execution. Removed stale server measure-pr-preview entry (now source-control-github-owned). Background live script's full native protocol proof still pending; none run. |
| packages/client-runtime/package.json, src/{modelSearch,connection/compatibility,connection/compatibility.test,mediaSource,mediaSource.test,device/stream.test}.ts | Preserve native shared client contracts with upstream APIs | Keep all native exports, canonical media authority, AVCC memory bounds and generation guards; drop unreferenced retired provider package dependencies | Keep generic model mention search, new ZIP/handoff exports, self-update admission by capability, audio classification and Android WebRTC tests | Verified no foreign package imports remain in client runtime. Restored complete AVCC retry/JPEG/stall cases from HEAD and adapted stall expectation to upstream reconnect behavior. Existing compatibility tests cover both version directions and update capabilities; removed wording pin. No tests run. |
| packages/client-runtime/src/{platform/persistence.test,rpc/client,state/environmentHttpAuth}.ts | Reconcile shared V2 transports without dropping native streams | Keep native configuration/journal/model/auth subscriptions and exact post-refresh signed URL delivery for hosted stats | Keep V2 subscriptions, classified retries, guarded commands and credentialed request-init/redirect support | Removed old V1 encoder test after verifying the owner now holds service contracts and V2 shellCacheEncoding.test covers serialization. Combined HTTP request-init with the canonical resolved URL. Existing DPoP/permission tests remain; no tests run. |
| packages/client-runtime/src/state/pullRequestDiffHttp.test.ts | Preserve typed rejected-session recovery across V2 HTTP refactor | Keep credentialed remote endpoint and original repository/number/trace attribution assertions | Retain current generic HTTP client and token-renewal ownership | Owner still emits the same typed recovery error; removed literal message assertion, with no test execution. |
| packages/client-runtime/src/state/review.ts | Combine native authority with V2 progressive and revisioned review | Keep canonical native session refs in preview, patch and content requests; publish native answers to existing mobile cache | Keep tracked-first partial previews, complete-preview reuse, patch concurrency and reactive revision invalidation | Both preview families now have the same progressive behavior and answer hooks; one discriminated revision family isolates environment/native-ref/workspace inputs. Native lazy callers already pass preview refs. Native branch-commit RPC and final runtime regressions remain pending; no tests run. |
| packages/client-runtime/src/state/server.ts, src/rpc/client.ts | Keep generic server state and native authority without retired execution setup | Retain local-only graphical themes, inference usage/reset-credit hub controls and native model authentication ownership | Keep reconnect-aware self-update, storage diagnostics, scheduled tasks, secrets, telemetry and provider snapshot coalescing | Removed foreign provider install/auth and ACP registry actions. ChatGPT handoff consumers are exclusively CodexSetupSection and no corresponding ws handler remains, so the previously retained stream tag is also removed; native inference auth remains in its owner. No checks run; global retired UI closure remains pending. |
| packages/client-runtime/src/state/sharedSettings.test.ts | Preserve atomic project override isolation with current shared-settings API | Keep environment-local project patches and use native instance fixtures; retain a legacy-driver mismatch as the rejection case | Keep destination availability and source-only reset coverage | Removed tests for retired shared-settings exports and obsolete capability/key inventories rather than reviving them; preserved project isolation and current filter behavior. No tests run. |
| packages/client-runtime/src/state/terminalSession{,.test}.ts | Distinguish subscriber resync from PTY lifecycle changes | Preserve explicit authoritative resync without advancing attachment generation or restart lifecycle, including closed terminals and native resource namespaces | Keep shared PTY geometry, reconnect generation changes, bounded Unicode/BOM output and cursor compaction | Combined switch branches and preserved upstream coverage instead of restoring duplicate old lifecycle tests. Resync regression also covers geometry changes and unchanged generation; no tests run. |
| packages/client-runtime/src/state/threadCommands.ts | Keep V2 thread operations without retired feedback execution | Preserve native-only execution policy; native session controls remain in their own module | Keep side-chat/run forks, merge-back, queue controls, history loading, pending-work repair and optimistic lifecycle | Retained all generic V2 commands, removed only retired provider feedback command. Central legacy execution guard and native feature parity remain integration requirements; no tests run. |
| packages/client-runtime/src/state/threadFeedback{,.test}.ts | Remove retired Codex feedback path | NeoPi owns native commands; do not recreate Codex uploads or artificial SQL feedback messages | No independent upstream behavior outside retired feedback | Confirmed no live consumer imports remain; removed implementation and exclusive tests. |
| packages/client-runtime/src/state/threads{,-sync.test}.ts | Port serialized cache deletion to the current V2 projection lifecycle | Share the persistence lock across overlapping thread owners; delete only after in-flight writes, reject obsolete or deleted-owner saves | Keep bounded/progressive snapshot repair, pending-question recovery, history paging and resumable subscriptions | Removed obsolete V1 paging declarations, retained upstream queued/saved snapshot tracking and ported three deletion races to real V2 fixtures. Extended upstream queued-save coverage instead of duplicating it; replaced foreground polling with subscription receipt. No tests run. |
| packages/client-runtime/src/state/usage{,.test}.ts | Keep inference quota refresh without duplicating native accounting | Preserve cross-client quota single-flight and automatic cooldown; native stats remains authoritative | Keep manual callers joining in-flight checks and retry cooldown after success or failure | Confirmed no production consumers of local summary refresh/model-filter helper remain, removed dead accounting refresh and its tests. Retained quota concurrency and fake-clock boundary coverage; no tests run. |
| packages/client-runtime/src/work-log/presentation{,.test}.ts | Combine native media authority with structured V2 work-log rows | Retain native session-scoped image resolution and native raw command extraction while the mapper ports to V2 | Keep structured status/output failure precedence, tool visibility and shared source-control classification | Removed unused command-echo compatibility helper and old label/count-copy tests; kept raw-output precedence and native/legacy media boundary regressions, adapting item names and required fields to V2. Native mapper end-to-end port remains pending; no tests run. |
| packages/contracts/src/assets.ts, apps/server/src/assets/AssetAccess.ts | Retain native asset identities alongside new download and revision semantics | Resolve native media through canonical session cwd and keep native workspace namespaces; no client-supplied root | Keep attachment download intent, exact open-file identity and stable revision metadata | Native media now accepts the same download disposition and returns fileRevision; passes the authoritative workspace root to the existing network-path guard. No tests run; focused asset suite remains required. |
| packages/contracts/src/device.ts, apps/server/src/ws.ts, apps/web/src/components/device/DevicePanel.tsx, apps/server/src/mcp/toolkits/device/handlers.ts | Carry native device workspace authority across the client boundary | Send canonical native refs separately from irreversible resource hashes; resolve cwd without starting a native session, reject mismatched/missing native identity | Keep cloud EAS/Simlock settings, shared device namespaces, ordinary SQL workspace lookup and host boot behavior | Web open and trusted native MCP open include nativeRef. WS validates the canonical resolved ref against the resource id before opening. Mobile exposes existing device sessions but has no open-command caller. Runtime and authorization regression proof remains pending; no tests run. |
| packages/contracts/src/environment.ts | Preserve both project override capability boundaries | Retain atomic key-wise set/clear support | Retain per-project provider override support and all V2 capabilities | Confirmed ServerEnvironment advertises both capabilities. No checks run. |
| packages/contracts/src/ipc.ts | Retain typed desktop catalog recovery boundary | Preserve unreadable-catalog recovery result and explicit clearing without overwriting saved credentials | Keep current multiwindow, snapshots, locale and desktop IPC surface | Kept the fork's optional recovery-aware methods rather than reverting to an untyped string result. Earlier desktop and connection storage resolutions own the implementations; no checks run. |
| packages/contracts/src/keybindings.ts | Union native shortcuts with current upstream navigation | Preserve native agent panel/hub, role/thinking and transcript controls; no duplicate local usage dashboard shortcuts | Keep reopen-closed, projectless new task, find, effort increment/decrement and context-targeted editor action | Kept editor.openFavorite after verifying current OpenInPicker/Shortcut consumers (not a retired execution command); generic editor versus scoped workspace-action callsites still need final parity audit. No checks run. |
| packages/contracts/src/model.ts | Preserve model capability decoding without hard-coding native inventory | Keep reasoning support independent of configurable effort and label NeoPi; omit NeoPi from legacy default-model tables | Keep current descriptor metadata, saved-option decoding and legacy provider labels/defaults for readable history | Removed unused Codex preferred-inventory constant and native fallback to an arbitrary upstream model. Native settings/text-generation automatic selection must be reconciled in their owning contracts and consumers; no checks run. |
| packages/contracts/src/orchestration{,.test}.ts, packages/contracts/src/neopiNativeSessions.ts | Complete the upstream split from V1 orchestration contracts | Keep native attachments on the current chatAttachment owner and retain readable persisted history via the V1 importer, not a second execution protocol | Keep current V2/model/attachment/checkpoint contract owners | Removed old V1 command/snapshot schema and its exclusive tests; contracts index already exports the current split owners. Only old RPC conflict imports remain and will be removed in its turn. Native session attachments now import chatAttachment directly. No checks run. |
| packages/contracts/src/preview{,.test}.ts | Combine native namespaces with current browser profiles and bounded event resync | Retain native refs in snapshots/events, add ref to opens, permit native resource IDs in browser adjustments and agent-origin metadata | Keep browser profiles, recording rates, strict probe limits and authoritative resync | Removed unused pre-automation navigate/refresh schemas and selector-message tests, kept compatibility and boundary regressions. Native open ref still needs ws/manager/MCP propagation and canonical validation before end-to-end completion. No tests run. |
| packages/contracts/src/previewAutomation.ts | Preserve native browser authority with current host availability | Keep native session refs and non-SQL resource ids in requests and diagnostics | Keep optional credential scope fields for unbound calls and server-owned browser guidance | Removed obsolete claim that headless servers have no browser. No runtime or agent eval run. |
| packages/contracts/src/preview.ts, apps/server/src/{ws,preview/Manager,preview/ServerBrowser}.ts, apps/web/src/components/preview/openPreviewSession.ts | Carry native preview identity through creation, events and popups | Canonicalize refs through native observation at the websocket boundary; manager rejects missing/mismatched native resource refs and carries identity across mutation/close/resync | Keep server-browser lifecycle, capacity and popup adoption; include native strings in existing retained-byte accounting | Web opens and native MCP browser opens forward sessionRef; server-browser popups inherit it. No execution lease is acquired for resolution. Focused lifecycle, native authority and consumer tests remain unrun. |
| packages/contracts/src/provider{,.test}.ts, packages/contracts/src/providerRuntime.ts | Use the actual V2 provider contract, not obsolete legacy adapter shapes | Keep attachment admission and shared native token/tool metadata; remove retired feedback contracts | Keep current provider send input, attachment byte limits, cost/accounting metadata and question capabilities | Removed V1 turn/event/request envelopes and old session-start tests. Native execution must use provider-core's V2 adapter contract; no compatibility aliases added. No checks run. |
| packages/contracts/src/providerSetup{,.test}.ts | Retire foreign harness setup and credential transfer protocol | Keep the generic client-safe setup error used by retained inference maintenance; native authentication remains NeoPi-owned | No independent feature outside removed harness setup | Removed auth/install states, Codex ChatGPT handoff payloads and their exclusive test. Native login contracts remain in neopiModels. No checks run. |
| packages/contracts/src/pullRequest.ts | Take current host-owned requirements and repository grouping | Preserve fork's origin-first repository selection and neutral diagnostics | Keep upstream author resolution, host-safe error schema and current provider service paths | Removed the obsolete unreferenced host helper and static requirement map; current consumers no longer call either. No checks run. |
| packages/contracts/src/rpc.ts | Merge current V2 RPC ownership with native operations | Keep native sessions, model/auth/configuration, journal/tree, native review, atomic file save and inference quota reset | Keep scratch/new-project mutations, filesystem metadata, MCP Apps, server release discovery, V2 command-output and prompt-suggestion streams | Remove V1 orchestration imports, retired harness auth/install/feedback and ACP registry protocols; terminal metadata/attach replaces obsolete global output stream. Native branch-commit RPC and runtime verification remain pending. |
| packages/contracts/src/server.test.ts | Retain meaningful wire-compatibility regressions on a native fixture | Keep optional native command metadata and ignoring retired installer fields | Keep absent/null/present installed-version round-trip and forward-compatible provider/window decoding | Removed default-array and direct-field copy tests instead of repinning them to incidental schema details. Tests not run. |
| packages/contracts/src/server.ts | Keep current provider compatibility and server-update contracts | Preserve native model facts, quota attribution, command origin/availability, and native session capabilities | Keep installed version presence, workspace snapshots, compatibility advisories and server release discovery | Remove retired provider updater and ACP URL-auth action contracts, not the server updater. No verification run. |
| packages/contracts/src/settings.test.ts | Reseat settings regressions on instance-map storage and atomic project edits | Preserve native executable/profile/automatic-path choices and explicit opt-outs, partial overrides and clear semantics | Keep new cleanup policies, environment secret references, provider project overrides, voice settings and model-preference migration tests | Removed obsolete V1 raw-event test, retired schema imports and stale default/copy assertions. Unknown stored overrides are retained while patches send only changed keys. Tests not run. |
| packages/contracts/src/settings.ts | Use current instance-map ownership while retaining NeoPi settings | Keep native binary/profile/launch configuration and saved choices; only NeoPi is implicitly enabled; preserve atomic per-key project override mutations | Keep new model-preference operations, cleanup policy fields, project instance overrides, fallback selection, PR links, source-control settings and voice/device controls | Removed retired execution schemas and legacy providers/patch map; existing server migration reads raw legacy providers before persistence. Idle-compaction parsing no longer depends on a retired Claude schema. Automatic text-generation selection and legacy consumers remain pending integration; no checks run. |
| packages/contracts/src/terminal.test.ts | Keep scoped attach resync coverage, remove obsolete global-stream assertions | Closed-terminal resync requires resource identity; terminal environment failures do not expose secret causes | Keep current error cause round-trip and invalid environment-key filtering | Removed unused old stream imports, obsolete exact wording and unsafe generic decoding helper. Tests not run. |
| packages/contracts/src/usage.ts | Union recorded usage source identities | Keep NeoPi identity without adding a second native ledger reader | Preserve Pi and Muse historical usage decoding alongside other historical providers | Enum compatibility does not register execution or accounting adapters. Native stats remains authoritative. No checks run. |
| packages/effect-acp/scripts/generate.ts | Remove the retired ACP SDK generator | NeoPi RPC remains the sole execution transport | No ACP execution generator is retained | The deleted SDK manifest has no supported execution owner; preserving its generator would restore the retired transport rather than upstream product behavior. |
| packages/effect-acp/src/_generated/meta.gen.ts | Remove generated ACP method metadata | Native execution stays on NeoPi RPC | Retired SDK metadata is excluded | These methods belong to the deleted ACP transport, not to the shared MCP Apps contract. The edit tool rejects generated-file deletion, so remove through Git after recording this decision. |
| packages/effect-acp/src/_generated/schema.gen.ts | Remove generated ACP protocol schemas | Native protocol schemas remain in effect-neopi-rpc | Exclude the retired execution SDK, not native or historical data | Schema generation is owned by the removed ACP generator and has no supported NeoCode execution consumer; remove through Git because generated-file deletion is blocked by edit. |
| packages/effect-acp/src/_internal/shared.ts | Remove retired ACP request and notification helpers | NeoPi owns execution and transport error mapping | No execution-only ACP internals retained | These helpers depend directly on removed ACP schemas/errors; shared native or history utilities are not affected. |
| packages/effect-acp/src/_internal/stdio.test.ts | Remove tests for the retired ACP child transport | Native transport remains independently owned and tested | No retired transport tests retained | This test exercises only makeTerminationError in the deleted SDK, not NeoCode terminal lifetime behavior. |
| packages/effect-acp/src/_internal/stdio.ts | Remove ACP-specific child-process transport | Native subprocess ownership stays with NeoPi | Exclude retired transport helpers | This module exclusively constructs ACP stdio and ACP termination errors; it is not the shared PTY implementation. |
| packages/effect-acp/src/agent.test.ts | Remove retired ACP server protocol tests | Keep NeoPi's independent runtime coverage | No retired SDK agent retained | The suite drives ACP initialize, permission, session and extension handlers from the removed package, not product-facing orchestration. |
| packages/effect-acp/src/agent.ts | Remove the ACP agent-side execution transport | Native execution remains NeoPi-only | Exclude retired ACP session/authentication handlers | This is an ACP SDK service, including ACP-specific MCP forwarding; it is not NeoCode's native host-tool bridge or shared MCP Apps runtime. |
| packages/effect-acp/src/client.test.ts | Remove retired ACP client tests | Retain native RPC and history coverage in their owners | ACP v1/v2 execution compatibility is intentionally excluded | The suite depends on the removed ACP client, generated schemas and mock peer; it does not test SDK-free historical decoding. |
| packages/effect-acp/src/client.ts | Remove retired ACP client service | NeoPi RPC owns execution and continuation | Exclude ACP v1/v2 execution compatibility | This service creates/authenticates/resumes ACP sessions; restoring it would violate the native-only cutover. |
| packages/effect-acp/src/errors.test.ts | Remove retired ACP error tests | Native transport keeps its own typed error boundary | No ACP SDK error machinery retained | These cases exercise deleted ACP error classes and protocol helpers, not a shared product error contract. |
| packages/effect-acp/src/errors.ts | Remove ACP-specific transport/protocol errors | Keep native transport errors at the NeoPi boundary | Exclude retired SDK dependencies | These errors depend on generated ACP schemas; retaining them would preserve an unsupported execution transport. |
| packages/effect-acp/src/protocol.test.ts | Remove retired ACP wire-protocol tests | Native RPC protocol tests remain in their own package | No foreign execution protocol is restored | This suite exclusively tests ACP framing, notifications and subprocess transport, not native session persistence or generic terminal queues. No tests run. |
| packages/effect-acp/src/protocol.ts | Remove ACP execution wire transport | Native protocol identifiers and transport remain unchanged | Exclude retired ACP v1/v2 framing and replay | The wire implementation is wholly owned by the retired SDK; no native session or history decoder depends on its protocol. |
| packages/effect-acp/src/rpc.ts | Remove ACP SDK RPC groups | Native RPC and product RPC remain separate owners | No ACP execution RPC restored | These declarations target the removed ACP transport and generated schemas, including its authentication and session lifecycle. |
| packages/effect-acp/src/schema.ts | Remove the retired ACP schema facade | Native contracts remain authoritative | Exclude compatibility aliases for retired execution | Every export points to the removed generated ACP schema or method metadata. |
| packages/effect-acp/test/fixtures/acp-mock-peer.ts | Remove retired ACP test peer | Native test peers remain with the native runtime | No obsolete ACP execution fixture retained | Its only runtime owner is the removed ACP agent SDK and its protocol tests. |
| packages/effect-codex-app-server/package.json | Remove retired Codex app-server SDK manifest | NeoPi remains the sole execution harness | Exclude the foreign runtime SDK package | Its exports cover Codex execution transport, replay and generated RPC schemas, not historical transcript decoding. |
| packages/effect-codex-app-server/scripts/generate.ts | Remove Codex app-server code generation | Native schema generation remains owned by NeoPi | Exclude retired runtime code generator | The generator fetches OpenAI Codex app-server protocol schemas for the deleted SDK; inference-provider support is unaffected. |
| packages/effect-codex-app-server/src/_generated/meta.gen.ts | Remove generated Codex RPC metadata | Preserve NeoPi's own native RPC surface | Exclude retired Codex execution methods | This generated method table belongs to the removed Codex SDK generator; use Git deletion because edit rejects generated files. |
| packages/effect-codex-app-server/src/_generated/namespaces.gen.ts | Remove generated Codex version namespaces | Keep native contracts in effect-neopi-rpc | Exclude retired execution schema aliases | The namespace aliases depend exclusively on the removed Codex generated schema; use Git for generated-file deletion. |
| packages/effect-codex-app-server/src/_generated/schema.gen.ts | Remove generated Codex app-server protocol schemas | Keep native schema ownership in NeoPi | Exclude the retired SDK's generated wire definitions | These generated execution/authentication schemas are not the SDK-free historical JSON decoder; use Git deletion for the generated file. |
| packages/effect-codex-app-server/src/_internal/shared.test.ts | Remove tests for retired Codex RPC helpers | Native errors retain their own coverage | Exclude deleted SDK helper tests | The assertions target Codex-specific request errors and thread/start payloads, not product RPC or history decoding. |
| packages/effect-codex-app-server/src/_internal/stdio.test.ts | Remove retired Codex child transport tests | Native runtime lifetime tests remain owned by NeoPi integration | Exclude Codex execution-only tests | This suite constructs the deleted Codex protocol and errors; it is not coverage for the shared terminal manager. |
| packages/effect-codex-app-server/src/_internal/stdio.ts | Remove retired Codex stdio adapter | Keep NeoPi runtime ownership and shared terminal behavior | No Codex subprocess adapter retained | The adapter and stderr diagnostics return Codex SDK errors and belong to the deleted transport package. |
| packages/effect-codex-app-server/src/client.test.ts | Remove retired Codex SDK client tests | Native client tests remain at the NeoPi RPC boundary | Exclude foreign execution test fixtures | These cases start a Codex mock peer and exercise its account, skill and session RPCs, not the retained inference usage reader. |
| packages/effect-codex-app-server/src/client.ts | Remove retired Codex execution client | Native execution stays on NeoPi RPC | Exclude foreign app-server requests and handlers | This client implements the removed SDK's live runtime protocol, not historical data access or inference-provider metadata. |
| packages/effect-codex-app-server/src/errors.ts | Remove retired Codex transport errors | Native failures retain their own typed errors | Exclude foreign SDK diagnostic machinery | These errors exclusively describe Codex app-server requests, process exits and wire parsing. |
| packages/effect-codex-app-server/src/protocol.test.ts | Remove retired Codex wire tests | Native protocol coverage remains independently required | Exclude obsolete execution transport tests | The suite tests Codex-specific framing and request routing, not native session or transcript compatibility. |
| packages/effect-codex-app-server/src/protocol.ts | Remove retired Codex app-server wire implementation | NeoPi owns execution transport and notifications | No Codex runtime protocol restored | This implementation handles live Codex requests and process termination; SDK-free legacy history remains outside the removed package. |
| packages/effect-codex-app-server/src/schema.test.ts | Remove retired Codex wire-schema tests | Keep SDK-free historical decoder coverage in its actual owner | Exclude obsolete app-server schema assertions | These tests decode live Codex RPC response/notification shapes through the deleted generated schema, not saved legacy transcript JSON. |
| packages/effect-codex-app-server/src/schema.ts | Remove retired Codex schema facade | Native contracts remain with NeoPi | Exclude generated Codex execution re-exports | Its exports and goal constant exist only for the removed Codex wire SDK. |
| packages/effect-codex-app-server/test/examples/codex-app-server-probe.ts | Remove executable Codex app-server probe | Native execution discovery remains NeoPi-owned | No retired harness launcher retained | The example directly spawns codex app-server and calls its execution SDK; it is outside supported execution. |
| packages/effect-neopi-rpc/package.json | Keep native package exports and adopt current checker/test invocation | Preserve client, shutdown, schema, chunk frame, errors and native mock peer exports | Use effect-tsgo and root Vitest config with package directory selection | Git paired this native manifest with the retired ACP manifest; ACP compat/rpc/protocol/schema-v1 exports and generator have no native implementation and are not transplanted. Native Effect API migration remains pending. |
| packages/provider-acp/src/server/stderr.test.ts | Remove retired ACP runtime stderr tests | Native diagnostics keep their independent sanitization | Exclude unused ACP execution tests | A consumer search finds only AcpSessionRuntime, its stderr helper and this test; no native or shared product caller uses this helper. |
| packages/provider-acp/src/server/stderr.ts | Remove ACP-only stderr helper | Native diagnostics remain owned by native runtime | Exclude helper used solely by retired AcpSessionRuntime | Call-site evidence ties this sanitizer and tail buffer only to the retired ACP runtime; no generic logging or history path is removed. |
| packages/provider-core/src/server/NeoPiAdapter.ts | Move the native adapter contract to its fork-owned provider directory and use the real V2 service contract | Preserve native observation, journal, configuration, model connection and usage APIs | Adopt ProviderAdapterV2 service requirements instead of the removed V1 ProviderAdapterShape | Shared provider-core cannot import application-native owners. Consumers now use the native contract; the actual implementation and driver must still be ported and proven before delivery. No compatibility shim or cast added. |
| packages/provider-core/src/server/auth.ts | Remove retired harness-auth controller | Native provider-account authentication stays in NeoPi Models RPC | Exclude Codex profile transfer and ACP-style sign-in controllers | Remove the corresponding ProviderInstance auth/ACP-management fields and the registry's foreign credential wrapper; native admission remains authoritative. Remaining retired ProviderAuthService and flow consumers are pending import-closure cleanup. |
| packages/provider-core/src/server/managedProvider.test.ts | Preserve fork snapshot/interval regressions on the upstream ProviderHost owner | Keep zero-interval disabling, manual refresh, live interval changes and stale-enrichment protection | Keep coalesced usage refresh/cancellation, account-isolated usage retention, failed-settings recovery and sparse-window recovery | Removed retired maintenance plumbing; replaced yieldNow scheduling with pre-acquired subscriptions, immediate child subscriptions and Deferred milestones. Tests have not run. |
| packages/provider-core/src/server/managedProvider.ts | Keep shared snapshot implementation without retired executable maintenance | Preserve interval controls, enrichment generations and native quota refresh | Keep upstream queued refresh ownership, settings recovery and account-isolated limits | Remove resolveMaintenance input/type/refresh preflight; refresh runs the real snapshot probe. NeoPi driver now imports this owner and declares ProviderHost dependency. Registry maintenance consumers remain pending the closure pass. |
| packages/provider-core/src/server/providerAuthFlow.test.ts | Remove tests for the retired harness-auth state machine | Native Models RPC remains responsible for inference-account authentication | No independent GUI-owned harness login flow retained | These tests target ProviderAuthController and removed setup contracts, not environment authorization or native account RPC. |
| packages/provider-core/src/server/providerAuthFlow.ts | Remove retired provider sign-in state machine | Native inference-account operations remain delegated to NeoPi | Exclude foreign credential/session coordination | This implementation serves removed ProviderAuthController contracts; environment auth and native Models account flows are separate and retained. |
| packages/provider-core/src/server/snapshotProbe.ts | Adopt upstream shared probe ownership and native-neutral process helpers | Preserve native model capabilities, versions, scoped CLI probes and bounded stream collection | Use HostProcess platform detection and shared collector instead of app-local imports | Keep localized Windows command-not-found handling; drop unused retired maintenance import. Update the native catalog test to the shared owner. Verification not run. |
| packages/provider-core/src/server/snapshotSettings.ts | Remove retired executable-update settings projection | Native settings remain instance-scoped and authoritative | No foreign update-check wrapper retained | Only retired execution drivers consume this wrapper. Remove its package export alongside the already-deleted auth and providerAuthFlow exports; preserve shared snapshot/probe and core runtime exports. |
| packages/provider-cursor/src/server/skills.ts | Remove retired Cursor skill discovery and prompt rewriting | Native skills stay sourced from NeoPi | Exclude foreign execution discovery | The module scans Cursor execution skill roots and rewrites composer prompts for Cursor; neither operation is a historical decoder. |
| packages/provider-cursor/src/server/transportFailure.test.ts | Remove retired Cursor execution diagnostic tests | Native failure handling remains native-owned | No Cursor runtime error classifier retained | This test covers Cursor transport text rather than stored transcript readability. |
| packages/provider-cursor/src/server/transportFailure.ts | Remove Cursor transport classifier | Native execution does not inspect foreign runtime output | Exclude retired execution helper | Cursor-only stream failure inference has no role in retained read-only history or native execution. |
| packages/provider-cursor/src/server/usageLimits.ts | Remove retired Cursor harness usage collection | Native inference quota and SDK-free historical usage remain separate | Exclude Cursor runtime credential exchange and polling | This collector depends on Cursor execution settings and credential exchange, not a NeoPi inference-provider quota API. |
| packages/provider-grok/src/server/acpSupport.test.ts | Remove retired Grok ACP adapter tests | Native model selection remains NeoPi-owned | Exclude foreign permission/model wire tests | These assertions exercise launching Grok CLI and ACP session model changes, not inference quota or stored history. |
| packages/provider-grok/src/server/acpSupport.ts | Remove Grok ACP launch, auth and permission adapter | NeoPi owns native execution and mode selection | Exclude foreign runtime support | This module starts Grok CLI, selects ACP credentials and translates permission/model operations; it is unrelated to retained Grok inference quota/history. |
| packages/provider-grok/src/server/skills.test.ts | Remove Grok executable skill-discovery tests | Native skills remain runtime-provided | Exclude retired CLI discovery coverage | Tests invoke Grok CLI inspection and prompt mention rules, not native skills or legacy data. |
| packages/provider-grok/src/server/skills.ts | Remove Grok executable skill discovery | Keep native skill discovery and insertion in NeoPi | Exclude retired harness launch/probe path | The module invokes grok inspect and applies Grok-specific prompt syntax, both owned by the retired execution adapter. |
| packages/provider-grok/src/server/status.ts | Remove Grok execution status/catalog probe | Native installation and model discovery remain NeoPi-owned | Exclude foreign CLI startup and fixed model catalog | This status owner launches Grok ACP and its skill probe; it is not the retained inference-quota reader. |
| packages/provider-grok/src/server/usageLimits.ts | Retain SDK-free Grok inference subscription quota reader | Preserve inference usage without restoring a Grok execution driver | Keep valid-period zero usage, privacy errors and account/endpoint safeguards | This module only reads credentials and the billing API; no ACP or CLI execution. Removed the obsolete ACP-specific comment. Wiring/export closure is still pending; no quota request or tests run. |
| packages/provider-opencode/src/server/OpenCodeServerOwner.test.ts | Remove retired OpenCode server ownership tests | Native runtime ownership remains NeoPi-specific | Exclude foreign execution server lifetime tests | The suite instantiates an OpenCode SDK runtime and subprocess owner, neither of which belongs in the native-only product. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 12/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44659 bytes; SHA-256 38f3b839cb9df1b24bbf847bbd690d5cef403010acef25f66297d9a15a017d27.

| packages/provider-opencode/src/server/OpenCodeServerOwner.ts | Remove OpenCode execution-server owner | Preserve native process ownership in NeoPi | Exclude the retired OpenCode runtime server | This owner launches and retains OpenCode processes; it is not a generic browser, HTTP or native session service. |
| packages/provider-opencode/src/server/textGeneration.test.ts | Remove OpenCode execution-backed text-generation tests | Retain shared text-generation operations and native implementation | Exclude foreign SDK runtime tests | These tests construct OpenCode servers and SDK sessions; native/shared text-generation coverage remains required separately. |
| packages/provider-opencode/src/server/textGeneration.ts | Remove OpenCode-backed generation implementation | Native text generation must implement all current shared operations | Exclude foreign runtime dependency without deleting product features | The six shared generation operations remain; their OpenCode session implementation is retired and must not be retained as a fallback. |
| packages/shared/package.json | Union native and upstream shared exports | Keep native workspace identity, agent names, stats and legacy attachment serialization | Keep changed-file kinds, auth scopes, V2 thread errors and new shared modules | Exclude the absent legacyCliLauncher rather than restore retired execution; export the existing native legacy-context send helper used by attachments. No checks run. |
| packages/shared/src/KeyedCoalescingWorker.test.ts | Combine nonduplicating FIFO and drain regressions | Keep recursive same-key fairness for both successful and failed processors | Keep queued multi-update merge and drain-blocking regression | The fork's success/failure table covers upstream's simpler fairness case; preserve its distinct queued-merge case and existing active/failure drains. Use TestClock-capable effects and immediate waiter start, not live timing. Tests not run. |
| packages/shared/src/KeyedCoalescingWorker.ts | Adopt upstream FIFO requeue implementation that preserves the fork fairness contract | Pending same-key work returns behind queued peers and drains include pending/active work | Keep transactional queued/active sets and completion on process failure | Upstream now implements the same observable fairness fix; remove the duplicate conflict body and obsolete header rather than retain two processing loops. Tests not run. |
| packages/shared/src/cliRelease.test.ts | Preserve release compatibility and add encoded mirror boundary coverage | Full stable build metadata, run attempts, pinned-canary revisions, relative checksum paths and strict matching assets | Query-preserving encoded release and asset helpers | Retain download/archive/platform regressions; remove literal release-index URL pin; signed query and reserved path characters are functional boundaries. Legacy canary cases preserve the old desktop classifier's contract after shared cutover. Not run yet. |
| packages/shared/src/cliRelease.ts | Keep fork discovery and checksum normalization; adopt encoded mirror helpers and shared track APIs | Fork repository, version-matched archives/checksums, relative paths, stable metadata and legacy pinned-canary channel classification | Release page/asset exports, track-crossing admission and npm migration metadata | Shared classification replaces desktop helpers and must retain their numeric attempt or hexadecimal revision suffix; signed mirror query preservation comes from upstream. LSP unavailable; tests pending. |
| packages/shared/src/composerContextLegacy.ts | Combine bounded trailing-context parsing with native attachment recovery | Retain validated image/file metadata, thread/environment records and screenshot links; strip attachment metadata before review parsing | Closing-tag-aware terminal/element patterns, atomic wire validation and fenced review parsing | Native recovery stays lossless without swallowing earlier closed context blocks; shorter upstream comment replaces redundant header. Existing legacy and native roundtrip suites remain; not run. |
| apps/web/src/components/chat/MessagesTimeline.test.tsx | Accept upstream deletion and move fork annotation regressions to TimelineUserMessageRow.logic.test.ts | Preserve image-context binding and unresolved screenshot behavior, including precedence over legacy fallback images | Use current extracted resolver and upstream real-browser/logic timeline suites | Retired static-markup/props/RAF harness imports removed exports and V1 timeline shapes; do not restore it. Keep meaningful fork data regressions in their actual owner. Tests not run. |
| packages/shared/src/keybindings.ts | Preserve native picker chord and add upstream independent commands | Alt+P picker, Alt+M Models, native role/thinking/tool/agent shortcuts and scoped precedence | Scratch chat creation and preview-aware find shortcuts | Keep fork's explicit picker default rather than replace it or create a duplicate alias; existing saved custom bindings remain untouched. Native navigation and terminal isolation regressions retained, not run. |
| packages/shared/src/model.test.ts | Keep native opaque option and capability roundtrip regressions alongside upstream selection equality | Reasoning metadata survives custom-model persistence; native ultrathink/ultracode strings must not inject another option | Order-independent complete selection comparison and provider-reported display isolation | Remove tests for retired effort rewriting and pure descriptor-copy assertions; replace missing foreign fixture with advertised native data. Not run; source and remaining callers still being reconciled. |
| packages/shared/src/model.ts | Preserve native model data and adopt generic upstream equality/presentation helpers | NeoPi default, provider-owned identifiers and reasoning capability metadata, no foreign effort rewriting or prompt injection | Complete selection equality, draft fast-mode normalization, reported display and readable legacy names | Exclude Claude prompt mutation/effort translation and retired Codex catalog family helper; old saved aliases still decode. Remaining MCP/client/traits/ChatView callers must be reseated on opaque native options; recorded pending, not verified. |
| packages/shared/src/projectScripts.ts | Preserve scoped action inheritance over the upstream legacy script owner | Stable action IDs, per-project overrides/tombstones, resets and null-project defaults | Current cwd/runtime environment, setup/settle selection and terminal input helpers | Upstream whole-list resolution does not replace fork action semantics. Keep the legacy resolver private under the existing ID overlay; existing concurrent-setting and inheritance tests remain, not run. |
| packages/shared/src/projectSettings.test.ts | Merge upstream settings features onto atomic project mutations and native profiles | Explicit set/clear semantics, partial object preservation, enabled native fixture and no retired fallback | First-project checkout choice, t3.json precedence, settled-worktree rules, per-project provider disablement and speech vocabulary | Convert old provider-map fixtures and whole-entry patch writes to canonical instances and atomic mutations. Speech reset preserves another setting. Tests pending source fallback reconciliation. |
| packages/shared/src/projectSettings.ts | Combine atomic override mutation with upstream project resolution | Per-key set/clear, partial values, action-ID overlays and legacy aggregate fold boundary | Provider-aware project resolution, t3.json layering, first-thread checkout mode and non-git send mode | Keep both independent helpers, not competing function bodies. Remove unused stale whole-entry reset helper; speech reset uses atomic clear. Native-only fallback and positive project enablement admission require shared/contract integration checks. |
| packages/shared/src/semver.test.ts | Combine metadata and prerelease-hyphen regressions | Numeric release comparison, ignored metadata precedence and invalid metadata rejection | Hyphenated prerelease preservation, comparator whitespace and zero-major caret ranges | Keep both semantic cases with separate test closures. Stringified range checker is exercised directly; remove source-text assertions rather than pin its emitted spelling. Tests not run. |
| packages/shared/src/semver.ts | Validate metadata before normalization and retain full hyphenated prerelease | Build metadata does not affect precedence; malformed metadata and numeric segments do not parse as valid releases | Preserve all hyphens in prerelease identifiers and upstream range behavior | Removing build metadata and preserving prerelease separators solve separate parsing boundaries; combine rather than choose one side. Tests not run. |
| packages/shared/src/serverSettings.test.ts | Combine native admission and current shared-setting regression suites | Stored retired profiles remain readable but never selectable; native model and runtime identity stay separate | Idle compaction migration, native configured fallback, host tokens, synchronized model preferences and speech cleanup | Adapt active-provider fixtures to NeoPi and project writes to atomic set/clear; retain unknown stored keys while rejecting newly unknown fields. No checks run. |
| packages/shared/src/serverSettings.ts | Retain atomic project mutations and native execution while adopting upstream settings features | Preserve legacy settings/read-only history; select only NeoPi fallback instances; separate per-project instance overrides from global configs | Text generators, usage aliases, host-token merge, worktree locations, model preferences, compaction modes and speech selection | Remove obsolete whole-entry merge owner; update only named project values against current state and preserve untouched/unknown keys. Native default ID repointed to another driver is ineligible. Runtime identity shape and contract admission still require integration verification. |
| packages/shared/src/t3ProjectFile.test.ts | Keep parser regressions and drop static schema inventory tests | Public schema identity remains in the generator and contracts | Current JSONC parsing including stop-on-settle and comment URLs | Accept upstream removal of default/field-list/JSON roundtrip pins; they tested copied schema structure rather than consumer behavior. Generator remains intact. Tests not run. |
| packages/shared/src/themePalettes.ts | Preserve Neo default palettes and add upstream search roles/artwork metadata | Existing default color values, stable mobile IDs and local NeoPi theme provenance | Four search-match color roles and optional sidebar artwork | New semantic roles are additive; upstream black/blue defaults do not supersede the fork palette. Native generated assets and graphical consumer consistency still require verification. |
| packages/shared/src/themePreview.ts | Keep palette-derived preview colors; accept redundant comment removal | Preview artwork continues to use Neo palette roles | Current preview interpolation implementation | Only the explanatory comment conflicted; no behavior change or independent preview palette. |
| patches/react-native-screens@4.26.2.patch | Replace obsolete patch with narrow 5.0.0-t3.48 compatibility patch | Warn on supplied unsupported iOS-only Android header props rather than silently drop them | Bundled screens 5.0.0-t3.48, including relocated legacy Android managers and built-in setters | Stage-1/stage-2 comparison proves the fork delta is only these diagnostics. Ported to patches/react-native-screens@5.0.0-t3.48.patch; git apply --check succeeds on isolated copies of both actual bundled Kotlin files after adding unified context. Native build not run; workspace registration pending. |
| pnpm-workspace.yaml | Keep current upstream dependency policy with native-only execution and the fork's retained exclusions | No retired SDK executable downloads/hoisting; retain relay dependency exclusions and native screen diagnostics | Current catalogs, synchronized markdown pipeline, pnpm build allowlist, strict peers and current native patches | Remove obsolete version exemptions/patch registrations, Claude/OpenCode/Cursor/Muse SDK-only policy, and register bundled screens 5.0.0-t3.48 patch. Dependency audit and lock regeneration/install are still pending; no package scripts executed. |
| patches/react-native-shiki-engine@0.3.12.patch | Remove obsolete native library patch after upstream highlighter replacement | Native cross-architecture builds still require correct target libraries | Adopt current native highlights module rather than restore unused Shiki engine | No app/package/manifest references remain; this patch only fixed the removed engine's Android linker path. Native highlight behavior and recovery require current-module verification. |
| scripts/build-desktop-artifact.test.ts | Reseat fork bundle validation on current artifact tests | Invalid NeoPi bundle rejection; nightly run-attempt feed selection and preview isolation | Build restoration/concurrency, real ASAR payload checks, platform signing and architecture tests | Removed deleted-owner static configuration/copy assertions, retired Cursor staging tests and stale SDK expectations. Keep null publish for previews and actual NeoPi staging errors. No tests run. |
| scripts/build-desktop-artifact.ts | Preserve native bundle staging and fork metadata on current packaging pipeline | Optional executable-validated Linux NeoPi resource; NeoCode branding and maintainer; shared release-track classification with no preview feed | PE-only Windows sidecar natives, current ASAR staging, macOS calendar/camera/network/default-browser declarations, MIT metadata and artifact pipeline | Remove retired SDK resources, staging helper/call and exclusions rather than bundle foreign execution. Keep upstream generic packaging mechanics and null publish isolation. Build and tests remain unrun. |
| scripts/mobile-native-client.ts | Adopt upstream cached artifact acquisition and agent-device installation using NeoCode identity | Development package/scheme and NeoCodeDev Xcode workspace, target and artifact | Shared local/remote artifact cache, device ABI selection, fingerprint integrity, EAS fallback and session install | Replace obsolete inline build with current install operation; fix auto-merged artifact/build/session-launch identity literals as well as conflict imports. No native build, download or device installation run. |
| scripts/mobile-showcase.ts | Keep current capture automation with shared NeoCode production identity | Separate fork application, scheme, workspace and built app | Dev-client launch flags suppress onboarding/chrome for captures | The conflict was only constants; auto-merged Xcode and .app paths also required NeoCode names. No simulator or showcase run. |
| scripts/release-smoke.ts | Merge actual native and shared workspace manifests | NeoPi RPC workspace stays in release fixtures without retired SDK workspaces | Provider core/testing, secret providers, all source-control backends and new mobile native modules | Keep the existing fixture preparation and release assertions; remove retired execution packages from copied manifests. Smoke not run: it performs a non-frozen install in temporary storage, outside this brief's authorized installation scope. |
| third-party-licenses.config.json | Combine native RPC attribution with current upstream notices | MIT attribution for effect-neopi-rpc | Document viewers, parsers, fonts, native modules and other current dependency notices | Remove the retired OpenCode execution SDK's package override; retain generic OpenCode viewer attribution and all non-execution license records. License generation/dependency audit not run. |
| scripts/lib/cli-external-packages.ts | Remove retired SDK-only externalization policy | Native file-backed packages and shared server runtime externals remain | Rolldown marker detection and dependency-closure checks | The Cursor SDK and its otherwise bundleable JavaScript dependency inventory are no longer executable dependencies; do not retain a second foreign staging policy after deleting SDK packages. Existing closure tests not run. |
| apps/server/src/provider/neopi/mappers/MapCtx.ts | Begin genuine V2 mapper cutover | Preserve native instance/session/turn/agent identity scoping; parent references use explicit item identity | Shared typed V2 item fields and stable per-turn ordinals | In progress: nativeItemBase now emits V2 ownership/date/reference fields; CoreMapCtx carries immutable provider snapshots. Adapter/core/UI/subagent callers still require migration. No checks run. |
| apps/server/src/provider/neopi/mappers/tools.ts | Replace V1 tool event projection with actual V2 turn items | Keep native tool IDs, rolling command windows, authoritative final output, image sources, edit diffs and host identity | Emit command_execution, file_change and dynamic_tool directly; native intent becomes title; full output is available to V2 detail projection | No V1 payload wrappers or retired ingestion imports. Parent identity and ordinal come from the shared mapper context. Entire adapter cutover remains in progress; no checks run. |
| apps/server/src/provider/neopi/mappers/tools.test.ts | Port native tool behavior assertions to real V2 items | Rolling windows, interleaving, split Unicode, final-only/empty output, multi-file diffs, exact empty writes, early/late host ownership, image MIME and native failure | Exercise actual V2 broadcast omission and on-demand detail projection | Remove deleted V1 ingestion and work-log dependencies; transport byte-boundary cases stay with WireProjection.test.ts. Suite is not run pending complete contract/dependency reconciliation. |
| apps/server/src/provider/neopi/mappers/core.ts | Replace V1 native core events with genuine V2 state and items | Preserve reasoning ordering, full text snapshots, usage deduplication and suffix pairing, retry diagnostics, native-only terminal authority, context occupancy and compaction identity | Emit typed provider session/thread/turn updates, conversation messages, reasoning, notices, compaction and root terminals; preserve unrelated model options | Remove the V1 event envelope entirely. Explicit empty final text replaces partial text. Adapter must retain event-updated snapshots and start failure ordinals at one. Overall adapter migration and focused verification remain pending. |
| apps/server/src/provider/neopi/mappers/core.test.ts | Exercise real V2 projection rather than retired runtime payloads | Retain usage, compaction, continuation, child ownership and authoritative terminal cases | Validate each emitted event against the V2 schema; assert final messages, preserved options, exact context usage, duplicate-terminal suppression and process-exit state | Uses inert capabilities only as a unit-test session fixture, not a production capability claim. Suite not run; full adapter/native integration proof remains pending. |
| apps/server/src/provider/neopi/mappers/ui.ts | Project native interactive requests through genuine V2 runtime requests and items | Preserve native wire methods, capability gates, exact arguments, confirmations, editor prefill, cancellation, title and UI metadata | Persist scoped runtime IDs, native request references, live response capability and linked waiting/completed items; settle only after wire acceptance | Request occurrences and object-identity checks prevent a late response from resolving a reused native ID. No V1 event cast or generic compatibility envelope. Adapter and real-runtime verification still pending. |
| apps/server/src/provider/neopi/mappers/ui.test.ts | Migrate UI regressions to V2 contract validation | Approval boundaries, ambiguous tool links, structured capability refresh, successive verbatim answers, absent-answer cancellation and scoped metadata | Add cancellation/reused-ID late settlement coverage and validate every emitted V2 event | These tests have not run. They exercise mapper behavior, not the still-pending actual V2 adapter. |
| apps/server/src/provider/neopi/mappers/approvalPrompt.ts | Return current V2 permission kinds | Preserve strict legacy native select-prompt recognition and deny ambiguity | Map recognized tool classes directly to ProviderRequestKind instead of removed canonical request strings | The compatibility is native RPC framing only, not a retired execution adapter. No runtime proof yet. |
| apps/server/src/provider/neopi/mappers/approvalPrompt.test.ts | Keep approval recognition tests on the current contract | Preserve strict first-line and option-order safety cases | Expected permission kind values now match V2 | Existing tests not run. |
| apps/server/src/provider/neopi/mappers/mapperTestContext.ts; apps/server/src/provider/neopi/mappers/core.test.ts | Reuse one typed V2 mapper fixture | Keep every schema-required field and per-harness identity/ordinal state explicit | Extract the inert unit-test context for core and UI suites, without asserting fake production capabilities | Pure test support only; no production capability discovery is implemented by this fixture. Suites not run. |
| apps/server/src/provider/neopi/mappers/mode.ts; apps/server/src/provider/neopi/mappers/ui.test.ts | Project native proposed plans into V2 plan artifacts and items | Preserve native mode capability admission and the proposal ID used by the real continuation response | Use session/turn-scoped plan IDs and draft plan artifacts; do not invent a terminal or a second blocking request | Native runtime itself decides the planning turn's outcome. Added identity-isolation/schema regression to the existing UI suite; unrun pending full adapter reconciliation. |
| apps/server/src/provider/neopi/mappers/subagents.ts | Project native child work directly into V2 execution nodes, subagent records and items | Retain generation-scoped identity, nested tool ownership, native role/model/effort, isolated token totals, bounded progress and tool output | Stop publishing V1 task envelopes or parent conversation text; do not fabricate child SQL threads or native sessions | Late completion snapshots may enrich usage without reopening a child; authoritative lifecycle settlement rejects later progress. Duplicate tool completions do not inflate counts. Actual adapter integration and runtime proof remain pending. |
| apps/server/src/provider/neopi/mappers/subagents.test.ts | Migrate mapper regressions to schema-validated V2 records | Preserve parent transcript isolation, native identity and child usage checks | Add nested owner, duplicate tool completion and completion-enrichment regressions | Mapper unit cases are ported but unrun. The existing ingestion integration case below them still uses the legacy adapter/harness and MUST be ported after the real V2 adapter, not removed as obsolete coverage. |
| packages/contracts/src/orchestrationV2.ts | Preserve native child details on the authoritative V2 subagent record | Keep all existing V2 fields and optionality | Add optional role, turnTokenUsage and toolUses; the existing ingestor persists the complete record and existing clients remain compatible | Do not roll native child usage into root-token accounting or synthesize child provider threads. New fields are exercised by mapper schema validation, not yet run; persistence proof remains pending. |
| packages/contracts/src/neopiSessions.ts; packages/contracts/src/orchestrationV2.ts | Make the complete native resume cursor durable in V2 thread metadata | Preserve session file, directory, ID, shared-lease marker, history leaf and every local/native/continuation boundary | Introduce the shared typed NeoPiResumeCursor and optional nativeMetadata.neopiResumeCursor | Actual adapter publication, restore and persistence proof still pending; the field alone is not a working restart path. |
| apps/server/src/provider/neopi/NeoPiRuntimeTypes.ts | Remove the duplicate server-local cursor definition | Preserve every cursor field through the shared schema type | Runtime cursor and launch-plan declarations import the contract directly | No re-export or compatibility alias. |
| apps/server/src/provider/neopi/NeoPiLaunchArgs.ts | Migrate cursor type ownership | Preserve launch and shared-session policy | Import the shared cursor from contracts | Import-only, unrun. |
| apps/server/src/provider/neopi/NeoPiRollback.ts; apps/server/src/provider/neopi/NeoPiRollback.test.ts | Migrate rollback cursor type ownership | Preserve branching and partial-failure cursor semantics | Import the shared cursor from contracts | Existing behavioral cases remain; unrun. |
| apps/server/src/provider/neopi/NeoPiSessionRuntime.ts; apps/server/src/provider/neopi/NeoPiSessionRuntime.test.ts | Migrate runtime cursor type ownership | Preserve native runtime state, leases and branch boundaries | Import the shared cursor from contracts | Existing runtime behavior unchanged; V2 adapter-level tests still pending. |
| apps/server/src/provider/NeoPiAdapter.ts; apps/server/src/provider/NeoPiAdapter.test.ts | Prepare the real implementation for durable V2 cursor transport | Preserve the existing native implementation while its operations are ported | Cursor import now comes from contracts | The implementation itself remains legacy and incomplete; do not claim V2 execution works. |
| apps/server/integration/neopiProviderIngestion.integration.test.ts; apps/server/src/provider/neopi/mappers/subagents.test.ts | Migrate integration cursor type ownership | Preserve the existing restart and child-ingestion cases for genuine V2 porting | Import the shared cursor from contracts | Legacy adapter/harness calls remain for subsequent migration, not deletion. |
| apps/server/src/provider/NeoPiAdapter.ts; apps/server/src/provider/neopi/NeoPiAdapterLive.ts | Move the implementation into the native-owned directory and replace the V1 public surface with genuine V2 operations | Keep native configuration, journal, host tools, cursor ownership, chat/plan handling, scoped replies and rollback | Add per-session V2 queues, real root/attempt bindings, live capability discovery, native cursor publication and bounded retention of completed mapper state | Provisional integration, not a completion claim: old adapter tests and V2 persistence proofs still need migration; independent native fork remains explicitly unavailable. Syntax-only checks passed before the later lifecycle refinements; current full state is not checked. |
| packages/contracts/src/orchestrationV2.ts | Persist the actual last native execution owner alongside its native cursor | Use existing run/node/turn identities, never synthetic startup nodes | Optional neopiLastTurn carries the actual V2 turn snapshot for lazy native history access after restart | New schema and resumed execution path are unverified; no database was opened. |
| apps/server/src/provider/Drivers/NeoPiDriver.ts | Wire the genuine V2 service | Keep existing native discovery, configuration, profile and catalog source | Import NeoPiAdapterLive and supply orchestrationAdapter, not the retired adapter property | Text-generation and remaining driver closure still need reconciliation. No typecheck run. |
| apps/server/src/provider/NeoPiAdapter.test.ts; apps/server/integration/neopiProviderIngestion.integration.test.ts; apps/server/src/provider/neopi/mappers/subagents.test.ts | Point native consumers at the moved implementation | Keep original regression bodies pending a genuine V2 migration | Update only the factory import | These existing bodies still contain obsolete V1 calls; they are explicitly not passing tests or completed migrations. |
| apps/server/src/provider/neopi/NeoPiSessionRuntime.ts | Require actual native prompt acceptance and retain child ownership across roots | Await correlated prompt outcomes, preserve original rejection, capture a durable boundary once, and keep background children on their starting root | Add a continuation-admission receipt, fail it on rejection/close, and scope child IDs to the originating turn instead of the currently active turn | Changes are unverified. Existing tests and new real-wire V2 tests require execution after dependency reconciliation. |
| apps/server/src/provider/neopi/NeoPiSessionRuntime.test.ts; apps/server/src/provider/neopi/NeoPiTestPeer.ts | Reuse the existing in-memory native RPC peer and extend acceptance regressions | Preserve the existing wire fixture, native lifecycle and fault scenarios | Extract shared peer support; assert held ACK cannot complete admission and late rejected proposal responses fail admission | New regressions were written before their corresponding fixes but were not run. Existing V1 adapter integration cases remain to port. |
| apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts; apps/server/src/provider/neopi/NeoPiAdapterLive.test.ts | Exercise the actual V2 adapter and actual native runtime through the existing RPC fixture | Check first-start question ownership, delayed ACK/fast completion, rejected sends, steering, reused UI IDs, mode/usage gates, plans, branch/restart identity and cross-root child ownership | Use queue/deferred receipts and schema-validate emitted V2 events rather than sleeps or a V1 adapter wrapper | New suites are unrun. They do not replace the remaining original MCP and persistence regressions until those have been ported. |
| apps/server/src/provider/neopi/NeoPiRollback.ts; apps/server/src/provider/neopi/NeoPiRollback.test.ts | Distinguish verified new identity from a later history-read failure | Preserve a committed branch cursor when history becomes unavailable; restore only actual identity/integrity failures | Discard the old leaf on branching and read the new native head; replace the exact RPC call-sequence pin with branch-target and head assertions | New failure and head regressions are unrun; no live native session was touched. |
| apps/server/src/provider/ProviderInstanceRegistryHydration.ts; apps/server/src/provider/ProviderInstanceRegistryHydration.test.ts | Remove foreign execution hydration and ACP replay seeding | Keep native drivers, stored unavailable legacy instances, secret reloads and the actual ProviderHost | Remove foreign adapter/ACP layers, the seed helper and its obsolete tests; infer actual layer requirements rather than cast them away | Generic registry fixtures still import foreign infrastructure elsewhere and remain pending. |
| apps/web/src/components/DevReplayHost.tsx; apps/web/src/routes/__root.tsx; apps/web/src/vite-env.d.ts | Remove the retired ACP execution entry point | Preserve ordinary application hosts and desktop bridge declarations | Delete the replay host, its mount and its console API declaration | This is a retired harness cutover, not a replacement with a fake NeoPi replay provider. |
| apps/server/scripts/dev-replay-agent.ts; apps/server/scripts/dev-replay-agent.test.ts; apps/server/scripts/dev-replay/showcase_transcript.ndjson | Retire the exclusive ACP dev execution fixture | Keep unrelated generic V2 replay and native RPC test infrastructure | Delete the agent, its tests and its exclusive showcase transcript after removing the seed and UI callers | Other foreign recorder/workspace closures remain to reconcile. |
| docs/operations/development.md | Remove guidance for the retired ACP replay provider | Preserve worktree isolation, normal development and profiling instructions | Delete the obsolete replay-provider subsection | Native verification guidance and the fork touch inventory still need their final coordinated documentation pass. |
| packages/contracts/src/orchestrationV2.ts; apps/server/src/provider/neopi/mappers/core.ts; apps/server/src/provider/neopi/NeoPiSessionRuntime.ts | Carry exact native input acceptance through the existing durable V2 provider-turn event | Running is not acceptance; terminal publication must follow the correlated acknowledgment, including local terminal commands and plan continuation admission | Add optional true-only inputAccepted to provider turns; publish a bound native acceptance frame before terminal settlement and await its receipt | Implementation and new regressions are unverified. No fake run.running inference or post-terminal run-copy update. |
| apps/web/src/components/chat/failedSendDraftRecovery.ts; apps/web/src/components/FailedSendDraftRecovery.tsx | Migrate root-owned recovery from deleted V1 activities to V2 projections | Retain exact message and environment ownership, newer drafts, attachment ownership and route-independent recovery | Join accepted root provider turns through their run attempts to the submitted message; preserve acceptance across retries; subscribe to quiet collections | Tests are written but unrun. Root-node matching excludes a child's acceptance from the parent's send result. |
| apps/web/src/components/chat/failedSendDraftRecovery.test.ts; apps/web/src/components/FailedSendDraftRecovery.test.tsx | Port existing recovery regressions to real V2 outcome shapes | Keep failed restoration, accepted disposal, newer drafts, navigation and environment isolation coverage | Replace V1 activity fixtures and the incidental append-identity test; add pre-ack running, child receipt and earlier-attempt acceptance cases | No test, typecheck or browser run. |
| apps/server/src/provider/neopi/NeoPiAdapterLive.test.ts; apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts | Extend actual native protocol coverage and isolate simultaneous peers | Keep startup and lifecycle cases; prevent one thread's fake RPC peer from reading another peer's native state | Correct pending request status predicates, add acceptance-before-terminal assertions, bind memory and emitters per native peer, and expose targeted frame delivery and actual runtime launch inputs | New tests remain unrun; the harness still uses the actual adapter and actual native runtime, not a V1 adapter wrapper. |
| apps/server/integration/neopiProviderIngestion.integration.test.ts | Replace the obsolete V1 ingestion harness with genuine V2 native and SQLite integration | Preserve multiple threads, unique messages, tool work, cursor identity, session restart and cwd/mode changes; add database reopen and exact input acknowledgment | Use the real V2 registry, orchestrator, effect worker, event sink and SQLite with the shared native RPC peer; await persisted receipts instead of sleeps or polling | Source-only migration; no database, native process or test was run. The earlier V1 harness import no longer exists. |
| docs/user/composer.md | Explain the acknowledged-input recovery boundary | Keep route-independent recovery and window-memory limits | State that a later execution error does not restore an already acknowledged prompt as unsent | Describes the intended implemented contract; runtime verification remains pending. |
| apps/server/src/policy/managedProviders.ts; apps/server/src/policy/ManagedPolicy.test.ts | Remove retired client-package imports from managed provider policy | Keep historical policy documents, launch pins, home overrides and ceilings readable without execution SDKs; expose only NeoPi for new policy choices | Register the real NeoPi settings fields, retain only historical launch-field metadata, and include native profile and auto-selected executable in the launch ceiling | Extended the existing ceiling case to cover native overlay, rejected edits and lossless save-back; unrun. |
| apps/server/src/settingsSecrets.ts | Decouple stored credential handling from retired execution packages | Preserve Antigravity API key and OpenCode password secret slots, vault references, migration and redacted round-trips | Derive native secret fields from NeoPiSettings and keep two literal historical secret field lists instead of importing foreign client schemas | Existing serverSettings credential migration and reference round-trip regressions cover both retained secret fields; unrun. |
| apps/server/src/textGeneration/NeoPiTextGeneration.ts; apps/server/src/provider/Drivers/NeoPiDriver.ts; apps/server/src/textGeneration/NeoPiTextGeneration.test.ts | Port disposable native generation to the current provider-core operations | Retain native executable/profile, output-attempt isolation, deadlines and teardown; preserve current prompt builders, naming rules, attachments and selected model options | Replace four copied V1 operations with the shared six-operation adapter, forward stored images, apply native thinking/fast options, and use shared JSON decoding; replace filesystem polling with a correlated prompt receipt | Five structured operations are implemented but unrun. Review-guide investigation deliberately fails before spawning until NeoPi #698, explicitly authorized by the first officer; no unsafe tool-enabled substitute. |
| docs/internals/providers.md | Record the native review-guide prerequisite | Do not describe a CLI tool list as a read-only sandbox | Link NeoPi #698 and explain why disposable generation refuses checkout investigation | First officer confirmed origin/nightly 01cf16cf72 and authorized this explicit unsupported path. |
| apps/server/src/telemetry/ProviderDimensions.ts; apps/server/src/telemetry/ProviderDimensions.test.ts | Preserve anonymous telemetry without the retired model manifest | Never publish private native catalog names, configured role names, custom models, or user-defined instance IDs | Extract only upstream v0.1.8's reviewed public names and aliases into a telemetry-only allowlist; admit native selections through it and retain dated-label normalization | This is not a GUI model inventory, pricing catalog or execution manifest. Native privacy and alias regressions are written but unrun. |
| apps/server/src/telemetry/ProviderUsageAnalytics.ts; apps/server/src/telemetry/ProviderUsageAnalytics.test.ts | Remove runtime catalog probing from telemetry labeling | Keep the existing usage ledger, per-turn reporting, request aggregation and public model labels | Use the reviewed pure labeler directly and remove its obsolete registry dependency and fixtures | Existing aggregation/privacy regressions retained; no checks run. |
| apps/mobile/src/features/threads/NativeCommandOutput.tsx; NativeNeoPiControls.tsx; NativeSessionComposer.tsx; NativeSessionMobileTree.tsx; NativeSessionScreen.tsx; NativeSessionWorkspaceControls.tsx; NeoPiConversation.tsx; NeoPiModelsScreen.tsx; NeoPiModelsSelector.tsx; NeoPiSessionTree.tsx; NeoPiSessions.tsx; NeoPiTreeNavigation.tsx; NativeSessionBrowser.test.tsx; NativeSessionScreen.test.tsx; apps/mobile/src/features/usage/NativeStatsView.tsx | Reseat native mobile surfaces on current shared UI owners | Preserve native Models, session/tree navigation, pending input, media, stats and existing interaction tests | Replace removed AppText/MaterialButton paths with ui/AppText and ui/Button without aliases; replace ScreenHeader with AppBar and update corresponding mocks | Structural migration only; no visual, typecheck or test result claimed. Initial AST proposal had overlapping import edits and was rejected; the disjoint proposal was applied. |
| apps/mobile/src/features/threads/NativeSessionComposer.tsx; apps/mobile/src/features/threads/ThreadComposer.tsx | Match the current mobile draft and dictation contracts | Read the latest native draft and subscribe through its real owner during asynchronous dictation; preserve the stored runtime read-only guard | Use current attachment/media owners, supply voice label/reader/subscription, and read selectedThread.runtime instead of deleted selectedThread.session | Existing dictation and native composer tests remain to run; no new wiring-only test. |
| packages/provider-testing/src/providerCapabilities.ts; packages/provider-testing/package.json | Separate generic test capability scenarios from retired execution adapters | Preserve the exact pooling, steering, approval, handoff, snapshot and identity distinctions used by shared tests | Add SDK-free pooled, exclusive, restart-steering and no-approval fixtures with the current V2 capability contract | Data fixtures only; no execution adapter or new wiring tests. |
| apps/server/src/orchestration-v2/{BackgroundWorkStop.integration,CommandPolicy,DelegatedCompletionDelivery,DispatchModeLimit,FoundationPersistence,GuestShare,Orchestrator.control-reads,Orchestrator.receipt-race,ProjectionRecovery,ProjectionStore,ProviderSessionManager,ProviderSwitchService,ProviderTurnControlService,ProviderTurnStartService,RemoteDelegatedTask,SelectionRestart.integration,SteeringCompletion.integration,ThreadDeletion,ThreadFork.execution,ThreadLaunchService,ThreadStop,ThreadTitleRegenerationService,runtimeLayer}.test.ts; apps/server/src/orchestration-v2/legacy/LegacyV1Cutover.integration.test.ts; apps/server/src/guest/GuestShareService.test.ts; apps/server/src/mcp/{McpToolAccess.race,OrchestratorMcpService,TaskCancelNativeSubagent.integration,TaskCancelUsageLimit.integration,linkOrigin}.test.ts | Remove capability-only imports of vendor execution code | Retain every existing generic behavior assertion and historical driver identity | Replace imported capability constants with equivalent shared SDK-free scenarios; represent the historical Claude driver directly with its branded literal | AST handled 24 files; six parser-skipped files were edited surgically. No build, typecheck or tests run. Parser skips are not classified as compiler failures. |
| apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts | Keep mixed fake-adapter switching coverage without vendor SDKs | Preserve handoff, account switching, queue/steer behavior, retries and exact pre-prompt refusal classification | Use SDK-free scenarios, retain legacy refusal tags as fixture data, and keep context reuse as a local fake-adapter predicate | No execution replay was substituted with a stub. The full suite remains unrun. |
| apps/server/src/provider/Drivers/CodexManagedProvider.ts; apps/server/src/textGeneration/OpenCode2TextGeneration.test.ts; apps/server/src/textGeneration/OpenCode2TextGeneration.fixture.ts; apps/server/src/testUtils/shardWeights.json | Remove orphaned retired execution owners | Keep native generation and shared lifecycle coverage; do not retain foreign SDKs solely for implementation-specific replay | Delete unreferenced managed-Codex construction and the OpenCode-only generation replay/fixture plus its shard weight | Consumer search found only the managed owner itself and the OpenCode-specific suite/weight. No checks run. |
| packages/contracts/src/orchestrationV2.ts; apps/server/src/orchestration-v2/legacy/LegacyV1ThreadImporter.ts; apps/server/src/orchestration-v2/ProjectionStore.ts | Preserve immutable imported runtime identity | Keep V1 conversation metadata and native continuation without importing an active owner or lease | Capture the saved session's driver as optional nullable legacyRuntimeDriver, repair only missing values, and carry it through both V2 shell projections | Original runtime wins over later model/settings edits; null represents unidentifiable history. Source only; no checks run. |
| apps/server/src/orchestration-v2/Orchestrator.ts; apps/server/src/orchestration-v2/ThreadMessageIntake.ts; packages/shared/src/serverSettings.ts; apps/web/src/components/chat/ChatComposer.tsx; apps/mobile/src/features/threads/ThreadComposer.tsx; apps/mobile/src/state/use-thread-composer-state.ts | Enforce legacy admission across transports and clients | Keep view, metadata, stop and cancellation operations; allow identified NeoPi history to continue | Reject execution, model/mode changes, fork/merge and queue activation for retired or unidentified imports before command receipt replay; classify the refusal as not accepted for attachment cleanup and use original shell identity in clients | Does not restore any foreign adapter or treat an inference-provider name as a runtime. Source only; no checks run. |
| apps/server/src/orchestration-v2/legacy/LegacyV1ThreadImporter.test.ts; apps/server/src/orchestration-v2/legacy/LegacyV1Cutover.integration.test.ts; packages/shared/src/serverSettings.test.ts; docs/user/composer.md; AGENTS.md | Cover immutable identity and attempted execution bypasses | Preserve the existing SQLite migration/restart/history continuation assertions, now with an explicitly native fake adapter | Extend current cases for retired and unknown history, model override, immediate/queued send, accepted queue-receipt replay, metadata availability and identity preservation through repair; document read-only history | These tests remain UNRUN; the fake adapter does not prove native RPC lifecycle or cursor continuity. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 13/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44972 bytes; SHA-256 dd2dbcff59610d456cda37824bdd45877d2806b328069c5893ef94ebf0a193f6.

| apps/server/src/orchestration-v2/CheckpointRollbackService.test.ts; apps/server/src/orchestration-v2/RunExecutionService.test.ts; apps/server/src/orchestration-v2/RuntimePolicy.test.ts | Remove vendor SDKs from generic orchestration regressions | Preserve durable rollback boundaries, discarded-attempt exclusion, repeated rollback, nested input-rejection messages and unsupported-mode fallback | Assert exact rollback target/available native turn identities instead of invoking the removed Codex rollback counter; use an ordinary nested Error for rejection; retain runtime-mode fallback in the existing shared case without ACP permission execution | All existing generic behaviors retained at their actual boundary; tests remain UNRUN. |
| apps/server/src/provider/ProviderInstanceRegistry.test.ts | Keep registry and secret lifecycle independent of retired drivers | Retain scope release after replace/remove/failure, stale-instance hiding, explicit-disable precedence, blocked/unknown drivers, secret startup/rotation/reload and config secret fields | Replace disabled Codex construction with an inert lifecycle test driver; remove only retired Codex/Claude executable probes and Claude-only account/reset/cache tests; use annotated test schemas for apiKey/serverPassword | Native executable/account behavior remains in NeoPi-owned suites; no new runtime implementation or execution fallback. No checks run. |
| apps/server/src/provider/ProviderOrchestrationAdapterInfrastructure.ts; AGENTS.md | Remove the orphaned foreign execution infrastructure owner | Keep registry test coverage without loading retired SDKs or their factories | The migrated registry test was its last consumer; delete the obsolete Claude/Codex/Cursor infrastructure layer and record touched upstream files | Consumer search found no remaining use outside the deleted owner. |
| apps/server/src/ws.test.ts | Remove obsolete services from the RPC test graph | Keep the existing real production RPC/config/streaming assertions | Drop the absent retired scanner/importer, ACP registry, installation, authentication, maintenance and ModelManifest imports and mocks | Native constructor dependencies still require V2 reconciliation before the test graph is runnable; this is not verification or completion. |
| apps/server/src/provider/neopi/{NeoPiThreadBinding,NeoPiThreadBinding.test,NeoPiSessionJournal,NeoPiModels,NeoPiNativeOwner}.ts | Reseat native readers on genuine V2 identities | Retain canonical native files, full resume metadata, native profile/owner validation, read-only control attachment and source-owned Models connections | Add a shared V2 active-provider-thread reader with registry/session/cursor invalidation; journal and Models no longer import V1 services; convert only the NativeOwner observation resolver so far | New regression uses actual native adapter output plus SQLite projections to cover future model changes, same-session leaf changes, replacement identities, profile replacement and stopped state without triggering execution. UNRUN; explicit stopped-session starter and catalog lifecycle still need reconciliation. |
| apps/server/src/provider/neopi/NeoPiSessionCatalog.ts | Port live configuration reads and following to V2 | Preserve source-owned configuration snapshots, native observer-before-snapshot ordering, coalesced invalidations and changed-identity termination | Configuration now uses the shared V2 binding reader and current registry; watch invalidation uses V2 event sequence replay rather than V1 subscription | UNRUN. Remaining obsolete list/resume methods and genuine handoff lifecycle still use V1 and must be cut over before this factory is runnable. |
| apps/server/src/provider/neopi/NeoPiSessionCatalog.ts; apps/server/src/{ws,auth/RpcAuthorization,auth/RpcAuthorization.test,observability/RpcInstrumentation}.ts; packages/contracts/src/{neopiSessions,rpc,clientRpcPermissions}.ts; apps/{web,mobile}/src/state/neopiSessions.ts; packages/client-runtime/{package.json,src/neopiSessions.ts,src/neopiSessions.test.ts}; AGENTS.md | Remove the obsolete SQL-import discovery path rather than rebuilding it on V2 | NativeSessionSidebar and attention lists already use canonical native list/open; retain app-owned handoff/configuration/journal/tree routes | Delete unused legacy list/resume RPCs, schemas, atoms, helpers, their duplicate permission case, and old catalog import/list implementations; source reference search found no old endpoint or contract symbols | UNRUN. Legacy catalog tests still need V2 replacement for retained handoff/configuration behavior and retirement of removed import cases; handoff implementation still awaits physical-stop lifecycle integration. |
| apps/server/src/provider/neopi/NeoPiAdapterLive.ts | Replace lazy native resume with real runless startup | Reuse canonical cursor, process ownership, prior real turn context where present and observer-before-start ordering; never synthesize a run or turn | V2 resumeThread now starts the real runtime after ensure; optional prior binding, serialized unload/navigation, cancellation and closed-start guards | UNRUN. Actual adapter tests added; full manager-backed startup and physical handoff still need validation. |
| apps/server/src/provider/neopi/NeoPiSessionRuntime.ts; apps/server/src/provider/neopi/NeoPiNativeConversation.ts | Persist native navigation receipt and reserve navigation before asynchronous startup | Keep generation and session identity guards, full cursor boundaries and cancellation on the exact owner | Parse native navigate_tree receipt, advance only historyLeafId, publish cursor under adapter operation; prevent two concurrent start-and-navigate requests | UNRUN. Resume-tree continuation leaf handling and actual lifecycle race proofs remain. |
| apps/server/src/provider/neopi/{NeoPiThreadBinding,NeoPiNativeOwner}.ts; apps/server/src/orchestration-v2/{EventSink,ProjectionStore}.ts; AGENTS.md | Reseat explicit stopped-native startup and cursor recording on V2 | Use actual bound profile/session/model/policy, require native identity, await durable ready event, preserve entire native cursor and protect concurrent binding changes | Replace V1 starter with ProviderSessionManagerV2 open/resume; add guarded native-state writer and optional full-session/active-thread CAS checks to existing EventSink primitive; record successful navigation without SQL turns | UNRUN. Requires manager-backed integration proofs, atomic-guard tests and catalog handoff cutover. |
| apps/server/src/provider/neopi/{NeoPiAdapterTestHarness,NeoPiAdapterLive.test,NeoPiNativeConversation.test}.ts | Exercise runless native resume and startup exclusion | Drive real adapter and runtime through fixture transport; retain canonical history and stored turn boundaries | Add retained/no-prior-turn resume+navigation cases; extend existing history/start test with a Deferred-controlled concurrent request | UNRUN. Fixture navigation now models leaf selection independently of retained entries. |
| apps/server/src/provider/neopi/NeoPiSessionCatalog.ts | Port terminal handoff to genuine V2 detach and receipts | Preserve configured binary/profile, canonical native identity, native lease refusal and full cursor boundaries | Dispatch V2 provider-session.detach, await its successful outbox receipt, independently inspect the native lease, read the exact native branch, and save its watermark under full session/thread/attachment guards | UNRUN. Old V1 catalog tests still need migration; detached event and outbox success alone never certify physical release. |
| apps/server/src/orchestration-v2/{ProjectionStore,EventSink}.ts; apps/server/src/provider/neopi/{NeoPiThreadBinding,NeoPiThreadBinding.test,NeoPiNativeOwner}.ts; AGENTS.md | Preserve detached native identity without treating it as connected | Retain the actual active provider-thread cursor and historical session after V2 removes the live attachment | Add opt-in detached-active-session projection, distinguish attached from connected, include attachment membership in atomic cursor CAS, and permit explicit native restart from detached state | UNRUN. Extended actual-SQLite binding regression for detach, identity retention and reattachment invalidation; manager-backed handoff/startup integration still required. |
| apps/server/src/provider/neopi/{NeoPiThreadBinding,NeoPiThreadBinding.test}.ts | Exercise guarded cursor publication on real V2 storage | Preserve detached-session recovery without reopening live attachment or losing full native metadata | Extend the existing binding regression with real EventSink and allocator layers; check full session equality without timestamp changes, attachment mismatch, successful detached write and stale-row rejection; correct writer to actual IdAllocatorV2 export | UNRUN. These assertions are implemented but no test process has been launched. |
| apps/server/src/provider/neopi/{NeoPiSessionCatalog,NeoPiSessionCatalog.test,NeoPiAdapterTestHarness}.ts; packages/contracts/src/neopiSessions.ts | Replace the V1 catalog test surface with genuine V2 lifecycle coverage | Keep native handoff/lease checks, full cursor identity, configured profile quoting, and configuration observer ordering/cancellation | New fixture seeds a real native adapter cursor, then uses the actual V2 manager, outbox worker, SQLite projections and EventSink; add handoff/reopen/no-new-turn, retained lease, stale history, capability gate and observer tests; expose actual peer liveness to distinguish process exit from projected stopped state; remove obsolete SQL-import tests and unused import-only schema/error variants | UNRUN. Configured-executable/probe-refresh regression must be reseated in the current provider suite, not lost with the obsolete catalog fixture; full snapshot/reopen persistence still pending. |
| apps/server/src/provider/{NeoPiProvider,NeoPiProvider.test,Drivers/NeoPiDriver,Drivers/NeoPiDriver.test}.ts | Reseat configured-executable and refresh regressions at the current provider owner | Explicit executable never falls back; failed refreshes retain the last compatible capability set, successful refreshes replace it, unsupported peers are blocked and recovery clears failure | Fix driver imports after upstream flattened provider owners; use Effect's current process module; give driver fixture the actual ProviderHost and private secret layer; add an RPC-backed compatible/removal/spawn-failure/version-failure/unsupported/recovery sequence | UNRUN. Native driver/session configured-executable end-to-end regression and full integration checks remain pending. |
| apps/server/src/provider/Drivers/NeoPiDriver.test.ts; apps/server/src/provider/neopi/{NeoPiAdapterTestHarness,NeoPiSessionCatalog.test}.ts | Preserve the configured-executable chain through the genuine V2 driver | The selected binary/profile must produce both the capability probe and live native configuration without creating a user turn | Reuse the native protocol peer from the adapter harness at the real driver constructor; require its configured binary/profile on every subprocess, then open a V2 session, read native identity/model through the registered configuration source and verify detached configuration is unavailable; own child test scopes on every exit | UNRUN. This replaces the obsolete V1 configured-binary regression, not a substitute for the pending production startup and SQLite-reopen proof. |
| apps/server/src/provider/neopi/NeoPiSessionCatalog.test.ts | Exercise explicit native startup and tree navigation through real V2 owners | Observation does not start a stopped session; explicit startup retains native identity, history, turn boundaries and original instance despite a different future model selection | Extend the current SQLite/native-peer fixture with the real project runtime policy and NativeConversation/NativeOwner starter; add explicit-start navigation and disk-backed SQLite-close/reopen cursor/head assertions while checking no SQL runs, turns or messages are fabricated | UNRUN. The runtime/persistence regression is implemented but not yet executable in the uninstalled sync worktree. |
| apps/server/scripts/record-codex-app-server-replay-fixture.ts | Remove auto-added retired Codex recorder | Native and generic V2 regression fixtures remain | Retain generic replay infrastructure, not Codex app-server launch tooling | No imports/exports to a retained consumer; only obsolete transcript metadata names the recorder. No execution. |
| apps/server/scripts/record-cursor-agent-sdk-replay-fixture.ts | Remove auto-added retired Cursor recorder | Native and generic V2 regression fixtures remain | Retain generic replay infrastructure, not Cursor SDK launch tooling | CLI-only recorder depends on retired provider-cursor; no retained caller. No execution. |
| apps/server/scripts/record-fx-acp-replay-fixture.ts | Remove auto-added retired FX recorder | Native and generic V2 regression fixtures remain | Retain generic replay infrastructure, not FX ACP launch tooling | CLI-only recorder depends on retired provider-fx/provider-acp; no retained caller. No execution. |
| apps/server/scripts/record-grok-acp-replay-fixture.ts | Remove auto-added retired Grok recorder | Grok inference and historical usage remain separate | Retain generic replay infrastructure, not Grok ACP launch tooling | CLI-only recorder depends on retired provider-grok/provider-acp; no retained caller. No execution. |
| apps/server/scripts/record-kiro-acp-replay-fixture.ts | Remove auto-added retired Kiro recorder | Native and generic V2 regression fixtures remain | Retain generic replay infrastructure, not Kiro ACP launch tooling | CLI-only recorder depends on retired provider-kiro/provider-acp; no retained caller. No execution. |
| apps/server/scripts/record-muse-msp-replay-fixture.ts | Remove auto-added retired Muse recorder | Historical Muse decoding stays separate | Retain generic replay infrastructure, not Muse SDK launch tooling | CLI-only recorder depends on retired provider-muse; no retained caller. No execution. |
| apps/server/scripts/record-pi-rpc-replay-fixture.ts | Remove auto-added retired Pi recorder | NeoPi remains the distinct native execution runtime | Retain generic replay infrastructure, not upstream Pi launch tooling | CLI-only recorder depends on retired provider-pi and PiAdapterV2; no retained caller. No execution. |
| apps/server/scripts/record-claude-agent-sdk-replay-fixture.ts | Remove auto-added retired Claude recorder | Native and generic V2 regression fixtures remain | Retain generic replay infrastructure, not Claude SDK launch tooling | CLI-only recorder imports retired adapter testkit, exports nothing and has no retained callers. No execution. |
| apps/server/scripts/claudeReplayRecordingConfig.ts | Remove dead recorder-only validation | Shared validation contracts remain where used | Do not preserve scaffolding for a deleted harness recorder | Only consumer is the removed Claude recorder. |
| apps/server/scripts/cursorReplayRecordingWorkspace.ts | Remove dead recorder-only workspace shaping | Real workspace/test fixture infrastructure stays | Do not retain canned prompts for deleted Cursor recording | Symbol reference search finds declarations only after recorder removal. |
| apps/server/scripts/codexReplayRecordingRecords.ts | Remove dead recorder-only anonymization | Shared privacy and historical decoding remain unrelated | Do not retain copied helpers without a recording consumer | Symbol reference search finds declarations only after Codex recorder removal. |
| apps/server/scripts/replayRecorderDeferredRegistry.ts | Remove dead Codex recorder synchronization | Real EventSink/Queue/Deferred synchronization remains | Retain no orphaned registry merely because its implementation is generic | The deleted Codex recorder was its last consumer; complete helper read and reference search performed. |
| apps/server/src/provider/{AgentContextBudget.test.ts,agentContextBudget.json} | Measure only the graphical host's actual native-facing tool catalog | Keep the real MCP tool/schema byte budget and existing CI budget gate | Remove retired Claude/Codex prompt construction and Claude-only eager-loading metadata test | NeoPi owns its own system prompt; this GUI must not import retired execution adapters to measure prompts it no longer sends. MCP budget is unchanged and UNRUN; evals/mcp-tool-use still requires its separate native-facing cutover. |
| apps/server/src/storageCleanup.test.ts; apps/server/src/peer/{PeerLinkRequests,RemoteDelegation}.test.ts | Remove three remaining generic-test imports of the retired Codex adapter | Storage cleanup still exercises saved legacy Codex history; peer operations use an admitted NeoPi execution fixture | Reuse the existing SDK-free pooled capability scenario, whose fields match the previous constant, without changing cleanup/delegation assertions | UNRUN. Read both capability definitions before replacing; no fake execution driver is restored. |
| apps/server/src/process/agentScope.test.ts | Decouple shared-process scope regressions from the retired Codex launcher | Preserve OOM attribution, shared-scope kill isolation and cgroup delegation assertions | Construct a shared scope through AgentScope itself; this suite tests scope ownership, not a removed provider's argv | UNRUN. The retained helper uses the same shared:true scope flag as the retired launcher. |
| apps/server/src/mcp/OrchestratorMcpToolkit.integration.test.ts | Replace the retired Codex transcript with the genuine NeoPi V2 adapter and protocol peer | Retain distinct, identical and Unicode delegated results, queued follow-ups, cancellation, completion delivery, read acknowledgements and bounded query assertions | Use the shared registry-backed runtime/SQLite composition; await persisted turn-start events before finishing each child's own native session | UNRUN. No Codex recording or adapter remains in this suite; native multi-session admission and lifecycle are now exercised rather than assumed from another harness. |
| apps/server/src/provider/ProviderRegistry.test.ts | Remove retired SDK probes, manifests, installers and bootstrap layers while retaining generic registry behavior | Keep workspace cache/TTL, scan and refresh coalescing, replacement races, late enrichment, update-state publication, unavailable instances and startup settings races; retain native inventory persistence across restart | Use admitted NeoPi identities and native hydration, clear inventory from authoritative snapshots, preserve real refresh failures, exercise configured-executable changes without PATH fallback, and subscribe before emitting persistence receipts | UNRUN. Removed eight retired probe/cache-retention suites structurally; native configured-executable regression uses nonexistent explicit paths and blocks unexpected executable calls. No contributor code or live state executed. |
| apps/server/src/orchestration-v2/testkit/ThreadMergeBack.integration.test.ts | Port sibling merge-back integration from retired Claude/Codex replay drivers to the actual NeoPi V2 adapter | Preserve isolated fork sessions, source-context delivery, independent sibling deltas, exact source-run consumption and the original native session identity; inline handoffs stay out of user messages | Drive real protocol acceptance and persisted completion receipts through the V2 worker; inspect the actual native prompt instead of asserting that a prerecorded recall answer demonstrates model memory | UNRUN. Removes foreign SDK/testkit dependencies and injected-history fake. No runtime result claimed. |
| apps/server/src/orchestration-v2/testkit/NativeOrchestratorTestHarness.ts; apps/server/src/orchestration-v2/testkit/ThreadMergeBack.integration.test.ts | Share the genuine native integration fixture between fork, handoff and recovery cases | Keep actual NeoPi RPC, V2 manager/worker, acceptance and persisted-terminal barriers; never emulate provider turn state in a fake adapter | Factor repeated create/send/cursor/receipt setup into test-only code, with optional disk database and actual startup recovery | UNRUN. No runtime behavior is replaced by the helper; startup recovery enables the worker because the existing replay layer intentionally bypasses recovery when its worker is disabled. |
| apps/server/src/orchestration-v2/testkit/ThreadFork.integration.test.ts | Replace four foreign-native replay cases with four real NeoPi V2 integration cases | Preserve idle fork creation, selected/latest source-history bounds, inherited visible rows, lazy native startup, source/fork rollback isolation and continuation from the saved rollback cursor | Exercise NeoPi's honest portable-context fork rather than pretending it supports the removed Claude/Codex native-fork APIs; await rollback and cursor persistence receipts | UNRUN. Native identities/files must remain distinct, unaffected histories unchanged and removed turns absent from both projected and native history. No replayed answer is treated as model-memory evidence. |
| apps/server/src/orchestration-v2/testkit/OrchestratorReplayRecovery.integration.test.ts | Replace foreign Codex/Cursor/Claude restart fixtures with actual NeoPi V2 restart integration | Preserve accepted native history after process loss, cancellation of lost work, completed and interrupted delegated-child resumption into the same child session, model/lineage identity and parent/child output isolation | Snapshot the actual SQLite connection before teardown, reopen with production recovery, use native protocol receipts and exercise both completed and crash-cancelled app-owned children | UNRUN. Three distinct native scenarios replace duplicate foreign transports. Provider-native child output stays progress rather than parent text; app-owned child conversation stays on its own native file. |
| apps/server/src/orchestration-v2/testkit/NativeOrchestratorTestHarness.ts; apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts | Support real process-loss snapshots and active-turn integration operations | Preserve one SQLite layer across the runtime and snapshot connection, await actual acceptance/completion, and retain native disk identity across new peers | Expose active-turn completion separately from send, share the database layer, opt into actual startup recovery, and reset only process-local streaming state when spawning a fresh peer | UNRUN. No live process/state touched; no polling, replay SDK, fake adapter, or simulated SQL completion is introduced. |
| apps/server/src/orchestration-v2/ThreadFork.execution.test.ts | Keep generic fork regressions admissible after the NeoPi-only cutover | Preserve independent pooled/exclusive capability scenarios, portable/native-fork selection, compaction admission, side-chat lifecycle and merge-back guards | Use separate NeoPi fixture instances with explicit capability values instead of retired driver names; keep this unit-level fixture distinct from the actual native integration tests | UNRUN. A patch-range syntax warning was immediately corrected; no build, typecheck or test result claimed. |
| apps/server/src/orchestration-v2/testkit/OrchestratorReplayRestartBackgroundNote.integration.test.ts | Port one-shot background-cancellation notification coverage from Claude replay to NeoPi | Keep a settled parent settled after restart under both continuation settings, cancel its orphaned background task, add the restart context only to the next native prompt, and keep that context out of user history | Use the actual native adapter and a private SQLite crash snapshot; retain the deliberately seeded legacy stopped-session state that the regression covers | UNRUN. No foreign replay SDK remains; exact note wording is not pinned and no automatic agent turn is permitted by the test before user input. |
| apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts | Migrate generic provider-switch coverage to distinct admitted NeoPi fixture profiles | Keep capability variants, compatible/incompatible continuation keys, handoffs, queue/steering order, context use, retry/rebuild, attachments, session release and native identity replacement assertions | Namespace generated fixture IDs by instance; assert executed profile IDs rather than now-equal driver names; give the resumable V1 fixture an explicit stopped NeoPi binding while separate legacy-admission coverage retains retired/unknown rejection | UNRUN. Independent read-only scout mapped identity-sensitive sites. Removed only the Claude-specific pre-prompt refusal-tag cases and helper (not a claimed NeoPi contract); actual native acceptance/rejection coverage remains separate. This synthetic adapter suite is not native runtime proof. |
| packages/provider-cursor/src/server/usageLimits.ts | Restore the upstream account-quota reader verbatim from MERGE_HEAD and retain it unwired | Preserve monthly Overall/Cursor Models/Other Models parsing, explicit credential and proxy restrictions, clamping/reset behavior and its existing tests for cheap future syncs | Follow first-officer decision: no second GUI collector/credential registry; native usage is authoritative | No package code or tests executed. Actual isolated native get_usage probes succeeded for cursor/xai-oauth/opencode-go/muse-code under polite admission; response comparison and pinned native source evidence are in external STATUS.md. |
| evals/mcp-tool-use/{run.ts,trim-capture.ts,templates/claude.json.gz,templates/codex.json.gz,grading.ts,grading.test.ts,devices.test.ts,regrade.ts,README.md}; evals/{package.json,README.md} | Retire the Claude/Codex capture runner under explicit first-officer instruction | Preserve generic case schemas, normalization, grading/early-stop logic, saved-sample regrading, all case data, secret/device graders, behavioral traces and direct product-backed device tests | Move reusable grading code out of the runner; remove capture/simulator-only tests and literal fixture pins; replace captured test environments with explicit device fixtures; remove retired run/trim commands and assets | UNRUN. No model calls or copied native prompts. A real NeoPi prompt/tool capture seam is an explicit PR follow-up, not a blocker. Reference search found no remaining retired-runner imports or capture-template references. |
| apps/server/src/ws.test.ts | Complete the existing configuration-RPC test layer for native V2 factories | Preserve real WebSocket configuration and subscription assertions without starting native sessions | Supply the current ID allocator and fail-if-called mocks for native sessions, V2 projection store, event sink and outbox required when production RPC handlers are constructed | UNRUN. Native owner/binding/catalog/conversation factory dependencies were read before adding the mocks; unrelated RPCs still fail rather than return fake success. |
| apps/server/src/orchestration-v2/{ClaudeAutomaticDelivery,NeoPiAutomaticDelivery}.integration.test.ts | Replace the retired Claude SDK integration with the actual NeoPi V2 runtime/adapter and persisted orchestrator harness | Keep all four delivery cases: child completion with duplicate receipt/recovery, scheduled message, user steering, and promotion of queued input; preserve tool completion and queue/recovery idempotency assertions | Exercise native prompt/steer admission without assuming Claude-specific aborted-tool refusals; queued automatic notices wait for the active turn and explicit steering remains on that turn | UNRUN. The peer emits native RPC frames; no Claude SDK/query simulator remains. Scheduled delivery still calls the real scheduled-task service. Native/generic factory tests remain subject to the final focused verification pass. |
| apps/server/src/orchestration-v2/ProviderTurnStartService.ts | Remove the obsolete Claude-only pre-prompt refusal classifier | Preserve native acceptance receipts, handoff delivery and post-acceptance bookkeeping behavior | Delete the retired SDK error-tag list and its unreachable handoff restoration branch rather than mapping NeoPi failures to Claude tags | UNRUN. Existing branch matched only removed Claude error names; native behavior is unchanged. Native acceptance/retry and handoff tests remain in the focused verification scope. |
| apps/server/src/orchestration-v2/{OpenCode2OrchestratorV2,NeoPiOrchestrator}.integration.test.ts; apps/server/src/orchestration-v2/testkit/{NativeOrchestratorTestHarness,ThreadFork.integration.test}.ts; apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts | Replace OpenCode HTTP replay with native V2 orchestration coverage | Preserve message/settings model switching, full-access/auto-edit mode transitions, plan/default transitions, queued cancellation ordering, earlier-fork completion and child settlement without duplicate continuations | Native test peer applies model changes before recording prompt selection; exercise completed/failed/aborted child reports, truthful parent messages and cleared pending work. Existing native SQLite restart recovery owns process-loss behavior rather than faking OpenCode reconnect/backfill | UNRUN. Read-only scout classified all eight original named tests. OpenCode-specific session IDs, permissions wire format, inbox and reconnect protocol are retired. Native and generic callsites were checked before extending the test harness's optional model-selection argument. |
| apps/server/src/orchestration-v2/Adapters/*; apps/server/src/orchestration-v2/testkit/{AcpRegistry,Claude,Codex,Cursor,Fx,Grok,Kiro,Muse,OpenCode,Pi}ReplayFixtures.integration.test.ts, OpenCode2PendingSnapshots.evidence.test.ts, ProviderReplayFixtures.ts; apps/server/src/provider/{AcpRegistryProbe,KiroProvider,OpenCode2Client.events,acp/AcpSessionRuntime.processTree}.test.ts; apps/server/src/testUtils/shardWeights.json | Complete the retired execution cutover after migrating generic consumers | Preserve native/generic fork, merge, restart, model/mode, queued delivery, approval and child lifecycle tests; retain fixture data and SDK-free history readers independently | Delete the actual remaining 30 adapter implementation/test/helper files, 12 obsolete replay runners and four retired runtime tests; remove their stale measured test weights rather than invent new timings | UNRUN. Two read-only scouts classified cross-boundary behavior. Native snapshot/restart tests replace only supported native semantics, not OpenCode-specific reconnect recovery. MCP form/SDK callbacks and foreign process/cgroup mechanics retire with their runtimes. No quota source or collector was deleted or wired. |
| apps/server/src/orchestration-v2/testkit/fixtures/{claude_background_monitor_wake,claude_background_subagent_after_root,claude_background_task_wake,claude_nested_background_subagent_wake}/input.ts | Keep historical fixture cases without importing executable Claude testkit code | Preserve each exact recorded gate label and case input | Replace the removed helper call with its exact static recorded label | UNRUN. Historical fixture data stays available; no replacement execution path or compatibility shim is introduced. |
| apps/server/src/provider/neopi/NeoPiAdapterLive.test.ts; apps/server/src/orchestration-v2/NeoPiOrchestrator.integration.test.ts | Retain approval and child-cleanup edge coverage at the native boundary | Extend the existing scoped-response case over accept/decline/cancel and reject duplicate answers; exercise failed/aborted child reports while a child command remains open | Native identity, decision, terminal-state and no-duplicate-delivery assertions rather than foreign SDK callback semantics | UNRUN. These are substantive regression cases, not evidence that the new native implementation already passes them. |
| packages/provider-cursor/src/server/credentialStore.ts; packages/provider-muse/src/server/protocol.ts; packages/provider-opencode/src/server/{status,usageLimits}.test.ts | Isolate the retained quota sources from retired SDK execution | Keep Cursor's read-only stored-key decoder and expiry checks, Muse's quota/reset schema, and all five OpenCode quota credential/entitlement regression cases | Remove Cursor SDK write/migration store and Muse execution schemas; move the existing OpenCode quota tests out of the retired runtime status suite without changing their bodies | UNRUN. No GUI credential or collector registry is added. Cursor/Grok/OpenCode/Muse usage readers remain unwired in their original workspaces as explicitly directed. Further package execution deletion follows in the same dependency cutover. |
| packages/provider-{acp,acp-registry,cursor,fx,grok,kiro,muse,opencode,pi}/ | Retire foreign execution workspaces while keeping upstream data-only owners | Preserve seven client/settings metadata sources and all four unwired quota readers with their local dependencies and retained tests | Delete 151 execution TypeScript sources/tests plus the two ACP workspace manifests and compiler configs; remove executable/testing exports and SDK dependencies from seven retained manifests. Keep only client/settings exports; no runtime registration is added | UNRUN. Exact inventory contained 181 TypeScript files; 30 are retained. Mobile icon generation still resolves its seven source client files. Retained quota sources remain at their existing paths; lockfile regeneration remains pending. A narrowed follow-up found older orphan SDK helpers in apps/server/src/provider, which are the next closure task. |
| apps/server/src/provider/{ClaudeCapabilitiesProbe.test,ClaudeTurnTokenUsage,CodexMcpElicitation,CodexMcpElicitation.test,CodexThreadRevert,CodexThreadRevert.test,CodexToolPresentation,CodexTurnTokenUsage,TurnTokenUsage.test,acp/AntigravityClientFiles,acp/AntigravityTurnOutcome,acp/AntigravityTurnOutcome.test}.ts | Remove twelve orphaned SDK helpers and tests after adapter retirement | Preserve SDK-free historical usage readers and authoritative native usage | Delete retired probe, RPC presentation/revert, live turn-accounting and ACP callback helpers that no remaining execution consumer imports | UNRUN. A source-only symbol search found only these helpers and their own tests after the adapter cutover. Historical transcript decoding and quota source remain separate and retained. |
| pnpm-workspace.yaml; patches/react-native-screens@5.0.0-t3.48.patch; AGENTS.md | Let the upstream screens tarball own the Android codegen compatibility fix | Preserve the five Android setters for iOS-only header properties and the subview identifier setter already present in the upstream archive | Remove the redundant warning-only overlay and register the native execution, quota and eval cutovers in the fork-touch table | First admitted lock-only regeneration failed at .pnpmfile.cjs because a fork tarball was also patched. Reading both Android source files in react-native-screens-5.0.0-t3.48.tgz confirmed the required setters are already supplied. The guard remains intact; native builds are not yet run. |
| pnpm-lock.yaml | Regenerate the generated dependency graph from upstream's lockfile and the reconciled manifests | Keep native NeoPi dependencies and retained metadata/quota workspaces while removing separate retired harness dependencies | Use pinned Node 26.12.1 and pnpm 12.14.0, lock-only and scripts-disabled under polite admission after fixing the duplicate screens patch | PASSED: lock regeneration for all 39 workspace projects; pnpm verified 2032 lock entries against supply-chain policies. Reported 11 deprecated transitive packages, no error. Dependency installation and code verification are still pending. |
| apps/web/src/routeTree.gen.ts | Regenerate the complete route tree from current route sources | Preserve native Models and modal NeoCore alongside upstream guest/connect-agent routes and current settings navigation | Run the installed TanStack generator with the same autoCodeSplitting configuration as the Vite plugin; no dev server or application launched | PASSED: generator completed; generated Models, NeoCore, guest and connect-agent entries inspected; no unresolved conflicts remain in this file. All 734 original conflict files are now resolved. Frozen script-disabled dependency install also completed successfully for 39 workspaces. Code tests remain pending. |
| Native NeoPi modules and tests in apps/{server,web,mobile} and packages/{client-runtime,effect-neopi-rpc,shared} (46 files) | Complete the Effect 4.1.2 module cutover | Preserve native model/session state, RPC processes, hosted stats, attachment Base64 and URL-safe workspace IDs | Replace removed unstable module paths with installed public namespaces via syntax-aware edits; use Base64.encode and unpadded Base64Url.encode for the removed Encoding module | First web regression run exposed unresolved imports. Installed package exports and encoder sources were read before editing. These import/API changes are not yet verified by focused tests or typechecking; no compatibility layer was added. |
| apps/web/src/components/sidebar/{useUpdateEverything.ts,updateEverything.logic.ts,updateEverythingRun.tsx} | Remove the retired provider-update lane end-to-end | Native NeoPi owns execution installation; no GUI updater imports, fake update callback or provider counters | Keep concurrent app download/server work, server handoff before local restart, retry and launch recovery; old saved v1 provider fields are ignored by schema decoding | Focused unit checks passed 13 tests in 2 files (bg_28). Initial skipped server outcomes retain their previous non-failure semantics; retry still reports an update that could not start. Runtime/client proof remains unrun. |
| apps/web/src/components/sidebar/{UpdateEverythingDialog,SidebarUpdateCapsule,SidebarUpdatePill}.tsx and apps/web/src/components/settings/UpdateTrackSwitchDialog.tsx | Remove provider-only UI and keep the real app/server update flow | NeoCode display branding and selected machine targets remain | Keep local-only install, fleet confirmation, track-switch database gates, progress, restart-last, retry and skipped-machine explanations | Source reconciled; no client capture or runtime check yet. |
| apps/web/src/components/sidebar/{updateEverything.logic.test.ts,updateEverythingRun.test.ts,SidebarUpdatePill.browser.test.tsx} | Align tests to the removed execution lane | Real server concurrency and persistence contracts remain tested rather than provider callback echoes | Cover a pending local download not blocking server work, download failure, no local download, remote desktop rows, and launch restoration with both current results and old v1 extra provider fields | Unit files passed 13 tests (bg_28) under polite admission. Browser tests not yet run. Node emitted its experimental localStorage warning; no test failed. |
| docs/user/updating.md | Remove retired provider-update and npm registry claims | NeoPi installation stays separate and authoritative; use NeoCode display identity | Document version-matched platform CLI archives and checksums, retain server/app restart and mobile server maintenance guidance | Pinned-runtime source confirms release assets/checksums; mobile source exposes refresh only, not a provider updater. |
| apps/web/src/routes/_chat.settings.providers.tsx and apps/web/src/components/settings/legacyProvidersNavigation.test.ts | Preserve the selected machine through the retired Providers route redirect to Models | Runtime model configuration stays in the native Models page | Prefer the current machine query over a stale legacy environmentId, and preserve the legacy fallback when no machine was supplied | Clean focused reproduction: 2 failed / 1 passed before the route fix. Corrected route plus existing scope-navigation suite passed 14 tests in 2 files under polite admission (bg_27). Earlier malformed test-harness runs are not before-fix evidence. |
| apps/server/src/provider/Drivers/NeoPiDriver.ts | Use the extracted provider-core environment and identity owners | Retain configured native profile, secrets and instance identity | Await the now-effectful environment merge and declare its host directory/platform services | Server-only typecheck exposed deleted pre-extraction imports; replacement helpers read before editing. Subsequent typecheck and native runtime proof pending. |
| apps/server/src/provider/neopi/{NeoPiNativeOwner,NeoPiNativeSessions,NeoPiSessionCatalog,NeoPiSessionJournal,NeoPiSessionRuntime}.ts | Reuse provider-core's extracted bounded stream collector | Preserve byte limits, stderr evidence and native process lifecycle | Replace removed local stream paths with the shared collector; use the existing shared UUID generator for V2 handoff commands instead of removed effect/Crypto | Source contracts inspected; later verification pending. |
| apps/server/src/provider/neopi/NeoPiNativeEventHub.ts and scripts/lib/isolated-gui-process.test.ts | Finish helper namespace relocation | Preserve bounded native observers and isolated GUI import proof | Use orchestration-v2 LiveStreamBudget and current Effect process exports | Server-only typecheck exposed the old paths; no test or typecheck result for this correction yet. |
| apps/server/src/preview/SessionControl.test.ts | Preserve post-close rejection for all callers, including coalesced hover callers | A closed tab cannot return a successful late automation result | Update the remaining old running-hover expectation to the post-close contract | Initial focused run: 18 passed / 1 failed because it still expected the running call to succeed. After correction, SessionControl plus authorization suites passed 44 tests in 2 files (bg_31). Whole-tab replacement proof is still pending. |
| packages/contracts/src/clientRpcPermissions.ts and apps/server/src/{auth/RpcAuthorization.test.ts,ws.ts} | Authorize quota-source credit redemption while rejecting retired execution-provider redemption | Native NeoPi is not a GUI-managed reset-credit execution provider | Retain the active quota-source RPC; add shared providers:manage enforcement and runtime allow/deny tests, remove calls to deleted instance reset-credit methods | Focused authorization plus preview suites passed 44 tests in 2 files (bg_31). Source-based redemption stays wired; instance requests receive a typed unsupported error. |
| apps/server/src/mcp/McpToolAccess.ts | Preserve native/legacy workspace scope discrimination through Effect inference | Native requests keep canonical native authority; legacy writes retain live-caller checks | Explicitly type the existing union returned by requireWorkspaceCaller rather than widening unknown or converting native scopes into SQL threads | Root server typecheck diagnosed the union; follow-up typecheck and focused MCP proof pending. |
| apps/server/src/provider/{CodexChatGptAuth,CodexChatGptAuth.test,CodexChatGptHandoff,CodexAuthCallbackPage,CodexChatGptSessionLock,CodexChatGptSessionLock.test,CodexChatGptModels,CodexChatGptModels.test,CodexInstallation,CodexInstallation.test,CodexManagedHome,CodexManagedRuntime,CodexManagedRuntime.test,CodexManagedTokenBroker,CodexManagedTokenProtocol,CodexManagedErrors,CodexManagedErrors.test,CodexDeveloperInstructions.test}.ts; provider/Drivers/{ClaudeMaintenance,ClaudeMaintenance.test}.ts; cli/managedChatGptToken.ts; {claudeModelOptions,claudeModelOptions.test}.ts | Delete 23 newly introduced orphaned retired-harness implementation/test files | Retain generic credential storage, legacy history and the four upstream quota readers; NeoPi is the only registered execution driver | Remove managed Codex OAuth/token/install/runtime and Claude-specific execution compilation/update code without restoring removed contracts | Read-only closure map plus primary-agent source/header and consumer review found no surviving execution consumer outside the removed cluster. No claim that broader server verification passes. |
| apps/server/src/{provider/ProviderAuthService.ts,orchestration-v2/ProviderTurnStartService.ts,orchestration-v2/ProviderTurnStartService.test.ts,orchestration-v2/ProviderAdapterRegistry.test.ts,orchestration-v2/testkit/ProviderReplayHarness.ts,orchestration-v2/runtimeLayer.ts} | Remove retired authentication interception and missing live legacy-scanner wiring | Forward native commands to NeoPi; preserve empty-compaction validation, V2 runtime services and LegacyV1ThreadImporter | Keep the shared registry routing test and existing turn-start tests; remove only old GUI auth controllers, sign-out interception, dependent mocks/tests and scanner/importer layers | Source reconciliation complete; focused turn/runtime tests and typecheck pending. |
| apps/server/src/{telemetry/FeatureUsage.ts,testUtils/shardWeights.json} | Remove metadata for deleted external session import and retired tests | Keep telemetry and weighted scheduling for existing features | Drop only deleted import mapping and five stale test-weight entries | Compiler/source evidence identified these obsolete registrations; no runtime behavior added. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 14/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44809 bytes; SHA-256 3b9c6c2d71947b79d6b2e12045823d0e346604df79b29c7088b24efa9fefe350.

| apps/server/src/mcp/McpSessionRegistry.testkit.ts | Use the existing partial Layer.mock convention for unrelated test consumers | A native credential is never fabricated by the legacy test fixture; actual native issuance stays covered by the real registry tests | Missing native operations fail as unconfigured test operations rather than making the service shape incomplete | Source-only change; focused tests pending. |
| apps/server/src/cli/deferredImports.test.ts and apps/server/src/provider/neopi/NeoPiStatsService.test.ts | Remove retired history-worker execution proof and move the native stats fixture to the current registry owner | Keep generic CLI deferred-loading behavior and native stats behavior | Remove the deleted Claude command's mock/barriers/test; import extracted registry owner | Source-only change; focused tests pending. |
| apps/server/src/mcp/{McpSessionRegistry,McpHttpServer}.ts | Remove process-global active registry and tool-server slots; keep in-process dispatch on the same dependency-injected MCP server as HTTP | Revocation, capability checks, registered schemas and image conversion remain authoritative per environment | Registry lifetime finalizes its own credentials; calls resolve and dispatch through explicit Effect services, with no absent-registry fallback | Focused registry/bridge verification running; environment isolation regression still required. |
| apps/server/src/provider/neopi/{NeoPiHostToolBridge,NeoPiAdapterLive,NeoPiNativeSessions}.ts and apps/server/src/provider/Drivers/NeoPiDriver.ts | Capture only the owning MCP registry/tool-server context and use current McpProviderSessions | Native pumps keep transport-local scope; credential rotation and instance/session correlation remain checked | No global configuration store or SQL-native credential alias; native adapter uses injected random UUID generation and typed RPC errors; rollback converts the branded target ID without changing its value | Source reconciliation; native/V2 proofs and typecheck still pending. |
| apps/server/src/orchestration-v2/RunExecutionService.ts and apps/server/src/server.ts | Refresh MCP liveness through the runtime-owned registry and build the shared MCP server before native providers | Keep the same tool registrations and runtime readiness ordering without a provider/handler construction cycle | Explicit service dependencies replace active-singleton lookup | Source reconciliation; server startup and runtime tests pending. |
| apps/server/src/provider/neopi/NeoPiHostToolBridge.test.ts | Replace removed V1 engine/projection fixtures with current V2 query dependencies and native service fixtures | Preserve real MCP registration, scope validation, cancellation, rebinding and revocation tests | Use existing V2 thread fixture; no legacy execution layer restored | Focused verification running. |
| apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts | Supply current MCP and crypto dependencies to the genuine V2 adapter fixture | Adapter and session-runtime behavior remain real; unrelated MCP credentials stay absent | Acquire dependency layers in the test's existing scope, then provide only their built context to adapter construction | Fixture migration only; V2 adapter test execution pending. |
| Native MCP verification | Resolve merged-test contract drift and exercise independent server contexts | Keep snapshot image opt-in and the complete upstream PR tool catalog | Remove catalog inventory pins; request image content explicitly; in-process calls admit only request identity and scope into owning registrations so a foreign caller cannot replace their services | Focused registry + native host bridge run passed 17/17 tests in 2 files (bg37). Earlier runs exposed and fixed bearer-header misuse and cross-context handler substitution. |
| apps/server/src/provider/neopi/{NeoPiAdapterLive,NeoPiAdapterLive.test,NeoPiAdapterTestHarness}.ts | Distinguish MCP credential IDs from V2 provider-session IDs | A valid current credential must reach the host bridge, and rotated credentials must revoke old access | Compare the resolved MCP scope to its issued credential, not an unrelated runtime session ID; use the real credential registry in the V2 fixture and exercise access across credential rotation/reopen | New focused V2 host test running (bg38); full V2 suite pending. |
| apps/server/src/provider/{ProviderRegistry,ProviderRegistry.test,testUtils/providerRegistryMock}.ts; apps/server/src/ws.ts | Remove the remaining provider-update registry lane and its installer-cache side effects | Native instance inventory, explicit native discovery invalidation, scoped refreshes and current-state publication remain | Retain the upstream registry's refresh/snapshot architecture; replace the retired update-state race test with a real concurrent-snapshot publication regression; preserve replaced-instance rejection for successful and failed probes | Targeted registry verification pending; no GUI provider update executor remains in this registry. |
| apps/server/src/provider/{providerMaintenanceRunner,providerMaintenanceRunner.test,providerMaintenanceCommandCoordinator}.ts | Delete the orphan GUI harness installer/update executor and its exclusive coordinator | Native NeoPi owns harness lifecycle; server/app update paths are independent and retained | These automatically added upstream files had no production callers after the earlier updater cutover; no compatibility shim or no-op retained | All production references searched before removal; verification pending. |
| packages/effect-neopi-rpc/src/{client,client.test}.ts | Preserve a terminal prompt's late acknowledgment until it is correlated; do not attach following agent-start events to an ended prompt | Existing V2 native identity and acknowledgement semantics | Mark unacknowledged terminal prompts rather than clearing them; remove their records on correlated completion | New receipt-driven regression failed before the fix at its first outcome-completion assertion (no timeout). After fix, full client run: 22 passed, 6 startup/failure tests timed out. |
| packages/effect-neopi-rpc/src/client.ts | Keep failed-startup kill escalation owned and abort a failed protocol negotiation | Normal successful shutdown grace remains unchanged | Await the bounded fatal-transport kill instead of letting scope teardown interrupt it; negotiation failures now enter the same abort path | Repair follows six observed failure-path timeouts; verification pending. |
| apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts; apps/server/src/orchestration-v2/NeoPiOrchestrator.integration.test.ts | Cover first-start approval/user-input success and failure through real V2 orchestration, SQLite and native protocol peers | Preserve the root-bound request, no-prompt-on-failure and subsequent recovery contracts formerly exercised through V1 | Add native startup variants and four persisted first-turn scenarios; normal fixture peers exit on stdin close instead of simulating a stubborn process | New cases unrun. Earlier full 20-case V2 adapter run timed out after 300s in the early-terminal/late-ack case; rerun with repaired RPC is active (bg41). |
| apps/server/src/provider/neopi/{NeoPiSessionRuntime.test,NeoPiTestPeer}.ts | Replace elapsed-time polling with per-fixture frame/command receipts | Native runtime ownership, cancellation, pending-dialog and proposal assertions | Add captured-frame and command receipt waits; ported outcome, proposal, approval and host cancellation waits | In progress and not yet staged: remaining V1 adapter callers still need migration before this file can run. |
| Native RPC and V2 verification | Verify late-acknowledgment and startup cleanup repairs end to end | Keep exact native acceptance before terminal publication | Full native RPC client suite passed 28/28 after fatal-startup cleanup; the V2 adapter suite passed 21/21 after fixture protocol/cursor corrections | Both are exercised results. The earlier 300s V2 hang, subsequent 3-failure and 1-failure runs, and six RPC timeout failures were resolved rather than classified as baseline. |
| apps/server/src/provider/NeoPiAdapter.test.ts | Remove the obsolete V1 adapter suite after its behaviors pass through genuine V2 fixtures | Preserve streaming, steering, scoped requests, gated capabilities, proposal withdrawal, branch recovery and credential rotation | Those contracts passed in the 21-case V2 suite; pending-plan-before-branch and local-command rollback are covered explicitly | Deleted V1-only test APIs and its final deleted McpProviderSession import; no retired adapter restored. |
| apps/server/src/provider/neopi/{NeoPiAdapterLive.test,NeoPiAdapterTestHarness,NeoPiSessionRuntime.test,NeoPiTestPeer}.ts | Complete runtime test cutover and preserve process-death/terminal-owner contracts | Attached configuration observation, forbidden owner mutations, startup-dialog routing, native same-file recovery and local command rollback remain | Per-event queue receipt consumption avoids dropping later events from a pulled batch; realistic branch paths remain under their session directory, withdrawal emits terminal completion, normal peers exit on stdin EOF | New process-death case, runtime suite and persisted startup matrix are running together (bg45); temporary diagnostics removed. |
| apps/server/src/provider/neopi/{NeoPiNativeOwner,NeoPiSessionCatalog,NeoPiSessionCatalog.test}.ts | Consume the domain event inside V2's persisted event envelope | Native owner readiness and configuration invalidation remain bound to the authoritative session | Align readiness and catalog observation with EventSinkV2's OrchestrationV2StoredEvent contract; retain the genuine persistence fixture | Corrects reads of type/payload from the outer envelope. Verification pending. |
| apps/server/src/provider/neopi/NeoPiSessionRuntime.ts | Keep typed protocol errors and established reusable-effect forms | Native ownership guards, acceptance ordering, cancellation and lifecycle bodies unchanged | Use named Effect.fn operations; keep high-frequency frame processing untraced; map catalog decode failures and retain navigation schema details in the RPC error message | Removes unsupported cause field from NeoPiRpcError without dropping the failure reason; verification pending. |
| apps/server/src/provider/neopi/mappers/subagents.test.ts | Port the child-isolation regression to genuine V2 orchestration and native RPC | Child text, errors and usage remain isolated from the parent answer | Replace the deleted V1 orchestration harness and fake/no-op runtime with the existing native protocol/SQLite harness and persisted subagent projection assertions | Tests parent answer isolation and completed child usage/result through actual ingestion; verification pending. |
| apps/server/src/provider/neopi/NeoPiAdapterLive.ts | Apply reusable lifecycle effect conventions and typed cursor validation | Frame publication, cursor refresh and frame mapping remain untraced hot paths | Named lifecycle/observation methods preserve bodies; cursor decoding now uses the typed Effect error channel | Runtime behavior verification continues; no per-frame tracing allocation introduced. |
| apps/server/src/provider/neopi/{NeoPiSessionRuntime.test,NeoPiAdapterLive.test,NeoPiAdapterTestHarness,NeoPiTestPeer}.ts | Repair native regression fixtures and current subprocess argument types | Owner mutation refusal, correlated outcomes, startup UI and same-file crash recovery | Remove a wait for a terminal event that pre-admission refusal never emits; restore used frame capture; correct fresh-session directory; decode subprocess Word arguments like the real spawner | Four isolated formerly failing/stalled cases passed in two files. Full combined run still timed out; per-case runtime investigation is active. |
| apps/server/src/orchestration-v2/testkit/ProviderReplayHarness.ts | Carry SchemaError in database layer and harness error unions | Genuine native RPC, SQLite, event sink and outbox paths retained | Accept the actual migration/decode error channel rather than narrowing it away | Verification pending. |
| apps/server/src/provider/{ProviderRegistry,ProviderRegistry.test}.ts | Restore the snapshot-source type import and remove retired maintenance fixture members | Native snapshot refresh, stale-publication isolation and cache persistence | Preserve the existing source contract; add required empty command inventory to one fixture; delete only obsolete resolveMaintenance fields | Fresh typecheck exposed the missing import and fixture drift; verification pending. |
| apps/server/src/{orchestration-v2/RunExecutionService.test,usage/UsageService.test}.ts | Provide the newly required scoped host dependencies in unit fixtures | Existing execution and historical usage assertions remain | Add explicit MCP-liveness and background-policy unit dependencies; remove an obsolete Cursor collector setting from the no-credential-read regression | No GUI collector or credential registry introduced. Verification pending. |
| Current verification | Measure the reconciled server rather than rely on stale errors | No failures classified as baseline | Third server-only typecheck completed with 622 errors in 92 files (artifact1539), down from the earlier 895/120 before later repairs; isolated native cases passed4/2 | Full runtime/V2 combined rerun timed out at90s without a suite result. A runtime-only verbose diagnostic run is active (bg49). |
| apps/server/src/provider/neopi/NeoPiSessionRuntime.ts; docs/internals/providers.md | Bind host handler interruption to request cancellation rather than only session lifetime | Cancelling one tool aborts its signal, interrupts its handler and suppresses late results without closing the native session | The existing host cancellation regression reproduced a standalone 15-second stall before the repair; request-scope finalization now interrupts a raced receipt | Both focused cancellation cases passed, then all 68 native runtime/V2 adapter tests passed across two files. |
| apps/server/src/provider/neopi/NeoPiNativeSessions.ts | Apply enforced native service effect and error conventions | Owner validation, side-channel scopes, canonical file resolution and host-tool ownership remain intact | Preserve combinator order through Effect.fn; use selective catchIf and typed catalog decoding; yield typed failures directly | Verification pending; no extra tracing on existing untraced native stream paths. |
| apps/server/src/provider/neopi/NeoPiSessionCatalog.test.ts | Preserve typed failure and process ownership assertions in genuine catalog fixtures | Native snapshot cancellation/failure cleanup and detached process liveness | Use the native runtime error type and terminate the unexpected process-observation error channel explicitly | Verification pending. |
| apps/server/src/orchestration-v2/{testkit/ProviderReplayHarness,RunExecutionService.test}.ts | Reuse the existing scoped MCP registry testkit for execution-service liveness | Native adapter fixtures retain their real credential registry; replay manager keeps its explicit configureMcp=false boundary | A 3-file persisted-native run failed 15 cases on missing McpSessionRegistry while six pure mapper cases passed; wire the already-present testkit into RunExecutionService too | Corrected rerun is active (bg53); no production fallback or ambient registry added. |
| apps/server/src/preview/ServerBrowser.test.ts | Migrate browser lifecycle event assertions to the current manager subscription | Navigation, download, popup, tab-budget and idle-close event order remains observed | A scoped callback subscription feeds a receipt queue; replace retired subscribeEvents/PubSub calls and remove the obsolete readiness yield | Reuses the manager's synchronous subscription contract; browser test verification pending. |
| packages/contracts/src/{orchestrationV2,orchestrationV2.test}.ts | Encode and decode nested native recovery turns through the provider-thread JSON boundary | Native turn/root identity, accepted-input receipt and nullable lifecycle timestamps survive persistence | Reuse a single native last-turn schema and specialize its nested provider turn with the existing JSON codec | New focused regression failed before the fix on nativeMetadata.neopiLastTurn.providerTurn.startedAt; all 13 V2 contract tests passed after the fix. |
| Persisted native verification | Diagnose the actual V2 persistence failure beyond adapter-only coverage | No SQL surrogate for externally owned native sessions | Three-file run after MCP test wiring timed out on a native ingestion error; temporary detailed logging identified a nested DateTime.Utc JSON decode failure and was removed | The contract regression now proves its repair; the focused genuine native model/persistence rerun is active (bg55). No temporary logging remains. |
| apps/server/src/orchestration-v2/testkit/NativeOrchestratorTestHarness.ts; apps/server/integration/neopiProviderIngestion.integration.test.ts | Await native persistence, then drain checkpoint effects before final completed status | Actual V2 terminal-to-waiting-to-checkpoint-complete lifecycle | The isolated native case reached dispatch, admission and emitted completion but waited for completed before running the checkpoint effect; reorder receipt waits around the explicit worker drain | Temporary milestone logging removed. Focused genuine native completion rerun active (bg57). |
| apps/server/src/orchestration-v2/NeoPiOrchestrator.integration.test.ts | Match queued-turn and startup-dialog completion to the real checkpoint lifecycle | Cancellation exclusion and first-start recovery still exercise genuine native RPC and persisted projections | Await the native terminal-state receipt and drain the checkpoint effect before waiting for completed run status | Extends the same checkpoint barrier correction to the two direct completion paths outside the shared harness; verification pending. |
| apps/server/src/provider/neopi/{NeoPiAdapterLive,NeoPiAdapterTestHarness}.ts; docs/internals/providers.md | Publish native recovery metadata before the V2 terminal boundary | Final native cursor and turn status remain durable when the consumer ends its subscription | The strengthened existing adapter regression failed before repair because its pre-terminal saved turn was still running; defer the terminal event until nonterminal state and cursor updates publish | After-repair adapter plus genuine persisted-orchestration checks are active (bg58). |
| apps/server/src/orchestration-v2/testkit/NativeOrchestratorTestHarness.ts; apps/server/src/orchestration-v2/NeoPiOrchestrator.integration.test.ts; apps/server/integration/neopiProviderIngestion.integration.test.ts | Await the committed waiting-run receipt before draining the checkpoint worker | Preserve final native metadata and actual database-backed recovery assertions | Replace the earlier metadata-only barrier: that event precedes terminal handling and can let the worker drain before checkpoint work exists | The formerly hanging model-switch integration now passes in 524 ms; temporary diagnostic logging removed. Full native persistence/delegation run active. |
| apps/server/src/boundedEventStream.ts | Replace the non-erasable constructor parameter property with an explicit field assignment | Keep bounded subscriber retention and resync behavior unchanged | Follow the merged erasableSyntaxOnly compiler contract | Reported TS1294 source repaired; typecheck pending. |
| apps/server/src/orchestration-v2/NeoPiAutomaticDelivery.integration.test.ts | Populate the current restart-cancelled-background-work projection field | Preserve native automatic delivery fixtures and assertions | Match the current subagent projection contract without inventing cancelled work | Typecheck and runtime verification pending. |
| apps/server/src/provider/neopi/NeoPiModels.ts; apps/server/src/provider/neopi/NeoPiModels.auth.test.ts | Adopt Effect secure UUID generation and typed binding validation | Login IDs remain cryptographically random and login ownership/lifetime is unchanged | Capture SecureRandom from the construction context, supply its WebCrypto test layer, and retain model errors through the validation branch | Native Models/auth verification pending. |
| apps/server/src/provider/neopi/NeoPiNativeOwner.ts; apps/server/src/provider/neopi/NeoPiNativeConversation.ts; apps/server/src/provider/neopi/NeoPiSessionJournal.ts | Keep owner discovery dependencies captured by the native factory | Read-only discovery still never starts a competing writer | Supply the already captured subprocess service to catalog reads; use current typed schema decoding and journal errors | Fixes the leaked ChildProcessSpawner requirement and current Effect diagnostics; native owner/journal verification pending. |
| apps/server/src/vcs/GitTraceTail.ts | Retain file inode identity as bigint | Detect replacement without lossy numeric conversion | Match the merged filesystem stat contract | Fixes the three reported inode type mismatches; verification pending. |
| apps/server/src/provider/neopi/mappers/core.ts | Keep context usage timestamps on the provider thread | Preserve native used/max context tokens | Remove the retired nested contextUsage.updatedAt field rejected by the current contract | Fresh typecheck identified the mismatch; mapper verification pending. |
| apps/server/src/provider/neopi/mappers/{tools,subagents}.ts | Settle open child tool rows at native lifecycle completion | Native child identity, terminal status and captured output remain authoritative; no fabricated results | Preserve V2 turn-item finalization when failed or aborted native children omit tool-end frames | All three completed/failed/aborted child orchestration cases now pass; two failed before this change. |
| apps/server/src/orchestration-v2/{EffectOutbox,FoundationPersistence.test}.ts; apps/server/src/orchestration-v2/NeoPiOrchestrator.integration.test.ts | Let a pending runtime answer pass its running start effect, not retries or rollback | First-start native dialogs can answer without parallelizing ordinary thread work | Keep serialized replies, title isolation, retry ordering and rollback exclusion | Outbox regression failed before and passes after; 10 targeted persistence/native startup tests pass including first-start success/failure and recovery. |
| apps/server/src/mcp/{McpHttpServer,McpInProcessTool}.ts; apps/server/src/provider/neopi/{NeoPiHostToolBridge,NeoPiHostToolBridge.test,NeoPiAdapterLive,NeoPiAdapterLive.test}.ts | Move in-process dispatch out of HTTP registration and attach native host-tool metadata during existing registration | Identical tool schemas, capability checks, cancellation, credential rotation and owner-scope isolation | Break the native runtime/HTTP orchestration import cycle; advertise only actually registered host tools | Catalog suite now loads; all 7 bridge cases and 22 adapter cases pass, including sibling-context isolation and credential rotation. |
| apps/server/src/provider/neopi/{NeoPiSessionRuntime,NeoPiSessionRuntime.test,NeoPiSessionCatalog,NeoPiSessionCatalog.test}.ts; apps/server/src/provider/neopi/mappers/core.test.ts | Capture the authoritative final native leaf and use the current native reference shape | Persist session, native file, cursor and history without creating new turns on resume/navigation | Query a one-entry journal page when supported; retain old-peer history fallback and remove obsolete nested timestamp expectations | All 19 catalog cases pass; runtime 46 and core mapper 11 pass. Previously failed handoff and SQLite reopen/navigation now pass; diagnostic scaffolding removed. |
| apps/server/src/workspace/WorkspaceFileSystem.ts | Provide the captured filesystem and path services to atomic writes | Atomic create/replace remains separate from in-place editor writes | Close the Effect requirements leak without changing path and overwrite guards | All 33 workspace filesystem tests pass alongside the native runtime checks. |
| apps/server/src/orchestration-v2/ProjectionStore.ts; apps/server/src/provider/neopi/{NeoPiTestPeer,mappers/ui}.ts; AGENTS.md | Complete current typed service and approval metadata contracts and register upstream touches | Preserve native approvals and detached-session reads | Import the missing provider-session type, narrow optional tool IDs once and keep the test peer completion effect named | Targeted code-intelligence diagnostics addressed; next server typecheck pending. |
| apps/server/src/provider/neopi/NeoPiAdapterLive.ts | Advertise V2 queued-run support only while the adapter owns the native session | Terminal-attached sessions remain outside the app-owned queue | Preserve upstream serialized app-owned input admission without adding another native queue or writer | All 12 NeoPi orchestration integration cases pass, including cancelled queued input, child terminal results and first-start dialogs. |
| apps/server/src/provider/legacyHistorySettings.ts; apps/server/src/provider/legacyHistoryPaths.ts; apps/server/src/provider/Drivers/{AntigravityUsage,claudeUsage,codexUsage,grokUsage,opencodeUsage}.ts; apps/server/src/usage/historicalUsageReaders.ts | Decode only historical fields while retaining unknown saved settings | Read-only legacy history remains available without execution adapters or quota collectors | Replace removed execution-schema imports with small history-only codecs | All 72 retained parser cases pass; an ephemeral runtime check verifies saved-field preservation, path defaults and loading all retained readers without execution adapters. |
| apps/server/src/mcp/{OrchestratorMcpService,OrchestratorMcpService.test,McpInProcessTool}.ts; apps/server/src/provider/neopi/NeoPiSessionCatalog.ts; AGENTS.md | Remove retired effort rewriting and align metadata keys and observer events with current contracts | Preserve advertised native options and live-owner observer invalidation | Delete the obsolete Ultracode conversion case; retain merge, clear and model-switch option behavior | Both delegated option regression cases pass; the metadata service key and catalog thread-delete event now match current contracts. |
| apps/server/src/provider/neopi/{NeoPiRuntimeError,NeoPiDiscovery,NeoPiModelsHub}.ts; apps/server/src/provider/Drivers/{NeoPiDriver,NeoPiDriver.test}.ts; apps/server/src/mcp/McpSessionRegistry.testkit.ts; apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts | Use schema-backed native errors and named native factory effects; share genuine crypto/MCP test services | Preserve configured executable/profile and lazy native startup instead of fabricating an empty session | Driver proof starts and finishes an actual native protocol turn before reading its configuration | Native factory selection passed 62 cases before the driver fixture fix; the corrected driver and native resource selection passes all 40 cases. |
| apps/server/src/provider/neopi/{NeoPiNativeEventHub,NeoPiRollback,NeoPiStatsHttp}.ts; packages/shared/src/neopiStats.ts | Use the real bounded-stream error, immutable cursor updates and narrowed allowed HTTP methods | Preserve native observer budgets, rollback identity and authenticated stats routing | Remove stale V1 types and mutable operations without changing permitted requests | All 40 selected driver, stats, rollback and native conversation cases pass. |
| apps/server/src/server.ts; apps/server/src/binCli.ts | Provide the existing read-only legacy history dependencies and adapt the inferred CLI flag record | Retain historical decoding without foreign execution or quota registration; preserve stdin lifetime behavior | Close remaining service requirements and the optional-flag inference mismatch | Server typecheck and focused CLI verification pending. |
| apps/server/src/orchestration-v2/runtimeLayer.ts; apps/server/src/server.ts; AGENTS.md | Expose existing memoized V2 stores and runtime policy to the native session factories; provide the read-only historical host layer | Native app-bound readers share the real event sink, cursor store and owner policy, not substitutes | Close root CLI service requirements without creating another runtime or restoring retired execution | Runtime-layer and fresh server compiler verification pending. |
| packages/shared/src/{serverSettings,projectSettings.test}.ts | Keep legacy map mutations out of canonical value merges and preserve defined project override values | Explicit resets, partial object edits and configured native fallback retain user choices | Prefer configured native instances before an unconfigured default; remove incidental cleanup-default shape pins | All 73 shared server/project settings cases pass after the configured-native fallback regression failed before the fix. |
| apps/server/src/provider/neopi/{NeoPiAdapterLive,NeoPiNativeOwner,NeoPiSessionRuntime}.ts | Use schema-aware checks for the schema-backed native runtime error | Preserve code, message, cause and owner-error propagation | Match the current Effect error contract | Focused native guard verification pending; previous runtime/adapter/owner proofs recorded above. |
| apps/server/src/orchestration-v2/runtimeLayer.test.ts; AGENTS.md | Explicitly enable the generic lifecycle fixtures instead of depending on retired provider defaults | Production stays NeoPi-only; no foreign execution adapter is introduced | Preserve upstream async-question and failed-continuation recovery coverage | All 118 runtime-layer cases pass; three answer cases and one continuation case failed with implicit disabled defaults before the fixture repair. |
| apps/server/scripts/verify-background-live.ts | Capture the required model before entering the asynchronous verifier effect | Preserve the exact chosen model and existing argument validation | Keep TypeScript's validated string type across the closure | Static contract repair only; the paid/live verification script was not executed. |
| apps/server/src/serverSettings.test.ts | Send canonical set mutations from settings tests | Retain unknown saved fields and managed-policy admission coverage | Stop resending whole project override entries on edits | Updated test inputs for the merged mutation contract; focused run pending. |
| apps/server/src/mcp/{OrchestratorMcpService.test,OrchestratorMcpService.activity.test,threadAccess.test,McpHttpServer.test}.ts | Migrate the remaining MCP fixture contracts | Canonical project mutations preserve independent settings; legacy scopes stay distinct from native scopes; legacy device tests cannot accidentally invoke native services | Use set mutations, the existing precise thread scope type, literal capabilities and a fail-on-use native service fixture | Focused MCP verification pending. |
| apps/server/src/mcp/McpToolAccess.ts | Express native-or-legacy workspace admission with filterOrElse | Native scopes remain native; legacy callers must pass the existing thread-scope guard | Remove the obsolete conditional flatMap without changing admission behavior | Focused MCP verification pending. |
| apps/server/src/mcp/McpDeviceToolkit.test.ts | Provide a native service boundary to legacy device fixtures | Any accidental native operation fails instead of falling through to SQL thread data | Keep the shared toolkit's new workspace context requirement explicit in all three fixtures | Focused MCP device run pending. |
| apps/server/src/orchestration-v2/RunExecutionService.test.ts | Give all ten execution fixtures the same scoped MCP registry dependency | Real registry lifecycle remains isolated to each test scope; test-specific providers, checkpoints and delivery assertions remain intact | A shared test layer removes inconsistent missing registry requirements | Focused execution run pending. |
| packages/shared/src/{serverSettings,projectSettings.test}.ts | Ignore undefined project set values instead of materializing inherited defaults as overrides | A named undefined value is absent, not a reset or a new project choice | Filter before merge and before choosing keys to persist | Existing named-key regression failed before (spurious defaultAutoPull false) and all 73 shared settings/project tests pass after. |
| apps/server/src/server.ts | Supply the usage reader's existing provider host with the shared secret store | Reuse the memoized secret store; no second credential registry or collector | Close the remaining ServerSecretStore dependency in the root layer | Typecheck before identified this exact missing service; next root check pending. |
| apps/server/src/mcp/McpToolAccess.test.ts | Preserve precise legacy caller types in access fixtures | Thread and client scopes cannot accidentally become native scopes through spreads | Reuse the thread scope type and check the client object without widening its discriminant | The full access suite passed in the focused eight-file run. |
| apps/server/src/provider/{codexModelCatalog,codexModelCatalog.test}.ts; apps/server/src/provider/{antigravityUsageLimits,NeoPiProvider}.ts | Remove the unreferenced retired Codex execution catalog; retain the unwired Antigravity reader independent of execution settings | Native discovery stays authoritative and no retired catalog or credential registry is restored | Keep native snapshot acquisition in a named Effect operation | Exact source search found only the catalog's own tests as consumers; native and quota focused checks pending. |
| apps/server/src/serverSettings.ts; apps/server/src/serverSettings.test.ts | Preserve explicitly disabled legacy choices and use single-instance mutations when editing native profiles | Do not drop false flags or replace unrelated profiles; keep unavailable saved history instead of choosing a retired runtime | Retain all explicit migration flags and exercise the current provider mutation service | Focused run failed before on lost false values and dropped native fallback; verification pending. |
| apps/server/src/policy/managedSettings.ts | Inspect canonical project set values when vetting locked setting writes | A value matching raw stored data must still be rejected when it contradicts the active managed lock | Keep stored-value and mutation-value paths separate | Existing server settings managed-lock regression failed before; verification pending. |
| apps/server/src/mcp/OrchestratorMcpService.test.ts; apps/server/src/orchestration-v2/RunExecutionService.test.ts | Explicitly enable generic registered-adapter fixtures; remove the obsolete Codex goal-specific error expectation | No retired runtime is enabled in production and arbitrary provider errors remain curated | Keep generic failure and lifecycle coverage without replacing the retired SDK error with a fake native error | Focused follow-up running. |
| AGENTS.md; verification of rows 966–972 | Record upstream touches and confirm repaired settings, policy and MCP behavior | Native-only execution, saved choices and managed locks remain independent | All 211 cases pass across server settings, managed policy, OrchestratorMcpService and RunExecutionService; all 73 shared settings/project cases pass | Latest complete server-only typecheck reports 83 errors across 38 files (artifact 1742), down from the prior report's 179/42; the root CLI/ServerSecretStore errors are gone. |
| apps/server/src/provider/neopi/{NeoPiJournalReader,NeoPiNativeLiveness,NeoPiSessionConfiguration,NeoPiStatsService,NeoPiStatsHttp,NeoPiRollback}.ts | Complete typed decoder and failure boundaries | Keep native reader validation, unavailable-state behavior and rollback integrity discrimination unchanged | Use typed JSON decoders, schema-aware runtime error checks and distinct tagged rollback errors; retain every rollback rejection path | Focused native, stats, rollback and retained quota suites running; no error was suppressed. |
| Verification of row 974; apps/server/src/provider/neopi/{mappers/core.test,mappers/ui.test,NeoPiModelCatalog.test,NeoPiNativeOwner.test,NeoPiStatsService.test,NeoPiNativeConversation.test}.ts | Finish typed native fixture construction and decoder calls | Preserve emitted-event validation, protocol version literals and child-lifetime assertions | Native implementation changes pass all 93 cases across eight focused files; follow-up fixture verification running | No native live runtime or external provider was used. |
| apps/server/src/provider/{NeoPiInstanceRegistry.test,ProviderRegistry.test,AgentContextBudget.test}.ts; AGENTS.md | Provide existing native MCP and provider-host boundaries in registry fixtures | Disabled and retired instances still cannot spawn or read credentials; registration-only handlers remain fail-on-use | Reuse the real scoped native registry layer and retain strict fixture overrides | Focused verification running. |
| Verification of row 976; apps/server/src/provider/ProviderRegistry.test.ts | 77 cases pass, one native settings re-probe case timed out waiting for an impossible intermediate snapshot | An enabled native provider's initial warning says installed; unavailable executables become errors, not warning-plus-uninstalled | Await the actual new executable's published error instead of pinning a transitional warning | Corrected reprobe verification pending; no production warning or timeout was suppressed. |
| apps/server/src/device/SshDeviceHost.test.ts; apps/server/src/project/ProjectService.deletion.test.ts; apps/server/src/orchestration-v2/NeoPiAutomaticDelivery.integration.test.ts; apps/server/src/textGeneration/{TextGeneration.test,NeoPiTextGeneration.test}.ts; apps/server/src/usage/usagePricing.test.ts | Adapt retained regression fixtures to current typed contracts | Preserve SSH interrupt ownership, project-setting mutations, branded native driver identity and text-generation scope lifetime; keep redacted process values redacted | Supply crypto, wrap override mutations in set, remove retired maintenance fixtures, omit absent billing identity and capture the actual client scope for completion observation | Typecheck identified these exact mismatches; targeted follow-up pending. |
| apps/server/src/provider/neopi/{NeoPiNativeReview,NeoPiThreadBinding}.test.ts; apps/server/src/workspace/WorkspaceFileSystem.test.ts; AGENTS.md | Complete native review and binding fixture dependencies and retain atomic-create race coverage | Real empty workspace authority and crypto services stay isolated; native head refs retain driver/strength; concurrent creators still race | Use the existing KnownWorkspaces service with a private in-memory store, correct head-ref type and direct Effect.forEach | Focused verification pending. |
| apps/server/src/mcp/{McpSessionRegistry,McpSessionRegistry.test}.ts; apps/server/src/provider/neopi/{NeoPiHostToolBridge,NeoPiHostToolBridge.test}.ts | Bind cancellation to credential and request lifetimes rather than the issuing fiber | Grants survive request completion until explicit revocation or registry shutdown; native cancel/rebind removes only its own in-flight work | Use registry-scoped interruptible signal owners, atomically revoke credentials, and race per-call worker cancellation receipts; exercise a completed issuing fiber and caller interruption | Focused lifecycle verification pending. No diagnostic suppression. |
| apps/server/src/terminal/NodePtyAdapter.ts | Preserve synchronous parent/start-identity validation immediately before POSIX signaling | Async process or filesystem reads would weaken the PID-reuse guard | Requested first-officer approval for two reasoned nodeBuiltinImport exceptions; no exception or weakened guard applied | Decision queued through ctl, entry 4d9d1d2e. |
| apps/server/src/vcs/GitTraceTail.test.ts; apps/server/src/ws.test.ts | Complete remaining shared fixture boundaries | Parse byte-size inputs with their real units and reject accidental runtime-policy use in config-only RPC tests | Reuse ByteSize.fromInputUnsafe and the existing fail-on-use layer pattern | Focused verification pending. |
| apps/server/src/provider/{NeoPiProvider.test,neopiUsageLimits.test}.ts; apps/server/src/provider/neopi/{NeoPiNativeSessions.test,NeoPiDiscoveryProbe.test,NeoPiLaunchArgs.test,NeoPiAdapterTestHarness}.ts | Complete native fixture type migration without widening failure channels | Process captures retain redacted command words, host environment comes through its service, and process liveness keeps the real handle error type | Replace redundant yieldable-error wrappers and an unknown process error channel | Verification pending. |
| apps/server/src/provider/neopi/NeoPiAdapterLive.ts; apps/server/src/orchestration-v2/NeoPiAutomaticDelivery.integration.test.ts; apps/server/src/device/SshDeviceHost.test.ts | Keep automatic native delivery queued and restore actual SSH forwarding fixture behavior | Explicit user steering stays available, but automatic completion must not use an interrupt-capable native steer | Set activeSteeringInterruptsTools honestly; NeoPi 66f44c5b source packages/coding-agent/src/session/agent-session.ts:10354 defines steer as mid-run interruption. Enable the fixture's configured native instance for scheduled sends and recognize SSH's actual -L forwarding flag | bg97: 65 passed, child/scheduled delivery failed, and SSH test plus cleanup timed out; corrected follow-up pending. Re-probe regression passed. |
| apps/server/src/preview/ServerBrowser.test.ts | Add an overflow regression before fixing native browser reconciliation | A blocked consumer must recover the latest viewport, close omitted tabs and execute one-shot clear/reload commands exactly once | Hold a real mocked browser operation and overflow the existing bounded history through PreviewManager | Regression added; before-fix run pending. No production preview edit yet. |
| packages/contracts/src/{neopiNativeSessions,rpc,clientRpcPermissions}.ts; apps/server/src/{ws,auth/RpcAuthorization,auth/RpcAuthorization.test,review/ReviewService}.ts; apps/server/src/provider/neopi/{NeoPiNativeReview,NeoPiNativeReview.test}.ts; packages/client-runtime/src/state/review.ts; apps/web/src/components/DiffPanel.tsx | Complete native-scoped branch commit browsing | Resolve cwd from the canonical native file, preserve generic workspace guards, require filesystem read access, and never open a runtime to review history | Extend the existing review service and typed RPC; native diff panels use a session-keyed query instead of the generic cwd endpoint; real repository tests cover commit content and rejected identities | New branch review checks pending; web/desktop share the consumer and current mobile review has no branch-commit query. |
| Verification of rows 980 and 986; apps/server/src/mcp/McpSessionRegistry.ts; apps/server/src/provider/neopi/NeoPiHostToolBridge{,.test}.ts | Correct scope-owned cancellation after the lifecycle regression caught a fiber/scope mismatch | Effect 4.1.2 abortSignal is acquired/released with Scope, not fiber completion; credential and request signals must follow their explicit owners | Replace idle lifetime fibers with registry child scopes, run each native request in Effect.scoped, and cancel the test caller by closing its own scope | bg98 caught non-aborted signals and two waits; bg99 passes all 21 cases across registry, bridge, native review and binding, including real branch commits. No warning suppression. |
| apps/server/src/preview/ServerBrowser.ts; apps/server/src/preview/ServerBrowser.test.ts | Reconcile browser state after bounded history overflow without losing destructive commands | The before-fix overflow test timed out; closed and pending tabs must not resurrect from stale snapshots | Re-read authoritative state before opening and during resync, close immediately via a lightweight subscription, and enqueue one-shot clear/reload commands outside the bounded state history and manager lock | After-fix browser suite pending. |
| Verification of row 984; apps/server/src/orchestration-v2/NeoPiAutomaticDelivery.integration.test.ts | Confirm SSH ownership repair and finish automatic delivery diagnosis | bg100 passes SSH and explicit steering; child completion now reaches a new prompt and fails only an incidental generated-label expectation | Delete the generated-label pin; temporarily log precise delivery phases to locate the remaining scheduled-message wait | Diagnostics are temporary and not a completed delivery proof. |
| Verification of row 988 | Complete browser reconciliation proof | The overflow regression failed before; all 56 ServerBrowser cases now pass, including pending creation, popup budgets, ownership and the new overflow case | Native state remains authoritative and one-shot commands are not replayed through resync | bg101 passes 56 browser cases; its two failures were isolated to automatic-delivery harness completion ordering. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 15/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44901 bytes; SHA-256 caf107efc27b4cc7a4a3df87e0cab2a45a7a7943affd9ca9a1c93ec5920b68f5.

| apps/server/src/orchestration-v2/NeoPiAutomaticDelivery.integration.test.ts | Await the checkpoint milestone before draining completion work for follow-up turns | Accepted input and running state were observed for both failed cases; completion waits must not precede the effect drain that creates completion | Match the existing NativeOrchestratorTestHarness waiting → drain → completed sequence and remove all temporary diagnostics | Corrected four-case run pending. |
| Verification of row 991 | Confirm receipt-ordered automatic delivery | All four child/scheduled/explicit/promoted delivery cases pass with no tool aborts | The same run then executed the server-only typecheck | bg102: 4 passed; typecheck now 12 errors in 8 files (artifact 1790), including two pending synchronous PTY import exceptions. |
| apps/server/src/{observability/RpcInstrumentation,orchestration-v2/NeoPiAutomaticDelivery.integration.test,orchestration-v2/ProviderSessionManager.test,preview/ServerBrowser.test,vcs/GitTraceTail.test,ws}.ts; apps/server/src/provider/neopi/{NeoPiRollback,NeoPiAdapterLive}.ts | Finish current RPC, native error and fixture typing | Preserve native branch classification, canonical device namespaces and schema-aware rollback integrity recovery | Register the new RPC aggregate, remove a misplaced run-only field, narrow optional caller scope, derive preview mutation events from the public union, avoid the byte-size nullish union expansion and remove duplicate media discrimination | Focused verification and next server-only typecheck pending. |
| Verification of row 993; apps/server/src/orchestration-v2/ProviderEventIngestor.test.ts | Close server runtime and RPC verification | 149 cases pass across rollback, native adapter, provider session manager, trace tail, WebSocket RPC and RPC authorization | Latest server-only compiler has three errors in two files (artifact 1797); remove the remaining orphaned maintenance fixture member | Only the two synchronous NodePty import diagnostics remain expected; first-officer approval is still pending. |
| packages/contracts/src/{neopiJournal,neopiModels,neopiNativeConversation,project,terminal}.test.ts; packages/contracts/src/usage.test.ts | Finish typed fixture decoding while preserving rejection tests | Well-typed encoded fixtures use typed decoders; deliberately invalid fixtures keep unknown decoders | Remove the obsolete usage enum/version pin instead of re-pinning static implementation details | Contract-only typecheck reported these 12 diagnostic errors (artifact 1802); shared and client-runtime checks did not run after that failure. Focused contract tests and sequential typechecks pending. |
| Verification of row 995; packages/shared/src/projectSettings.test.ts | Keep the JavaScript undefined-input regression outside the stricter wire type | All 22 selected contract cases and the contracts typecheck pass; shared's sole diagnostic was the deliberately invalid undefined-value input | Mark that one test input as a runtime boundary rather than weakening the production schema | Shared and client-runtime follow-up pending. |
| Verification of row 996 | Complete shared-contract verification and start client-runtime reconciliation | 22 contract cases and the contracts typecheck pass; 25 project-settings cases and the shared typecheck pass | Client-runtime's first typecheck reports 48 errors in 14 files (artifact 1809), including retired helper/install references and missing native request registrations | No client-runtime fixes applied yet; web/mobile/desktop package checks still pending. |
| packages/client-runtime/src/{rpc/client,state/runtime,state/review,state/commandPermissions.test,state/neopiNativeSessions,state/neopiNativeSessions.test,state/neopiConversation}.ts; docs/internals/environment-auth.md; AGENTS.md | Reconcile native observers and reads with upstream command-only permission enforcement | Keep native operation/review grants checked against the actual destination; preserve moved-session event order and lazy conversation initialization | Share the existing grant checker across atom boundaries, use guarded native RPCs and generic read queries, and migrate the native auth cancellation regression | New query and subscription grant/revocation cases both failed before the boundary fix; focused after-check running as bg108. |
| packages/client-runtime/src/state/{environmentHttpAuth,neopiStats,neopiStats.test,pullRequestDiffHttp.test,runtime.test}.ts | Preserve hosted native stats across current typed HTTP transport | Keep refreshed relay origin, exact encoded query strings, and consumer errors visible | Pass the current base URL alongside the typed URL builder; use current HTTP fixture layer and narrow the preview open fixture | Focused stats/HTTP and package typecheck pending. |
| packages/client-runtime/src/neopiNativeSubagents{,.test}.ts | Adapt native roster to current shared row type without manufacturing SQL children | Keep native session-file authority and accumulated usage after disconnect | Set the SQL-only childThreadId to null; retain reducer regressions while removing assertions through the deleted upstream panel helper | Focused native roster tests pending. |
| packages/client-runtime/src/state/neopiNativeSessions.test.ts | Supply the native observer fixture's real authorization dependency | Native open remains protected rather than weakening the client guard for tests | Add prepared connection and an authenticated HTTP grant response to the fixture | Superseded bg108 was cancelled after the fixture changed; it is not passing evidence. |
| packages/client-runtime/src/state/threadExecution.ts | Preserve native and historical reported effort without retired runtime coercion | Read exact model-option values and existing descriptor labels | Remove withLegacyUltracodeEffort use instead of restoring retired execution logic | Focused execution tests and client typecheck pending. |
| packages/client-runtime/src/state/server.test.ts | Remove tests for the retired provider installation commands | Keep server settings, lifecycle and read projection coverage | Delete the Claude/Codex/Antigravity install command fixture and its orphaned types instead of restoring execution APIs | Focused server-state verification pending. |
| packages/client-runtime/src/modelTraits.ts; packages/client-runtime/src/modelTraits.test.ts | Remove the retired prompt-controlled effort parser and return native option selections directly | Native metadata remains authoritative; saved values and declared defaults keep their existing precedence | Retain generic trait display, reasoning detection and descriptor filtering | No Claude prompt helper or draft-text mutation remains; focused verification pending. |
| apps/web/src/components/chat/TraitsPicker.tsx; apps/web/src/components/chat/TraitsPicker.test.ts | Remove prompt ownership and text rewriting from the picker | Preserve unavailable-model saved options, native metadata and persisted selections | Retain all generic select and boolean controls | Native options do not depend on prompt keywords; verification pending. |
| apps/web/src/components/chat/composerProviderState.tsx; apps/web/src/components/chat/composerProviderState.test.tsx | Own option-only reasoning steps without a prompt/caret mutation API | Keep catalog-order wrapping, reported-instance matching and unrelated selections | Preserve reasoning role metadata and native choices | Remove retired prompt-edit tests rather than reinstate legacy behavior. |
| apps/web/src/components/chat/ChatComposer.tsx; apps/web/src/components/chat/ComposerControlsBar.tsx; apps/web/src/components/chat/ComposerModelEffort.tsx | Remove prompt parser plumbing, locked effort UI and prefix stripping | Keep native session dispatch, graphical option persistence and keyboard stepping | Retain generic effort, speed, context and workflow controls | Model settings no longer write the draft. |
| apps/web/src/components/settings/SourceControlWritingSettings.tsx; apps/web/src/components/settings/VoiceSettingsPanel.tsx | Drop retired prompt-injection configuration props | Keep dedicated native model selections and settings persistence | Retain source-control and voice model pickers | API consumers follow the option-only picker contract. |
| apps/mobile/src/components/ComposerModelControl.tsx; apps/mobile/src/features/threads/ThreadComposer.tsx | Derive model summary only from metadata and selected options | Preserve native identity, model badges and responsive composer controls | Keep upstream shared model control | Remove draft dependency and prompt parser. |
| apps/mobile/src/features/threads/ThreadSettingsSheet.tsx; apps/mobile/src/features/settings/ScheduledTaskPickerScreens.tsx | Remove prompt rewriting from model settings and scheduled tasks | Keep pending model/option staging and explicit save behavior | Retain metadata-driven controls; filter non-persistable prompt choices consistently with web | Remove draft subscriptions used solely by retired prompt mutation. |
| packages/client-runtime/src/state/threadExecution.test.ts | Delete the failed obsolete Claude Ultracode coercion test | Existing history display retains exact saved/reported effort instead of inventing execution semantics | Keep the remaining execution presentation tests | bg109 observed the obsolete assertion fail; its later observation test stalled, and the selection was cancelled without a pass claim. |
| AGENTS.md; docs/user/composer.md | Record the option-only cross-client model controls and their fork ownership | NeoPi owns how prompt text affects inference | Preserve composer and runtime setup guidance | Verification and actual native surface proof remain pending. |
| packages/client-runtime/src/state/{runtime,neopiStats,commandPermissions.test}.ts | Use the current Context reference service type and defect schema constructor; capture denied-read exits without an unknown error channel | Preserve actual destination grant checks and typed native stats failures | Retain the query/subscription revocation regression | Client typecheck fell from 48 errors in 14 files to 8 errors in 4 files (artifact 1833); these final diagnostics were then repaired, pending recheck. |
| packages/client-runtime/src/state/neopiNativeSessions.test.ts | Make the test registry's expiry sweep resolution explicit and remove temporary traces | Preserve production five-minute warm retention and all permission checks | Use current atom registry batching semantics | bg111 proved connection and output before stalling on expiry; the installed registry rounds expiry to a one-second bucket, while the fixture advanced only one millisecond beyond TTL. Focused rerun pending. |
| packages/client-runtime/src/state/neopiNativeSessions.ts; packages/client-runtime/src/state/neopiNativeSessions.test.ts | Retain the same session's cached feed across an intentional observer restart while ordinary expiry still releases it | Preserve closed/failed observer command output and canonical identity | Track only the exact outgoing queue during restart and consume its retention marker in finalization | bg114: client typecheck passed; 162 tests passed and three native-feed cases failed. Two are restart retention regressions fixed here; the branch race fixture now returns journal pages only for journal reads and asserts semantic history rather than object identity. Verification pending. |
| packages/client-runtime/src/state/neopiNativeSessions.test.ts | Use Queue.clear for potentially empty test drains | Preserve the stale-branch history regression without polling or time advancement | Effect 4 takeAll waits for data; clear is the documented nonblocking drain | bg116 traces reached the final assertion; bg117 retained 28 passing cases and exposed the empty-drain hang. bg118 showed an attempted takeBetween drain left older observations queued, so the documented clear operation replaces it. No production timeout or behavior was weakened. |
| apps/web/src/components/settings/{CodexSetupSection,CodexSetupSection.logic,CodexSetupSection.logic.test,ProviderAuthenticationSection,ProviderWizardAuthenticationStep,ProviderAuthTerminal,AcpSessionManagementSection,AcpSessionManagementSection.browser.test,AcpRegistrySearchStep,AcpRegistrySearchStep.browser.test,AddCodexAccountDialog,AddCodexAccountDialog.browser.test,ChatGptAccountPicker,ChatGptConnectionButton}.*; apps/web/src/providerAuthDelivery.ts | Remove orphaned retired-harness setup/authentication/ACP screens and their obsolete tests | Native Models and NeoCore remain the only execution setup and authentication owners; keep inference quota links and shared sensitive-text controls | Retain unrelated upstream settings and account presentation | First web typecheck reported 349 diagnostics in 97 files; these ownerless screens referenced deleted execution contracts. Caller closure was checked before removal. |
| apps/web/src/appInit.tsx; AGENTS.md | Remove the retired Codex auth-delivery boot hook and record the upstream touch | Keep router, pairing, native session and application-lifetime services | Preserve all other initialization | No native or generic login path was substituted or stubbed. |
| apps/web/src/components/chat/composerProviderState.tsx | Normalize unavailable option construction to the public nullable reasoning-step result | Keep exact native option selection | Retain keyboard reasoning stepping | First web typecheck found the shared optional builder result in this boundary. |
| apps/web/src/components/chat/{ChatComposer,ComposerControlsBar,TraitsPicker}.tsx; apps/web/src/components/chat/useComposerRestingTransition.ts | Reconnect the shared composer to current native trait, prompt-history and surface contracts | Keep native model control ownership, real surface focus checks and overlay-free native layout | Remove orphaned renderer imports and obsolete provider skin fields; make overlay reporting optional when no overlay exists | Focused web trait tests passed all 13 cases (bg120); latest web compiler still has 179 errors in 85 files. |
| apps/web/src/components/neopi/modelsPageState.ts; apps/web/src/components/neopi/{NativeSessionSidebar,NeoPiSessionConfiguration,NeoPiTerminalHandoff}.tsx | Read provider state through the existing environment-provider projection instead of the provider-free config projection | Preserve environment and selected-profile identity, current availability and native setup routing | Adopt upstream's separation of configuration and provider status | First web compiler exposed the obsolete config.providers reads; next check pending. |
| apps/web/src/components/neopi/{NativeSessionModelPicker,NeoPiModelsSelector}.tsx | Supply explicit environment identity to the current shared model picker and explicit machine scope to provider settings | Keep native target profile, session, catalog and saved option identity | Use current providerInstances/projectSettingsOverrides shape without restoring retired providers settings | Focused Models integration verification pending. |
| apps/web/src/state/neopiSessions.ts; apps/web/src/state/nativeWorkspaceRelocation.ts | Use the exported supervisor service in configuration streams and migrate relocation to current preview/history state | Preserve transport generation guards and native draft/panel/browser metadata relocation | Read preview navigation via _tag, copy mutable maps once and remove the obsolete pending-title store field | Targeted verification pending; latest completed web typecheck is 160 errors in 78 files before these repairs. |
| apps/web/src/components/neopi/agents/{AgentRoster,AgentDetail,AgentSummary,NativeAgentView}.tsx | Reuse the current shared model/token formatters and environment provider projection | Preserve native agent identity, reported effort/fast mode and unknown metrics | Retired subagent formatting exports and config.providers no longer own these values | Verification pending. |
| apps/web/src/components/neopi/NativeSessionWorkspacePanels.tsx; apps/web/src/components/chat/PanelLayoutControls.tsx | Mount the existing chat canvas for native floating previews; preserve native badge, file folder navigation and loading terminals | Keep native workspace identity, draft/terminal ownership and shared floating-browser geometry | Hidden thread-details controls no longer require invented callbacks; reuse folder trails and open-in visibility gating | Verification pending; the native canvas has no SQL thread-details target. |
| apps/web/src/components/neopi/{nativeTimeline,nativeTimeline.test,NativeTimelineView,NativeSessionWorkspace}.tsx | Adapt native journal presentation to current run-keyed rich rows, reasoning work items, steering intents and history controls | Native journal ids remain presentation-only; preserve paging, stable entry identities, compacted summaries, queued prompts and canonical asset scope | Reuse current run-fold, tool-disclosure and canvas contracts without creating SQL runs | Existing seven tests passed before; added consumer regression failed because current-run disclosure was empty. First migration made disclosure pass and exposed upstream's intentional continuation fold; test now checks run membership rather than continuation copy. Final rerun pending. |
| apps/web/src/components/neopi/{NativeSessionTerminal,NativeMarkdownFilePreview,NativeSessionWorkspace}.tsx; apps/web/src/components/neopi/nativeDictation{,.test}.ts | Use actual terminal focus requests and shared path/local-connection helpers; adopt the renamed composer context row | Keep native terminal persistence and split ownership, enforce dictation's same-computer requirement and native capability gate | Remove obsolete focus-counter props, tolerate the initial unknown terminal list and expose saved loopback locality through the existing prepared connection | Focused verification pending; removed test assumptions about identical pre- and post-steer fold ids, not production continuation behavior. |
| apps/web/src/components/neopi/{neopiNativeComposer,neopiNativeComposer.test,neopiNativeQueueDraft}.ts; apps/web/src/components/neopi/neopiNativeComposer.editor.test.tsx | Follow current shared context-id/thread-record ownership and the actual Tiptap editor module | Preserve accepted-snapshot consumption, revised drafts, durable attachment restoration and focus ownership | Use the shared implementations rather than restoring removed web re-exports | Native timeline/dictation now 16/16 pass; web compiler 119 errors in 64 files, with no native production errors outside these moved imports. Composer regression selection next. |
| apps/web/src/components/chat/{ProviderInstanceIcon,TimelineToolActivityIcon,V2LifecycleRow,ProviderModelPicker,ProposedPlanCard,ComposerDictation}.tsx | Reseat display and error handling on retained provider-package logos, neutral chat glyphs, driver-aware model names, schema decoding and current banner groups | Preserve historical provider display and atomic overwrite detection without restoring execution adapters or upstream branding | Use current upstream display/stack/schema contracts | Targeted compiler rerun pending; plan UI test still depends on removed react-test-renderer and requires browser-test migration. |
| apps/web/src/components/neopi/neopiNativeQueueDraft.test.ts | Remove an unrelated image-deletion representation assertion from signed-asset restoration coverage | Keep actual recovered image size and byte-for-byte data URL assertions | Empty drafts may now be removed rather than retained as empty arrays | First composer selection: 22 passed and this incidental assertion failed; rerun pending. |
| Native web integration verification | Scoped formatter passed for 25 touched files; native timeline and dictation 16/16 passed; accepted drafts, restored queue, real controlled editor and dictation labels 26/26 passed | Current native production modules typecheck without errors | Latest web-only compiler reports 105 errors in 54 files (52 production diagnostics, 53 test diagnostics), artifact 1914 | No app/dev server launched; remaining web/client reconciliation and browser test migration are not complete. |
| AGENTS.md | Record native panel-control, legacy-logo and dictation-banner seams | Keep the touched-upstream-file registry current | No policy or permission change | Recorded after preserving current package-logo precedence and existing native capabilities. |
| apps/web/src/browser/{browserLinkTarget,browserViewportActions,browserViewportActions.test}.ts; apps/web/src/lib/openPullRequestLink.ts | Accept native workspace targets at link and viewport boundaries; resize with the canonical resource namespace; narrow native commit preview independently of SQL lookup | Retain existing permission checks, serialized resize ordering and native commit authority | Use current shared workspace helpers instead of removed predicates or forged SQL ids; remove a pure mock-forwarding assertion | Focused verification pending. |
| packages/contracts/src/device.ts; apps/server/src/{device/DeviceService,device/DeviceService.test,ws}.ts; apps/web/src/components/preview/{agentOpenedPreviews,agentOpenedPreviews.test}.ts | Preserve nativeRef in published device sessions, canonicalize it in the RPC and map floating/panel device previews by workspace identity | Preserve cross-profile isolation, first-snapshot baseline, reconnect, existing-device reuse and close behavior | Follow current device lifecycle rather than manufacturing SQL threads | Before-fix regressions fail in both production service snapshot decoding (nativeRef lost) and real preview stores (native preview absent), bg129. After-fix verification pending. |
| Native device and browser verification | Native device ownership fails before and passes after across the decoded server snapshot and actual preview stores | All 64 device service tests and 19 preview/link/viewport tests pass; contracts typecheck passes | Scoped formatting passed on 11 files; latest web compiler is 95 errors in 49 files, 42 production diagnostics (artifact 1924) | bg129 before, bg130 after; browser GUI interaction not yet exercised. |
| apps/web/src/components/{ChatView.logic,chat/{ChatComposer,chatViewSend,useComposerSend,composerProviderState,composerProviderState.test}}.* | Remove the retired prompt-effort prefix function and its snapshot field, inference and callers | Native option descriptors remain authoritative; original prompt text is sent unchanged; multiple-model admission reuses native-only readiness | Adopt the current option-only model contract without restoring Claude/Antigravity execution | Focused native trait and temporary actual dispatch proof pending. |
| apps/web/src/{themePalette,connection/storage,hooks/useLocalStorage}.ts | Pass a color set to the updated contrast solver, use schema-aware error recognition, and explicitly reject unavailable desktop catalog methods | Keep local preference recovery and catalog preservation fail-closed | Current shared color and optional desktop capability contracts | Focused preference/contrast tests pending. |
| apps/web/src/components/ChatView.logic.test.ts; apps/web/src/hooks/useLocalStorage{.test.ts,.browser.test.tsx} | Restore the omitted import for the still-used local-dispatch acknowledgment tests; move preference recovery from removed react-test-renderer to scoped real browser rendering | Keep all acknowledgment scenarios and seven storage recovery/access/updater cases | Preserve current test renderer and lifecycle conventions, without reinstalling obsolete renderer | bg131: 65 pass, 14 fail only from missing acknowledgment import and removed renderer. Native dispatch throwaway proof passed and was removed. New browser and import fixes await verification. |
| Browser preference and native commit verification | Real Chromium passes 14 cases across preference recovery and native/legacy commit links; local-dispatch acknowledgment passes 49 cases; native palette contrast passes | Retain invalid-value recovery, denied-storage protection, unchanged data after updater failure and native commit routing without SQL lookup | Playwright's frozen-package browser installed only under this worktree's .t3/playwright-browsers; no system update | bg134: browser 14/14 and native palette 1/1; bg132: acknowledgment 49/49. Latest web compiler 73 errors in 37 files, 28 production diagnostics; artifact 1936. System Chromium is unusable due missing GLIBC_2.44, temporary override removed. |
| packages/client-runtime/src/environment/workspace.ts; apps/web/src/components/files/{AttachmentFilePreview,BrowserDocumentFrame}.tsx; apps/web/src/components/files/filePreviewMode.ts; apps/web/src/components/chat/RightPanelSurfaceContent.tsx | Narrow workspace asset helper results to file resources, accept native refs in existing attachment/document viewers and omit obsolete panel keybinding prop | Keep native workspace identity, signed URL resource choice and environment-scoped shortcuts | Use current document/media owners without widening file inputs to unrelated asset resources | Type and focused verification pending. |
| apps/web/src/components/settings/{ScheduledTasksSettings,TextGeneratorsSettings,VoiceSettingsPanel,ProviderInstanceCard,ThemeSettings}.tsx; apps/web/src/components/onboarding/WelcomeWizard.tsx | Supply actual environment/project selector context; render package icon data via the shared icon component; remove obsolete debounce prop and normalize absent local theme input | Native selector and stored local palette remain authoritative; color drags still commit on release | Current upstream picker, package-icon and color-picker contracts | Type and focused verification pending. |
| apps/web/src/components/chat/{useQueuedRunEdit,useApplyThreadModelPick,ChatComposer,ComposerControlsBar}.tsx/.ts; apps/web/src/components/{ChatView,PersistentThreadTerminals}.tsx | Narrow SQL queued-edit targets, keep SQL model mutation and question attachment tracking out of native sessions, remove unused imperative multi-model handle and obsolete terminal id prop, and provide real project/connected-thread picker context | Native callbacks keep native model/queue ownership; legacy editor and terminal behavior remain | Current run/composer/terminal contracts; failure dismissals use stable completed-run identity instead of removed runtime timestamps | Verification pending; no fabricated native SQL identifier or compatibility shim. |
| apps/web/src/neopiLocalTheme.test.ts | Preserve real React exports alongside the test's intentional hook overrides | Existing local theme, offline startup and request cancellation regressions stay | New tooltip context no longer fails module import | bg135 failed all seven at incomplete mock import before any assertion; repaired mock is awaiting recheck. |
| apps/web/src/components/settings/{ProviderSettingsPanel,ProviderSettingsPanel.logic,ProviderSettingsPanel.logic.test,SettingsPanels.logic}.tsx/.ts | Replace old whole-project override writes with current atomic set envelopes; preserve unrelated authoritative project settings; gate both visibility and submission by current capability; remove discarded whole-instance-map construction | Global instance upserts remain atomic; per-project resets inherit instead of deleting other project fields | Current projectSettingsOverridePatches contract | bg136 regression fails before at schema decoding (missing set/clear); post-fix behavior verification pending. |
| Composer and atomic settings verification | The repaired palette test environment and schema-decoded project override tests pass 13/13; client-runtime typecheck passes | Local palette choices, cancellation, project override reset and concurrent unrelated project keys remain covered | Scoped formatter passed 12 files | bg137, artifact 1945: web now has 50 diagnostics in 29 files, 3 production target-type mismatches and 47 test diagnostics. |
| apps/web/src/components/chat/{useComposerSend,useMultipleModelSend,useTimelineRewind}.ts | Narrow legacy send/rewind input targets to scoped SQL threads or draft ids | Native execution and native rollback remain on their existing owners | Removes the final three known production type mismatches without invented native thread ids | Typecheck pending. |
| apps/web/src/components/chat/ProposedPlanCard{.test.tsx,.browser.test.tsx} | Migrate nine no-clobber, overwrite-consent, permission-revocation, target-change, cancellation and old-server cases to real browser controls | Atomic plan export and refusal to inherit overwrite authority across targets | Remove obsolete React renderer, UI component mocks and global test lifecycle | Browser proof pending. |
| Remaining web test contract ports | Remove obsolete static menu-copy and V1 outcome tests; preserve actual V2 accepted-upload ownership; fix scoped preview refs, current native tab reorder intent, branded source ids and API fixture props; replace test-only Promise.withResolvers with existing deferred-promise convention | Native command precedence, stale-preview rejection, durable uploads, multi-environment PR ownership and cancellation remain exercised | Current typed schemas and native-only commands | Focused verification pending. |
| apps/web/src/components/chat/useNeoPiModelSelector{.test.tsx,.browser.test.tsx} | Move six request-lifetime, cross-project/session, partial-success and stale-response cases to the real browser renderer, retaining scoped timer disposal and removing module-level renderer state | Native model request generation and incremental publication behavior | Current render lifecycle instead of removed react-test-renderer | Browser proof pending. |
| apps/web/src/components/chat/ProposedPlanCard.browser.test.tsx | Add the actual app stylesheet to the migrated real-control tests | Exercise real menus, dialogs and overwrite consent without replacing UI primitives | Native browser fixture styling | bg138 reached all nine cases but Save clicks were intercepted by the unstyled modal inert layer; stylesheet fix awaits a one-case probe before the full selection. |
| Focused current web test contract verification | bg139 passes 112 cases in seven files; preserves updated schema, command search, PR ownership and update-flow coverage | No production failures inferred from fixture import errors | Formatter passed 19 files | Two suites fail at incomplete fixture imports (attachment upload: missing environmentSession; native selection: fake runtime lacks atom). Three preview lifetime assertions fail because released atoms remain in the registry. Plan CSS probe, native-selector browser tests and web typecheck did not run after these failures; investigate and fix, not a completed verification. |
| apps/web/src/lib/attachmentUploadQueue.test.ts, apps/web/src/state/neopiNativeSessions.test.ts | Isolate unrelated thread-detail and workspace-relocation dependencies in existing unit fixtures without restoring retired runtime APIs; drop Node-only persistence setup from selection-intent cases | Actual upload ownership and native selection race assertions remain | bg140: upload fixture passes; selection fixture reaches tests but exposes unavailable Node persistence setup, now removed | Selection recheck pending. |
| apps/web/src/previewStateStore.test.ts | Drain queued registry disposal before restoring fake timers | Preserve all idle-expiry, active background-tab, close-tombstone and live-reader assertions | The registry schedules removal asynchronously; reset alone leaves a pending dispatcher whose fake timer is discarded between cases | Three original lifetime failures reproduced; cleanup change under focused verification. |
| apps/web/src/components/{FailedSendDraftRecovery.test.tsx,FailedSendDraftRecovery.browser.test.tsx}, apps/web/src/components/neopi/useNativePendingFiles{.test.tsx,.browser.test.tsx} | Replace retired React renderer with the real browser fixture; native pending-file regression uses current file-save sessions instead of deleted useFileSaveCoordinator | Retain cross-route failed-send ownership, whitespace protection, explicit acceptance, disposal, and ordered TS/Markdown writes across streamed rerenders | Current V2 recovery collections and shared file-save ownership | Browser verification pending. |
| Focused preview/native verification | bg141 passes 152 permanent unit cases plus two temporary isolated registry checks; plan no-clobber browser probe and six native model-query browser cases pass | Preview lifetime failure was test timer teardown, not a production retention regression; assertions unchanged | Temporary registry diagnostic removed | Latest web compiler has no production errors; eight remaining test errors were four old renderer imports, two now-deleted old file imports, incomplete Clerk raw claim and isolated route-parent typing. |
| apps/web/src/components/neopi/{NativeBackgroundTasksPanel.inventory,NativeBackgroundTasksPanel,NativeSessionTerminal,NativeSessionTreePanel}{.test.tsx,.browser.test.tsx} | Port remaining native React fixtures to the real browser renderer, real controls and scoped timers; combine inventory copy-only checks into capability/response transitions | Keep cached jobs on refresh failure, coalesce final output, suppress post-unmount reads, preserve terminal state until successful close, and reject hidden tree navigation | Remove the last retired renderer dependency without adding it back | Browser verification pending. |
| apps/web/src/components/onboarding/WelcomePage.browser.test.tsx, apps/web/src/components/settings/legacyProvidersNavigation.test.ts | Complete the current Clerk claim fixture and invoke the actual legacy redirect under the isolated memory-router parent tree | Preserve account-linked setup and selected-environment navigation | Test-only contract updates | Verification pending. |
| Final web compiler and browser-port pass | bg142 web typecheck passes with advisory-only schema-brand suggestions; route selection tests pass 3/3 and 24 browser cases pass across six files, including all nine atomic plan-save cases, native terminal close, hidden tree selection, ordered file saves and final job output | No retired React renderer import remains | Two fixture failures remain: recovery mocks need real external-store notifications under React Compiler, and inventory error assertions used exact text rather than matching the returned error inside its alert | Reactive fixture notifications and substring regex assertions added; focused recheck pending. |
| Final web and retained-code proofs | bg143 passes 10 failed-send recovery unit cases and all six reactive recovery browser cases; bg144 passes four inventory cases, 942 retained generic MCP grading/device cases, 21 shared release/context cases and nine mobile release cases | Upstream quota reader source remains unwired; generic evals work without the retired harness runner | No paid model calls or live device actions | Web and desktop typechecks pass; latest server scan has 32 errors in nine files, mobile 81 in twenty files; indexed in package-typecheck-latest.json. |
| apps/server/src/preview/DesktopBrowserChannel.ts | Use the current generator form of Effect.fnUntraced for the serialized desktop command writer | Preserve its ownership predicate and finalizer release ordering | Current Effect function API | Focused verification pending. |
| apps/server/src/{device/DeviceService.test,provider/neopi/NeoPiRollback.test,orchestration-v2/ProviderSessionManager.test,orchestration-v2/ProviderTurnStartService.test,orchestration-v2/ThreadLaunchService.test,orchestration-v2/ThreadSettlementService.test,orchestration-v2/legacy/LegacyV1Cutover.integration.test}.ts | Update schema-aware assertions, credential scope optionality, distinct historical provider-thread fixture, atomic override envelopes, function-valued settings updates and explicit visit time | Existing race, permission, receipt replay and read-only legacy behavior remains asserted | Current contracts; no restored foreign execution adapters | Focused verification pending. |
| apps/mobile/src/state/{neopiStats,neopiThemes}.ts, apps/mobile/src/features/settings/appearance/sections/NeoPiThemeSettings.tsx, apps/mobile/src/features/threads/{ThreadComposer,NativeSessionComposer,NativeSessionBrowser}.tsx, apps/mobile/src/features/threads/nativeSlashSuggestion.ts | Reuse the current streaming HTTP layer, full provider-config projection, UI text owner, shared composer surface and voice-busy guard; open the Settings list with its existing navigation-state owner | Keep opt-in local themes, native stats cancellation and native composer controls without reinstating legacy APIs | Current mobile/shared interfaces | Unformatted and unverified; mobile account-page cutover and other compiler failures remain. |
| Server closure verification | bg145 passes 219 cases in six files and fails 41 in two files | Native rollback, device scope, credential lifecycle, turn start, settlement and desktop channel selections pass | ThreadLaunchService fixtures still select retired disabled providers; LegacyV1Cutover seeds an empty-event receipt that the current sink rejects | Latest server compiler had five errors: inferred fake-settings error widening, visit timestamp representation and two previously escalated NodePty native-boundary imports. First two corrected after the run; all need final recheck. |
| apps/server/src/orchestration-v2/ThreadLaunchService.test.ts, apps/server/src/orchestration-v2/legacy/LegacyV1Cutover.integration.test.ts | Use NeoPi launch profiles with distinct pooled/exclusive capability fixtures; seed the old accepted legacy receipt through the real receipt store, not an invalid empty-event transaction | Retain profile-switching, idempotent launch, imported identity and read-only rejection before accepted-receipt replay | Native-only execution and current event-sink invariants | bg146: both suites pass, 47 tests; formatted. |
| apps/mobile/src/Stack.tsx, apps/mobile/src/features/settings/{SettingsRouteScreen,SettingsProviderAccountsRouteScreen,ClaudeAccounts}.tsx, apps/mobile/src/features/settings/{claude-accounts,claude-accounts.test,settings-search,settings-search.test}.ts, apps/mobile/src/features/settings/components/settings-page-targets.ts | Remove the retired generic/Claude execution-auth screen and route; keep the existing native Models entry and make account/credential search reach it | One native account owner, with selected-environment navigation retained; no GUI credential registry or retired execution configuration | NeoPiModelsScreen already provides native account management; all old references traced, LSP unavailable | Focused search test and mobile typecheck pending. |
| apps/mobile/src/lib/{composerContext,composerContext.test}.ts, apps/mobile/src/state/{use-native-composer-state,use-composer-drafts.test}.ts | Separate native text-wire serialization from V2 structured context using the shared lossless legacy serializer; preserve upload reference mapping and post-relocation insertion capture | Terminal, annotation, review and media context reach native prompts without manufacturing SQL records or losing concurrent edits | Current two-argument V2 serializer and shared native wire helper | bg147: relevant cases pass within 147 tests across five files; native attachment admission uses existing upload-capability predicate. |
| apps/mobile/src/features/review/ReviewSheet.tsx, apps/mobile/src/features/threads/{NativeSessionScreen,NeoPiSessions,NativeSessionWorkspaceControls}.tsx, apps/mobile/src/features/usage/NativeStatsView.tsx, apps/mobile/src/{lib/modelOptions.test,state/preferences.test}.ts, packages/client-runtime/src/state/terminal.ts | Adapt nullable UI slots, generic WebView refs, model selection and Effect fixtures; use current grouped-agent/token helpers and existing Settings navigation; accept terminal resource strings in the shared controller | Retain native surfaces and namespace semantics without old SQL session fields or retired helper shims | Existing current client contracts | 147 mobile cases pass; terminal/controller and package typechecks running in bg148. |
| apps/mobile/src/state/preview.ts | Recognize environment-wide resync events, scope authoritative sessions to this thread, and use the revisioned list reconciler so a stale list cannot undo the resync | Recover closed/moved browser tabs after subscriber overflow without treating resync as a tab mutation | Current bounded PreviewEvent contract | Regression proof and final typecheck pending. |
| Package closure verification | bg148 runs the shared terminal controller, mobile and server package checks sequentially under one polite lock | Shared terminal 12/12 passes; mobile reduced from 81 errors to one obsolete feedback-prop boundary; server reduced to the two previously escalated synchronous NodePty import diagnostics | No broader completion claim; native new-task semantic reconciliation remains pending | Raw output artifact1999; exact errors extracted with grep, not inferred from warnings. |
| apps/mobile/src/features/threads/NewTaskDraftScreen.tsx | Remove the retired feedback props from the draft screen's current ThreadScreenBinding contract | Does not claim native/offline new-task parity or alter its pending launch path | The sole latest mobile compiler error | Not rechecked yet. |
| apps/mobile/src/state/preview{,.test}.ts | Exercise the real mounted preview atom with authoritative snapshots for two threads, a delayed stale list, later navigation and resync removal | Old handler reproduced the retained stale tab; restoring the resync handler replaces only the correct workspace and keeps later mutations | Current PreviewEvent resync contract | bg149 fails on old tab versus current tab; bg150 passes the regression. |
| apps/mobile/src/features/threads/NativeSessionScreen.test.tsx | Construct the fixture's actual BearerConnectionTarget rather than assert a prototype-less object is a schema class | Keeps the real native subscription/navigation fixture on its current connection contract | Latest mobile check had no error diagnostics, but exited 2 on this schema-class warning | Constructor repair and final native-screen check pending. |
| Backend/mobile closure verification | bg151 runs the native mobile screen, mobile typecheck and eleven backend suites | Mobile typecheck exits 0; all 201 backend tests pass across WebSocket/startup/PTY/output/setup/migration/wire projection | Native mobile screen stopped at module load because Expo crypto expects the native __DEV__ bootstrap, so no screen assertions executed | No suppression or production fallback; isolate the fixture's native crypto leaf and rerun. |
| apps/mobile/src/features/threads/NativeSessionScreen.test.tsx | Substitute the native Expo crypto leaf with the test host's actual UUID generator | Keep the production native session atoms, watch lifetime, request and navigation behavior under test | Matches the existing mobile DOM-fixture native-boundary convention | bg152 running after formatting; not yet a passing assertion claim. |
| apps/mobile/src/features/threads/NativeSessionScreen.test.tsx | Isolate unrelated queued-draft persistence at the existing screen-fixture boundary; keep its real atom registry and install an explicit environment-scoped RPC permission grant | Do not boot native secure storage in the DOM fixture or bypass production request authorization; report underlying command failure before UI assertions | bg153 exercises five tests: two fail on command rejection, one times out, two model cases fail; no timeout increase or production suppression | The permission fixture repair is under narrow verification in bg154; completion/model failure causes are not yet all established. |
| apps/mobile/src/features/threads/NativeSessionScreen.test.tsx | Exercise the actual native composer for completion visibility and use the existing authenticated HTTP session fixture | Native request authorization, command debounce, stale-prefix exclusion, watch release and canonical reselection remain production behavior | bg154 passed both model cases; bg155 passed four cases and exposed the completion test's obsolete null-composer stub | Replaced direct guard override with real session-state grants; isolated native editor/media/voice leaves only. No production permission bypass, copied completion implementation or longer timeout. Full screen/typecheck verification pending bg157. |
| Native mobile screen verification | bg157: all five cases pass and mobile typecheck completes successfully | Canonical watch release/reopen, detach/reconnect, stale command-completion exclusion and independent model/role selection | Actual native screen and composer run through the production atom registry and HTTP-backed session grants | No timeout increase or permission bypass. This is DOM-backed native-component-boundary coverage, not an installed-device smoke claim. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 16/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44870 bytes; SHA-256 44d308df49016ce75b171ba98b4ed7fcfb0037430ad096d51745d24dab706fea.

| apps/server/src/provider/neopi/NeoPiAdapterLive.ts; docs/internals/providers.md | Declare full and delta portable context handoff already accepted by the native text-prompt path | Native session-tree forking remains unavailable; portable forks get new identity and merge-back preserves the receiver | bg158 rejected native forks/merge-back at capability admission; after repair all ten fork, merge-back and crash/restart cases pass (bg159) | Do not disable policy checks or emulate native history; distinguish bounded synthetic context from native session-file copying. |
| apps/server/src/orchestration-v2/testkit/{ThreadFork,OrchestratorReplayRecovery}.integration.test.ts | Preserve exact inherited user/assistant history assertions while allowing genuine work rows; await waiting-run receipt, drain checkpoints, then await completed child | Bounded source history, rollback isolation and persistent delegated child identity remain asserted | bg158 exposed incidental total-row counts and a checkpoint barrier deadlock; bg159 passes all ten cases in the four native suites | No weaker lifecycle assertion, sleep, polling or timeout increase. |
| apps/server/src/mcp/OrchestratorMcpToolkit.integration.test.ts | Expose actual MCP error responses and register the selected native profile in the existing test settings layer | Real MCP tool dispatch, production project admission and native child execution remain under test | bg159 identifies all three failures as the unregistered neopi-regression test profile being disabled, rather than a response schema defect | No production enablement bypass; focused MCP plus adapter verification is running in bg160. |
| Native integration closure | bg159 passes all ten fork/merge-back/restart cases; bg160 passes all 25 MCP and native adapter cases | Real protocol peer, V2 persistence, bound source history, unique native fork identities, merge-back isolation and completed/cancelled child recovery | Native capability declarations now match the existing synthetic-context delivery path; custom test profile is explicitly enabled | No borrowed credentials, foreign harness, native history-copy emulation, timeout increase or paid model. All five changed implementation/test/document files staged after verification. |
| apps/web/src/components/ThreadTerminalDrawer.browser.test.tsx; apps/web/vite.config.ts; AGENTS.md | Use the existing reactivity entry point and prebundle the lazy Pierre tree module for browser tests | Actual terminal selection/close ownership, title concurrency and file-preview behavior stay under the existing browser assertions | bg161/b162 stopped on optimizer reloads before assertions; after the import/prebundle repair all six cases in three browser suites pass (bg163) | Preserve the normal optimizer and production modules; do not disable tests, increase their timeouts or replace whole components. |
| Remaining workspace surface unit verification | bg161: 40 cases pass across ThreadTerminalDrawer, FilePreviewPanel and NativeSessionBrowser | Native environment selection, terminal output/selection and document preview boundaries | Existing targeted suites exercised without production changes | Browser cases verified separately in bg163; no installed app/device smoke is claimed. |
| Scoped non-vendor quality checks | Check the 6,982 present changed product/config/doc files and 6,146 code files, excluding read-only .repos | Preserve the entire upstream vendored reference tree untouched | bg164 reports 300 formatting failures and 583 lint diagnostics; bg165 safely formats 393 reported files and leaves 572 diagnostics across 146 files | Formatting and safe lint edits are not yet staged. The remaining failures are active work, not waived checks. Exact lists are in quality-diagnostics.json and quality-remaining.json. |
| apps/mobile/vite.config.ts; apps/mobile/src/features/threads/{NativeSessionScreen,NativeSessionBrowser}.test.tsx; apps/web/src/components/neopi/neopiNativeComposer.editor.browser.test.tsx; AGENTS.md | Use the existing mobile React test project and real web browser project, not per-file DOM environment pragmas | Actual native watch and completion behavior, actual controlled editor and draft persistence remain exercised | Mobile react-project run exposed the old non-reactive mocked draft; replace it with a useSyncExternalStore fixture, and remove jsdom layout shims from the real browser test | bg167 verifies the repaired routing while also exercising a failing-before canonical MCP service-import lint regression. No execution or authorization behavior is suppressed. |
| oxlint-plugin-t3code/rules/no-raw-mcp-registration{,.test}.ts; AGENTS.md | Canonical named MCP service imports are not unchecked registrations | Continue rejecting raw registration members, import aliases, namespace imports, dynamic imports and re-exports | Canonical-service regression fails before (bg167); all 20 rule cases pass after (bg168) | No blanket lint disable or new registration exception. |
| apps/server/src/provider/neopi/{NeoPiAdapterLive.test,NeoPiAdapterTestHarness}.ts; apps/server/src/provider/Drivers/NeoPiDriver.ts | Register the credential-rotation fixture through McpToolAccess and McpHttpServer on the harness's shared server; remove unused raw-server exposure and make driver import type-only | Credential revocation must prevent handler execution; replacement credential must reach the handler through its new owner | bg169: 41 pass, one fixture fails because empty Schema.Struct lacks an object-root schema; corrected to Tool.EmptyParams, recheck pending | Keep access declarations, real registry and shared scoped Layer construction. |
| apps/server/src/provider/neopi/{NeoPiAdapterLive,NeoPiNativeSessions,NeoPiSessionRuntime}.ts; apps/server/src/textGeneration/NeoPiTextGeneration.ts | Compile static schemas once and use named Effect.fn at reusable runtime/text-generation boundaries | Keep dynamic output schemas, scoped services, typed errors, prompt admission, cursor validation and transport generation guards unchanged | Schema hoists applied; runtime observePrompt and text-generation wrappers migrated; focused verification pending | Remaining native wrapper/memo/test lint reconciliation is still active. |
| apps/server/src/provider/neopi/{NeoPiAdapterLive,NeoPiNativeSessions,NeoPiSessionRuntime,NeoPiAdapterTestHarness}.ts; apps/server/src/textGeneration/NeoPiTextGeneration.ts | Hoist static compilers and migrate reusable functions to Effect.fn while keeping native frame publication untraced | Existing scope/error transforms, semaphore admission, prompt admission, generation guards and compact request arity | bg170: 118 pass plus the fixture issue later repaired; bg171: credential-rotation case passes; bg172: 66 native-boundary and workspace-drop cases pass | bg172 typecheck found compact's optional argument was dropped by transform inference; explicit optional transform argument restores it. Source lint and scoped typechecks pending in bg173. |
| apps/web/src/{state/neopiNativeSessions.ts,components/neopi/NativeTimelineView.tsx,components/neopi/NativeSessionSidebar.tsx,components/neopi/NativeSessionWorkspacePanels.tsx} | Replace manual memo wrappers with compiler derivations or stable event callbacks; retain explicit external subscriptions | Native target capture, double-click exclusion, query-bound observer teardown, preview reconciliation, composer focus and keybinding ownership | bg171: 15 state/timeline cases pass; bg172: web package typecheck passes | Derive paused live-follow from the producer's monotonic send counter; only imperative scrolling remains in its effect. Stable drop callbacks read composer refs only at event time. Scoped source lint/typechecks continue in bg173. |
| 19 focused desktop/server/web/shared test files identified by LoopCaseMap | Convert 29 registration loops to it.each, it.effect.each or it.live.each with structural AST edits | Preserve scalar/undefined rows, positional tuple arguments, object rows, per-case scopes and the two nested Cartesian products | AST applied 29 replacements across 19 files; scoped formatting/lint/test selection running as bg174 | No assertions, fixtures or branch coverage removed. |
| apps/web/src/components/chat/ChatComposer.tsx; apps/web/src/components/ChatView.tsx; apps/web/src/components/neopi/{NativeSessionWorkspace,NativeComposerControls}.tsx | Remove genuinely dead local imports/bindings and the unused focus prop; put native model/traits controls under the existing adaptive footer measurement | Existing extracted list editing, history, attachments and legacy handlers stay; native controls still use only native model/trait commands | Code applied; isolated browser proof prepared, not yet run | Narrow native traits use an accessible icon-sized trigger and recover full labels when space returns. No legacy execution path added. |
| apps/desktop/src/app/DesktopClerk.test.ts; packages/provider-core/src/server/managedProvider.test.ts; apps/server/src/serverSettings.test.ts; focused Node/schema fixture sites | Repair the two fixture failures exposed by the table migration and finish their local quality rules | The Linux Clerk facade is isolated; the provider failure/recovery sequence waits for its first published snapshot; real recovery assertions remain | bg174: 374/376 pass, with these two failures; bg176: all 19 files lint clean and all six repaired suites pass 149 cases | No sleeps, timeout increases, retries or dropped cases. |
| apps/web/src/components/neopi/NativeComposerControls.tsx and existing composer call sites; native Node namespace sites | Complete native responsive footer and continue scoped quality work | Narrow traits remain operable through their native command callback; wider layouts restore the label. Node namespaces preserve executable lookup, and its platform comes from HostProcess | bg175: footer source lint and web typecheck pass; bg176/bg177: real Chromium footer proof passes; three before/narrow/wide PNG captures saved in scratch; temporary proof removed. bg179 namespace/platform verification running | Fresh bg178 scope: 413 diagnostics in 110 files, recorded in quality-current.json; snapshot precedes the latest namespace edits. |
| apps/server/src/bootstrap.test.ts; native Node namespace sites | Complete namespace/platform verification and fix the borrowed-stream test's readiness milestone | Wait for lifetime listener installation rather than a resume event that bootstrap may already have emitted; borrowed-stream/EOF assertions stay | bg179: four files lint clean, 24/25 tests pass; the borrowed-stream readiness case times out. bg180 after the fixture repair: bootstrap 7/7 pass; native picker derivation lint passes | No increased timeout, sleep or retry; no runtime bootstrap behavior changed. |
| packages/client-runtime/src/state/neopiConversation.ts; apps/{web/src/components/neopi/useNeoPiConversation,mobile/src/state/neopiConversation}.ts; shared runtime tests | Move paging and live-feed reconciliation from two React mirrors into one shared atom owner | Preserve loaded older pages, canonical identity/leaf/revision guards, native pending/persisted data, single-flight reads, and revision-deduplicated gap recovery; mobile draft binding remains external and identity-scoped | Implementation and three scoped integration cases added; bg181/bg182 exposed and guided static type corrections; bg183 verification running | Not yet accepted or staged; no SQL conversation or execution path added. |
| shared native conversation owner and web/mobile consumers | Verify atom-owned pagination, including branch-bound cursor renewal and gap recovery | Loaded pages survive live persistence; stale success/error responses cannot cross native identity; concurrent paging shares one request; rebasing fetches the fresh first page before the older cursor | bg183: shared/web/mobile typechecks pass, paging 3/3 and existing reducer 15/15 pass. bg184 extends the same paging cases with rebase and automatic snapshot recovery: 3/3 pass | Models picker/selector/route derivations also pass their scoped lint. No application server launched. |
| shared native command helper; web/mobile native session screens; mobile native composer | Read native command state from its existing feed instead of competing React copies, and choose steering from the current feed after uploads | Post-command get_state still runs and keeps acceptance receipts on refresh failure; both callers remove obsolete onState, and the old callback-echo case is deleted | bg186: three changed helper/composer files lint clean, two suites 65/65 pass, shared/web/mobile typechecks pass. bg187: refreshed only 16 changed files, current quality index drops 413/110 to 386 diagnostics/100 files | Native workspace screens still have pre-existing quality work; not claimed lint-clean. Added ownership constraint to providers.md and runtime-test fork register row. |
| native web/mobile workspace lifecycle and shared native value-list identity | Remove render-time mutable-ref reads and manual memoization without duplicating session state | Mobile viewport state is owned by one imperative timeline resource updated after commit; native command catalogs carry their revision; deferred editor notices carry their editor identity; web event handlers use the existing stable-callback hook. Preserve repeated native items with value-and-occurrence keys | bg190: all three selected sources lint clean, native dialog identity proof passes, three suites 72/72 pass, client-runtime/web/mobile typechecks pass | Later helper rename to nativeValueItems and optional selector identity reverified by bg194/bg195. No app server or live database used. |
| apps/web/src/components/neopi/NativeAuthFlow{,.browser.test}.tsx | Scope prompt input, pending response and focus to the native prompt ID and kind | Keep auth subscription, cancellation and terminal completion at flow scope; a late old answer cannot clear or disable the next prompt | bg191 source/test lint pass; bg192 exposed an unsupported focus matcher in the new fixture; bg193 corrected matcher and real Chromium regression pass, web typecheck pass | Native trust buttons still send only the corresponding user choice. No live login or credential operation performed. |
| apps/web/src/components/neopi/NeoPiModelsPage{,.browser.test}.tsx; shared nativeValueItems helper | Reconcile model catalog derivations, scoped account reads, ordered selector identity and interrupted-subscription lifecycle | Preserve native authority and stale read-only catalogs; retain three increasing-delay retries, manual Retry and unmount cancellation; reset tooltip/account/auth state by its actual scope; keep duplicate selectors distinct without remounting on effort edits | bg194 five-source/test lint only needed a full fake-clock fixture correction; bg195 corrected fixture lint, duplicate-value/selector identity proof, real Chromium retry regression and all three client typechecks pass | Existing account actions and login-start cancellation remain; no new credential registry or native execution path. |
| native model picker and selector query hook; native session configuration panel | Remove remaining picker memos and render-time ref reads, preserving committed highlight and semantic query identity | Cache raw unfiltered native responses rather than derived row arrays; equivalent freshly allocated request inputs do not restart the native query. Retain composition guards, focus handoff, native row order and unavailable selections. The configuration panel retains one scoped read and stale-result protection | bg196: two sources lint clean and 10/10 selector unit cases pass, then real Chromium exposes the derived-array rerender loop. After the ownership repair and fixture corrections, bg199: six files lint clean, 9/9 real Chromium cases pass, web/mobile typechecks pass | Fixtures observe committed hook values, use the real combobox role instead of old placeholder text and keep data responses stable without manual React memoization. |
| mobile thread-bound native conversation and navigation | Remove the parent's conversation-presence mirror and read navigation completion guards from the authoritative atom | Parent subscribes to a boolean selector only for native threads; owner status changes retain their one-shot reconnect semantics; iOS list registration follows the existing native wrapper pattern. Persisted reopened-answer invalidation is scoped to its captured result; missing or replaced identities cannot overwrite the draft | bg200: all five changed sources/tests lint clean, 15/15 shared conversation cases pass with the new guard assertions, client-runtime/mobile typechecks pass | No SQL transcript substitution or native session creation. Image row identity is weakly held without hashing retained base64 data. |
| mobile NeoPiSessionTree, NeoPiSessions and state/neopiConversation | Make initial journal loading query-owned, preserve the independently pinned inspection and remove redundant configuration fetching | Existing zero-stale/zero-idle configuration query already revalidates on modal mount. The journal's initial query is scoped to environment/thread; the inspection lifetime is keyed by canonical native identity, with captured pagination snapshots and generation/unmount guards. Leaf changes remain visible without replacing the pinned page series | bg201 caught an effect-driven state update in the intermediate implementation; query-owned initialization replaces it. bg202: three-file lint clean, five existing journal boundary/ordering cases pass, mobile typecheck passes | No live app or provider operation. Further paging still rejects stale cursors, mixed snapshots and overlapping entries. |
| mobile NeoPiModelsScreen and state/neopiModels | Keep accounts in a scoped native query, authentication drafts in prompt-keyed children and editable rule rows in stable local identities | Account refresh no longer depends on a newly allocated target or local mirrored data; late login starts still cancel when their view closes. Native auth completion refreshes catalog/accounts once, and old answers cannot alter the next prompt even when its ID is reused with another kind. Rule IDs survive editing, reordering and adjacent removal | bg203: two-source lint clean and mobile typecheck pass. bg204: two real-Chromium isolated-source proofs pass for delayed auth replies/completion and duplicate-selector row editing/reorder/removal | The disposable proof uses the current production functions with DOM stand-ins for native primitives; it is not a mobile app/device run. Removed afterward. No live authentication, credential mutation or model call. |
| apps/mobile/src/features/threads/NeoPiJournalContent.tsx | Keep repeated content and file rows distinct without position-based keys or copied embedded media | Weak record identities plus occurrence keys keep expanded reasoning attached to its own row through insertion and reorder; repeated instances remain independently expandable | bg205: source lint clean and mobile typecheck pass. bg206: two real-Chromium isolated-source proofs pass for reordered reasoning and duplicate records | DOM stand-ins, not a native-device run. Disposable proof removed; media and canonical JSON rendering remain unchanged. |
| packages/contracts/src/neopiNativeConversation.test.ts | Compile fixed wire schemas once at module scope | Preserve all malformed-association, canonical identity, draft ordering, native extension and durability distinctions | bg207: lint clean, 5/5 existing wire cases pass, contracts typecheck pass | No schema, wire format or test assertion changes. |
| apps/server/src/provider/neopi/NeoPiNativeConversation.ts | Hoist native decoder compilation and preserve lazy scoped service operations | Seven native/boundary decoders compile once; makeWith constructs per-execution state in Effect.sync under its existing span; resume/cancel use named Effect.fn with unchanged scope and error handling | bg208: source lint clean, 12/12 existing native conversation cases pass. Server typecheck has only the two known NodePtyAdapter synchronous Node-import diagnostics (artifact2227 lines432–433); no new errors | Canonical identity checks, stopped-session admission, pending navigation exclusion and interruption behavior retained. No owner process started by verification. |
| packages/effect-neopi-rpc/src/{client,client.test,errors,frame}.ts | Keep native transport operations lazy and scoped, avoid per-frame spans, and use typed transport errors and a module-level JSON decoder | Known timeout tags use catchTags. Startup-dialog duration uses TestClock; shutdown waits on a signal receipt, stderr tests on consumed-chunk receipts, and fake escalation uses an explicit gate | bg209: 27/28 with one virtual-clock cleanup hang; bg210: 28/28 after advancing the existing stdout-close grace, then exposed two package type diagnostics. bg211: all three RPC suites 38/38, four-file lint clean and RPC package typecheck pass after typed-error/frame repairs | No production deadline or process-ownership change. Error tag, message, optional code/command and instanceof consumers retained. |
| apps/server/src/provider/neopi/NeoPiNativeLiveness.ts | Compile the control-registry decoder once and retain only the concise liveness constraint comments | No changes to unknown/unresponsive owners, blocking dialogs, coarse-state fallback or reported branch | bg213: source lint clean, companion cases pass in the 335-case selection | Server typecheck still pending for this batch. |
| apps/server/src/provider/neopi/NeoPiNativeOwner.ts | Compile catalog/navigation decoders and the native-error guard once | Existing-writer discovery, canonical binding checks and navigation persistence remain in place | bg213: source lint clean and owner cases pass | No session creation or second writer introduced. |
| apps/server/src/provider/neopi/NeoPiModels.ts | Compile configuration, selector and account decoders and the model-error guard once | Preserve reportInput=false for configuration failures and authoritative validation around requests | bg213: source lint clean and model cases pass | No credential registry or local model inventory added. |
| apps/server/src/provider/neopi/NeoPiSessionConfiguration.ts | Compile the native-runtime error guard once | Disconnect handling and identity validation unchanged | bg213: source lint clean; focused native runtime selection passes | No native configuration write added. |
| apps/server/src/provider/neopi/NeoPiStatsService.ts | Compile the native-runtime error guard once | Preserve native stats startup, ownership and failure handling | bg213: source lint clean and stats cases pass | Native usage stays authoritative. |
| apps/server/src/provider/neopi/NeoPiModelsHub.ts | Compile the model-error guard once | Preserve native connection lifetime, invalidation and change coalescing | bg213: source lint clean and hub cases pass | No retry or lifetime change. |
| apps/server/src/provider/neopi/NeoPiJournalReader.ts | Compile the CLI JSON decoder once | Structured failures still precede exit-status handling, and canonical page validation stays unchanged | bg213: source lint clean and reader cases pass | No execution or resume added to observation. |
| apps/server/src/provider/neopi/NeoPiSessionJournal.ts | Compile the owner-catalog decoder once | Preserve canonical owner selection and stale-read admission | bg213: source lint clean | Native runtime tests in the selection pass; final server typecheck pending. |
| apps/server/src/provider/neopi/NeoPiLaunchArgs.ts | Use the named Effect.fn boundary for reusable launch-plan construction | Retain the exported plan/error contract, protected flags, saved cursor and environment filtering | References checked before editing. bg213: lint clean and launch cases pass | No CLI argument or profile selection change. |
| packages/contracts/src/{terminal,neopiJournal,project,neopiModels}.test.ts | Compile the fixed schema encoders and decoders once per module | Existing wire, optional-value, atomic-file and malformed-input assertions retained | bg213: four-file lint clean, selected cases pass, contracts typecheck passes | No wire schema or assertion changed. |
| apps/server/src/provider/neopi/mappers/{core,subagents,ui}.test.ts | Compile event validation once and update private test projection contexts without repeated copies | Per-event validation and all assertions remain; fixture contexts have no retained historical observers | bg213: all three mapper suites pass and lint clean | No test row or assertion removed. |
| apps/server/src/device/DeviceService.test.ts | Compile the device-state decoder once | Native namespace closure and sibling/legacy isolation assertions retained | bg213: lint clean and device suite passes | No device or network operation outside the existing isolated fixtures. |
| apps/web/src/{hooks/useLocalStorage.ts,components/chat/ProposedPlanCard.tsx,components/settings/ProviderSettingsPanel.logic.test.ts} | Compile fixed error guards and settings-patch decoding once | Invalid-value replacement, safe plan-conflict handling and scoped provider overrides unchanged | bg213: three-file lint clean and provider settings logic cases pass | Browser persistence verification active as bg214. |
| apps/server/src/provider/neopi/mappers/core.ts | Copy open content items once per flush instead of repeatedly copying the shrinking map and state | Keep input state immutable, reasoning-first ordering, error statuses and identity for an empty flush | bg213: mapper cases pass and lint clean | No settling or usage-projection change. |
| apps/mobile/src/{features/settings/SettingsServerControlsRouteScreen.tsx,state/preferences.test.ts} | Remove unused View and Option imports | Retain every settings control and preference assertion | bg213: source lint clean and preference cases pass | Mobile typecheck pending for this batch. |
| apps/server/src/{orchestration-v2/runtimeLayer.ts,provider/neopi/NeoPiHostToolBridge.test.ts,provider/neopi/NeoPiSessionRuntime.test.ts,terminal/Manager.test.ts} | Remove unused imports and unused captured-frame bindings while retaining capture execution | Runtime observations and all assertions remain | bg213: lint clean, bridge/runtime/terminal suites pass | No service layer, capture or finalizer removed. |
| apps/web/src/components/{ThreadTerminalDrawer.tsx,chat/MessagesTimeline.tsx,chat/MessagesTimeline.logic.test.ts,onboarding/WelcomePage.browser.test.tsx} | Remove obsolete imports; retain the onboarding render as an explicitly unused disposable resource | No renderer or test assertion removed | bg212 isolates the still-open drawer memo and timeline ref diagnostics. bg213: selected logic test and onboarding test lint clean | Browser onboarding verification active as bg214; drawer/timeline still require quality work. |
| apps/desktop/src/app/DesktopAppIdentity.test.ts | Remove unused stage destructuring while retaining the stage-labelled table | All native User-Agent validation rows remain | bg213: lint clean and desktop identity cases pass | Desktop typecheck pending for this batch. |
| packages/shared/src/composerContextLegacySend.ts; apps/server/src/{vcs/GitTraceTail.ts,provider/neopi/NeoPiNativeSettlement.ts}; apps/web/src/components/neopi/nativeDictation.ts | Shorten background comments while retaining the compatibility, UTF-8 boundary, settlement and host-microphone constraints | No executable behavior changed | bg213: four-file lint clean; native dictation cases pass | Comment-only changes. |
| apps/web/src/components/neopi/agents/{AgentDetail,AgentSummary,AgentRoster}.tsx; apps/web/src/components/neopi/NeoPiTerminalHandoff.tsx | Use compiler-derived values, duplicate-preserving native occurrence keys and shared tooltips; distinguish unknown metrics in plain copy | Roster timers, scroll and focus effects retain their actual DOM lifetimes with narrow reasons | bg213: four-source lint clean. bg217: two actual-component real-Chromium proofs pass for keyboard selection, visible identity tooltip, duplicate/reordered tool rows and refreshed totals | Disposable proof removed. Only transcript fetching was stubbed; this is not an integrated app run. |
| apps/web/src/components/neopi/NativeAuthFlow.browser.test.tsx | Keep the delayed-response regression compatible with the web target library | Replace Promise.withResolvers with a pending Promise that stores only the resolve callback actually used by the test | bg217 web typecheck exposed two unsupported-library errors. bg218: fixture lint, real-Chromium regression and web typecheck pass | No production authentication change, compiler-lib expansion or weakened assertions. |
| packages/client-runtime/src/neopiModels.ts; packages/client-runtime/src/state/commandPermissions.test.ts; apps/mobile/src/{state/neopiModels.ts,features/threads/NeoPiModelsScreen.tsx} | Keep the native account read query-owned without bypassing the provider-management grant | Shared accountsQuery uses createEnvironmentQueryAtomFamily plus requestGuarded; remove the invalid mobile query and migrate its only caller. Existing permission table now exercises the actual Models query | bg219: four-file lint and 30 permission/model cases pass. bg220: corrected schema-derived input annotation, shared/client-runtime/web/mobile typechecks pass | No broadening of unguarded query admission, GUI collector/credential registry or compatibility alias. Desktop separately has 42 diagnostics in 15 files; server consumers are under bg222. |
| apps/server/src/provider/{NeoPiProvider.ts,neopi/NeoPiNativeSessions.ts,neopi/NeoPiSessionConfiguration.ts,neopi/NeoPiSessionRuntime.ts} | Complete the schema-backed transport-error cutover at every production class check | Six checks now use module-compiled Schema.is(NeoPiRpcError), preserving timeout, disconnect and session-lease branches | bg222: four-file lint clean, 96/96 cases across provider/native-session/runtime suites pass. Server typecheck has only the two known NodePty synchronous-import diagnostics (artifact2283 lines432–433) | Workspace-wide reference search found no other production instanceof NeoPiRpcError checks. |
| apps/server/src/terminal/NodePtyAdapter.ts | Apply the first officer's exact two diagnostic exceptions | Two next-line nodeBuiltinImport directives explain synchronous PID identity reads immediately before signaling | bg223 source lint clean and no remaining server errors; exposed a genuine registry-test layer warning, fixed by ordered provision | PR must cite docs/internals/effect-services.md's documented-exception allowance. No other NodePty behavior changed. |
| apps/server/src/project/{ProjectWorkspacePreparation,ProjectSetupScriptRunner,ProjectSetupScriptRunner.test}.ts; apps/server/src/orchestration-v2/{ThreadLaunchService,ThreadLaunchService.test}.ts | Factor real worktree/setup preparation out of SQL launch ownership | Shared provisioning preserves origin fetch, temporary-branch flattening, claimed-worktree and checkout progress; native setup uses canonical resource identity without querying SQL threads | bg224: 60 cases across setup/SQL-launch/registry suites pass, including native completion cleanup. Registry's yieldless fixture was then corrected; bg225 source lint clean | SQL metadata, branch renames and run/tracker ownership remain in SQL launch. Native helper creates no SQL conversation. |
| packages/contracts/src/{neopiNativeSessions,rpc,clientRpcPermissions}.ts; packages/client-runtime/src/state/{neopiNativeSessions,commandPermissions.test}.ts; apps/server/src/provider/neopi/{NeoPiNativeTaskLaunch,NeoPiNativeTaskLaunch.test,NeoPiNativeSessions,NeoPiLaunchArgs}.ts; apps/server/src/{server,ws,ws.test,auth/RpcAuthorization,auth/RpcAuthorization.test,observability/RpcInstrumentation}.ts; apps/mobile/src/features/threads/{NewTaskDraftScreen,new-task-flow-provider}.tsx; docs/user/composer.md; AGENTS.md | Implement the explicitly approved online-only mobile native new-task path | Guarded launch RPC owns project/worktree/native configuration and setup; retain canonical identity on preparation failure. Mobile bypasses SQL outbox, persists canonical draft before acceptance, rechecks connection and blocks duplicate in-flight creation. PR checkout uses its existing protected command | bg227: four-file lint, 109 cases across five suites, server/client-runtime/mobile typechecks all exit 0. Actual-source mobile handler passes five isolated runtime scenarios; disposable proof removed. bg225 previously passes 15-file lint | Offline new-task queueing is explicitly unsupported, not simulated. Existing open wire remains unchanged; runtime mode is an internal creation option. No durable acceptance claim and no integrated app run. |
| /mnt/alias/m2/agents/scratch/neocore/native-open-idempotency-issue.md; first officer dispositions | Record authorization and the native durability follow-up | Portable issue includes exposed wire shape, stripped requestId, duplicate-session/prompt ambiguity and required durable queue semantics | First officer filed unchanged draft as https://github.com/PsychedelicShayna/neopi/issues/705 (needs-triage, downstream), and explicitly approved canonical check:changed as-is under polite limits | Reference #705 next to #698 in the sync PR. Wrapper execution remains pending the finished integration tree. |
| apps/desktop/src/settings/{DesktopAppSettings,DesktopAppSettings.test}.ts; apps/desktop/src/app/{DesktopClerk,DesktopApp.test}.ts | Repair desktop root type/context and fixture contracts without weakening recovery behavior | Read-settings accepts the actual SecureRandom service value; remove defaulted HostProcess.Arguments from Clerk's requirements; provide real URL registration fixture; destructure Effect table rows rather than treating TestContext as settings bytes | bg228: four-file lint clean, 18/18 tests across settings and startup suites pass. Desktop diagnostics fall from 42/15 files to 18/9 files; current exact inventory saved in desktop-type-errors.txt and artifact2313 | Invalid documents remain backed up and writes blocked until recovery. No new desktop diagnostic suppressions or app launch. |
| apps/desktop/src/app/{DesktopConnectionCatalogStore,DesktopPreReadyPlatform,DesktopUrlRegistration,DesktopClerk.test,DesktopClerkBridge.test,DesktopUrlRegistration.test}.ts; apps/desktop/src/electron/ElectronWindow.ts; apps/desktop/src/backend/DesktopBackendManager.test.ts; apps/desktop/src/preview/DesktopBrowserHost.ts; AGENTS.md | Complete desktop selective recovery, startup and callback contracts | Preserve selective errors with catchIf/catchTags, preserve shutdown deadlines with timeoutOrElse, read dev origin through Config, admit explicit absent launcher options, and pass the actual WebContents identity when detaching oversized CDP tabs | bg230: nine-source lint clean, 134/134 cases across nine suites pass, desktop typecheck exits 0 with no errors or warnings (artifact2321). All 42 original desktop diagnostics are cleared | Six test-only builtin directives explain synchronous module/VM/private-XDG oracle needs under the documented exception allowance; no blanket disable or additional NodePty directive. No app launch. Browser-host touch reason recorded in AGENTS.md; final doc format gate still pending. |
| 42-source React/native integration repair scope in quality-react-repairs.json; apps/web/src/index.css; apps/mobile/src/features/threads/NativeSessionBrowser.test.tsx; AGENTS.md | Complete upstream lint/compiler contracts without removing native lifecycle behavior | Preserve lazy retained drawer/panel terminal mounting, native identity-keyed tree reads, pairing-time selection/deselection, failed-send recovery, inset focus indicators, full native status details and lossless same-origin draft broadcasts | bg232: 42-source lint clean and 30/30 native launch/auth and relay cases across three suites pass. CORRECTION: full artifact2335 ends with web typecheck exit2 (four missing-name diagnostics); mobile typecheck was not reached. bg233: six browser suites pass, MessagesTimeline and PreviewView fail (artifact2337); runtime suites not reached | Parent applied every repair; two read-only scouts investigated lifecycle constraints only. Test probes expose committed state, clocks are fully faked, native auth awaits its login milestone, and the obsolete mobile navigation mock-call assertion is removed rather than re-pinned. Four missing import uses are restored; router render readiness is being repaired. No product app or dev server was started. |
| packages/client-runtime/src/state/{neopiNativeSessions,commandPermissions.test}.ts; apps/mobile/src/state/neopiNativeSessions.ts; apps/mobile/src/features/threads/NativeSessionMobileTree.tsx | Own native tree reads in the existing guarded shared query family | Canonical environment/profile/file identity keys the mobile tree; no mount-fetch effect or SQL thread surrogate; request callbacks retain stable scalar identity dependencies | Generic query uses the existing requestGuarded boundary rather than the RPC query helper that intentionally excludes protected methods; extend the existing destination-grant denial/admission/revocation table | bg236: four-source lint clean, all 26 permission cases pass, MOBILE_TYPE_EXIT=0 (artifact2351). bg234 WEB_TYPE_EXIT=0 verified in untruncated artifact2345 after restoring four live import uses. |
| apps/web/src/components/preview/PreviewView.browser.test.tsx | Await all three asynchronous act calls rather than leaking the first test's scope into following cases | Retain all cursor, pick-generation, cancellation, permission-loss, malformed-crop and URL-focus assertions | The current shared render helper's act always returns a Promise; calls that were synchronous under the previous renderer must await its scope | Before: 11/12 PreviewView cases fail after the cursor case while the same case passes alone. After: bg242 passes all 88 cases across eight browser suites, including all 12 PreviewView cases, with BROWSER_REGRESSIONS_EXIT=0. All diagnostic console/load/wait experiments are removed; shared test/render.tsx is unchanged. |
| Canonical scripts/check-changed.ts invocation | Run the owner-authorized wrapper unchanged, including its external temporary lockfile-only install | Keep original package/lock files untouched; all work politely serialized under unchanged shared caps | bg243 temporary unused-patch resolution passes across 39 workspaces, then E2BIG at 2 MiB ARG_MAX; bg244 uses documented origin/nightly baseline and private 24 MiB child stack, yielding ARG_MAX 6291456 and 46,097 changed paths | bg244 completes with exit 1: unused patches, format, both GraphQL checks and 47 Node tests pass; lint, first knip pass, provider-core typecheck and broader tests fail, second knip pass times out after 1200s. Full evidence artifact2373/backing 2373.bash.log. This is not a passing gate; wrapper source remains unchanged. |
| Safe restart checkpoint requested by first officer | Pause before further repairs so this session can restart onto npi 18.18.8 | No source edits after canonical result; no commit/PR; no app/dev server/build/live userdata access | Two read-only scouts returned current knip/test findings without edits or project execution; their full reports and pinned-tool command setup are saved beside STATUS.md | STATUS.md records every observed finding and unresolved cause, publication artifacts and exact continuation. Nothing remains in flight; no long build/test begins before restart. Generic replay harness and deliberately unwired quota sources must not be blindly removed. |
| evals/mcp-tool-use/devices.ts; packages/provider-core/{package.json,src/server/maintenance.ts,src/server/maintenanceResolver.ts,src/server/maintenanceResolver.test.ts} | Remove the unused MCP registration directive and obsolete maintenance module/types/self-tests/private exports | NeoPi remains the updater/configuration owner; no removed GUI version-advisory contract is restored | Full apps/packages reference search found no maintenance consumer beyond its export and self-tests | The original canonical type error disappears; after authorized frozen restoration, the installed compiler invoked directly prints DIRECT_PROVIDER_CORE_TYPE_EXIT=0 (bg3). |
| packages/client-runtime/src/{connection/resolver.test,state/threads-sync.test,filePreview.test}.ts | Delete a wording-only compatibility assertion, drain the foreground wake to quiescence before asserting deleted threads remain parked, and await an explicit pending-read milestone before abort | Unsupported-reason guard, no resurrection/no HTTP reload/no second socket, rejection and underlying stream cancellation assertions remain | Matches actual deleted-thread makeInput parking before socket entry and synchronous abort registration | bg1 focused seven-suite run has 182/183 passing cases, including these cases and the unchanged pure snooze case. The other failure is separately attributed below; the entire batch is not called green. No sleeps/retries/timeouts are added. |
| apps/desktop/src/window/{DesktopWindow,DesktopWindow.test}.ts | Enable activation after successful explicit boot-window creation; initialize the existing quit-race fixture at the real admitted-protocol state | The pre-bootstrap activation gate remains closed until a window or explicit readiness milestone; early closed windows reopen on actual activation before/after backend readiness | Normal bootstrap already calls ensureMain after protocol/IPC registration; the old gate could otherwise remain false forever after early close | Five affected startup/quit cases pass (bg4); desktop typecheck subsequently passes bg5 after the independent preview assertion typing repair. No production admission gate was weakened to satisfy a fixture. |
| apps/desktop/src/preview/Manager.test.ts | Assert destroyed-tab removal through the public missing-tab error, not tolerant missing-tab zoom; capture an Exit so void is not introduced into the fixture error channel | Closed-event milestone and the other window's actual zoom stay exercised | Preview zoom intentionally returns successfully for absent tabs; openDevTools requires the concrete registered tab | The destroyed guest regression passes; DESKTOP_REPAIRS_TYPE_EXIT=0 verified in the complete bg5 tail (artifact2425/raw2424). The earlier Effect.flip typing failure from bg4 is corrected, not waived. |
| knip.jsonc; apps/{server,web}/package.json; packages/provider-muse/package.json; pnpm-lock.yaml | Add precise roots for computed-path desktop smoke and deliberately unwired Cursor/Grok quota readers; remove five unconsumed direct dependency declarations and exactly their importer records | All four mandated upstream quota readers remain unwired; Grok keeps its real shared dependency; generic replay harness remains live and untouched | Existing Knip entry convention distinguishes filename-loaded/intentionally retained source from dead foreign execution scaffolding | Full working-lock diff shows only five importer deletions and no resolution/snapshot change; frozen script-disabled restoration succeeds. Remaining 235-file cleanup and second-pass timeout are still under investigation. |
| Unintended pnpm exec auto-install and ordered containment | Report the lifecycle execution immediately; inventory all five hooks, pinned integrity, out-of-graph downloads and outside writes; apply both session-only environment guards | No app/dev server/product build/live userdata operation or outside deletion; first officer explicitly leaves tmpfs compile cache alone | All 1567 downloaded package cache integrity keys match the staged frozen graph; markdown additionally fetches 21 assets, three SHA-256 checked and 18 grammars only version-pinned | Full evidence and correction of the additional ~/.cache/pnpm policy/metadata write are in STATUS. Root prepare's shared Git config was not modified (older timestamps). PR must record the 21 assets as a supply-chain review note, not a blocker. |
| Authorized frozen dependency restoration; AGENTS.md | Quarantine 39 generated node_modules directories inside ignored worktree state, reinstall frozen with scripts/side-effects cache disabled and local caches, invoke installed compiler directly; register new upstream touches | Old generated state retained inside .t3; no .npmrc/global preference change, no repeated moves, no lifecycle hooks in restoration | Offline attempt fails only because fresh local metadata lacks a policy record; retry permits registry metadata without changing the graph | bg3 restores 1571 links, reuses1567 records, downloads0 packages, passes lock supply-chain policy, FROZEN_IGNORE_SCRIPTS_RESTORE_EXIT=0 and DIRECT_PROVIDER_CORE_TYPE_EXIT=0. Both requested npm_config guards plus local TMPDIR/compile/npm/XDG caches remain active. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 17/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44875 bytes; SHA-256 35099013eb76db9655752bd131a00bd87d78693b6e289bca6e000f88b4ca6d0d.

| apps/server/src/orchestration-v2/testkit/fixtures/acp_elicitation/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/acp_titled_multiselect/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/acp_titled_multiselect/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/acp_titled_multiselect/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_monitor_wake/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_monitor_wake/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_monitor_wake/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_after_root/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_after_root/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_after_root/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_lifecycle/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_lifecycle/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_lifecycle/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_after_root/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_after_root/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_after_root/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_interrupt/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_interrupt/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_interrupt/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_wake/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_wake/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_wake/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt_no_echo/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt_no_echo/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt_no_echo/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn_no_echo/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn_no_echo/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_resume_wake/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_resume_wake/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_resume_wake/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_idle_resume/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_idle_resume/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_idle_resume/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_local_bash_task/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_local_bash_task/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_local_bash_task/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_mcp_tool_presentation/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_mcp_tool_presentation/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_mcp_tool_presentation/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_background_subagent_wake/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_background_subagent_wake/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_background_subagent_wake/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_subagent_model/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_subagent_model/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_subagent_model/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_result_is_error/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_result_is_error/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_result_is_error/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/claude_subagent_resume_after_restart/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/codex_model_reroute/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/codex_model_reroute/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/command_output_streaming/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/command_output_streaming/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/command_output_streaming/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/command_output_streaming/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/delegated_task_status/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/fx_early_stop/fx_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/fx_early_stop/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/fx_early_stop/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/fx_subagent/fx_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/fx_subagent/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/fx_subagent/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_auto_blocked_command/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_auto_blocked_command/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_auto_blocked_command/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash_fast_wake/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash_fast_wake/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash_fast_wake/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_subagent/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_subagent/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_background_subagent/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_monitor/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_monitor/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_monitor/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_prompt_error/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_prompt_error/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_prompt_error/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_subagent_lineage/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_subagent_lineage/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/grok_subagent_lineage/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/index.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_cloud_config/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_compaction/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_compaction/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_compaction/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_effort/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_effort/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_effort/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 18/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44768 bytes; SHA-256 3fdcdac28e06680925fd90db25adaf31f795fc1cc166e0c32f1d875283e3cb1f.

| apps/server/src/orchestration-v2/testkit/fixtures/kiro_fork_from_turn/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_fork_from_turn/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_fork_from_turn/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_message_steering/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_message_steering/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_message_steering/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_model_switch/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_model_switch/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_model_switch/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_permission_modes/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_permission_modes/kiro_full_access_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_permission_modes/kiro_supervised_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_permission_modes/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_subagent_interrupt/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_subagent_interrupt/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_subagent_interrupt/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/kiro_unknown_model/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/malformed_session_update/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/malformed_session_update/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/malformed_session_update/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/cursor_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/grok_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/pi_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/message_steering/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/muse_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/pi_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/multi_turn_restart/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_permission/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_permission/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_permission/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_subagent_approval/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_subagent_approval/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_subagent_approval/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_subagent_interrupt/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_subagent_interrupt/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_subagent_interrupt/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_workflow/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_workflow/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/muse_workflow/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_background/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_background/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_background/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_command/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_command/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_command/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_compaction/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_compaction/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_compaction/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_fork/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_inbox/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_inbox/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_inbox/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_interrupt/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_interrupt/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_interrupt/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_missing_step_usage/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_missing_step_usage/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_nested_background/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_nested_background/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_nested_background/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_permission/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_permission/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_permission/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_question/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_question/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_question/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_resume_after_restart/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_resume_after_restart/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_resume_after_restart/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_revert/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_revert/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_revert/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_simple/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_simple/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_simple/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_skill/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_skill/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 19/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44664 bytes; SHA-256 14a83c6ad18c5bd7161711bdc5aee257623d7a8635ac0269f562670692b46d52.

| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_skill/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_subagent/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_subagent/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_subagent/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_tool_call/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_tool_call/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode2_tool_call/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_child_approval/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_child_approval/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_child_approval/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_running_child_approval/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_running_child_approval/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_running_child_approval/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_subagent/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_subagent/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/opencode_subagent/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/pi_compaction/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/pi_compaction/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/pi_compaction/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/opencode_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/cursor_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/kiro_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/pi_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_cancelled_while_active/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_cancelled_while_active/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/shared.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/pi_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/simple/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/skill_invocation/cursor_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/skill_invocation/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/skill_invocation/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/stop_background_work_after_failed_turn/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/stop_background_work_after_failed_turn/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/stop_background_work_after_failed_turn/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/cursor_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/kiro_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/README.md | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/muse_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_approval/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_approval/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_approval/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested_approval/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested_approval/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested_approval/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_fork_local_rollback/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_prior_turn/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 20/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44980 bytes; SHA-256 8300fe7d54ad8783a2461ce8cd9bd9f591077bea82e153dc33d6743876036c7a.

| apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_prior_turn/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_siblings/README.md | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_siblings/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_siblings/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/pi_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_restart/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_restart/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_restart/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_stop/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_stop/pi_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_stop/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_to_stopped_turn/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_to_stopped_turn/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_to_stopped_turn/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/cursor_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/grok_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/todo_list/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/fx_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/cursor_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/fx_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/fx_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/grok_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/muse_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/muse_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/opencode_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/registry_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/cursor_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/cursor_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/kiro_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/kiro_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/pi_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/pi_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_restart/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_restart/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_restart/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/web_search/claude_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/web_search/claude_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/web_search/codex_output.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/web_search/codex_transcript.ndjson | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/server/src/orchestration-v2/testkit/fixtures/web_search/input.ts | Remove the orphan foreign-harness replay fixture | Live generic ProviderReplayHarness and native V2 harness remain untouched | Its scenario registry has no external consumer after the NeoPi-only cutover | Parent inspected the registry, scoped external references and this exact file snapshot before removal; upstream tag/recovery refs preserve the retired fixture. |
| apps/mobile/src/features/layout/workspace/WorkspaceListEmptyDetail.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/mobile/src/features/usage/ChatGptUsageSummary.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/scripts/acp-replay-agent.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/scripts/acpMockCancellationState.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/src/cli/acpMcpBridge.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/src/mcpApps/McpAppSnapshot.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/src/orchestration-v2/testkit/DeterministicRuntime.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 21/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 44724 bytes; SHA-256 5bd3f2da2ad66e09f7b00378127d48062bbb56231590136ea40cd56e5073a8ed.

| apps/server/src/orchestration-v2/testkit/ReplayRuntimeInstructions.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/src/provider/testing/ProviderInstanceRegistryLive.fixture.mjs | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/src/testUtils/processProbe.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/server/src/textGeneration/testing/ClaudeTextGeneration.fixture.mjs | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/browser/browserRecordingUpload.ts | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/chat/ChatGptSharingControl.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/chat/NativeChildWorkDialog.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/neopi/NativeCommandOutput.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/neopi/NeoPiSessionModelPicker.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/settings/MultipleAccountsNote.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/settings/ThemePreviewCircles.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/settings/ThemeWireframe.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| apps/web/src/components/ui/table.tsx | Remove the unconsumed module after its execution/UI owner was retired or replaced | Live native clients, mobile NativeCommandOutput, generic MCP bridge and generic replay harness remain | Canonical file audit and scoped symbol/path searches found no current consumer or filename-loaded entry | Parent inspected this module; deliberately unwired quota readers and the computed-path desktop smoke entry are explicitly retained elsewhere. |
| docs/internals/adding-a-provider.md | Remove the obsolete foreign-execution driver onboarding guide | Native providers documentation and NeoPi authority remain the current source of truth | The guide references removed ACP/foreign adapters, installer machinery and orphan scenario fixtures and has no current scoped incoming link | Do not retain instructions for adding execution harnesses forbidden by the NeoPi-only product contract. |
| apps/server/src/orchestration-v2/PullRequestSyncReactor.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/orchestration-v2/workflowAgentTranscript.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/EventNdjsonLogger.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/Drivers/piUsage.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/neopi/NeoPiAdapterTestHarness.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/neopi/NeoPiJournalReader.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/neopi/NeoPiNativeLiveness.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/neopi/NeoPiStatsHttp.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/telemetry/Identify.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/triage/triagePrompt.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/usage/inferenceUsageLimits.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/orchestration-v2/ProviderAdapterRegistry.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/orchestration-v2/testkit/ProviderReplayHarness.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/preview/PortScanner.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/project/AgentSessionJson.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/acp/AntigravityChildWork.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/server/src/provider/acp/AntigravityEditLocation.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/guest/GuestPage.browser.test.tsx | Import GuestPage under the guest URL and await actual streamed DOM milestones | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/chat/TraitsPicker.tsx | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/agents/agentFormat.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/agents/AgentRoster.tsx | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/agents/agentTranscriptCache.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/nativeDictation.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/nativeSessionShortcuts.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/NativeSessionWorkspace.tsx | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/nativeTraits.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/neopiTreeState.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/useNativeSessionTabPresentation.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/settings/AddProviderInstanceDialog.logic.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/threadSidebarWidth.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/ThreadTerminalDrawer.tsx | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/state/nativeWorkspaceRelocation.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/themePalette.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/vscodeThemeImport.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/browser/previewRuntimeTabId.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/chat/MessagesTimeline.logic.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/neopi/NeoPiSessionStatus.tsx | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/hooks/useEnvironmentTheme.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/modelOrdering.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/timestampFormat.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| apps/web/src/components/CommandPalette.composition.browser.test.tsx | Remove the stale mock for an unconsumed theme hook | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/client-runtime/src/neopiNativeSessionAttention.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/client-runtime/src/neopiTranscript.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/client-runtime/src/state/usageProgress.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/contracts/src/acpRegistry.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/contracts/src/model.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/contracts/src/settings.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/contracts/src/orchestrationV2.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/effect-neopi-rpc/src/client.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/effect-neopi-rpc/src/frame.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/IdAllocator.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/mcpToolPresentation.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/orchestrationInstructions.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/snapshotProbe.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/textGenerationOperations.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/AgentScope.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/claudeCompaction.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/mcpApp.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/model.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/usageFormat.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/usageMerge.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/attachmentPrompt.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/failure.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/ModelCatalog.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/package.json | Remove package entry points for source-verified orphan modules | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-testing/src/replayWorkspace.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-testing/package.json | Remove package entry points for source-verified orphan modules | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/projectScripts.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/shared/src/toolActivity.ts | Privatize locally used declarations and remove source-verified orphan exports and helper closures | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| AGENTS.md | Record the newly touched upstream source and orphan-module cleanup | Preserve live native execution, generic consumers, readable history and quota readers | Parent inspected source and exact-symbol audit; canonical recheck pending | No blanket Knip exclusion or additional diagnostic waiver. |
| packages/provider-core/src/server/nativeProtocolLogging.ts | Remove the unconsumed execution-era module and its public package entry | Native scenario harness, runtime history readers and offline graders remain | No repository import found; parent inspected the complete module | These orphan fixtures/helpers are not live generic test harnesses or conversation history decoders. |
| packages/provider-core/src/server/runtimeInstructions.ts | Remove the unconsumed execution-era module and its public package entry | Native scenario harness, runtime history readers and offline graders remain | No repository import found; parent inspected the complete module | These orphan fixtures/helpers are not live generic test harnesses or conversation history decoders. |
| packages/provider-testing/src/fakeCli.ts | Remove the unconsumed execution-era module and its public package entry | Native scenario harness, runtime history readers and offline graders remain | No repository import found; parent inspected the complete module | These orphan fixtures/helpers are not live generic test harnesses or conversation history decoders. |
| packages/provider-testing/src/replayTranscript.ts | Remove the unconsumed execution-era module and its public package entry | Native scenario harness, runtime history readers and offline graders remain | No repository import found; parent inspected the complete module | These orphan fixtures/helpers are not live generic test harnesses or conversation history decoders. |
| packages/provider-testing/src/TestProviderHost.ts | Remove the unconsumed execution-era module and its public package entry | Native scenario harness, runtime history readers and offline graders remain | No repository import found; parent inspected the complete module | These orphan fixtures/helpers are not live generic test harnesses or conversation history decoders. |
| apps/server/src/orchestration-v2/testkit/OrchestratorScenario.ts | Remove the orphan scenario-step interpreter after its only replay runner was retired | Preserve ProviderReplayHarness.layerWithRegistry and all four live generic scenario suites | Parent read all 751 lines; exact searches including ignored files found no remaining import | Corrects the earlier overbroad retention note: the live layer is not this unused step interpreter. |
| packages/provider-testing/src/replayGate.ts | Remove the unconsumed replay gate and its package export | Native test gates and scoped checkpoint workspace remain | Parent inspected the complete module and confirmed its only remaining type consumer was the orphan step interpreter | No blanket Knip exception. |
| packages/provider-testing/package.json | Remove two dependencies used only by deleted orphan fixtures, plus the orphan replay-gate export | Retain platform-node, contracts and Effect for live checkpoint and capability helpers | Canonical file/dependency check reported exactly these two declarations | No installation or lifecycle execution. |
| pnpm-lock.yaml | Remove only provider-testing's two now-unused workspace importer entries | Preserve every frozen package resolution and snapshot | Manifest removals match the exact provider-core/shared importer blocks personally read before editing | Existing five unrelated importer removals remain; no re-resolution. |
| packages/client-runtime/src/neopiTranscript.ts | Shorten two comments to their lossless-record and incremental-projection constraints | Preserve the actual projection implementation | Focused lint reported only comment length here | No diagnostic exception. |
| apps/web/src/components/neopi/neopiTreeState.ts | Let the React Compiler own the draft setter instead of manual useCallback | Preserve keyed functional updates and saved draft identity | Focused lint identified manual memoization in the compiler-owned file | No diagnostic exception or state-sync effect. |

## Final direct compiler closure and baseline attribution

Canonical bg15 exits1; format6170/lint/bothKnip/bothGraphQL/47Node pass. Its raw 2474.bash-original.log, not abridged2475, identifies the PDF manual mock and heartbeat->closedRPC cause. A second root prepare ran despite exported guards (4relinks,0downloads); reported and no package-manager entry used afterward. Short TMPDIR alias /tmp/ncs-f335 points into the owned0700 worktree directory; compile/npm/XDG caches remain local and /tmp/node-compile-cache untouched.

Direct bg17 initially passes36/38packages; evals/scripts failures are repaired. Direct bg19 passes those two and shared/desktop/mobile consumers; bg20 final scripts types pass. Thus all38 package compilers have passing direct evidence, including actual Astro checking. bg19 desktop149/6 and retained offline/tooling497/6 pass; its four packaging failures were three missing-vp fixture execution failures in the deliberately restricted PATH and a real PR-preview classifier integration regression. bg20 restores only the direct-tool PATH for synthetic fixtures, reuses the existing preview-aware owner, and passes all49 packaging cases,28-file format,focusedlint,bothunchangedKnipgates and all3 actualExpo variant config loads. No NeoCode product build or paid model call.

Baseline: upstream bf469bb196 exact remote-updater case passes1/25filtered. Fork b02af4be has no matching case and oldEffect4.0.0-rc.115; current frozen4.1.2 overlay fails its imports before tests. Neither setupfailure nor absentcase counts as repro/pass. Both parents contain the no-update transition; first officer confirms merge regression and approves its repair. Upstream focusedguest/PDF comparison starts but exceeds its unchanged300s bound before assertions; forkbrowser cannotloadits oldBabelplugin. Heartbeat/mock origin remains undetermined, not declared pre-existing or fixed. Existing browser assertions/timeouts and real timeline/PDF remain.

First officer explicitly approves retiring the Codex-only PR live eval runner while retaining exact adversarial data/offline graders; no fake native substitute or widened production loadout.

| File | Personal resolution | Preserved contract | Verification | Limit |
| --- | --- | --- | --- | --- |
| packages/shared/src/desktopBranding.ts | Move the existing desktop product name into a dependency-free shared owner; no value or storage identity changes. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| packages/shared/src/mobileDistribution.ts | Move the exact existing mobile package/scheme map into a dependency-free shared owner; preserve all variant identities. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| packages/shared/package.json | Export the two narrow shared metadata owners without adding dependencies or changing lock resolutions. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/desktop/src/app/DesktopEnvironment.ts | Import the shared product name and remove its obsolete application-owned export; keep environment service and branding behavior. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/desktop/src/app/DesktopApp.ts | Read the shared product name directly while retaining the real environment service import. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/desktop/src/window/DesktopApplicationMenu.ts | Read the shared product name directly; preserve menu/update behavior. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/desktop/src/backend/DesktopLocalEnvironmentAuth.ts | Import only pure shared branding instead of pulling application services through the constant owner. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/desktop/src/permissions/MacPermissionHelper.ts | Migrate the constant import without changing permission-helper text or behavior. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| scripts/build-desktop-artifact.ts | Use pure shared branding and the existing preview-aware releaseResource classifier; preserve active -pr.N.N feed isolation instead of routing it through the intentionally narrower CLI classifier. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| scripts/mobile-native-client.ts | Read development application identity from the shared metadata owner, not React Native source. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| scripts/mobile-showcase.ts | Read production application identity from the shared metadata owner, not React Native source. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| scripts/mobile-behavior/environment.ts | Wrap only the provider lock in the atomic project-override set envelope. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/mobile/src/lib/mobileDistribution.ts | Consume the shared identity map through the existing config-compatible relative-source convention; keep mobile link prefixes and Android version-code behavior local. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/mobile/app.config.ts | Read the pure identity owner directly and keep the local version-code helper; actual Expo config loads all three variants. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Complete chronological resolution ledger — part 22/22

Ledger: 944105 bytes; SHA-256 16e63748b051035ef4d835a9e3df3ce918995416771e83eab8698ef4c87d0984. This part: 6880 bytes; SHA-256 88aa4b9152d07d847e900b816d07373a31ed8945f06faa65ba653ccd467b8078.

| apps/desktop/src/updates/DesktopUpdates.ts | Restore the merge-dropped no-update transition for rejected offers during checking, under the existing mutex; ignore late rejected events after a newer accepted offer. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| apps/desktop/src/updates/DesktopUpdates.test.ts | Extend the existing release-floor case with terminal checking-state and stale-rejected-offer invariants; retain the upstream remote-crossing regression unchanged. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/mcp-tool-use/devices.ts | Close the legacy eval toolkit layer with the existing fail-on-use native-service mock pattern; do not pretend to exercise native caller scope. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/mcp-tool-use/devices.test.ts | Contextually type the existing device world so platform literals remain valid without casts or weakened assertions. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/thread-titles/run.ts | Use current effect/process and the scoped server attachment store with the existing real native generation factory. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/voice-cleanup/run.ts | Migrate the supported cleanup runner to the current native factory, executable/profile selection and scoped attachment store; preserve prompts, cases and blind-review sampling. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/package.json | Remove only the retired Codex-only PR runner registration; keep native supported runners and offline grading. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/pr-content/run.test.ts | Remove the deleted runner preflight and its unused process imports; retain all six offline behavior-grading rows. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/README.md | Describe retained PR fixtures/offline grading without claiming a native configured-instruction eval. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/pr-content/README.md | Document the owner-approved runner retirement and the real missing native instruction-injection seam. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/voice-cleanup/README.md | Document direct native invocation, executable/profile choice, actual credentials and paid-inference limits. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/thread-titles/README.md | Use direct Node entry-point examples rather than package-manager runner examples. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/pr-content/cases.json | Preserve exact adversarial project instructions, three original fixtures, retired developer-instruction launch option and original PR request as data. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| AGENTS.md | Update the required touched-upstream registry for rejected updater transitions, pure metadata ownership, native eval closure and atomic project mutation. | Clean migration; no compatibility re-export or additional diagnostic waiver | Relevant direct compilers and focused consumers bg19/bg20; focused format/lint and both unchanged Knip gates pass bg20 | No live app or paid inference claimed |
| evals/pr-content/run.ts | Remove the owner-approved Codex-only live runner after preserving every adversarial fixture and request field as data | Offline graders remain; native instruction injection is not invented | Parent inspected complete134lines; eval types and six offline grader rows pass bg19 | Native configured-instruction coverage remains an explicit follow-up |

## Signed-merge hook disposition

The normal signed-commit attempt (bg21) timed out after300s in vp staged on the734+staged-path upstream sync, after2fmtpasses+1lintpass; HEADremainedb02af4be, so no commit was created. Staging had landed and was not repeated. First officer explicitly approved ONE command-local core.hooksPath=/dev/null for the existingstagedmerge, withoutpersistentconfigchange, timeoutincrease or source diagnostic waiver. Equivalent canonical/final format+lint+bothunchangedKnipchecks pass directly (bg15/bg20); exactarguments are in PR-COMMANDS.md. Reattempt ONLYsigning succeeded (bg22). git verify-commit HEAD reports Good git signature with the expected ED25519key; signedmerge2eedda708b392c901c21d60a09d7c9ffa6225711 has exactparentsb02af4beafb23599d13142b1c559e32f22f622db andbf469bb19669671d0df2efda74ed73867a7137c0. No fullhookpassclaimed.

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Exact recent verification command selections

These are the executed command arguments for the recent successful selections reported in the PR. The worktree-local toolchain prefix is omitted: it selected Node 26.12.1 and pnpm 12.14.0. The browser cache path is expressed relative to the same repository-root working directory rather than its private absolute path. Each heavy selection ran separately inside the existing polite relay/shared lock; this is not an instruction to run them concurrently. Historical failed attempts and fixes are recorded in the ledger. The runtime-only bg234 selection below passed; its initial browser portion is not represented as successful—the corrected browser run is bg242.

Native new-task and server/client/mobile integration (bg227)

pnpm exec vp fmt apps/server/src/provider/neopi/NeoPiNativeTaskLaunch.test.ts apps/server/src/ws.test.ts apps/server/src/git/GitManager.test.ts packages/client-runtime/src/state/commandPermissions.test.ts docs/user/composer.md AGENTS.md
pnpm exec vp lint --format json apps/server/src/provider/neopi/NeoPiNativeTaskLaunch.test.ts apps/server/src/ws.test.ts apps/server/src/git/GitManager.test.ts packages/client-runtime/src/state/commandPermissions.test.ts
pnpm exec vp test run apps/server/src/provider/neopi/NeoPiNativeTaskLaunch.test.ts apps/server/src/ws.test.ts apps/server/src/project/ProjectSetupScriptRunner.test.ts apps/server/src/orchestration-v2/ThreadLaunchService.test.ts packages/client-runtime/src/state/commandPermissions.test.ts --maxWorkers=2
pnpm exec effect-tsgo tsrs --noEmit --project apps/server/tsconfig.json
pnpm exec effect-tsgo tsrs --noEmit --project packages/client-runtime/tsconfig.json
pnpm exec effect-tsgo tsrs --noEmit --project apps/mobile/tsconfig.json

Latest eight-suite Chromium regression run (bg242)

pnpm exec vp fmt apps/web/src/components/preview/PreviewView.browser.test.tsx AGENTS.md
pnpm exec vp lint --format json apps/web/src/components/preview/PreviewView.browser.test.tsx
PLAYWRIGHT_BROWSERS_PATH="$PWD/.t3/playwright-browsers" pnpm --dir apps/web exec vp test run 'src/components/neopi/NativeSessionTerminal.browser.test.tsx' 'src/components/neopi/NativeBackgroundTasksPanel.browser.test.tsx' 'src/components/neopi/useNativePendingFiles.browser.test.tsx' 'src/hooks/useLocalStorage.browser.test.tsx' 'src/components/FailedSendDraftRecovery.browser.test.tsx' 'src/components/chat/MessagesTimeline.browser.test.tsx' 'src/components/preview/PreviewView.browser.test.tsx' 'src/components/onboarding/WelcomePage.browser.test.tsx' --project browser --maxWorkers=1

Latest seven-suite runtime selection (bg234)

pnpm exec vp test run 'apps/web/src/components/chat/MessagesTimeline.logic.test.ts' 'apps/web/src/components/chat/MessagesTimeline.active-tools.test.ts' 'apps/web/src/components/preview/usePreviewBridge.test.ts' 'apps/web/src/hooks/useHandleNewThread.test.ts' 'packages/shared/src/markdownPipeline.test.ts' 'apps/mobile/src/features/threads/NativeSessionScreen.test.tsx' 'apps/mobile/src/features/threads/NativeSessionBrowser.test.tsx' --maxWorkers=1

Desktop integration (bg230)

pnpm exec vp fmt apps/desktop/src/app/DesktopConnectionCatalogStore.ts apps/desktop/src/electron/ElectronWindow.ts apps/desktop/src/backend/DesktopBackendManager.test.ts apps/desktop/src/app/DesktopPreReadyPlatform.ts apps/desktop/src/app/DesktopUrlRegistration.ts apps/desktop/src/preview/DesktopBrowserHost.ts apps/desktop/src/app/DesktopClerk.test.ts apps/desktop/src/app/DesktopClerkBridge.test.ts apps/desktop/src/app/DesktopUrlRegistration.test.ts
pnpm exec vp lint --format json apps/desktop/src/app/DesktopConnectionCatalogStore.ts apps/desktop/src/electron/ElectronWindow.ts apps/desktop/src/backend/DesktopBackendManager.test.ts apps/desktop/src/app/DesktopPreReadyPlatform.ts apps/desktop/src/app/DesktopUrlRegistration.ts apps/desktop/src/preview/DesktopBrowserHost.ts apps/desktop/src/app/DesktopClerk.test.ts apps/desktop/src/app/DesktopClerkBridge.test.ts apps/desktop/src/app/DesktopUrlRegistration.test.ts
pnpm exec vp test run apps/desktop/src/app/DesktopConnectionCatalogStore.test.ts apps/desktop/src/electron/ElectronWindow.test.ts apps/desktop/src/backend/DesktopBackendManager.test.ts apps/desktop/src/app/DesktopPreReadyPlatform.test.ts apps/desktop/src/app/DesktopLinuxUrlHandler.test.ts apps/desktop/src/preview/DesktopBrowserHost.test.ts apps/desktop/src/app/DesktopClerk.test.ts apps/desktop/src/app/DesktopClerkBridge.test.ts apps/desktop/src/app/DesktopUrlRegistration.test.ts --maxWorkers=2
pnpm exec effect-tsgo tsrs --noEmit --project apps/desktop/tsconfig.json

Protected native tree and mobile typecheck (bg236)

pnpm exec vp fmt 'packages/client-runtime/src/state/neopiNativeSessions.ts' 'packages/client-runtime/src/state/commandPermissions.test.ts' 'apps/mobile/src/state/neopiNativeSessions.ts' 'apps/mobile/src/features/threads/NativeSessionMobileTree.tsx'
pnpm exec vp lint --format json 'packages/client-runtime/src/state/neopiNativeSessions.ts' 'packages/client-runtime/src/state/commandPermissions.test.ts' 'apps/mobile/src/state/neopiNativeSessions.ts' 'apps/mobile/src/features/threads/NativeSessionMobileTree.tsx'
pnpm exec vp test run packages/client-runtime/src/state/commandPermissions.test.ts --maxWorkers=1
pnpm exec effect-tsgo tsrs --noEmit --project apps/mobile/tsconfig.json

Post-containment orphan closure (bg14)

Both Knip passes, focused format/lint, 32 cases in four retained generic scenario files, and the two provider-package typechecks passed. These commands used the existing binaries directly, not pnpm exec. In this transcription, <worktree> abbreviates the private absolute checkout path; all other arguments and command order are preserved. The session retained worktree-local temporary/cache paths and exported both guards below.

export npm_config_ignore_scripts=true npm_config_verify_deps_before_run=false

EXPORT_CLOSURE_FORMAT

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' fmt 'AGENTS.md' 'packages/client-runtime/src/neopiTranscript.ts' 'apps/web/src/components/neopi/neopiTreeState.ts' 'packages/provider-testing/package.json'

EXPORT_CLOSURE_LINT

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' lint 'packages/client-runtime/src/neopiTranscript.ts' 'apps/web/src/components/neopi/neopiTreeState.ts'

EXPORT_CLOSURE_FILES

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/knip/bin/knip.js' --include files,dependencies --no-config-hints

EXPORT_CLOSURE_EXPORTS

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/knip/bin/knip.js' --workspace apps/server --workspace apps/desktop --workspace apps/web --workspace packages/client-runtime --workspace packages/contracts --workspace packages/effect-neopi-rpc --workspace packages/shared --workspace packages/ssh --workspace packages/tailscale --workspace packages/provider-core --workspace packages/provider-testing --workspace packages/secret-provider-core --workspace packages/secret-provider-definitions --workspace packages/secret-provider-onepassword --workspace packages/source-control-core --workspace packages/source-control-cursor-origin --workspace packages/source-control-definitions --workspace packages/source-control-azure-devops --workspace packages/source-control-bitbucket --workspace packages/source-control-forgejo --workspace packages/source-control-gitcafe --workspace packages/source-control-github --workspace packages/source-control-gitlab --workspace packages/source-control-testing --exports --preprocessor ./scripts/knip-schemas.ts --no-config-hints

GENERIC_SCENARIO_CONSUMERS

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run 'apps/server/src/orchestration-v2/BackgroundWorkStop.integration.test.ts' 'apps/server/src/orchestration-v2/GuestShare.test.ts' 'apps/server/src/orchestration-v2/DispatchModeLimit.test.ts' 'apps/server/src/orchestration-v2/SelectionRestart.integration.test.ts' --maxWorkers=1

PROVIDER_CORE_CLOSURE_TYPES

env --chdir='<worktree>/packages/provider-core' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

PROVIDER_TESTING_CLOSURE_TYPES

env --chdir='<worktree>/packages/provider-testing' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

Direct-only completion and outcome qualifications

After bg15, no pnpm run or pnpm exec was used. <scratch> abbreviates the private evidence directory and <worktree> the sync checkout. Each heavy group used the existing shared polite lock/relay, five aggregate logical CPUs and 4GiB/6GiB memory bounds. Individual focused commands retained a 300-second bound; the 38-compiler sequential group retained the original 1200-second typecheck-step bound. TMPDIR was the owned short /tmp/ncs-f335 symlink to <worktree>/.t3/containment-tmp (0700), not an external data directory. All compile/npm/XDG caches remained local.

Initial direct 38-package compilers (bg17:36pass,evals/scripts fail)

apps/desktop

env --chdir='<worktree>/apps/desktop' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

apps/marketing

env --chdir='<worktree>/apps/marketing' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/apps/marketing/node_modules/astro/bin/astro.mjs' check

apps/mobile

env --chdir='<worktree>/apps/mobile' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

apps/server

env --chdir='<worktree>/apps/server' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

apps/web

env --chdir='<worktree>/apps/web' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

evals

env --chdir='<worktree>/evals' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

infra/relay

env --chdir='<worktree>/infra/relay' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

infra/task-cache

env --chdir='<worktree>/infra/task-cache' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

oxlint-plugin-t3code

env --chdir='<worktree>/oxlint-plugin-t3code' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/client-runtime

env --chdir='<worktree>/packages/client-runtime' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/contracts

env --chdir='<worktree>/packages/contracts' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/effect-neopi-rpc

env --chdir='<worktree>/packages/effect-neopi-rpc' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-core

env --chdir='<worktree>/packages/provider-core' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-cursor

env --chdir='<worktree>/packages/provider-cursor' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-fx

env --chdir='<worktree>/packages/provider-fx' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-grok

env --chdir='<worktree>/packages/provider-grok' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-kiro

env --chdir='<worktree>/packages/provider-kiro' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-muse

env --chdir='<worktree>/packages/provider-muse' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-opencode

env --chdir='<worktree>/packages/provider-opencode' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-pi

env --chdir='<worktree>/packages/provider-pi' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/provider-testing

env --chdir='<worktree>/packages/provider-testing' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/secret-provider-core

env --chdir='<worktree>/packages/secret-provider-core' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/secret-provider-definitions

env --chdir='<worktree>/packages/secret-provider-definitions' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/secret-provider-onepassword

env --chdir='<worktree>/packages/secret-provider-onepassword' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/shared

env --chdir='<worktree>/packages/shared' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-azure-devops

env --chdir='<worktree>/packages/source-control-azure-devops' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-bitbucket

env --chdir='<worktree>/packages/source-control-bitbucket' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-core

env --chdir='<worktree>/packages/source-control-core' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-cursor-origin

env --chdir='<worktree>/packages/source-control-cursor-origin' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-definitions

env --chdir='<worktree>/packages/source-control-definitions' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-forgejo

env --chdir='<worktree>/packages/source-control-forgejo' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-gitcafe

env --chdir='<worktree>/packages/source-control-gitcafe' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-github

env --chdir='<worktree>/packages/source-control-github' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-gitlab

env --chdir='<worktree>/packages/source-control-gitlab' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/source-control-testing

env --chdir='<worktree>/packages/source-control-testing' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/ssh

env --chdir='<worktree>/packages/ssh' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

packages/tailscale

env --chdir='<worktree>/packages/tailscale' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

scripts

env --chdir='<worktree>/scripts' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

Current compile/desktop/offline repair checks (bg19)

COMPILE_REPAIR_evals

env --chdir='<worktree>/evals' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

COMPILE_REPAIR_scripts

env --chdir='<worktree>/scripts' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

COMPILE_REPAIR_packages/shared

env --chdir='<worktree>/packages/shared' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

COMPILE_REPAIR_apps/desktop

env --chdir='<worktree>/apps/desktop' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

COMPILE_REPAIR_apps/mobile

env --chdir='<worktree>/apps/mobile' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

DESKTOP_FAILURE_CLOSURE

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run 'apps/desktop/src/updates/DesktopRemoteUpdates.test.ts' 'apps/desktop/src/updates/DesktopUpdates.test.ts' 'apps/desktop/src/snapShot/snapShot.test.ts' 'apps/desktop/src/snapShot/NiriSnapShot.test.ts' 'apps/desktop/src/app/DesktopObservability.test.ts' 'apps/desktop/src/wsl/DesktopWslEnvironment.test.ts' --maxWorkers=1 --reporter=verbose --reporter=json --outputFile='<scratch>/DESKTOP-FAILURE-CLOSURE.json'

OFFLINE_COMPILE_CLOSURE

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run 'evals/mcp-tool-use/devices.test.ts' 'evals/mcp-tool-use/grading.test.ts' 'evals/pr-content/run.test.ts' 'apps/mobile/src/lib/mobileDistribution.test.ts' 'scripts/build-desktop-artifact.test.ts' 'scripts/mobile-native-client.test.ts' 'scripts/mobile-showcase.test.ts' --maxWorkers=1 --reporter=verbose --reporter=json --outputFile='<scratch>/OFFLINE-COMPILE-CLOSURE.json'

The five compilers above pass, as do149 desktop cases/6files and497cases/6otherfiles. The combined offline invocation also exposed4packaging failures; they are not represented as a passing group. Three were fixture subprocesses unable to find vp in the restricted PATH; the fourth was the real desktop PR-preview classifier integration.

Final static/packaging/config closure (bg20:all steps pass)

COMPILE_FINISH_FORMAT

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' fmt 'packages/shared/src/desktopBranding.ts' 'packages/shared/src/mobileDistribution.ts' 'packages/shared/package.json' 'apps/desktop/src/app/DesktopEnvironment.ts' 'apps/desktop/src/app/DesktopApp.ts' 'apps/desktop/src/window/DesktopApplicationMenu.ts' 'apps/desktop/src/backend/DesktopLocalEnvironmentAuth.ts' 'apps/desktop/src/permissions/MacPermissionHelper.ts' 'scripts/build-desktop-artifact.ts' 'scripts/mobile-native-client.ts' 'scripts/mobile-showcase.ts' 'scripts/mobile-behavior/environment.ts' 'apps/mobile/src/lib/mobileDistribution.ts' 'apps/mobile/app.config.ts' 'apps/desktop/src/updates/DesktopUpdates.ts' 'apps/desktop/src/updates/DesktopUpdates.test.ts' 'evals/mcp-tool-use/devices.ts' 'evals/mcp-tool-use/devices.test.ts' 'evals/thread-titles/run.ts' 'evals/voice-cleanup/run.ts' 'evals/package.json' 'evals/pr-content/run.test.ts' 'evals/README.md' 'evals/pr-content/README.md' 'evals/voice-cleanup/README.md' 'evals/thread-titles/README.md' 'evals/pr-content/cases.json' 'AGENTS.md'

COMPILE_FINISH_LINT

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' lint 'packages/shared/src/desktopBranding.ts' 'packages/shared/src/mobileDistribution.ts' 'apps/desktop/src/app/DesktopEnvironment.ts' 'apps/desktop/src/app/DesktopApp.ts' 'apps/desktop/src/window/DesktopApplicationMenu.ts' 'apps/desktop/src/backend/DesktopLocalEnvironmentAuth.ts' 'apps/desktop/src/permissions/MacPermissionHelper.ts' 'scripts/build-desktop-artifact.ts' 'scripts/mobile-native-client.ts' 'scripts/mobile-showcase.ts' 'scripts/mobile-behavior/environment.ts' 'apps/mobile/src/lib/mobileDistribution.ts' 'apps/mobile/app.config.ts' 'apps/desktop/src/updates/DesktopUpdates.ts' 'apps/desktop/src/updates/DesktopUpdates.test.ts' 'evals/mcp-tool-use/devices.ts' 'evals/mcp-tool-use/devices.test.ts' 'evals/thread-titles/run.ts' 'evals/voice-cleanup/run.ts' 'evals/pr-content/run.test.ts'

COMPILE_FINISH_FILES

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/knip/bin/knip.js' --include files,dependencies --no-config-hints

COMPILE_FINISH_EXPORTS

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/knip/bin/knip.js' --workspace apps/server --workspace apps/desktop --workspace apps/web --workspace packages/client-runtime --workspace packages/contracts --workspace packages/effect-neopi-rpc --workspace packages/shared --workspace packages/ssh --workspace packages/tailscale --workspace packages/provider-core --workspace packages/provider-testing --workspace packages/secret-provider-core --workspace packages/secret-provider-definitions --workspace packages/secret-provider-onepassword --workspace packages/source-control-core --workspace packages/source-control-cursor-origin --workspace packages/source-control-definitions --workspace packages/source-control-azure-devops --workspace packages/source-control-bitbucket --workspace packages/source-control-forgejo --workspace packages/source-control-gitcafe --workspace packages/source-control-github --workspace packages/source-control-gitlab --workspace packages/source-control-testing --exports --preprocessor ./scripts/knip-schemas.ts --no-config-hints

PACKAGING_REGRESSION_CLOSURE

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run scripts/build-desktop-artifact.test.ts --maxWorkers=1 --reporter=verbose --reporter=json --outputFile='<scratch>/PACKAGING-REGRESSION-CLOSURE.json'

MOBILE_CONFIG_LOAD

'<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<scratch>/MOBILE-CONFIG-PROOF.mjs'

PACKAGING_FINAL_TYPES

env --chdir='<worktree>/scripts' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/@effect/tsgo/dist/effect-tsgo.cjs' tsrs --noEmit

The final group exported PATH=<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin:<worktree>/node_modules/.bin:/usr/local/bin:/usr/bin:/bin, so the existing temporary synthetic-package build tests could resolve their actual direct vp binary. No NeoCode product build was launched. All49packaging cases pass. Expo configuration loads all3variants.

Authorized baseline comparison (bg18)

fork-base_UPDATER

env --chdir='<worktree>/.t3/ncs-baselines-1794532604947/fork-base/apps/desktop' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run src/updates/DesktopRemoteUpdates.test.ts -t 'refuses a crossing whose feed has only an older build, and never offers it later' --maxWorkers=1 --reporter=verbose --reporter=json --outputFile='<scratch>/BASELINE-fork-base-UPDATER.json'

fork-base_BROWSER

env PLAYWRIGHT_BROWSERS_PATH=<worktree>/.t3/playwright-browsers  env --chdir='<worktree>/.t3/ncs-baselines-1794532604947/fork-base/apps/web' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run src/components/guest/GuestPage.browser.test.tsx src/components/files/AttachmentFilePreview.browser.test.tsx --project browser -t 'GuestPage|keeps a workspace PDF'\''s page, offset and zoom' --maxWorkers=1 --reporter=verbose --reporter=json --outputFile='<scratch>/BASELINE-fork-base-BROWSER.json'

upstream-v0.1.8_UPDATER

env --chdir='<worktree>/.t3/ncs-baselines-1794532604947/upstream-v0.1.8/apps/desktop' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run src/updates/DesktopRemoteUpdates.test.ts -t 'refuses a crossing whose feed has only an older build, and never offers it later' --maxWorkers=1 --reporter=verbose --reporter=json --outputFile='<scratch>/BASELINE-upstream-v0.1.8-UPDATER.json'

upstream-v0.1.8_BROWSER

env PLAYWRIGHT_BROWSERS_PATH=<worktree>/.t3/playwright-browsers  env --chdir='<worktree>/.t3/ncs-baselines-1794532604947/upstream-v0.1.8/apps/web' '<worktree>/.t3/toolchain/node-v26.12.1-linux-x64/bin/node' '<worktree>/node_modules/vite-plus/bin/vp' test run src/components/guest/GuestPage.browser.test.tsx src/components/files/AttachmentFilePreview.browser.test.tsx --project browser -t 'GuestPage|keeps a workspace PDF'\''s page, offset and zoom' --maxWorkers=1 --reporter=verbose --reporter=json --outputFile='<scratch>/BASELINE-upstream-v0.1.8-BROWSER.json'

These commands ran in untouched tracked-source archives extracted below the sync worktree, with no install. The overlay linked existing frozen external dependencies and redirected internal workspace links to the corresponding source archive. Fork-base pinsEffect4.0.0-rc.115 while the overlay is4.1.2; its updater suite fails imports before tests and the requested exact case is absent. Fork browser cannot load its old Babel plugin. Neither is a baseline reproduction. Upstream pinsmatchingEffect4.1.2: exact updater case passes1(25filtered); focused guest/PDF browser comparison exceeds its unchanged300-second command bound before assertion results. Browser origin is not established.

The disposable native-config proof invoked the actual Expo CLI and emitted only public identities:

import {execFileSync} from 'node:child_process';
for(const variant of ['development','preview','production']){const raw=execFileSync("<worktree>/apps/mobile/node_modules/.bin/expo",['config','--type','public','--json'],{cwd:"<worktree>/apps/mobile",env:{...process.env,APP_VARIANT:variant,EXPO_NO_TELEMETRY:'1',EXPO_OFFLINE:'1',EXPO_NO_TYPESCRIPT_SETUP:'1',CI:'1'},encoding:'utf8',maxBuffer:8*1024*1024});const config=JSON.parse(raw);console.log(JSON.stringify({variant,name:config.name,scheme:config.scheme,androidPackage:config.android?.package,iosBundleIdentifier:config.ios?.bundleIdentifier}));}

Authorized signing and hook disposition

The normal signing attempt ran the existing vp staged hook and hit its300-second bound after formatter/lint progress; HEAD remained the fork base, so it made no commit. Staging had landed and was not repeated. The first officer explicitly approved this one command-local hook override after the equivalent direct format/lint/bothKnip checks above passed:

git -c core.hooksPath=/dev/null -c gpg.format=ssh -c user.signingkey=/home/shayna/.ssh/id_ed25519_github_signing_agents.pub commit -S -F <scratch>/COMMIT-MESSAGE.txt
git verify-commit HEAD
git log -1 --format='%H%n%P%n%s'

The signing command succeeds. Verification reports a Good git ED25519 signature, fingerprint SHA256:VlS2I8fRsIgrOKQHvKWdx6V+YXOEwO7rmO1aQfC0Ugg. Commit 2eedda708b392c901c21d60a09d7c9ffa6225711 has exactly parents b02af4beafb23599d13142b1c559e32f22f622db and bf469bb19669671d0df2efda74ed73867a7137c0. No persistent Git configuration changed; no successful full hook run is claimed.

Model: openai-codex/gpt-6.1-sol (high) · Harness: NeoPi

@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Native composer footer — isolated component evidence

These are 640×180 isolated component crops, not an integrated NeoCode app pass. They use synthetic model/effort labels; no private session, account or token content is included. No app/dev server was launched. The narrow footer moves overflow controls into the existing icon menu; the wide footer keeps the full labels.

Before

Native footer before

After — narrow

Native footer after, narrow

After — wide

Native footer after, wide

Model: openai-codex/gpt-6.1-sol (high)
Harness: NeoPi

@github-actions

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for 2eedda7.

This comment will update automatically after the next completed run.

@PsychedelicShayna PsychedelicShayna added the agent: finished The agent's part is done; not necessarily mergeable label Nov 13, 2026
@PsychedelicShayna

Copy link
Copy Markdown
Owner Author

Note

GPT-6.1 Sol on behalf of PsychedelicShayna

Final post-hook process and byte-integrity verification

Requested after the one-command hook exception; no source change or new commit was made.

  • No surviving hook children: the timed-out nc-sync-signed-merge polite scope is absent. The relay implementation confirms the exact scope naming and inherited cgroup ownership. A full-width process inspection found no matching vp staged, staged format/lint, oxfmt/oxlint or Knip task processes. No process was killed during this check.
  • Actual pre-mutation backup identified: preserved stash 3d04577d3476255c179f0b3c2b4a9fdbf816dbb6, lint-staged automatic backup (25d5221a), created during this hook run on sync/2026-11-11, with fork-base parent b02af4beafb23599d13142b1c559e32f22f622db. The installed staged runner creates/stores this backup before running mutating tasks.
  • Complete tree equality: the backup working-tree snapshot, its staged-index parent 5754ab4c7fb5b01fda709ed87a6f82f6aca3cc72, and signed merge 2eedda708b392c901c21d60a09d7c9ffa6225711 all resolve to tree 41d2d3c513966c51a212c7cf1252e5ed2297e255. This compares every tracked path, mode and blob, not only currently clean files.
  • git diff --exit-code <backup>^2 <commit>, git diff --exit-code <commit> and git diff --cached --exit-code <commit> all exit 0 with no differences. Thus the committed tree and current index/worktree match the pre-hook staged snapshot that followed the recorded direct checks.
  • Zero resulting formatter byte changes; zero files require rechecking. The passing direct format/lint/both-Knip evidence applies to these same committed bytes. No unnecessary check was rerun. The automatic backup is retained.

PR remains open and unmerged.

Model: openai-codex/gpt-6.1-sol · Harness: NeoPi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent: finished The agent's part is done; not necessarily mergeable enhancement New feature or request human: pending Needs an in-the-loop (ITL) session with a human priority: p1 High value or prerequisite for several issues upstream Upstream is involved: sync, compatibility, conflict avoidance or divergence vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.