Reconcile browser editor fixture and scripted action #23

Closed
opened 2026-09-28 04:20:01 +00:00 by xavierk · 1 comment
Owner

Part of Find the way to Odin’s build-ready specification.

Question

How should Odin Browser Interaction v1 reconcile its deterministic editor fixture with the second scripted action? Specify Odin’s v1 browser interaction workload makes line zero a heading ("## Section 0000") under the stated fixture rule, while the second editor action says to bold the first "alpha" on line one. Under ordinary one-based line numbering, line one contains no "alpha". Resolve the line numbering and exact eight-action editor script so every trigger has a valid target and independently checkable expected state. State whether the fixture or action changes, and how that changes workload identity, expected digests, pack manifest, calibration, and qualification. Preserve the approved 240-sample protocol unless the human explicitly revises it.

This is a specification decision. Do not implement or run the production workload in this ticket.

Part of [Find the way to Odin’s build-ready specification](https://git.bongbetic.com/xavierk/odin/issues/1). <!-- wayfinder-map: 1 --> ## Question How should Odin Browser Interaction v1 reconcile its deterministic editor fixture with the second scripted action? [Specify Odin’s v1 browser interaction workload](https://git.bongbetic.com/xavierk/odin/issues/20#issuecomment-6927) makes line zero a heading ("## Section 0000") under the stated fixture rule, while the second editor action says to bold the first "alpha" on line one. Under ordinary one-based line numbering, line one contains no "alpha". Resolve the line numbering and exact eight-action editor script so every trigger has a valid target and independently checkable expected state. State whether the fixture or action changes, and how that changes workload identity, expected digests, pack manifest, calibration, and qualification. Preserve the approved 240-sample protocol unless the human explicitly revises it. This is a specification decision. Do not implement or run the production workload in this ticket.
xavierk added the wayfinder:grilling label 2026-09-28 04:20:08 +00:00
xavierk added a new dependency 2026-09-28 04:20:12 +00:00
xavierk self-assigned this 2026-09-28 04:26:40 +00:00
Author
Owner

Resolution — editor line numbering and action states

The product owner chose one-based editor line numbers. The fixture generator remains unchanged: its j = 0 heading is editor line one; its j = 1, j = 2, and j = 3 paragraphs are editor lines two, three, and four. All 1,024 initial lines remain 31 ASCII bytes plus LF, exactly 32,768 bytes. The initial full-document SHA-256 is dfbce9a8e04663ac02f8a7fc1159d9ca562785bc4d52d56cb30aca7fe2d7e816.

Keep the eight measured editor actions in their original order. Field preparation and text selection precede each measured trigger. Compare the full UTF-8 document, including spaces and LF, with the expected digest after each action. Also assert the stated visible editor/preview state; a matching document digest alone does not validate search or rendering.

Action Trigger and expected visible state Document bytes SHA-256 after action
1 With caret after 0001 and before the line's ten padding spaces, insert X on line two. Line two reads alpha beta gamma 0001X before its original padding. 32,769 96226f0bd6b252b0af58a804e1dbfae66cc45d0583bc6638ea1775274fdb30e0
2 Select the first alpha on line two and trigger bold. Source begins **alpha** beta gamma 0001X; preview displays alpha as bold. 32,773 25a2efe4b881de600f096843c7f921501ee95cbe69d0a9bffff281d5ed3f75d8
3 Find the first gamma in document order. Search highlights the gamma on line two; line one contains no match. Source stays unchanged. 32,773 25a2efe4b881de600f096843c7f921501ee95cbe69d0a9bffff281d5ed3f75d8
4 Replace that highlighted match with delta. Line two begins **alpha** beta delta 0001X; preview reflects delta. 32,773 f3ffe56252dbb57f3d2c99e4709ec94d69a74decf111ebc25e9f077336872e46
5 Turn line three into a level-two heading by prefixing ## to its existing content. It begins ## alpha beta gamma 0002; preview renders that heading. 32,776 f494a7a70acc814993c9ba2c1e00b5bb8ee2c8772b2996e6f9c5a99eba05bc55
6 Delete entire line four, alpha beta gamma 0003 with its padding and LF. Former line five (alpha beta gamma 0004) becomes line four; preview no longer shows the deleted paragraph. 32,744 6d3a80cc7cf6f43b5687210bbccf60ac638b4d469fa45fee8746cbbf2e38586f
7 Undo the deletion as one edit transaction. alpha beta gamma 0003 returns as line four and appears in preview. 32,776 f494a7a70acc814993c9ba2c1e00b5bb8ee2c8772b2996e6f9c5a99eba05bc55
8 Redo the deletion as one edit transaction. Line four again becomes former line five; preview again omits the deleted paragraph. 32,744 6d3a80cc7cf6f43b5687210bbccf60ac638b4d469fa45fee8746cbbf2e38586f

The ten original padding spaces remain on modified paragraph lines; insertion and heading conversion add bytes before or around them as stated. Reset must restore the original fixture and clear editor history, selection, and search state before the next cycle. The checker must verify every action's source digest and visible state independently of the application under test. A no-op search, wrong undo target, or incorrect preview invalidates the suite.

This corrects the action script and expected states in Specify Odin’s v1 browser interaction workload; it does not change the fixture bytes or the approved protocol of two warmup cycles, ten measured cycles, eight actions per scenario, and 240 scored samples. The corrected script and expected values must enter the pinned pack manifest. Their changed bytes produce a new pack ID and browser workload identity; no digest, calibration value, or qualification from the conflicting draft may be reused. Generate the final manifest and pack ID from actual shipped bytes, then apply the existing offline smoke, engine/mode qualification, and fresh physical calibration gates before numerical browser or headline scores. No production pack or calibration was built in this ticket.

## Resolution — editor line numbering and action states The product owner chose **one-based editor line numbers**. The fixture generator remains unchanged: its `j = 0` heading is editor line one; its `j = 1`, `j = 2`, and `j = 3` paragraphs are editor lines two, three, and four. All 1,024 initial lines remain 31 ASCII bytes plus LF, exactly 32,768 bytes. The initial full-document SHA-256 is `dfbce9a8e04663ac02f8a7fc1159d9ca562785bc4d52d56cb30aca7fe2d7e816`. Keep the eight measured editor actions in their original order. Field preparation and text selection precede each measured trigger. Compare the full UTF-8 document, including spaces and LF, with the expected digest after each action. Also assert the stated visible editor/preview state; a matching document digest alone does not validate search or rendering. | Action | Trigger and expected visible state | Document bytes | SHA-256 after action | | --- | --- | ---: | --- | | 1 | With caret after `0001` and before the line's ten padding spaces, insert `X` on line two. Line two reads `alpha beta gamma 0001X` before its original padding. | 32,769 | `96226f0bd6b252b0af58a804e1dbfae66cc45d0583bc6638ea1775274fdb30e0` | | 2 | Select the first `alpha` on line two and trigger bold. Source begins `**alpha** beta gamma 0001X`; preview displays `alpha` as bold. | 32,773 | `25a2efe4b881de600f096843c7f921501ee95cbe69d0a9bffff281d5ed3f75d8` | | 3 | Find the first `gamma` in document order. Search highlights the `gamma` on line two; line one contains no match. Source stays unchanged. | 32,773 | `25a2efe4b881de600f096843c7f921501ee95cbe69d0a9bffff281d5ed3f75d8` | | 4 | Replace that highlighted match with `delta`. Line two begins `**alpha** beta delta 0001X`; preview reflects `delta`. | 32,773 | `f3ffe56252dbb57f3d2c99e4709ec94d69a74decf111ebc25e9f077336872e46` | | 5 | Turn line three into a level-two heading by prefixing `## ` to its existing content. It begins `## alpha beta gamma 0002`; preview renders that heading. | 32,776 | `f494a7a70acc814993c9ba2c1e00b5bb8ee2c8772b2996e6f9c5a99eba05bc55` | | 6 | Delete entire line four, `alpha beta gamma 0003` with its padding and LF. Former line five (`alpha beta gamma 0004`) becomes line four; preview no longer shows the deleted paragraph. | 32,744 | `6d3a80cc7cf6f43b5687210bbccf60ac638b4d469fa45fee8746cbbf2e38586f` | | 7 | Undo the deletion as one edit transaction. `alpha beta gamma 0003` returns as line four and appears in preview. | 32,776 | `f494a7a70acc814993c9ba2c1e00b5bb8ee2c8772b2996e6f9c5a99eba05bc55` | | 8 | Redo the deletion as one edit transaction. Line four again becomes former line five; preview again omits the deleted paragraph. | 32,744 | `6d3a80cc7cf6f43b5687210bbccf60ac638b4d469fa45fee8746cbbf2e38586f` | The ten original padding spaces remain on modified paragraph lines; insertion and heading conversion add bytes before or around them as stated. Reset must restore the original fixture and clear editor history, selection, and search state before the next cycle. The checker must verify every action's source digest and visible state independently of the application under test. A no-op search, wrong undo target, or incorrect preview invalidates the suite. This corrects the action script and expected states in [Specify Odin’s v1 browser interaction workload](https://git.bongbetic.com/xavierk/odin/issues/20#issuecomment-6927); it does not change the fixture bytes or the approved protocol of two warmup cycles, ten measured cycles, eight actions per scenario, and 240 scored samples. The corrected script and expected values must enter the pinned pack manifest. Their changed bytes produce a new pack ID and browser workload identity; no digest, calibration value, or qualification from the conflicting draft may be reused. Generate the final manifest and pack ID from actual shipped bytes, then apply the existing offline smoke, engine/mode qualification, and fresh physical calibration gates before numerical browser or headline scores. No production pack or calibration was built in this ticket.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: xavierk/odin#23