Constraining NON-LOCAL features of a complement?

Is it OK to constrain NON-LOCAL features of a verb’s complement, e.g.:

embed-verb-lex := clausal-nom-verb-lex & clausal-second-arg-trans-lex-item &
  [ SYNSEM.LOCAL.CAT.VAL.COMPS < [ NON-LOCAL.QUE 0-alist ] > ].

I want to be able to rule out in-situ questions in embedded clauses, in other words I want the obligatoriness of fronting to be customizable independently in main and embedded clauses:

(1) Vidit kto koshku? 
     sees who cat
`Who sees the cat?' [rus]
(2) *Ya znayu vidit kto koshku
      I know  sees  who cat
     Intended: I know who sees the cat [rus]

Yes, that’s fine, but I’m skeptical that you don’t get echo questions in embedded clauses…

But I thought, even in English:

(1) I know what Sandy ate
(2) *I know Sandy ate WHAT?
(3) Sandy ate WHAT?

I think that’s because in (3), you need heavy stress on WHAT, but it doesn’t really make sense with the semantics of the “I know…” clause. Wouldn’t you say?

I suppose that there is also

(4) I know that Sandy ate WHAT?

Hmm.

So, would you say (2) is grammatical (and is basically the same as (4))? In Russian, I seem to feel a pretty strong contrast here but of course I also feel like I don’t know anything about Russian anymore :).

Yes, (2) and (4) are definitely grammatical, cf. http://moin.delph-in.net/OsloQuestionRepresentation

But one conclusion from that discussion was that echo questions should probably be treated differently from normal questions, e.g. because you can echo-question a question – see minimal example dialogue in (6a)-(6d) in the discussion notes. I don’t think we currently have a good way to represent this in MRS. So I think it would be reasonable to say that echo questions are out of scope.

If you want to rule out in-situ questions in embedded clauses, one way would be to define a new feature on slashed elements, to keep track of whether they’ve been extracted out of a clause. This is a bit hacky, and doing the book-keeping might be a pain (I haven’t thought this through carefully), but it should be possible (we do have a Turing-complete formalism, after all) – you’d have to stipulate the value when a slashed element is propagated over a clause boundary, and stipulate the value incompatibly in an in-situ construction.