Skip to content

[dsl] Sub-scenario invocation in do blocks is not lowered — the DSL's reuse mechanism does not execute (§7.6.2) #123

Description

@JArmandoAnaya

What

Invoking a scenario (rather than a §8.8 movement action) inside a do block is not lowered — and the DSL's primary reuse mechanism therefore does not execute:

The DSL coverage matrix implies it works: §7.6.2.1.1 behavior invocation In/In, §7.6.2.2 actor binding In/In, §7.6.2.3 In. It is documented nowhere as out of scope. Found by the post-P8 audit; highest-severity untracked DSL gap.

Sketch

Lower a composite scenario invocation by inline-expanding the callee's do composition into the caller's composition tree (concrete arguments bound per §7.6.2.2; labels/qualified names kept unique; recursion diagnosed). Trace acceptance per §7.6 permits this operational choice; document it in an ADR amendment.

Done when

  • Concrete sub-scenario invocations execute (nested do, actor binding, with: modifier blocks on the invocation)
  • Red fixtures for the genuinely unsupported forms with §-cited diagnostics
  • Matrix rows §7.6.2.1.1/.2/.3 tell the truth; dsl_lowering_test.cpp snapshots added; an XML/DSL golden exercising a sub-scenario considered

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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