Skip to content

🤖 feat: streamline workflow authoring#3575

Open
ThomasK33 wants to merge 27 commits into
mainfrom
workflows-p8gn
Open

🤖 feat: streamline workflow authoring#3575
ThomasK33 wants to merge 27 commits into
mainfrom
workflows-p8gn

Conversation

@ThomasK33

@ThomasK33 ThomasK33 commented Jun 16, 2026

Copy link
Copy Markdown
Member

Summary

Streamlines durable workflow authoring by introducing static metadata parsing for workflow/action schemas, bundling runtime/action child JavaScript from lintable source files, and adding concise const s = mux.schema; schema aliases across built-in workflows and actions.

Background

Workflow definitions and actions were accumulating repeated handwritten schema objects and mux.schema.* boilerplate. Runtime support code also lived as large inline strings, which made it harder to lint, format, and maintain.

Implementation

  • Adds a static metadata parser that supports JSON-compatible metadata plus mux.schema.* and top-level schema aliases such as const s = mux.schema;, restricted to aliases declared before metadata so static discovery matches runtime evaluation.
  • Extracts workflow runtime stdlib and action child process source into standalone JavaScript files with generated TypeScript bundles.
  • Tracks the generated workflow runtime source bundle so Jest/Windows tests can import it without local codegen first.
  • Moves built-in workflow actions to source files with generated registration content and strengthens git/GitHub action schemas.
  • Updates built-in workflows, the simplify workflow, and workflow-authoring docs to use the concise schema helper style.
  • Extends formatting/lint coverage and generated-bundle drift checks for built-in workflow actions and runtime JS.
  • Fixes workflow metadata stripping for static metadata strings containing };, nullable workflow args, quoted Windows path args, and raw JS tsconfig inclusion.

Validation

  • env MUX_ESLINT_CONCURRENCY=1 make static-check
  • make build-main
  • env TEST_INTEGRATION=1 bun x jest tests/ipc/runtime/executeBash.test.ts --runInBand
  • bun test src/common/utils/jsonSchemaSubset.test.ts
  • bun test src/node/services/workflows/WorkflowActionRunner.test.ts --test-name-pattern "rejects schema aliases declared after action metadata|runs JavaScript actions out of process|describes every built-in action"
  • bun test src/node/services/workflows/WorkflowService.test.ts --test-name-pattern "normalizes quoted Windows paths|runs workflows with metadata strings|normalizes workflow args from static metadata"
  • bun test src/node/services/workflows/builtInWorkflowDefinitions.test.ts --test-name-pattern "built-in workflows"
  • Ran deep-review-workflow and fixed the identified issues.
  • Ran the project simplify workflow successfully via CLI after rebasing on origin/main.

Risks

Moderate: this touches durable workflow discovery, metadata parsing, action execution, generated built-in workflow/action bundles, and validation infrastructure. The parser intentionally supports only static top-level schema aliases declared before metadata, not dynamic aliasing, to keep discovery deterministic and aligned with runtime execution order.


Generated with mux • Model: openai:gpt-5.5 • Thinking: xhigh • Cost: $190.19

Adds opt-in workflow args metadata parsing, sandbox mux schema/util helpers, and built-in git review context/preflight actions.\n\n---\n\n_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `887858{MUX_COSTS_USD:-unknown}`_\n\n<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=26.32 -->
Moves workflow descriptions into metadata, adds generated built-in GitHub action sources, action SDK helpers, and mux patch/parallel helpers.\n\nValidation:\n- bun test src/node/services/workflows/WorkflowDefinitionStore.test.ts src/node/services/workflows/WorkflowService.test.ts src/node/services/workflows/WorkflowActionRunner.test.ts src/cli/workflow.test.ts src/cli/trust.test.ts --test-name-pattern "description|workflow args|parallel agent maps|SDK helpers|git reviewContext|starts a named workflow|workflow|trust"\n- make typecheck\n- make lint\n- make static-check\n\n---\n\n_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `1091508{MUX_COSTS_USD:-unknown}`_\n\n<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=36.17 -->
Preserve workflow metadata while promoting descriptions, track generated workflow action content, and reduce redundant Git/GitHub action work.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$56.31`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=56.31 -->
Move built-in Git workflow actions into generated action source files, consolidate GitHub helper calls, avoid an extra label refetch, and reuse the shared plain-object guard for workflow args.
Add static workflow metadata parsing for mux.schema helpers, extracted workflow runtime/action child sources, stronger built-in action schemas, and concise schema alias support across workflows/actions.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$181.71`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=181.71 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Ensure Jest/Windows test environments can import the generated workflow runtime source module without requiring local codegen first.

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$187.08`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=187.08 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Pushed a CI fix for the missing generated workflow runtime source module and re-ran local validation.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2e30d5aacf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/builtinWorkflowActions/github/ensureIssueLabels.js Outdated
Fix deep-review findings around generated workflow bundle drift checks, workflow JS lint coverage, metadata stripping, schema alias ordering, nullable workflow args, quoted Windows paths, stale JSON schema union tests, and raw JS tsconfig inclusion.

Validation:
- env MUX_ESLINT_CONCURRENCY=1 make static-check
- make build-main
- bun test src/common/utils/jsonSchemaSubset.test.ts
- bun test src/node/services/workflows/WorkflowActionRunner.test.ts --test-name-pattern "rejects schema aliases declared after action metadata|runs JavaScript actions out of process|describes every built-in action"
- bun test src/node/services/workflows/WorkflowService.test.ts --test-name-pattern "normalizes quoted Windows paths|runs workflows with metadata strings|normalizes workflow args from static metadata"

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$190.19`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=190.19 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Ran deep-review-workflow, fixed the identified issues, and pushed the follow-up changes. Local validation is green, including static-check, build-main, and targeted regression tests.

