Skip to content

Populate context with CRE metadata for all capability calls#1905

Open
dhaidashenko wants to merge 1 commit intomainfrom
feature/PLEX-2608-cre-context-for-all-actions
Open

Populate context with CRE metadata for all capability calls#1905
dhaidashenko wants to merge 1 commit intomainfrom
feature/PLEX-2608-cre-context-for-all-actions

Conversation

@dhaidashenko
Copy link
Contributor

@dhaidashenko dhaidashenko commented Mar 17, 2026

Previously, each separate action had to explicitly populate the context. Example.
Now it's done on a higher level in the call stack.
Required for bandwidth optimization.

@github-actions
Copy link

github-actions bot commented Mar 17, 2026

📊 API Diff Results

No changes detected for module github.com/smartcontractkit/chainlink-common

View full report

@dhaidashenko dhaidashenko marked this pull request as ready for review March 18, 2026 17:06
@dhaidashenko dhaidashenko requested review from a team as code owners March 18, 2026 17:06
Copilot AI review requested due to automatic review settings March 18, 2026 17:06
@dhaidashenko dhaidashenko requested a review from a team as a code owner March 18, 2026 17:06
@dhaidashenko dhaidashenko requested a review from jmank88 March 18, 2026 17:07
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR centralizes CRE context population in the generated capability server layer so individual capability methods no longer need to explicitly attach CRE metadata to context.Context.

Changes:

  • Populate ctx with CRE metadata at the start of generated Execute handlers (actions/consensus/targets).
  • Populate ctx with CRE metadata at the start of generated RegisterTrigger handlers (triggers).
  • Update the codegen server template and regenerate affected *_server_gen.go files.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pkg/capabilities/v2/triggers/http/server/trigger_server_gen.go Adds CRE context projection for HTTP trigger registration calls.
pkg/capabilities/v2/triggers/cron/server/trigger_server_gen.go Adds CRE context projection for cron trigger registration calls.
pkg/capabilities/v2/protoc/pkg/test_capabilities/nodeaction/server/node_action_server_gen.go Adds CRE context projection for test action execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/importclash/server/clash_server_gen.go Adds CRE context projection for test action execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/consensus/server/consensus_server_gen.go Adds CRE context projection for test consensus execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/basictrigger/server/basic_trigger_server_gen.go Adds CRE context projection for test trigger registration.
pkg/capabilities/v2/protoc/pkg/test_capabilities/basicaction/server/basic_action_server_gen.go Adds CRE context projection for test action execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/actionandtrigger/server/action_and_trigger_server_gen.go Adds CRE context projection for both trigger registration and action execution.
pkg/capabilities/v2/protoc/pkg/templates/server.go.tmpl Updates generator template to project CRE metadata into ctx (but introduces a template-scoping bug).
pkg/capabilities/v2/consensus/server/consensus_server_gen.go Adds CRE context projection for consensus capability execution.
pkg/capabilities/v2/chain-capabilities/solana/server/client_server_gen.go Adds CRE context projection for Solana capability trigger+execute entrypoints.
pkg/capabilities/v2/chain-capabilities/evm/server/client_server_gen.go Adds CRE context projection for EVM capability trigger+execute entrypoints.
pkg/capabilities/v2/chain-capabilities/aptos/server/client_server_gen.go Adds CRE context projection for Aptos capability execution.
pkg/capabilities/v2/actions/http/server/client_server_gen.go Adds CRE context projection for HTTP action execution.
pkg/capabilities/v2/actions/confidentialworkflow/server/client_server_gen.go Adds CRE context projection for confidential workflow action execution.
pkg/capabilities/v2/actions/confidentialhttp/server/client_server_gen.go Adds CRE context projection for confidential HTTP action execution.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR centralizes population of CRE metadata into context.Context for capability and trigger calls, so individual capability implementations no longer need to do it themselves (supporting the described bandwidth-optimization work).

Changes:

  • Populate ctx with CRE metadata at the start of Execute, RegisterTrigger, and UnregisterTrigger across generated capability servers.
  • Update the protoc server template so newly generated servers include the same context enrichment.
  • Apply the same updates to various v2 capability server implementations (actions, triggers, chain capabilities, and test capabilities).

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pkg/capabilities/v2/triggers/http/server/trigger_server_gen.go Enriches ctx with CRE metadata for trigger register/unregister.
pkg/capabilities/v2/triggers/cron/server/trigger_server_gen.go Enriches ctx with CRE metadata for trigger register/unregister.
pkg/capabilities/v2/protoc/pkg/test_capabilities/nodeaction/server/node_action_server_gen.go Enriches ctx with CRE metadata for Execute path (test capability).
pkg/capabilities/v2/protoc/pkg/test_capabilities/importclash/server/clash_server_gen.go Enriches ctx with CRE metadata for Execute path (test capability).
pkg/capabilities/v2/protoc/pkg/test_capabilities/consensus/server/consensus_server_gen.go Enriches ctx with CRE metadata for Execute path (test capability).
pkg/capabilities/v2/protoc/pkg/test_capabilities/basictrigger/server/basic_trigger_server_gen.go Enriches ctx with CRE metadata for trigger register/unregister (test capability).
pkg/capabilities/v2/protoc/pkg/test_capabilities/basicaction/server/basic_action_server_gen.go Enriches ctx with CRE metadata for Execute path (test capability).
pkg/capabilities/v2/protoc/pkg/test_capabilities/actionandtrigger/server/action_and_trigger_server_gen.go Enriches ctx with CRE metadata for Execute + trigger register/unregister (test capability).
pkg/capabilities/v2/protoc/pkg/templates/server.go.tmpl Updates generator template to inject CRE metadata into ctx for triggers/actions.
pkg/capabilities/v2/consensus/server/consensus_server_gen.go Enriches ctx with CRE metadata for Execute path.
pkg/capabilities/v2/chain-capabilities/solana/server/client_server_gen.go Enriches ctx with CRE metadata for Execute + trigger register/unregister.
pkg/capabilities/v2/chain-capabilities/evm/server/client_server_gen.go Enriches ctx with CRE metadata for Execute + trigger register/unregister.
pkg/capabilities/v2/chain-capabilities/aptos/server/client_server_gen.go Enriches ctx with CRE metadata for Execute path.
pkg/capabilities/v2/actions/http/server/client_server_gen.go Enriches ctx with CRE metadata for Execute path.
pkg/capabilities/v2/actions/confidentialworkflow/server/client_server_gen.go Enriches ctx with CRE metadata for Execute path.
pkg/capabilities/v2/actions/confidentialhttp/server/client_server_gen.go Enriches ctx with CRE metadata for Execute path.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR centralizes CRE metadata propagation by enriching the context.Context inside generated capability server handlers, so downstream capability implementations no longer need to manually populate CRE context fields on each call.

Changes:

  • Populate ctx via request.Metadata.ContextWithCRE(ctx) in generated Execute handlers.
  • Populate ctx via request.Metadata.ContextWithCRE(ctx) in generated RegisterTrigger / UnregisterTrigger handlers.
  • Update the protoc server template so newly generated servers include the same context enrichment.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/capabilities/v2/triggers/http/server/trigger_server_gen.go Enrich context with CRE metadata for trigger register/unregister calls.
pkg/capabilities/v2/triggers/cron/server/trigger_server_gen.go Enrich context with CRE metadata for trigger register/unregister calls.
pkg/capabilities/v2/protoc/pkg/test_capabilities/nodeaction/server/node_action_server_gen.go Enrich context with CRE metadata for action execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/importclash/server/clash_server_gen.go Enrich context with CRE metadata for action execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/consensus/server/consensus_server_gen.go Enrich context with CRE metadata for consensus execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/basictrigger/server/basic_trigger_server_gen.go Enrich context with CRE metadata for trigger register/unregister calls.
pkg/capabilities/v2/protoc/pkg/test_capabilities/basicaction/server/basic_action_server_gen.go Enrich context with CRE metadata for action execution.
pkg/capabilities/v2/protoc/pkg/test_capabilities/actionandtrigger/server/action_and_trigger_server_gen.go Enrich context with CRE metadata for both trigger and action paths.
pkg/capabilities/v2/protoc/pkg/templates/server.go.tmpl Update generator template so future generated servers apply CRE context enrichment.
pkg/capabilities/v2/consensus/server/consensus_server_gen.go Enrich context with CRE metadata for consensus execution.
pkg/capabilities/v2/chain-capabilities/solana/server/client_server_gen.go Enrich context with CRE metadata for trigger register/unregister and execute calls.
pkg/capabilities/v2/chain-capabilities/evm/server/client_server_gen.go Enrich context with CRE metadata for trigger register/unregister and execute calls.
pkg/capabilities/v2/chain-capabilities/aptos/server/client_server_gen.go Enrich context with CRE metadata for execute calls.
pkg/capabilities/v2/actions/http/server/client_server_gen.go Enrich context with CRE metadata for execute calls.
pkg/capabilities/v2/actions/confidentialworkflow/server/client_server_gen.go Enrich context with CRE metadata for execute calls.
pkg/capabilities/v2/actions/confidentialhttp/server/client_server_gen.go Enrich context with CRE metadata for execute calls.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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