Skip to content

Expose entity-aware owner oplog attribution - #3816

Open
vigoo wants to merge 47 commits into
mainfrom
gol-38-entity-aware-oplog
Open

Expose entity-aware owner oplog attribution#3816
vigoo wants to merge 47 commits into
mainfrom
gol-38-entity-aware-oplog

Conversation

@vigoo

@vigoo vigoo commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • attribute every public owner-oplog entry to either the agent or an entity invocation, including the entity kind, name, start index, call mode, safe operation metadata, and root-to-parent ancestry
  • persist and validate initiation-time entity anchors for durable asynchronous work, retries, card workflows, streams, and sessions while preserving physical oplog order and page/search independence
  • expose attribution through protobuf, REST, and the existing CLI text/structured output, with regenerated schemas and documentation
  • render safe secret audit metadata without plaintext and keep tool stdout as a live, non-durable attachment

This PR is stacked on #3787 while the tool invocation implementation is still open. Once #3787 merges, this branch can be retargeted to main without changing the GOL-38 diff.

Validation

  • cargo clippy for all affected packages and targets with -D warnings
  • cargo test -p golem-worker-executor --lib — 1,369 passed
  • focused owner-oplog attribution, debugging-service, and card recovery integration tests
  • CLI renderer, oplog, structured-output, and schema suites
  • cross-package cargo check
  • OpenAPI drift, docs lint/format, Rust format, JSON schema, and diff checks

Resolves GOL-38

vigoo and others added 30 commits August 28, 2026 09:51
Amp-Thread-ID: https://ampcode.com/threads/T-01a05674-075d-72eb-888b-20e8037e82b1
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	golem-worker-executor-test-utils/src/lib.rs
#	golem-worker-executor/src/durable_host/concurrent/call.rs
#	golem-worker-executor/src/durable_host/concurrent/mod.rs
#	golem-worker-executor/src/durable_host/p3/http/response_body.rs
#	sdks/moonbit/golem_sdk/tool/pkg.generated.mbti
#	sdks/moonbit/golem_sdk_example1/golem.yaml
#	sdks/moonbit/golem_sdk_tools/lib/tools_emit.mbt
#	sdks/scala/codegen/src/main/scala/golem/codegen/rpc/ToolRpcCodegen.scala
#	sdks/scala/codegen/src/test/scala/golem/codegen/pipeline/CodegenPipelineSpec.scala
#	sdks/scala/core/js/src/main/scala/golem/runtime/tool/ToolImplementationRuntime.scala
#	sdks/scala/model/src/main/scala/golem/tool/ToolClient.scala
#	sdks/scala/model/src/main/scala/golem/tool/ToolInvoke.scala
#	sdks/scala/model/src/main/scala/golem/tool/ToolStreams.scala
#	sdks/scala/model/src/test/scala/golem/tool/ToolClientSpec.scala
Amp-Thread-ID: https://ampcode.com/threads/T-01a05674-075d-72eb-888b-20e8037e82b1
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	sdks/moonbit/golem_sdk/gen/interface/golem/tool/guest/ffi.mbt
#	sdks/moonbit/golem_sdk/gen/interface/golem/tool/guest/top.mbt
#	sdks/moonbit/golem_sdk/interface/golem/tool/host/ffi.mbt
#	sdks/moonbit/golem_sdk/interface/golem/tool/host/pkg.generated.mbti
#	sdks/moonbit/golem_sdk/interface/golem/tool/host/top.mbt
#	sdks/moonbit/golem_sdk_example1/golem_moonbit_examples/golem_tool_clients.mbt
#	sdks/moonbit/golem_sdk_example1/golem_moonbit_examples/golem_tools.mbt
#	sdks/moonbit/golem_sdk_tools/lib/tools_emit.mbt
#	sdks/moonbit/golem_sdk_tools/lib/tools_emit_test.mbt
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

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

Built from commit 640256673c4b1c2a476531cb6f2aeee39b3fe414 by docs.yaml.

