Skip to content

Expose entity-aware owner oplog attribution - #3816

Merged
vigoo merged 52 commits into
mainfrom
gol-38-entity-aware-oplog
Sep 11, 2026
Merged

vigoo merged 52 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
vigoo and others added 15 commits September 3, 2026 02:42
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 fe5f3cf
🔍 Latest deploy log https://app.netlify.com/projects/golemcloud/deploys/6aa2c101034ae30009edaa89

Comment thread golem-common/src/model/oplog/mod.rs
Comment thread golem-worker-executor/src/model/public_oplog/mod.rs Outdated
@vigoo
vigoo merged commit 9b3f5dc into main Sep 11, 2026
69 checks passed
@vigoo
vigoo deleted the gol-38-entity-aware-oplog branch September 11, 2026 09:28
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 11, 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.

2 participants