Skip to content

Scala SDK: add agent reflection and dynamic invocation - #3812

Closed
noise64 wants to merge 19 commits into
noise64/gol-48-reflection-rust-sdkfrom
noise64/reflection-scala-sdk
Closed

noise64 wants to merge 19 commits into
noise64/gol-48-reflection-rust-sdkfrom
noise64/reflection-scala-sdk

Conversation

@noise64

@noise64 noise64 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
  • resolves GOL-52
  • adds Scala discovery, graph-backed schema/JSON conversion, reflected clients, caller-codec definitions, and direct invocation
  • uses component-free environment-scoped ParsedAgentId; implementing component identity remains deployment metadata on AgentType
  • keeps Scala caller-codec definitions as complete contracts whose type name is paired with a constructor codec and client factory; inherited binding-only Rust/TypeScript contracts derive their target from ParsedAgentId
  • inherits direct WIT string reflection host identities without a generated host AgentId alias
  • shares immutable decoded schema graphs, validates required outputs, and rejects unsupported non-awaited streams
  • updates the common and Scala reflection skills and generated guide
  • restacked on Rust SDK: add agent reflection and dynamic invocation #3811 with a merge commit; remains a draft

Verification

  • Scala core tests: 636 passed
  • sbt scalafmtCheckAll
  • all three Scala guest runtimes regenerated
  • ordinary export contract and role-matrix contracts passed; tracked declarations are clean
  • inherited validation includes WIT drift, golem-common, Rust caller-contract UI/unit checks, TypeScript build/typecheck/tests/lint/template rebuild, and focused reflected RPC coverage
  • fresh CI for head 7e6b1f8c4 pending

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

📖 Docs preview: https://docs-au565o3xz-golem-cloud.vercel.app

Built from commit 7e6b1f8c45f5eeb2fdef860d46629d20cf23da61 by docs.yaml.

@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 968f19e to ce4d9b5 Compare September 5, 2026 11:00
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from a4e69fa to 565b71f Compare September 5, 2026 11:10
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from ce4d9b5 to 7b85dbc Compare September 5, 2026 16:28
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from 565b71f to 59c55ba Compare September 5, 2026 16:29
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 7b85dbc to d650c41 Compare September 5, 2026 16:36
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from 59c55ba to d38d4eb Compare September 5, 2026 16:36
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from d650c41 to 7ddb1a3 Compare September 7, 2026 09:53
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from d38d4eb to 762fc94 Compare September 7, 2026 09:58
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 7ddb1a3 to 368b8e5 Compare September 8, 2026 16:46
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from 762fc94 to 590bf48 Compare September 8, 2026 16:48
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 368b8e5 to 54621c0 Compare September 8, 2026 17:39
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from 590bf48 to e91e721 Compare September 8, 2026 17:40
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 54621c0 to 69f911a Compare September 8, 2026 17:46
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from e91e721 to 85309d1 Compare September 8, 2026 17:46
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 69f911a to 88380f0 Compare September 8, 2026 19:31
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from 85309d1 to 02f39b5 Compare September 8, 2026 19:32
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 88380f0 to 53461fd Compare September 9, 2026 11:24
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from 02f39b5 to d23e36d Compare September 9, 2026 11:28
@noise64
noise64 force-pushed the noise64/gol-48-reflection-rust-sdk branch from 53461fd to 52a6ae1 Compare September 9, 2026 14:46
@noise64
noise64 force-pushed the noise64/reflection-scala-sdk branch from d23e36d to 2e70472 Compare September 9, 2026 14:47
@noise64

noise64 commented Sep 13, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #3875, which is based directly on main.

@noise64 noise64 closed this Sep 13, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant