Skip to content

feat(memory): add native explorer tabs and ACP analysis - #161

Merged
phodal merged 7 commits into
mainfrom
feat/studio-memory-sources
Sep 9, 2026
Merged

feat(memory): add native explorer tabs and ACP analysis#161
phodal merged 7 commits into
mainfrom
feat/studio-memory-sources

Conversation

@phodal

@phodal phodal commented Sep 9, 2026

Copy link
Copy Markdown
Member

Summary

Add a global Memory workbench backed by native Rust discovery and authorized snapshot reads. The left explorer organizes personal guidance, general guidance, projects and source files; opening an item creates or activates an editor tab with its own reading position. Memory stays independent of the active Studio project.

AI analysis uses the existing ACP Agent/model settings, streamed conversation, permission controls and follow-up composer. The server rereads and checks the selected snapshot digest, fixes its source/section for the session, and cleans up the temporary working directory on close or disconnect. No native Memory write API is introduced.

Scope and evidence

  • Native sources: Claude Code, Codex, Qoder and Qwen Code. Version 2 separates library identity, native binding, material role and content scope while preserving the legacy CLI projection.
  • Bounded section extraction retains exact digest/line provenance. Browsing reads at most one canonical summary/index per global library, up to 8 files of 256 KiB; other source bodies are read only after selection. History/skill/support files remain source material.
  • The old example Inbox no longer occupies the default Memory route. AST analysis, persistent promotion, native Memory mutation and automatic ADR/Wiki writes remain out of scope.
  • Windows root validation now waits for the complete root before checking metadata; symbolic links and reparse points remain rejected. Native session slugs omit the Windows IO-only verbatim prefix, including equivalent drive and UNC forms. CLI help/JSON baselines include the new Memory command, and browser CI provisions a Rust Evidence Host.

Maintainer request; no tracker issue assigned. Specs: native sources, explorer and ACP, CI readiness. Current design: Memory ADR.

Validation

Latest local results with Node 24, including integration with current main:

Check Result
Studio build and complete unit suite 612 passed
Complete Rust Evidence Host suite 46 passed (includes 7 Memory tests and Windows path-form equivalence)
CLI contract, native Memory bridge and doc links 20 passed
Complete Studio browser suite after main integration 106 passed / 1 skipped (includes 15 Memory tests)
Root CI suite 1746 passed / 7 environment-based skips
Shared ACP browser regressions 6 passed
Package verification 696 npm entries / 958 runtime zip entries
Real native library 2165 files / 87 sources; 1440, 1024 and 390 widths; light/dark, keyboard focus, overflow and no console/page errors
Actual Qoder ACP Host-provided model list, complete analysis of synthetic input with line references, successful session close

Real personal Memory was not sent to AI. Browser coverage includes delayed reads, scope/origin authorization, virtualized trees, tabs and reading position, ACP model changes, visible output before completion, multi-turn continuity, and temporary-directory/control cleanup.

Final head 53d409a5d1dfced6ad157d8332a82c44add22e61: all 7 hosted checks passed. CI run covers Windows/macOS/Linux and Node 22/24; Desktop run passes all three platforms, including Rust/native suites and packaged startup smoke. Windows Memory and native session path fixes have hosted receipts. Previously failing date and notebook tests are fixed by the main commits integrated here.

Boundaries

  • Standalone Studio/CLI requires a provisioned Evidence Host or BETTER_HARNESS_EVIDENCE_HOST; no JavaScript discovery fallback is shipped.
  • ACP's temporary working directory is not an OS sandbox. The selected Agent retains its normal protocol capabilities, permission behavior and native history behavior.
  • Installed Desktop/NSXPC Memory acceptance is separate from source/browser validation.
  • Generated by Codex under maintainer direction. Changes are scoped to Memory, its native bridge, validation and related documentation. No release/version metadata changes.

phodal and others added 5 commits September 9, 2026 09:13
Add metadata-only Claude, Codex, Qoder and Qwen Memory discovery and
explicitly authorized snapshots to the Rust Evidence Host. Connect Studio
and the CLI through native transports while preserving provenance and
legacy inventory qualification.

Add the global Memory workbench with a labeled candidate review preview,
source tables and Markdown reading. Define the follow-up multi-project AST
analysis contract without enabling extraction or persistent promotion.

Implements docs/specs/2026-09-09-native-memory-sources.md. Validated with
41 Rust tests, 37 focused Studio tests, native inventory regression tests,
10 Playwright scenarios, doc-link checks and package verification.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Read the selected native Memory document immediately, cancel superseded requests, and support retry after a failed read. Keep source metadata with the title and the native path visible while provenance is collapsed.

Record the reader interaction spec and the preceding scope analysis. Studio build, 12 focused Playwright tests, 8 documentation link checks, and real local data checks at three viewport sizes passed.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Project Memory now retains native library and content scope separately, with
bounded section extraction and a directory explorer opening independent editor
tabs. Analysis reuses ACP model settings, streaming replies and follow-up turns
against a digest-checked snapshot in a temporary working directory.

Implements docs/specs/2026-09-09-memory-explorer-acp.md and the related Memory
browser specs. Verified Studio build, 12 Memory unit tests, 15 Memory browser
tests, 6 shared ACP browser regressions and 8 document-link tests. Actual Qoder
ACP analyzed synthetic input; live library layouts were checked at three widths.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Bring in the current Rust snapshot parity and Studio navigation changes, along
with the date-range and live-notebook test corrections. The merge is conflict
free; the combined tree is validated with the Memory and CI contract fixes.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Skip stat on a bare Windows path prefix until the root component is present,
while retaining symlink and reparse-point rejection. Refresh the CLI help and
JSON baselines for the sole added Memory command, and provision the Evidence
Host explicitly for the Linux browser CI job.

Follows docs/specs/2026-09-09-memory-ci-readiness.md. Local validation passed
7 Rust Memory tests, 20 CLI/native/doc-link checks, the Studio build and all
612 Studio unit tests. Hosted Windows evidence is required before merging.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
@phodal phodal changed the title feat(memory): add Rust native sources and Studio workbench feat(memory): add native explorer tabs and ACP analysis Sep 9, 2026
phodal and others added 2 commits September 9, 2026 13:17
The Memory ADR adds six reachable design documents to the canonical Markdown
closure. Pin the verified source and artifact closure counts to 114 nodes,
320 edges and 117 files without weakening link or artifact validation.

Follows docs/specs/2026-09-09-memory-ci-readiness.md. The complete root CI suite
passes locally with 1746 tests passed and 7 existing environment-based skips.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
Canonical Windows workspace paths contain an IO-only prefix that native host
storage names do not include. Remove that prefix before Claude, Qoder/Cursor,
Qwen, Pi and WorkBuddy slug encoding while retaining canonical paths for IO.
This resolves the invalid directory names exposed by the Windows Desktop job
after the Memory tests passed.

Extends docs/specs/2026-09-09-memory-ci-readiness.md. All 46 Evidence Host Rust
tests pass locally, including new drive and UNC spelling equivalence cases.

Co-authored-by: Codex (GPT 5.6 Sol) <codex@openai.com>
@phodal
phodal merged commit d8262b7 into main Sep 9, 2026
7 checks passed
@phodal
phodal deleted the feat/studio-memory-sources branch September 9, 2026 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant