test(harness): a grouped, multi-level fixture, and the first browser run of anr9
web/demo.improv has no groups and one category per visible axis, deliberately (gotcha 46), so the multi-level header, the group span, the collapse indicator and the inline group row -- exactly the code improvise-anr9 added -- had never been rendered anywhere a test could see (improvise-plcx). harness/fixtures/grouped.improv is served beside the shipped demo by harness/build.sh; web/demo.improv is untouched. Two categories on each visible axis, three row groups with one collapsed, two column groups. A missing seed is NOT an error -- web/worker.js answers a 404 with an empty model -- so every assertion is about labels the fixture really carries, never that a grid exists. Five injections, five distinct failures, patched in harness/serve so no rebuild stands between the fault and the run: slash-joining the level tuples; colSpan = 1 on the group headers; a stray cell on the inline group row; indicator(false) hard-coded; and the collapse removed from the document. One thing the ticket did not predict: the row frame's FIRST group header is never drawn, so the spec asserts two group rows where the document has three, with improvise-0o6x named on the line. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH
This commit is contained in:
@@ -0,0 +1,182 @@
|
||||
v2025-04-09
|
||||
# Harness grouped fixture
|
||||
Initial View: Grouped
|
||||
|
||||
## View: Grouped
|
||||
Region: row
|
||||
Store: row
|
||||
Month: column
|
||||
Channel: column
|
||||
_Measure: page, Revenue
|
||||
_Index: none
|
||||
_Dim: none
|
||||
collapsed: Region/Upland
|
||||
format: ,.0
|
||||
|
||||
## Category: Region
|
||||
- North[Coastal]
|
||||
- South[Coastal]
|
||||
- East[Inland]
|
||||
- West[Inland]
|
||||
- Ridge[Upland]
|
||||
- Valley[Upland]
|
||||
|
||||
## Category: Store
|
||||
- Main, Annex
|
||||
|
||||
## Category: Month
|
||||
- Jan[Q1]
|
||||
- Feb[Q1]
|
||||
- Mar[Q2]
|
||||
|
||||
## Category: Channel
|
||||
- Web, Shop
|
||||
|
||||
## Category: _Measure
|
||||
- Revenue, Cost
|
||||
|
||||
## Data
|
||||
Region=North, Store=Main, Month=Jan, Channel=Web, _Measure=Revenue = 1000
|
||||
Region=North, Store=Main, Month=Jan, Channel=Web, _Measure=Cost = 333
|
||||
Region=North, Store=Main, Month=Jan, Channel=Shop, _Measure=Revenue = 1040
|
||||
Region=North, Store=Main, Month=Jan, Channel=Shop, _Measure=Cost = 346
|
||||
Region=North, Store=Main, Month=Feb, Channel=Web, _Measure=Revenue = 1110
|
||||
Region=North, Store=Main, Month=Feb, Channel=Web, _Measure=Cost = 370
|
||||
Region=North, Store=Main, Month=Feb, Channel=Shop, _Measure=Revenue = 1150
|
||||
Region=North, Store=Main, Month=Feb, Channel=Shop, _Measure=Cost = 383
|
||||
Region=North, Store=Main, Month=Mar, Channel=Web, _Measure=Revenue = 1220
|
||||
Region=North, Store=Main, Month=Mar, Channel=Web, _Measure=Cost = 406
|
||||
Region=North, Store=Main, Month=Mar, Channel=Shop, _Measure=Revenue = 1260
|
||||
Region=North, Store=Main, Month=Mar, Channel=Shop, _Measure=Cost = 420
|
||||
Region=North, Store=Annex, Month=Jan, Channel=Web, _Measure=Revenue = 1300
|
||||
Region=North, Store=Annex, Month=Jan, Channel=Web, _Measure=Cost = 433
|
||||
Region=North, Store=Annex, Month=Jan, Channel=Shop, _Measure=Revenue = 1340
|
||||
Region=North, Store=Annex, Month=Jan, Channel=Shop, _Measure=Cost = 446
|
||||
Region=North, Store=Annex, Month=Feb, Channel=Web, _Measure=Revenue = 1410
|
||||
Region=North, Store=Annex, Month=Feb, Channel=Web, _Measure=Cost = 470
|
||||
Region=North, Store=Annex, Month=Feb, Channel=Shop, _Measure=Revenue = 1450
|
||||
Region=North, Store=Annex, Month=Feb, Channel=Shop, _Measure=Cost = 483
|
||||
Region=North, Store=Annex, Month=Mar, Channel=Web, _Measure=Revenue = 1520
|
||||
Region=North, Store=Annex, Month=Mar, Channel=Web, _Measure=Cost = 506
|
||||
Region=North, Store=Annex, Month=Mar, Channel=Shop, _Measure=Revenue = 1560
|
||||
Region=North, Store=Annex, Month=Mar, Channel=Shop, _Measure=Cost = 520
|
||||
Region=South, Store=Main, Month=Jan, Channel=Web, _Measure=Revenue = 1700
|
||||
Region=South, Store=Main, Month=Jan, Channel=Web, _Measure=Cost = 566
|
||||
Region=South, Store=Main, Month=Jan, Channel=Shop, _Measure=Revenue = 1740
|
||||
Region=South, Store=Main, Month=Jan, Channel=Shop, _Measure=Cost = 580
|
||||
Region=South, Store=Main, Month=Feb, Channel=Web, _Measure=Revenue = 1810
|
||||
Region=South, Store=Main, Month=Feb, Channel=Web, _Measure=Cost = 603
|
||||
Region=South, Store=Main, Month=Feb, Channel=Shop, _Measure=Revenue = 1850
|
||||
Region=South, Store=Main, Month=Feb, Channel=Shop, _Measure=Cost = 616
|
||||
Region=South, Store=Main, Month=Mar, Channel=Web, _Measure=Revenue = 1920
|
||||
Region=South, Store=Main, Month=Mar, Channel=Web, _Measure=Cost = 640
|
||||
Region=South, Store=Main, Month=Mar, Channel=Shop, _Measure=Revenue = 1960
|
||||
Region=South, Store=Main, Month=Mar, Channel=Shop, _Measure=Cost = 653
|
||||
Region=South, Store=Annex, Month=Jan, Channel=Web, _Measure=Revenue = 2000
|
||||
Region=South, Store=Annex, Month=Jan, Channel=Web, _Measure=Cost = 666
|
||||
Region=South, Store=Annex, Month=Jan, Channel=Shop, _Measure=Revenue = 2040
|
||||
Region=South, Store=Annex, Month=Jan, Channel=Shop, _Measure=Cost = 680
|
||||
Region=South, Store=Annex, Month=Feb, Channel=Web, _Measure=Revenue = 2110
|
||||
Region=South, Store=Annex, Month=Feb, Channel=Web, _Measure=Cost = 703
|
||||
Region=South, Store=Annex, Month=Feb, Channel=Shop, _Measure=Revenue = 2150
|
||||
Region=South, Store=Annex, Month=Feb, Channel=Shop, _Measure=Cost = 716
|
||||
Region=South, Store=Annex, Month=Mar, Channel=Web, _Measure=Revenue = 2220
|
||||
Region=South, Store=Annex, Month=Mar, Channel=Web, _Measure=Cost = 740
|
||||
Region=South, Store=Annex, Month=Mar, Channel=Shop, _Measure=Revenue = 2260
|
||||
Region=South, Store=Annex, Month=Mar, Channel=Shop, _Measure=Cost = 753
|
||||
Region=East, Store=Main, Month=Jan, Channel=Web, _Measure=Revenue = 2400
|
||||
Region=East, Store=Main, Month=Jan, Channel=Web, _Measure=Cost = 800
|
||||
Region=East, Store=Main, Month=Jan, Channel=Shop, _Measure=Revenue = 2440
|
||||
Region=East, Store=Main, Month=Jan, Channel=Shop, _Measure=Cost = 813
|
||||
Region=East, Store=Main, Month=Feb, Channel=Web, _Measure=Revenue = 2510
|
||||
Region=East, Store=Main, Month=Feb, Channel=Web, _Measure=Cost = 836
|
||||
Region=East, Store=Main, Month=Feb, Channel=Shop, _Measure=Revenue = 2550
|
||||
Region=East, Store=Main, Month=Feb, Channel=Shop, _Measure=Cost = 850
|
||||
Region=East, Store=Main, Month=Mar, Channel=Web, _Measure=Revenue = 2620
|
||||
Region=East, Store=Main, Month=Mar, Channel=Web, _Measure=Cost = 873
|
||||
Region=East, Store=Main, Month=Mar, Channel=Shop, _Measure=Revenue = 2660
|
||||
Region=East, Store=Main, Month=Mar, Channel=Shop, _Measure=Cost = 886
|
||||
Region=East, Store=Annex, Month=Jan, Channel=Web, _Measure=Revenue = 2700
|
||||
Region=East, Store=Annex, Month=Jan, Channel=Web, _Measure=Cost = 900
|
||||
Region=East, Store=Annex, Month=Jan, Channel=Shop, _Measure=Revenue = 2740
|
||||
Region=East, Store=Annex, Month=Jan, Channel=Shop, _Measure=Cost = 913
|
||||
Region=East, Store=Annex, Month=Feb, Channel=Web, _Measure=Revenue = 2810
|
||||
Region=East, Store=Annex, Month=Feb, Channel=Web, _Measure=Cost = 936
|
||||
Region=East, Store=Annex, Month=Feb, Channel=Shop, _Measure=Revenue = 2850
|
||||
Region=East, Store=Annex, Month=Feb, Channel=Shop, _Measure=Cost = 950
|
||||
Region=East, Store=Annex, Month=Mar, Channel=Web, _Measure=Revenue = 2920
|
||||
Region=East, Store=Annex, Month=Mar, Channel=Web, _Measure=Cost = 973
|
||||
Region=East, Store=Annex, Month=Mar, Channel=Shop, _Measure=Revenue = 2960
|
||||
Region=East, Store=Annex, Month=Mar, Channel=Shop, _Measure=Cost = 986
|
||||
Region=West, Store=Main, Month=Jan, Channel=Web, _Measure=Revenue = 3100
|
||||
Region=West, Store=Main, Month=Jan, Channel=Web, _Measure=Cost = 1033
|
||||
Region=West, Store=Main, Month=Jan, Channel=Shop, _Measure=Revenue = 3140
|
||||
Region=West, Store=Main, Month=Jan, Channel=Shop, _Measure=Cost = 1046
|
||||
Region=West, Store=Main, Month=Feb, Channel=Web, _Measure=Revenue = 3210
|
||||
Region=West, Store=Main, Month=Feb, Channel=Web, _Measure=Cost = 1070
|
||||
Region=West, Store=Main, Month=Feb, Channel=Shop, _Measure=Revenue = 3250
|
||||
Region=West, Store=Main, Month=Feb, Channel=Shop, _Measure=Cost = 1083
|
||||
Region=West, Store=Main, Month=Mar, Channel=Web, _Measure=Revenue = 3320
|
||||
Region=West, Store=Main, Month=Mar, Channel=Web, _Measure=Cost = 1106
|
||||
Region=West, Store=Main, Month=Mar, Channel=Shop, _Measure=Revenue = 3360
|
||||
Region=West, Store=Main, Month=Mar, Channel=Shop, _Measure=Cost = 1120
|
||||
Region=West, Store=Annex, Month=Jan, Channel=Web, _Measure=Revenue = 3400
|
||||
Region=West, Store=Annex, Month=Jan, Channel=Web, _Measure=Cost = 1133
|
||||
Region=West, Store=Annex, Month=Jan, Channel=Shop, _Measure=Revenue = 3440
|
||||
Region=West, Store=Annex, Month=Jan, Channel=Shop, _Measure=Cost = 1146
|
||||
Region=West, Store=Annex, Month=Feb, Channel=Web, _Measure=Revenue = 3510
|
||||
Region=West, Store=Annex, Month=Feb, Channel=Web, _Measure=Cost = 1170
|
||||
Region=West, Store=Annex, Month=Feb, Channel=Shop, _Measure=Revenue = 3550
|
||||
Region=West, Store=Annex, Month=Feb, Channel=Shop, _Measure=Cost = 1183
|
||||
Region=West, Store=Annex, Month=Mar, Channel=Web, _Measure=Revenue = 3620
|
||||
Region=West, Store=Annex, Month=Mar, Channel=Web, _Measure=Cost = 1206
|
||||
Region=West, Store=Annex, Month=Mar, Channel=Shop, _Measure=Revenue = 3660
|
||||
Region=West, Store=Annex, Month=Mar, Channel=Shop, _Measure=Cost = 1220
|
||||
Region=Ridge, Store=Main, Month=Jan, Channel=Web, _Measure=Revenue = 3800
|
||||
Region=Ridge, Store=Main, Month=Jan, Channel=Web, _Measure=Cost = 1266
|
||||
Region=Ridge, Store=Main, Month=Jan, Channel=Shop, _Measure=Revenue = 3840
|
||||
Region=Ridge, Store=Main, Month=Jan, Channel=Shop, _Measure=Cost = 1280
|
||||
Region=Ridge, Store=Main, Month=Feb, Channel=Web, _Measure=Revenue = 3910
|
||||
Region=Ridge, Store=Main, Month=Feb, Channel=Web, _Measure=Cost = 1303
|
||||
Region=Ridge, Store=Main, Month=Feb, Channel=Shop, _Measure=Revenue = 3950
|
||||
Region=Ridge, Store=Main, Month=Feb, Channel=Shop, _Measure=Cost = 1316
|
||||
Region=Ridge, Store=Main, Month=Mar, Channel=Web, _Measure=Revenue = 4020
|
||||
Region=Ridge, Store=Main, Month=Mar, Channel=Web, _Measure=Cost = 1340
|
||||
Region=Ridge, Store=Main, Month=Mar, Channel=Shop, _Measure=Revenue = 4060
|
||||
Region=Ridge, Store=Main, Month=Mar, Channel=Shop, _Measure=Cost = 1353
|
||||
Region=Ridge, Store=Annex, Month=Jan, Channel=Web, _Measure=Revenue = 4100
|
||||
Region=Ridge, Store=Annex, Month=Jan, Channel=Web, _Measure=Cost = 1366
|
||||
Region=Ridge, Store=Annex, Month=Jan, Channel=Shop, _Measure=Revenue = 4140
|
||||
Region=Ridge, Store=Annex, Month=Jan, Channel=Shop, _Measure=Cost = 1380
|
||||
Region=Ridge, Store=Annex, Month=Feb, Channel=Web, _Measure=Revenue = 4210
|
||||
Region=Ridge, Store=Annex, Month=Feb, Channel=Web, _Measure=Cost = 1403
|
||||
Region=Ridge, Store=Annex, Month=Feb, Channel=Shop, _Measure=Revenue = 4250
|
||||
Region=Ridge, Store=Annex, Month=Feb, Channel=Shop, _Measure=Cost = 1416
|
||||
Region=Ridge, Store=Annex, Month=Mar, Channel=Web, _Measure=Revenue = 4320
|
||||
Region=Ridge, Store=Annex, Month=Mar, Channel=Web, _Measure=Cost = 1440
|
||||
Region=Ridge, Store=Annex, Month=Mar, Channel=Shop, _Measure=Revenue = 4360
|
||||
Region=Ridge, Store=Annex, Month=Mar, Channel=Shop, _Measure=Cost = 1453
|
||||
Region=Valley, Store=Main, Month=Jan, Channel=Web, _Measure=Revenue = 4500
|
||||
Region=Valley, Store=Main, Month=Jan, Channel=Web, _Measure=Cost = 1500
|
||||
Region=Valley, Store=Main, Month=Jan, Channel=Shop, _Measure=Revenue = 4540
|
||||
Region=Valley, Store=Main, Month=Jan, Channel=Shop, _Measure=Cost = 1513
|
||||
Region=Valley, Store=Main, Month=Feb, Channel=Web, _Measure=Revenue = 4610
|
||||
Region=Valley, Store=Main, Month=Feb, Channel=Web, _Measure=Cost = 1536
|
||||
Region=Valley, Store=Main, Month=Feb, Channel=Shop, _Measure=Revenue = 4650
|
||||
Region=Valley, Store=Main, Month=Feb, Channel=Shop, _Measure=Cost = 1550
|
||||
Region=Valley, Store=Main, Month=Mar, Channel=Web, _Measure=Revenue = 4720
|
||||
Region=Valley, Store=Main, Month=Mar, Channel=Web, _Measure=Cost = 1573
|
||||
Region=Valley, Store=Main, Month=Mar, Channel=Shop, _Measure=Revenue = 4760
|
||||
Region=Valley, Store=Main, Month=Mar, Channel=Shop, _Measure=Cost = 1586
|
||||
Region=Valley, Store=Annex, Month=Jan, Channel=Web, _Measure=Revenue = 4800
|
||||
Region=Valley, Store=Annex, Month=Jan, Channel=Web, _Measure=Cost = 1600
|
||||
Region=Valley, Store=Annex, Month=Jan, Channel=Shop, _Measure=Revenue = 4840
|
||||
Region=Valley, Store=Annex, Month=Jan, Channel=Shop, _Measure=Cost = 1613
|
||||
Region=Valley, Store=Annex, Month=Feb, Channel=Web, _Measure=Revenue = 4910
|
||||
Region=Valley, Store=Annex, Month=Feb, Channel=Web, _Measure=Cost = 1636
|
||||
Region=Valley, Store=Annex, Month=Feb, Channel=Shop, _Measure=Revenue = 4950
|
||||
Region=Valley, Store=Annex, Month=Feb, Channel=Shop, _Measure=Cost = 1650
|
||||
Region=Valley, Store=Annex, Month=Mar, Channel=Web, _Measure=Revenue = 5020
|
||||
Region=Valley, Store=Annex, Month=Mar, Channel=Web, _Measure=Cost = 1673
|
||||
Region=Valley, Store=Annex, Month=Mar, Channel=Shop, _Measure=Revenue = 5060
|
||||
Region=Valley, Store=Annex, Month=Mar, Channel=Shop, _Measure=Cost = 1686
|
||||
Reference in New Issue
Block a user