Skip to content

ApplicationConfig format not recognized; sub-file nodes not rendered #7

@intel352

Description

@intel352

Summary

When opening an ApplicationConfig-format YAML file (the multi-file composition format), the editor:

  1. Silently converts the format from ApplicationConfig to flat WorkflowConfig, destroying the original structure
  2. Does not render sub-file nodes — only shows nodes from content it injects into the file, not the full application graph from referenced sub-files

Reproduction: Format conversion

Input (application.yaml) before opening:

application:
  name: my-service
  workflows:
    - file: base.yaml
    - file: users.yaml
    - file: billing.yaml
    - file: notifications.yaml

After opening the file in the editor (no user edits):

modules: []
workflows:
  http:
    server: web-server
    router: web-router
    routes:
      - method: POST
        path: /v1/oauth/token
        handler: auth
      - method: GET
        path: /v1/oauth/jwks
        handler: auth
imports:
  - base.yaml
  - users.yaml
  - billing.yaml
  - notifications.yaml

What changed:

Change Detail
Format conversion application: wrapper replaced with flat WorkflowConfig
Metadata lost application.name dropped
Content duplicated workflows.http routes from base.yaml duplicated into the application file
Reference format changed application.workflows[].file converted to top-level imports:
Empty blocks injected modules: [] added

Reproduction: Sub-file nodes not rendered

Given the application.yaml above which references base.yaml, users.yaml, billing.yaml, and notifications.yaml — each containing modules and pipelines — the editor's visual graph only shows the nodes corresponding to what it injected (the duplicated workflows.http routes). It does not traverse the file references to render:

  • Modules defined in sub-files
  • Pipelines defined in sub-files
  • Workflow routes defined in sub-files
  • Dependencies between modules across files

The user expects opening application.yaml to render the full application graph from all referenced sub-files as a unified view, since that is the purpose of the ApplicationConfig format.

Expected behavior

  1. ApplicationConfig format (application: top-level key with workflows[].file references) should be recognized as a valid, distinct format — not silently converted
  2. Opening the file should not modify it (see also: related issue about destructive reformatting)
  3. The editor should traverse file: references and render a unified graph of all modules, pipelines, workflows, and their dependencies across all sub-files
  4. If the editor doesn't support ApplicationConfig, it should display a clear message rather than silently converting the format

Context

The ApplicationConfig format is the recommended way to compose large workflow applications from multiple domain-specific YAML files. It is documented in the workflow engine and used by wfctl for validation, documentation generation, and CI/CD integration.

Environment

  • IDE: VS Code with workflow-editor extension
  • OS: macOS

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions