Skip to content

compose: the shared orchestrator command is copied into api-proxy and vllm #51

Description

@rickstaa

Problem

compose.onchain.yml defines the on-chain orchestrator once, and each example pulls it in with extends. Two examples cannot: api-proxy and vllm need -liveRunnerConfig=/config/runners.json for their static runner, and extends replaces a command list rather than appending to it. Both therefore restate all sixteen flags verbatim, with only that one line added.

The result is three copies of the same command. A change to the shared file reaches three of the five examples and silently skips the other two.

This is not hypothetical: #50 raised -ticketEV from 1e9 to 1e10 so a metered session could pay without exceeding the signer's 100 ticket cap. api-proxy and vllm kept the old value, and vllm is metered, so it would have hit the same cap the moment its price rose above about 0.067 USD per hour. Caught by hand while reviewing, not by anything automatic.

Options

  • A CI guard. Parse the restated command blocks and assert they equal the shared one plus the known additions. Cheap, keeps the duplication honest, catches the next drift.
  • Put the flag in the shared file. -liveRunnerConfig would then need a config file present for every example, which the dynamic ones do not have.
  • Generate the overlays. More machinery than five examples justify.

A CI guard looks like the right size. Whichever way it goes, the next example to copy one of these files (a static-runner whisper, say) inherits whatever is stale at the time.

Metadata

Metadata

Assignees

No one assigned

    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