Skip to content

Validate params is an object for all node kinds in compile_dag #524

@staging-devin-ai-integration

Description

Problem

Currently, compile_dag only validates that params is a JSON object for audio::mixer nodes (added in #514). Every other node kind silently accepts non-object params at compile time, which then fails later at node-factory parse time.

Other parts of the codebase (e.g. client_lint.rs) also assume params is an object and call params.get(...) unconditionally.

Proposed Fix

Add a general validation in compile_dag that rejects params: Some(v) where v is not an object for all node kinds, rather than accreting per-kind special cases. If any node kind legitimately uses scalar params, maintain a small allow-list.

Context

Tracked from review feedback on #514.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions