Skip to content

[Java] Tool-as-lambda 4.5: Add Java E2E integration test with replay proxy #1843

Description

@edburns

Overview

Implement Phase 4.5 of #1810: add/extend Java E2E coverage proving inline lambda-defined tools work in a real session against the replay proxy.

Before coding

  • Do not start any implementation work until this issue is explicitly assigned to the coding agent.
  • Base branch for this work: edburns/1810-java-tool-ergonomics-tool-as-lambda.
  • Read this plan file on the branch before coding:
    1810-java-tool-ergonomics-tool-as-lambda-remove-before-merge/1810-ignorance-reduction-for-implementation-plan.md

Ordering rule (important)

This issue starts only after 4.4 is merged; all Phase 4 issues are completed in listed order.

Relevant Phase 3 resolutions to apply

  • 3.4 / 3.5: runtime schema/coercion behavior should match existing Java path.
  • 3.9 snapshot strategy: start by reusing existing tool-definition replay snapshot(s); add a new YAML snapshot only if wire traffic differs.

Scope / deliverables

  1. Add/extend Java E2E test(s) under java/src/test/java/com/github/copilot/e2e/ using inline lambda tool definitions.
  2. Add/update test/snapshots/tools/* only if needed per 3.9.
  3. Verify assistant behavior and tool side effects in-session.

Gating criteria

  • E2E passes with expected invocation behavior and side effects.
  • Snapshot choice follows 3.9 (reuse first, new snapshot only when required).

Constraints

  • Follow existing Java E2E harness patterns in this repository.
  • Keep scope limited to E2E integration for this feature.

Completion bookkeeping

When complete, update the checkbox for Phase 4.5 in:
1810-java-tool-ergonomics-tool-as-lambda-remove-before-merge/1810-ignorance-reduction-for-implementation-plan.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions