feat(workflow-executor): align datasource activity-log labels with the browser engine [PRD-449]#1631
Open
nbouliol wants to merge 1 commit into
Conversation
…e browser engine [PRD-449] Activity logs emitted by AgentWithLog now carry an ISO label matching the legacy browser engine, so the audit-trail front renders them (a label-less update entry was crashing it). - update -> "updated" (static) - action -> triggered the action "<technical name>" (from query.action) - listRelatedData -> list relation "<displayName>" (resolved from source schema) - index (read) -> no label (ISO; getRecord is shared across step types) Labels are set at the call site in AgentWithLog, after name resolution by construction, so no executor or base-class refactor is needed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Coverage Impact This PR will not change total coverage. Modified Files with Diff Coverage (1)
🛟 Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What
Aligns the datasource activity-log labels emitted by the workflow-executor with the legacy browser engine (ISO), fixing a production audit-trail crash on label-less entries.
fixes PRD-449
Context
Since the activity-log refactor (PRD-442), logs are emitted per datasource call in
AgentWithLog.audit(), not per step. This dissolves the original dynamic-label problem (the name is now known at the call site, after AI resolution) — no executor or base-class refactor needed. The fix is just injecting the ISOlabelinto each audit target.Changes (
agent-with-log.ts)updateupdatedactiontriggered the action "<technical name>"query.actionlistRelatedDatalist relation "<displayName>"index(read)getRecordis shared across step types, a blanket label would mislabel update/trigger/load readsresolveCollectionId->resolveSchema(returns the fullCollectionSchema) so the relation displayName can be looked up.actionlabel only fires in FullyAutomated mode (preserved naturally:executeActionis only called in that branch; otherwise the front executes and logs).Tests
agent-with-log.test.ts: exact-label assertions for update / action / relation displayName + technical-name fallback.createPendingassertions in update / trigger / load-related executor tests.Validation
yarn workspace @forestadmin/workflow-executor test-> 925/925yarn workspace @forestadmin/workflow-executor lint-> 0 errorsyarn workspace @forestadmin/workflow-executor build-> okOut of scope
\"...in workflow Y\"labels (requires orchestrator contract change)🤖 Generated with Claude Code
Note
Align datasource activity-log labels in workflow executor with the browser engine
AgentWithLog: relation reads use'list relation "<displayName>"'(falling back to the technical name), record updates use'updated', and action triggers use'triggered the action "<action>"'.resolveCollectionIdhelper withresolveSchema, which fetches and caches the fullCollectionSchemato support label computation from field display names.relationLabelhelper that looks up the matching field'sdisplayNamein the schema, falling back to the technical relation name.agent-with-log.test.ts,load-related-record-step-executor.test.ts,trigger-record-action-step-executor.test.ts, andupdate-record-step-executor.test.tsto assert the new labels.🖇️ Linked Issues
Addresses PRD-449.
Macroscope summarized 4fb6032.