@@ -256,7 +256,7 @@ function run() {
256256 assert . ok ( manifest . criticalInputs . includes ( 'content/**' ) )
257257 assert . ok ( manifest . criticalInputs . includes ( 'hooks/_runtime/evidence/*.json' ) )
258258 assert . ok ( ! manifest . criticalInputs . includes ( 'content-source/**' ) )
259- assert . deepStrictEqual ( manifest . iterativeInvariantNodes , [ 'validation-dag' , 'skill-portfolio-current' ] )
259+ assert . deepStrictEqual ( manifest . iterativeInvariantNodes , [ 'validation-dag' , 'skill-portfolio-current' , 'profile-current' ] )
260260 assert . ok ( manifest . iterativeEscalationInputs . includes ( 'scripts/lib/validation-dag.js' ) )
261261 assert . ok ( ! manifest . iterativeEscalationInputs . includes ( 'content/**' ) )
262262 assert . deepStrictEqual ( Object . keys ( manifest . verificationBoundaries ) . sort ( ) ,
@@ -2235,6 +2235,24 @@ function run() {
22352235 'profile boundary must include profile current truth refresh script' )
22362236 assert ( manifest . nodes . find ( node => node . id === 'profile-governance' ) . inputs . includes ( 'scripts/refresh-profile-current-truth.js' ) ,
22372237 'profile-governance must include profile current truth refresh script' )
2238+ const profileCurrentNode = manifest . nodes . find ( node => node . id === 'profile-current' )
2239+ assert ( profileCurrentNode , 'manifest must expose lightweight profile-current node' )
2240+ assert . deepStrictEqual ( profileCurrentNode . args , [ 'scripts/validate-all-profiles.js' , '--current-only' ] )
2241+ assert . strictEqual ( profileCurrentNode . riskClass , 'normal' )
2242+ assert . deepStrictEqual ( profileCurrentNode . writeScopes , [ ] )
2243+ assert ( manifest . iterativeInvariantNodes . includes ( 'profile-current' ) ,
2244+ 'clean-tree changed-route must include the lightweight Profile current truth invariant' )
2245+ const cleanChangedPlan = planValidation ( {
2246+ manifest,
2247+ route : 'changed' ,
2248+ changedFiles : [ ] ,
2249+ changedSource : 'git-clean' ,
2250+ candidateId : 'fixture-clean-post-commit'
2251+ } )
2252+ assert ( cleanChangedPlan . selectedNodes . some ( node => node . id === 'profile-current' ) ,
2253+ 'clean changed-route must select profile-current to catch post-commit active Profile drift' )
2254+ assert ( ! cleanChangedPlan . selectedNodes . some ( node => node . id === 'profile-governance' ) ,
2255+ 'clean changed-route must not promote every post-commit replay to the heavier profile-governance suite' )
22382256 const refreshProfilePlan = planValidation ( {
22392257 manifest,
22402258 route : 'changed' ,
0 commit comments