Eigenstate
Notes / Ansatz

The position didn’t change. Did the button work?

The holding correctly stayed at one. I needed to make the check visible without making it look like another purchase or another step toward filling the order.

Revised Jason Shen

In an early version of my trading demo, clicking Read F1 again left the position at one. That was the intended result: the system had already recorded this trade. During review, the button still felt as though it needed a visible response. I wanted the reader to see a completed check while the holding remained unchanged.

The demo uses made-up trades and runs in the browser, with no broker connection. A reader follows a buy order for two units, sees one unit bought, and chooses whether its notification reaches the internal books. The provider, the simulated executing side, retains the trade either way.

If the notification is dropped, the provider holds one unit while the books still show zero. A position query reveals the difference; retrieving the trade history identifies F1, the missing entry. Once the system records that trade, receiving its identifier again must not turn one purchase into two.

The repeat button lets the reader examine that rule. The design problem is that skipping a duplicate and failing to process a click can leave the same prominent number on screen.

The comparison below starts after F1 has been recorded. On a wide screen, one button runs the repeat action for both layouts side by side. On a small screen, read F1 again, then switch layouts; the read count stays the same. The layouts are reconstructed for this comparison.

Try the two layouts

One click reads F1 in both layouts. Compare how each shows the result.

Read F1 again, then switch layouts. The read count stays the same.

Earlier feedback

In the books

1unit recorded
F1Buy 1 unit

Feedback beside the button

In the books

1unit recorded
F1Buy 1 unit

Read F1 again to check for a duplicate.

Rereads0

Position quantities agree

Both the provider and the books record one unit.

The earlier layout is reconstructed, not an archived page. Both layouts use the current demo’s calculation rules.

The interactive comparison requires JavaScript. The explanation in the Note remains available.

Count the checks separately from the holding

The earlier interface updated its explanation and a reread count in the comparison area. It did not leave the entire page unchanged. But the position was the most prominent number, and another click left it at one. The reader had to look elsewhere to distinguish a skipped duplicate from an action that had not run.

In the revised pane, the incoming F1 sits beside the F1 already in the books. Each click briefly moves the incoming record and highlights the match, then leaves a visible result: Duplicate skipped · +0 units. This shows which record was checked and why it added nothing.

I also made the reread count a separate, prominent number beside the button. It starts at zero after the original trade has been recorded and advances on every repeat click. The holding stays at one. The two numbers answer different questions: how many times the reader repeated the check, and how much was bought.

The motion draws attention to the check; the record ID, count and result explain it after the motion stops. With reduced motion enabled, those details remain visible. Repeated clicks also keep the button and scroll position in place, so the feedback does not move away from the action that caused it.

The counter gave each repeat a visible result. It also made the optional check more prominent. I still needed to show where it belonged in an order that was only partly filled.

Correct books can still leave the target unmet

The same review exposed a larger omission. The demo began with an order already accepted and ended when the missing record had been repaired. That was enough to examine recovery, but it left both the order’s origin and its remaining quantity outside the experience.

I extended it in both directions. The reader now starts with no holdings and a target of two, then submits the order. After the first trade and its record have been checked, the reader can buy the remaining unit or cancel it. Both paths end with a fresh position comparison.

The cancellation path makes the distinction useful: the final holding is one, the target is still two, and no order remains open. The books can accurately report that result even though the target was not reached. Buying the remaining unit instead ends with a holding of two and a fully filled order.

Those endings made the account more complete, but they also lengthened the sequence. A reader could understand each instruction and still have no sense of how much remained. Repairing the missing record had become an intermediate step rather than the finish.

The opening explains the choices and what the reader will compare at the end. A three-stage strip stays in the interaction: Order → Records → Outcome. Before a notification is lost, the preview explains that the trade remains at the provider while the books stay at zero. Finding and restoring F1 belongs to checking the records; it does not introduce another order or a new objective.

Several actions can be available at one point. I first reserved the white button for the next action I wanted to guide the reader toward: dropping the notification, then filling the remaining unit after recovery. Normal delivery and cancellation remained alternatives. This emphasis guided the teaching sequence, rather than recommending what a trader should do.

A later review found another source of confusion. The changing buttons asked the reader to submit an order, cause a fill, control a notification and repair the books. On a phone, the action area also moved above or below the records as the step changed. The reader’s apparent role and the place to act both kept changing.

The full demo now gives the reader one role: running the simulation. Previous and Next event stay in one navigation area. The next event names its participant, such as the provider or the trading system. Radio choices select a notification outcome or order ending; advancing applies that choice. Revisiting a branch returns to its choice point, so comparing another ending does not look like cancelling an order that has already filled.

Repeated reading remains a separate experiment below the position comparison. Its outlined button and count stay visible at the relevant checkpoint; only the detailed matching diagram folds away. The repeat result no longer replaces the guidance for the next event. In this Note, comparing repeat feedback is the main activity, so Read F1 again keeps the white button.

The repeat action now has a visible result and a clear place in the sequence. The reader can see that F1 was checked again, that no units were added, and that finishing the order is a separate choice. Whether this is clear to a reader arriving without an explanation from me remains untested.

How the comparison was built, and what remains to test

These changes came from reviewing and operating the demo during its construction. The feedback layouts use the current calculation rules. The shared button and large counter are later additions for this comparison; it is not an archive of the full earlier interface.

Browser checks cover repeated reads, both order endings and navigation. They verify those paths, not a stranger’s understanding. No independent reader session is recorded. The next check is to ask a reader to finish the cancellation path and explain why a holding below the target can still agree with the books, without a separate explanation from me.