Why: Chat intent, cross-conversation anchors, payload changes, and native workspace tools could bypass project source analysis. Evidence: Command-bus, app, server, and squad-adapter suites pass with centralized preflight and project-tool fail-closed behavior. Impact: Every classified formal entrance binds actor, conversation, project, command, payload digest, and source watermark before dispatch. Refs: TT-N03 TT-R01
17 lines
698 B
Go
17 lines
698 B
Go
package cmdbus
|
|
|
|
import "testing"
|
|
|
|
func TestFormalRDMWritesRequireProjectWorkDecision(t *testing.T) {
|
|
for _, id := range []string{"rdm.reqs.add", "rdm.docs.instantiate", "rdm.docs.delivery.approve", "rdm.doc.snapshot", "rdm.conflicts.resolve", "rdm.review.doc.approve", "rdm.structure.propose", "rdm.trace.confirm"} {
|
|
if !RequiresProjectWorkDecision(id) {
|
|
t.Errorf("formal write %s bypassed project source preflight", id)
|
|
}
|
|
}
|
|
for _, id := range []string{"rdm.inspect.tree", "rdm.reqs.list", "rdm.structure.proposals", "rdm.structure.issue", "rdm.structure.decide"} {
|
|
if RequiresProjectWorkDecision(id) {
|
|
t.Errorf("read or separately proven command %s was misclassified", id)
|
|
}
|
|
}
|
|
}
|