Skip to content

agentHost: cover client-hosted filesystem E2E - #331740

Open
roblourens wants to merge 2 commits into
mainfrom
roblou/agents/agent-host-e2e-coverage
Open

agentHost: cover client-hosted filesystem E2E#331740
roblourens wants to merge 2 commits into
mainfrom
roblou/agents/agent-host-e2e-coverage

Conversation

@roblourens

@roblourens roblourens commented Aug 20, 2026

Copy link
Copy Markdown
Member

Summary

  • add 25 host-only conformance declarations for symmetric client-hosted filesystem operations over AHP
  • cover reverse reads, metadata, write modes, atomic create-only behavior, copy, move, mkdir, delete, and error propagation
  • preserve AHP filesystem error codes in the E2E reverse-request client
  • document the binary client-hosted write corruption exposed by the new coverage

Coverage

The targeted agentHostFileSystemProvider.ts coverage moves from:

  • lines: 54.39% to 62.09% (+50 covered)
  • functions: 41.66% to 66.66% (+6 covered)
  • branches: 65.71% to 67.85% (+15 covered)

The aggregate native V8 totals have small run-to-run variance because asynchronously loaded provider paths fluctuate. The final full run reports 75.02% lines, 70.75% functions, and 67.01% branches.

Validation

  • npm run typecheck-client
  • node build/next/index.ts transpile
  • focused strict replay: 25 passing, 1 expected pending
  • recording-mode host-only check (no model capture created)
  • npm run test-agent-host-e2e-coverage (582 passing, 120 expected pending)
  • npm run valid-layers-check
  • targeted hygiene checks
  • git diff --check

Known limitation

The opt-in client-hosted resourceWrite decodes base64 content scenario demonstrates that reverse binary writes currently pass bytes through UTF-8 and corrupt non-UTF-8 data. This PR keeps the failing contract behind AGENT_HOST_RUN_KNOWN_ISSUES=1 and records it in KNOWN_ISSUES.md; it does not change product behavior.

(Written by Copilot)

Add conformance coverage for reverse AHP filesystem operations and preserve protocol error codes in the test client. Document the binary write corruption exposed by the new coverage. (Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings August 20, 2026 01:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds conformance coverage for client-hosted filesystem operations over AHP.

Changes:

  • Adds 24 reverse filesystem E2E scenarios.
  • Preserves filesystem error codes in the test client.
  • Documents binary-write corruption and refreshes coverage snapshots.
Show a summary per file
File Description
serverIntegrationTestHelpers.ts Maps reverse filesystem errors to AHP codes.
clientHostedFilesystemSuite.ts Adds client-hosted filesystem conformance tests.
agentHostE2ESuites.ts Registers the new suite.
KNOWN_ISSUES.md Documents binary-write corruption.
coverage/summary.json Updates implementation coverage.
coverage/protocol-surface.json Updates protocol coverage.

Review details

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

  • Files reviewed: 4/6 changed files
  • Comments generated: 3
  • Review effort level: Balanced

Comment thread src/vs/platform/agentHost/test/node/serverIntegrationTestHelpers.ts Outdated
Use an exclusive reverse write, cover the concurrent create-only contract, explain the known-issue gate, and document the split filesystem suites. (Written by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@roblourens
roblourens marked this pull request as ready for review August 20, 2026 02:36
@roblourens
roblourens enabled auto-merge (squash) August 20, 2026 02:36
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.

2 participants