Changing bare-np rule?

I have one last issue I need to resolve before merging the pronoun blocking edits to the adnominal possession library, and it might involve editing matrix.tdl, so I want to check in before implementing any solution. So, in the case where the possessum is marked and the possessor is not, the possessor should be allowed to be a pronoun (attested in Fijian). Using English for a pseudo example, you should be able to have constructions like I dog-POSS sleeps ‘my dog sleeps.’

The problem is that the pronoun needs to be able to take a SPEC. I have edited so that noun-lex is only SPEC <> when this scenario doesn’t show up in the language. But the pronoun also needs to go through the bare-np-phrase rule to pick up its quantifier, which constraints its SPEC to be <>. This is a constraint in matrix.tdl itself, so I can’t just edit the methods that add this rule in the libraries.

I can think of a couple solutions:

  1. Edit matrix.tdl so that basic-bare-np-phrase doesn’t have the constraint [ SYNSEM.LOCAL.CAT.VAL.SPEC <> ]; in the libraries, add that constraint back to basic-bare-np-phrase in most cases, but not in the case where it would break my analysis. This has worked for the constraints on noun-lex – no regression tests broken.
  2. Leave matrix.tdl alone, but in (where bare-np-rule is currently being added), add a slightly different version of bare-np-phrase in the case where I need it.

I think option #1 makes more sense.