Add protected interaction evidence and measured debugging phases

This commit is contained in:
Karl committed 2026-10-13 18:04:02 +02:00
1 parent ea448de2d4
commit 244f01630b
42 files changed
+640 -87

No files matched your search

+3 -2
View File
@@ -11,8 +11,8 @@ function fixture({evidence,review=true}={}){
}
test('evidence controls default off and preserve unrelated draft fields',()=>{
const {context,get}=fixture();assert.equal(get('evidence-policy-enabled').checked,false);assert.equal(get('evidence-policy-downloads').checked,false);
assert.equal(get('evidence-policy-enabled').disabled,true);assert.equal(get('evidence-policy-downloads').disabled,true);
const draft=context.draft();assert.equal(draft.version,4);assert.equal(draft.brand.name,'Company');assert.equal(draft.evidence.enabled,false);assert.equal(draft.evidence.captureDownloads,false);
assert.equal(get('evidence-policy-enabled').disabled,true);assert.equal(get('evidence-policy-downloads').disabled,true);assert.equal(get('evidence-policy-interactions').disabled,true);
const draft=context.draft();assert.equal(draft.version,4);assert.equal(draft.brand.name,'Company');assert.equal(draft.evidence.enabled,false);assert.equal(draft.evidence.captureDownloads,false);assert.equal(draft.evidence.captureInteractions,false);
});
test('independent preparation permission enables draft controls; global off disables child control',()=>{
const {context,get,changes}=fixture({evidence:{enabled:true,captureDownloads:true}});
@@ -20,6 +20,7 @@ test('independent preparation permission enables draft controls; global off disa
context.applyOperatorPermissions({permissions:['policy.prepare']});assert.equal(get('evidence-policy-enabled').disabled,false);assert.equal(get('evidence-policy-downloads').disabled,false);
get('evidence-policy-enabled').checked=false;get('evidence-policy-enabled').change();assert.equal(get('evidence-policy-downloads').disabled,true);assert.equal(context.draft().evidence.enabled,false);assert.equal(changes(),1);
context.fill({evidence:{enabled:true,captureDownloads:false}});assert.equal(get('evidence-policy-downloads').checked,false);assert.equal(get('evidence-policy-downloads').disabled,false);
context.fill({evidence:{enabled:true,captureDownloads:false,captureInteractions:true}});assert.equal(get('evidence-policy-interactions').checked,true);assert.equal(get('evidence-policy-interactions').disabled,false);assert.equal(context.draft().evidence.captureInteractions,true);assert.equal(context.draft().evidence.captureDownloads,false);
});
test('direct publication mode requires policy.write rather than preparation permission',()=>{
const {context,get}=fixture({review:false});context.applyOperatorPermissions({permissions:['policy.prepare']});assert.equal(get('evidence-policy-enabled').disabled,true);