Export GitHub action reconcile handlers as callable async declarations so static action discovery reports reconciliation support consistently with child execution.

Validation:
- env MUX_ESLINT_CONCURRENCY=1 make static-check
- bun test src/node/services/workflows/WorkflowActionRunner.test.ts --test-name-pattern "describes every built-in workflow action"

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$190.19`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=190.19 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Addressed the reconcile export finding, replied inline, resolved the thread, and pushed the fix.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a04adfb23d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/builtinWorkflowActions/github/listIssues.js Outdated
Mark read-only GitHub fetch/verify workflow actions as read effects so interrupted or failed attempts remain retryable without reconciliation.

Validation:
- env MUX_ESLINT_CONCURRENCY=1 make static-check
- bun test src/node/services/workflows/WorkflowActionRunner.test.ts --test-name-pattern "describes every built-in workflow action"

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$190.19`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=190.19 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Addressed the read-only GitHub action effect finding, replied inline, resolved the thread, and pushed the fix.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 67b90fdaf6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/workflows/workflowDescription.ts Outdated
Keep legacy // description: workflow headers discoverable while supporting new static metadata declarations, and cover legacy project workflow listing/reading.

Validation:
- env MUX_ESLINT_CONCURRENCY=1 make static-check
- bun test src/node/services/workflows/WorkflowDefinitionStore.test.ts --test-name-pattern "legacy description headers"

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$190.19`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=190.19 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Addressed the legacy workflow description header compatibility finding, replied inline, resolved the thread, and pushed the fix.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6a945c2ff5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/workflowRuntime/workflowActionChild.js
Mask regex literals in the workflow action child source before depth-counting export declarations so executable actions with regex literals before metadata/execute load consistently with static describe.

Validation:
- env MUX_ESLINT_CONCURRENCY=1 make static-check
- bun test src/node/services/workflows/WorkflowActionRunner.test.ts --test-name-pattern "executes actions with regex literals before exports"

---

_Generated with `mux` • Model: `openai:gpt-5.5` • Thinking: `xhigh` • Cost: `$190.19`_

<!-- mux-attribution: model=openai:gpt-5.5 thinking=xhigh costs=190.19 -->
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Addressed the action child regex masking finding, replied inline, resolved the thread, and pushed the fix.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8e07a35291

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/workflows/WorkflowRunner.ts Outdated
Comment thread src/node/builtinWorkflowActions/git/status.js Outdated
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Pushed a unit-test-only follow-up for the CI failures: the parallelActions fixture now uses the tightened git.status input schema and the sandbox exposure expectation reflects the intentional mux helper global.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2e95945c8a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/workflows/workflowArgs.ts Outdated
@ThomasK33

Copy link
Copy Markdown
Member Author

Addressed the latest Codex findings:

  • PRRT_kwDOPxxmWM6J6510 / metadata binding: preserved export const metadata as a runtime const metadata binding during workflow compilation, while still stripping CommonJS module.exports.metadata assignments that cannot run in the workflow sandbox. Added coverage that a workflow can read metadata.description at runtime even when the description contains }; terminator text.
  • PRRT_kwDOPxxmWM6J652A / git.status ignored files: changed action.git.status so ignored files are only requested when includeIgnored: true, regenerated the built-in action bundle, updated the existing workflow test to request ignored files explicitly, and added a direct regression test for the default vs explicit behavior.

Validation after fixes:

  • bun test src/node/services/workflows/WorkflowService.test.ts src/node/services/workflows/WorkflowActionRunner.test.ts src/node/services/workflows/WorkflowRunner.test.ts
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ac8292142d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/workflows/workflowArgs.ts
@ThomasK33

Copy link
Copy Markdown
Member Author

Addressed PRRT_kwDOPxxmWM6J9Yl9: inline = values now distinguish between present inline values and next-token values, so --query=--help / --mode=--help style values are accepted for known value-taking args. The startsWith("--") ambiguity guard now applies only when consuming the following token. Added regression coverage for a dash-prefixed inline value.

Validation:

  • bun test src/node/services/workflows/WorkflowService.test.ts
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 81eca0e0e2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/builtinWorkflows/deep-research.js
@ThomasK33

Copy link
Copy Markdown
Member Author

Addressed PRRT_kwDOPxxmWM6J9jDe: deep-research topic normalization now prefers parsed query over the raw transport input, while still letting explicit topic win. This means /deep-research --query=foo and dash-prefixed inline values use the parsed query instead of researching the literal raw flag text. Updated the deep-research unit test and regenerated built-in workflow content.

Validation:

  • bun test src/node/builtinWorkflows/deep-research.test.ts src/node/services/workflows/WorkflowService.test.ts
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a6e61c9342

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/workflows/workflowArgs.ts Outdated
@ThomasK33

Copy link
Copy Markdown
Member Author

Addressed PRRT_kwDOPxxmWM6J9tbx: workflow args normalization now tracks structured fields supplied alongside the raw transport input; parsed tokens from input only fill fields that were not explicitly provided. The transport input field itself can still be normalized from slash/CLI text. Deep-research also no longer marks topic as the positional schema field, so slash text falls back through input while explicit topic / parsed query keep their intended precedence. Added regression coverage for explicit query and topic alongside raw input.

Validation:

  • bun test src/node/builtinWorkflows/deep-research.test.ts
  • bun test src/node/builtinWorkflows/deep-research.test.ts src/node/services/workflows/WorkflowService.test.ts (all tests passed before Bun emitted its known post-run crash banner)
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: 1d1e58860c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Pushed a test-only CI stabilization after repeated Test / Unit reruns timed out/OOMed in the deep-review auto-fix loop fixtures under coverage, while the affected tests passed when targeted locally. The change only raises those fixture-specific timeouts from 20s to 60s; it does not touch production workflow behavior.

Validation:

  • bun test src/node/services/workflows/builtInWorkflowDefinitions.test.ts -t "auto-fix loop stops when validation is not run"
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: 5681a5a2bd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

I pushed a CI stabilization update for the workflow fixture timeout failures.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8b0435f3c8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/builtinWorkflowActions/git/reviewContext.js Outdated
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

I pushed another CI stabilization update: the QuickJS-heavy built-in workflow fixture now runs outside Bun coverage in the unit job, and workflow mutation lock waits tolerate CI filesystem stalls.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4545707d7e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/workflows/staticWorkflowMetadata.ts
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Addressed the unresolved git.reviewContext review thread and pushed the fix.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: 9f1e739ec5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Pushed ad08f1f with the template-literal metadata promotion fix and regression coverage. Local validation passed:

  • bun test src/node/services/workflows/WorkflowActionRunner.test.ts
  • bun test src/node/services/workflows/WorkflowDefinitionStore.test.ts
  • bun test src/node/services/workflows/WorkflowService.test.ts
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ad08f1f2dc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/workflows/staticWorkflowMetadata.ts
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Pushed 78a0868 to reject interpolated template-literal metadata and added regression coverage. Local validation passed:

  • bun test src/node/services/workflows/WorkflowActionRunner.test.ts
  • bun test src/node/services/workflows/WorkflowDefinitionStore.test.ts
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 78a0868473

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/workflowRuntime/workflowActionChild.js Outdated
@ThomasK33

Copy link
Copy Markdown
Member Author

@codex review

Pushed 7c27a0f for the action-child regex masking mismatch. Local validation passed:

  • bun test src/node/services/workflows/WorkflowActionRunner.test.ts
  • bun test src/node/services/workflows/WorkflowDefinitionStore.test.ts
  • MUX_ESLINT_CONCURRENCY=1 make static-check

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7c27a0f328

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

const aliases = new Set<string>();
const maskedSource = maskStaticJavaScriptSource(source.slice(0, beforeIndex));
const pattern =
/(^|[;\n])\s*(?:export\s+)?(?:const|let|var)\s+([A-Za-z_$][A-Za-z0-9_$]*)\s*=\s*mux\.schema\s*(?:[;\n]|$)/gmu;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Disallow mutable schema aliases

When a workflow/action declares let s = mux.schema; s = somethingElse; export const metadata = { inputSchema: s.string() }, this regex still records s as a static schema alias, so discovery/args normalization/describing succeeds using mux.schema even though runtime evaluation will use the reassigned binding or throw. Since static metadata is meant to match runtime evaluation, only immutable const aliases should be accepted or later assignments should invalidate the alias.

Useful? React with 👍 / 👎.

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.

1 participant