@@ -136,9 +136,12 @@ fn count_rows_containing(rows: &[String], needle: &str) -> usize {
136136/// frame: the context reading, the mode and permission chips, the model,
137137/// the cost, the agent count, and the help hint.
138138///
139- /// 160 columns joins the blocker sizes so the working clock's two halves
140- /// are asserted at a width that holds both; at 80 and 120 they shed by
141- /// design (#5914) and the row is asserted for what it does keep.
139+ /// 160 columns joins the blocker sizes so both working-clock halves can
140+ /// paint together when the session half is present; at 80 and 120 the
141+ /// clocks shed by design (#5914) against the pinned scope notice. The
142+ /// #6084 shed-order fix (sole turn clock uses the session rung) is pinned
143+ /// in `phase_strip::tideline_tests`, where the narrower permission chip
144+ /// exposes the width band the one-owner fixture's notice collapses.
142145#[ test]
143146fn composed_frame_paints_each_fact_in_exactly_one_row ( ) {
144147 for ( width, height) in [ ( 80u16 , 24u16 ) , ( 120 , 32 ) , ( 160 , 40 ) ] {
@@ -207,14 +210,18 @@ fn composed_frame_paints_each_fact_in_exactly_one_row() {
207210 // The bar carries the working clock (#5914) — how long the current
208211 // turn has been doing what it is doing, and how long the session has
209212 // worked. Both halves shed before the hint and the counts, so a
210- // narrow row keeps the affordances and drops the stopwatch: the
211- // session half needs 120 columns here, the turn half 160. Each
212- // paints in exactly one row wherever it paints. The metrics line
213- // carries no repository, branch or provider.
213+ // narrow row keeps the affordances and drops the stopwatch. When
214+ // both would paint, the session half needs ~ 120 columns here and
215+ // the turn half ~160; each paints in exactly one row wherever it
216+ // paints. The metrics line carries no repository, branch or provider.
214217 // First turn: the turn half names the phase and stays; the session
215218 // reading is the identical duration, so it is suppressed rather than
216- // stated twice (#6041) — the turn half is the one that needs 160
217- // columns, so a narrower row keeps the affordances and no stopwatch.
219+ // stated twice (#6041). With no session half to paint, the turn
220+ // clock sheds at the session rung (#6084) rather than first — but
221+ // against this fixture's pinned scope notice, turn+counts+hint is
222+ // still just over a 120-column budget, so the hint wins here and
223+ // the turn half needs ~160. The shed-order contract itself lives
224+ // in tideline_tests.
218225 let turn_needle = "sub-agents underway 1m 15s" ;
219226 if width >= 160 {
220227 assert ! ( rows[ posture] . contains( turn_needle) , "{}" , rows[ posture] ) ;
0 commit comments