Fork Horse repository, listed by its owner. Publisher snapshot.

packages/forkhorse-dashboard/test/captures/fh-062/README.md

Snapshot at 34e3175

Containing directory

19,844 bytes · textView raw
1# FH-062 synthetic browser captures
2
3## Evidence location
4
5JPGs are kept outside Git. Local evidence bundle: `fh-062-token-usage-evidence-6ce9674.tar.gz`.
6It contains `fh-062/` with the original fifteen captures and `return-1/` with the
7six rechecks, plus the source-head READMEs and `SHA256SUMS`. The operator handback
8provides its local location; tracked documentation records only the bundle name.
9Source snapshot: `6ce9674c3fb9fd815f673ed63084970498228d5e`.
10Archive SHA-256: `0f6bdf460da3269eb49765e1302aa9762921132925392c711ffd731ed07ae34c`.
11
12From the directory containing the bundle, unpack and verify:
13
14```sh
15tar -xzf fh-062-token-usage-evidence-6ce9674.tar.gz
16cd fh-062-token-usage-evidence-6ce9674
17shasum -a 256 -c SHA256SUMS
18```
19
20The listed capture filenames below refer to the external bundle. Preserve future
21captures outside the checkout; do not recommit JPG evidence.
22
23These screenshots use the loopback fixture API and the real dashboard components.
24They are local browser evidence, not live account, Cloudflare, workerd, D5,
25Saddler, or owner acceptance. Desktop viewport: 1280 by 720; phone: 390 by 844.
26Full-page captures show content beyond the viewport; horizontally scrolling tables
27show their initial scroll position. Theme controls were hidden through the fixture UI.
28
29| File | Fixture route | Evidence |
30| --- | --- | --- |
31| race-light.jpg | `?scenario=usage-race#race/FH-040` | Separate source labels, accepted FH-055 track, 42%/82%/over-budget meters, facts-only Compare and Results |
32| race-dark.jpg | `?scenario=usage-race#race/FH-040` | Same facts under dark host tokens |
33| agent-over-review.jpg | `?scenario=usage-over&role=agent#review/usage-review-2` | Read-only agent sees the automatic rejection caption and no owner controls |
34| over-review.jpg | `?scenario=usage-over#review/usage-review-2` | Usage snapshot, three milestone cells, over-budget caption and no Promote |
35| unchecked-queue.jpg | `?scenario=usage-unchecked#review` | Conditional Tokens column, Not reported, missing-report promotion caption |
36| agents-both-sources.jpg | `?scenario=usage-both#agents` | Separate reported/metered totals and cumulative-window explanation |
37| phone-agent-race.jpg | `?scenario=usage-unchecked&role=agent#race/FH-040` | Accepted phone milestone cards, unchecked warning, horizontal Compare table |
38| phone-agent-totals.jpg | `?scenario=usage-both&role=agent#agents` | Totals fold beneath agent names on narrow screens |
39| unbudgeted-race.jpg | `?scenario=usage-unbudgeted#race/FH-040` | Core unchecked state with null budget shows Not reported without meter/warning |
40| unbudgeted-promote.jpg | `?scenario=usage-unbudgeted#review/usage-review-0` | Promote remains visible with no budget caption; no write performed |
41| photo-finish-integration.jpg | `?scenario=race-photo#race/race-01` | Accepted placings, photo-finish badge, rejected CAS evidence, shared glyphs and silks retained |
42| reused-forks-pushes.jpg | `?scenario=race-reused-forks#race/race-01` | Shared race-window counts: Compare and Results both show one push per reused fork |
43| fork-table-collapsed.jpg | `?scenario=usage-race#overview` | State-owned clipping keeps Tokens in the accessibility twin and closed controls out of tab order |
44| fork-history-integration.jpg | `?scenario=fork-history#overview` | Accepted compact event cells and earlier-event disclosure retained |
45| fork-table.jpg | `?scenario=usage-race#overview` | Expanded table twin includes Tokens; graph labels contain no figures |
46
47The source fixture also covers legacy records, metered precedence, zero reports,
4880%/100%/over boundaries, snapshot deduplication, missing review-detail capability,
49immutable snapshots versus current budget state, and unchanged Needs you kinds.
50
51## Prior FH-055 integration checks
52
53Original branch base: `cc71fff99bf72434978ad297329a8a9f05ef6aea`.
54Fresh `origin/main` and explicitly accepted integration base both verified as
55`ea577a1d96fc52528bd2854d58ee2a29d9ccf679` (FH-055).
56Normal merge: `3d87cdca649740984524882a00408cb9780ae327`.
57Its parents are `41c6a04461af9fe7b6c82435847b133e0799c50f` and
58`ea577a1d96fc52528bd2854d58ee2a29d9ccf679`.
59Branch: `fh/FH-062-usage-ui`. No feature-branch copying, rebase, or publication.
60No packet-owned example used the former OS-agent seed name, so no rename was needed.
61Pinned upstream unchanged: `8cbfb2b67e3da6222e4d7faeade0ff88eb4253bf`.
62
63| Command | Result |
64| --- | --- |
65| `CI=true pnpm --filter forkhorse-dashboard test` | Exit 0; 104 passed, 0 failed; includes 13 usage tests and accepted FH-055 regressions |
66| `CI=true pnpm --filter forkhorse-dashboard types:check` | Exit 0 |
67| `CI=true pnpm exec vp lint packages/forkhorse-dashboard` | Exit 0; no lint findings |
68| `CI=true pnpm --filter forkhorse-dashboard build` | Exit 0; static production assets built |
69| `CI=true pnpm --filter forkhorse-dashboard build:fixture` | Exit 0; separate fixture assets built |
70| `git -c core.fsmonitor=false diff --check` | Exit 0 |
71
72Literal-color scan (expected rg exit 1, zero matches; host palette is excluded):
73
74```sh
75rg -n '#[0-9a-fA-F]{3,8}\b|\b(rgb|rgba|hsl|hsla|oklch|color)\(' \
76  packages/forkhorse-dashboard/src --glob '!host-tokens.json'
77```
78
79The existing fixture suite logs duplicate project-key warnings. Vite reports its
80existing over-500-kB chunk warning. Neither is presented as owner or live acceptance.
81The first offline dependency install lacked cached packages; the locked dashboard
82install completed with normal network access and the unmodified pinned workspace
83submodule initialized. No credential helper or publication route was changed.
84
85Open gates: accepted FH-060 and overlapping FH-049 integration if it lands; serialized
86root test/lint, fresh clone/D5, host workerd checks; Saddler PASS and owner review.
87The package is a static client, so its DOM tests do not claim Worker runtime acceptance.
88Desktop browser geometry: all eighteen milestone mark boxes remain 24 by 24 px;
89checks hurdles have zero horizontal center offset. Other glyph centers differ by
90at most 0.5 px due to their accepted border geometry. Read-only browser inspection
91also confirmed unbudgeted Promote is visible with zero budget captions.
92
93The source is tested against fixtures for the fixed FH-060 contract only.
94The FH-060 implementation has not been accepted or merged into this candidate.
95
96## FH-055b follow-up
97
98Fresh `origin/main` was `c3dec6e43994b49007b6ad06ab55d13c61607955`, which
99contains the explicitly authorized accepted FH-055b commit
100`f924b7a40fa94bc457677dfa3898c940b1676e37`. This follow-up merged that exact
101accepted commit, without taking the newer FH-057b merge pending separate acceptance
102authority. Normal merge: `97cf0650f6560a0d5d814a85c98d27cc6a342d53`; parents
103`90cabe62afb723d0645e62d3c97976e3f8030fc5` and
104`f924b7a40fa94bc457677dfa3898c940b1676e37`.
105
106Compare now uses shared `packetPushes` and `oldestLoadedActivity`. Its Recorded
107pushes row and caption are omitted whenever Results omits the Pushes column for
108incomplete history. Both count default-branch, non-delete pushes by receive time
109from claim through entrant close, race finish, or now. Existing accepted regressions
110now also assert that Compare agrees with Results for reused forks, unordered history,
111interval endpoints, unrelated Git events, and each end condition.
112
113| Latest follow-up command | Result |
114| --- | --- |
115| `CI=true pnpm --filter forkhorse-dashboard exec node --import ./test/jsx-runtime.ts --test test/race.test.ts test/usage.test.ts test/fork-graph.test.ts` | Exit 0; 40 passed, 0 failed |
116| `CI=true pnpm --filter forkhorse-dashboard types:check` | Exit 0 |
117| `CI=true pnpm exec vp lint packages/forkhorse-dashboard` | Exit 0; no findings |
118| `git -c core.fsmonitor=false diff --check` | Exit 0 |
119
120The 104-test suite and builds above describe the preceding FH-055 candidate.
121This small FH-055b follow-up ran the affected regressions, types, and scoped lint.
122Race light/dark, phone race, unbudgeted race, and photo-finish captures were refreshed.
123A new reused-forks capture confirms one push in both tables despite historical fork
124totals of twenty and three. The usage fixture starts loading after every claim, so
125its refreshed captures omit both push facts. Other captures retain their prior
126fixture evidence. No root/fresh-clone/D5, live, publication, or Board action occurred.
127
128## FH-057b follow-up
129
130After explicit acceptance authority, fresh `origin/main` verified exactly
131`c3dec6e43994b49007b6ad06ab55d13c61607955`. The normal merge has parents
132`edb9903c9829a4871b0814fc5bb978a2395ed1d4` and that accepted main commit.
133README sections and fixture imports required conflicts to be combined. The graph
134source and styles merged automatically, retaining both the accepted bundle fixes
135and FH-062's usage tooltip/Tokens table cell. No FH-057c feature branch was copied.
136
137| Latest follow-up command | Result |
138| --- | --- |
139| `CI=true pnpm --filter forkhorse-dashboard exec node --import ./test/jsx-runtime.ts --test test/race.test.ts test/usage.test.ts test/fork-graph.test.ts` | Exit 0; 42 passed, 0 failed |
140| `CI=true pnpm --filter forkhorse-dashboard types:check` | Initial exit 1: accepted gatekeeper fixture referenced an uninstalled local dependency; retry exit 0 after the locked install below |
141| `CI=true pnpm install --frozen-lockfile --filter forkhorse-gatekeeper...` | Exit 0; eight cached packages, no tracked changes |
142| `CI=true pnpm exec vp lint packages/forkhorse-dashboard` | Exit 0; no findings |
143| `git -c core.fsmonitor=false diff --check` | Exit 0 |
144
145The usage DOM regression now checks state-owned clipping and tab-order exclusion
146with real token figures present, and verifies opening the table restores controls
147and retains those figures. Accepted graph tests cover compact cells, accessible
148full text, earlier-event facts, starts, and main labels. Shared race-window Pushes
149regressions still pass. The browser independently confirmed the closed table has
150absolute positioning, 1 px width, `inset(50%)` clipping, and tab indexes of -1.
151Opening restores table controls to 0. Visible cells retain times and concise check
152status; full accessible labels retain event names. Dense earlier-event labels retain
153all omitted event text and become focusable only when the table is open.
154
155The fork-table capture was refreshed; collapsed-table and dense-history captures
156were added. Other captures remain evidence from the preceding integration stages.
157The latest checks are focused only; prior full-package tests/builds above describe
158older candidate stages. Operator root/fresh-clone/D5/workerd checks, accepted FH-060
159integration, FH-049 or FH-057c if accepted, Saddler PASS, and owner review remain open.
160No publication, live account action, or Board edit occurred.
161
162## FH-057c follow-up
163
164After explicit resume and acceptance authority, the clean branch head remained
165`594b51b5d4d914b51dac2e0cc01b30f92e8da57b` and fresh `origin/main` verified exactly
166`05efc0a346a7e91d4f4e56b52eb4266f12475f5b`. These are the normal merge's two
167parents. The accepted change applied without conflicts. The merged edge-label
168filter drops centered hour labels without 24 px clearance at either plot edge,
169while retaining every hour grid line. Tokens/Compare, shared race-window Pushes,
170state-owned table clipping, compact cells, and accessible full event facts remain.
171
172| Latest follow-up command | Result |
173| --- | --- |
174| `CI=true pnpm --filter forkhorse-dashboard exec node --import ./test/jsx-runtime.ts --test test/race.test.ts test/usage.test.ts test/fork-graph.test.ts` | Exit 0; 43 passed, 0 failed, including accepted edge-label regression |
175| `CI=true pnpm --filter forkhorse-dashboard types:check` | Exit 0 |
176| `CI=true pnpm exec vp lint packages/forkhorse-dashboard` | Exit 0; no findings |
177| `git -c core.fsmonitor=false diff --cached --check` | Exit 0 |
178
179This follow-up ran only the authorized affected tests, types, and scoped lint.
180Existing captures describe earlier integration stages; no new browser, build,
181root/fresh-clone/D5, workerd, live, publication, or Board work was performed.
182FH-060 remains pending. FH-049 if it lands and the separate FH-057d state-dot
183change require accepted-main authority before integration. Saddler PASS and
184operator/owner acceptance remain open. No unaccepted feature branch was copied.
185
186## FH-057d follow-up
187
188The clean saved head was `761b777bf2c170fe0b6e6674d330458d157d2111`. Fresh
189`origin/main` verified exactly `1749a394caa4f78b7fbf6a1645659e89e78e9b99` after
190explicit accepted-main authority. The plain merge of `origin/main` has these two
191parents, applied without conflicts, and used no rebase or feature-branch copying.
192Accepted state captions and semantic dot tones remain distinct: failed checks use
193danger, timed-out/infrastructure receipts use warning, review/running use info,
194approved/promoted use success, and racing uses brand. Tokens/Compare, shared race
195Pushes, edge-hour-label omission, and accepted graph accessibility fixes remain.
196
197| Latest follow-up command | Result |
198| --- | --- |
199| `CI=true pnpm --filter forkhorse-dashboard exec node --import ./test/jsx-runtime.ts --test test/race.test.ts test/usage.test.ts test/fork-graph.test.ts` | Exit 0; 44 passed, 0 failed, including accepted state-dot/caption regression |
200| `CI=true pnpm --filter forkhorse-dashboard types:check` | Exit 0 |
201| `CI=true pnpm exec vp lint packages/forkhorse-dashboard` | Exit 0; no findings |
202| `git -c core.fsmonitor=false diff --cached --check` | Exit 0 |
203
204Only the authorized affected tests, types, and scoped lint ran. Existing captures
205retain their earlier labeled fixture evidence; this follow-up adds no browser or
206live acceptance claim. No root/fresh-clone/D5, workerd, publication, deployment,
207Board edit, extra agent, or core change occurred. FH-060 remains pending; FH-049
208only integrates after accepted-main authority if it lands. FH-062 Saddler PASS
209and operator/owner acceptance remain open.
210
211## Eight-item design return
212
213The latest local follow-up starts at `08bbe827c5cb66f0edd8531a8a4d7c1ca697a690`.
214See [return-1/README.md](return-1/README.md) for the eight changes, six new offline
215captures, measured table/phone bounds, and latest 80-test commands/exits.
216The preceding fifteen captures remain unchanged and describe earlier stages.
217
218## Evidence cleanup
219
220Per the operator return, all twenty-one tracked JPGs were copied to the external
221bundle above before removal from the current tree. Both the expanded copies and
222archive members matched the source-head bytes and SHA-256 manifest. Original
223fifteen and new six-scene evidence are retained. No source, fixture, or test logic
224changed, so UI checks were not repeated; the latest source checks remain those
225at `6ce9674`. Cleanup checks verify the archive and staged scope. No history rewrite,
226publication, live action, or unaccepted FH-060 integration occurred. FH-060 acceptance
227remains required before the next plain-main integration. Other packet gates remain.
228
229## Accepted FH-060 integration
230
231Fresh `origin/main` verified exactly `f1910e6f571ed7359d30db37d3ddca86f9236803`
232after explicit acceptance and normal-merge authority. The saved local first parent
233is `d8befb64e9232c67a78044447aa8ec81445555c8`; accepted main is the second parent.
234No rebase or feature-branch copying occurred. Five conflicts were confined to
235`src/contracts.ts`, `src/fixture-main.ts`, `src/model.ts`, `src/view.tsx`, and
236`test/fixture-api.ts`. Resolution combines usage and collision types/scenarios,
237retains accepted pushing-fork collision gates and role-specific explanations,
238and applies current entrant budget gating after the collision is resolved.
239The queue keeps the eight-fix usage refusal in Actions only.
240
241Accepted FH-049 collision UI and FH-050 archive contract arrive through accepted
242main. Every path outside the dashboard matches accepted main exactly; no authored
243core, runner, deployment, Board, or upstream change was made. The unchanged pin is
244`8cbfb2b67e3da6222e4d7faeade0ff88eb4253bf`. Accepted state dots and edge-hour labels,
245shared passing-receipt Checks and race-window Pushes, source-separated ratios,
246compact accessible figures, no full-tie caption, unbudgeted behavior, and phone
247Compare layout retain the eight-fix source. A new regression checks that resolving
248an accepted collision cannot bypass an over/unchecked current entrant budget.
249
250| Latest command | Result |
251| --- | --- |
252| `CI=true pnpm --filter forkhorse-dashboard exec node --import ./test/jsx-runtime.ts --test test/race.test.ts test/usage.test.ts test/fork-graph.test.ts test/review.test.ts test/receipts.test.ts test/collisions.test.ts test/dashboard.test.ts test/needs-you.test.ts` | Exit 0; 120 passed, 0 failed |
253| `CI=true pnpm --filter forkhorse-dashboard exec node --import ./test/jsx-runtime.ts --test test/usage.test.ts` | Exit 0; 16 passed, 0 failed after adding the combined gate regression; 121 unique affected tests across these runs |
254| `CI=true pnpm --filter forkhorse-dashboard types:check` | Exit 0 after final regression |
255| `CI=true pnpm exec vp lint packages/forkhorse-dashboard` | Exit 0 after final regression |
256| `git -c core.fsmonitor=false diff --check` | Exit 0 |
257
258The same literal-color scan above returned exit 1 with zero matches. Existing
259fixture duplicate-project-key warnings remain. No heavy root/fresh-D5, workerd,
260Saddler, live, publication, deployment, route migration, or Board work ran.
261Those serialized operator/owner checks remain open. Reported upstream deployment
262and live acceptance are coordinator evidence, not evidence produced by this branch.
263
264Three refreshed JPGs remain external in `fh-062-fh060-integration-evidence.tar.gz`.
265Archive SHA-256: `dc7dd8e389b4a21768961217d66f758266239760ed0f8f6b0007e7e4bc5ce79c`.
266The operator handback supplies its local location. Unpack the basename, enter
267`fh-062-fh060-integration-evidence`, and run `shasum -a 256 -c SHA256SUMS`.
268All three expanded files and archive members were verified. This new bundle does
269not replace the preserved original twenty-one-image bundle above.
270
271| External filename | Offline integration evidence |
272| --- | --- |
273| unchecked-queue.jpg | Light docked queue, 1280 by 720; table client/scroll/wrapper each 880px, each refusal once in Actions |
274| over-review.jpg | Dark over-budget detail; source/freshness segments, three milestone cells, no Promote |
275| collision-review.jpg | Dark accepted collision detail; banner/actions coexist with explicit Not reported usage |
276
277These captures were justified by the merged queue/detail gate and collision UI.
278No browser API write occurred. The temporary tab closed, viewport reset, and
279loopback server stopped (intentional SIGINT exit 130). Its initial sandbox bind
280failed with EPERM (exit 1); the authorized loopback retry started successfully.
281
282## Candidate changed paths
283
284Complete current-tree candidate delta against accepted FH-060 main
285`f1910e6f571ed7359d30db37d3ddca86f9236803`:
286
287```text
288packages/forkhorse-dashboard/README.md
289packages/forkhorse-dashboard/src/contracts.ts
290packages/forkhorse-dashboard/src/fixture-main.ts
291packages/forkhorse-dashboard/src/fork-graph.tsx
292packages/forkhorse-dashboard/src/model.ts
293packages/forkhorse-dashboard/src/race-model.ts
294packages/forkhorse-dashboard/src/race-usage.tsx
295packages/forkhorse-dashboard/src/race.tsx
296packages/forkhorse-dashboard/src/review.tsx
297packages/forkhorse-dashboard/src/styles.css
298packages/forkhorse-dashboard/src/usage.ts
299packages/forkhorse-dashboard/src/usage.tsx
300packages/forkhorse-dashboard/src/view.tsx
301packages/forkhorse-dashboard/test/captures/fh-062/.gitignore
302packages/forkhorse-dashboard/test/captures/fh-062/README.md
303packages/forkhorse-dashboard/test/captures/fh-062/return-1/README.md
304packages/forkhorse-dashboard/test/fixture-api.ts
305packages/forkhorse-dashboard/test/race.test.ts
306packages/forkhorse-dashboard/test/usage-fixtures.ts
307packages/forkhorse-dashboard/test/usage.test.ts
308```
309