vigoo and others added 16 commits September 3, 2026 01:55
Amp-Thread-ID: https://ampcode.com/threads/T-01a05ccc-8015-76b8-aa82-6d36e4210bc3
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	cli/golem-cli/tests/app/agents.rs
#	golem-worker-executor-test-utils/src/lib.rs
#	golem-worker-executor/src/durable_host/filesystem/mod.rs
#	golem-worker-executor/src/durable_host/mod.rs
#	golem-worker-executor/src/durable_host/p3/filesystem.rs
#	golem-worker-executor/src/services/active_agents/mod.rs
#	golem-worker-executor/src/services/linear_memory.rs
#	golem-worker-executor/src/worker/instance.rs
#	golem-worker-executor/src/worker/mod.rs
#	golem-worker-executor/src/workerctx/default.rs
#	sdks/scala/core/js/src/main/scala/golem/host/SchemaWireInterop.scala
#	sdks/scala/model/src/main/scala/golem/schema/AgentStream.scala
#	sdks/scala/model/src/main/scala/golem/tool/ToolMiddleware.scala
#	sdks/scala/model/src/test/scala/golem/schema/AgentStreamSpec.scala
…plog

Amp-Thread-ID: https://ampcode.com/threads/T-01a0665b-0718-710b-9d2a-3ba4b7b30fd9
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	golem-common/src/base_model/oplog/mod.rs
#	golem-common/src/model/oplog/mod.rs
#	golem-common/src/model/oplog/protobuf.rs
#	golem-worker-executor-test-utils/src/lib.rs
#	golem-worker-executor/src/durable_host/filesystem/mod.rs
#	golem-worker-executor/src/durable_host/mod.rs
#	golem-worker-executor/src/durable_host/p3/filesystem.rs
#	golem-worker-executor/src/model/public_oplog/mod.rs
#	golem-worker-executor/src/model/public_oplog/wit.rs
#	golem-worker-executor/src/services/active_agents/mod.rs
#	golem-worker-executor/src/worker/instance.rs
#	golem-worker-executor/src/worker/mod.rs
#	golem-worker-executor/src/worker/status.rs
#	golem-worker-executor/src/workerctx/default.rs
…aware-oplog

Amp-Thread-ID: https://ampcode.com/threads/T-01a0665b-0718-710b-9d2a-3ba4b7b30fd9
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	golem-worker-executor/src/worker/invocation_loop.rs
@blacksmith-sh

This comment has been minimized.

Base automatically changed from tool-invoke to main September 5, 2026 10:49
@vigoo
vigoo requested a review from a team September 5, 2026 10:49
Amp-Thread-ID: https://ampcode.com/threads/T-01a071b1-c8d9-755a-be64-f42bc2ea6216
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	.github/workflows/ci.yaml
#	golem-worker-executor-test-utils/src/agent_deployments_service.rs
#	golem-worker-executor-test-utils/src/dsl_impl.rs
#	golem-worker-executor-test-utils/src/lib.rs
#	golem-worker-executor/src/durable_host/concurrent/call.rs
#	golem-worker-executor/src/durable_host/entity.rs
#	golem-worker-executor/src/durable_host/mod.rs
#	golem-worker-executor/src/durable_host/tool/mod.rs
#	golem-worker-executor/src/durable_host/tool/operation.rs
#	golem-worker-executor/src/model/public_oplog/mod.rs
#	golem-worker-executor/src/model/public_oplog/tests.rs
#	golem-worker-executor/src/services/active_agents/mod.rs
#	golem-worker-executor/src/worker/entity_invocation.rs
#	golem-worker-executor/tests/tool_streaming.rs
#	sdks/moonbit/golem_sdk/interface/golem/tool/host/ffi.mbt
#	sdks/moonbit/golem_sdk_example1/golem_moonbit_examples/golem_tools.mbt
#	sdks/moonbit/golem_sdk_tools/lib/tools_emit.mbt
#	test-components/agent-sdk-rust/golem.yaml
#	test-components/build-components.sh
@netlify

netlify Bot commented Sep 5, 2026

Copy link
Copy Markdown

Deploy Preview for golemcloud canceled.

Name Link
🔨 Latest commit 6402566
🔍 Latest deploy log https://app.netlify.com/projects/golemcloud/deploys/6a9c1eee0afa840008500526

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