@Mushrooms
You have found a bug in the 'variables' section of Harlowe's tw-debugger implementation, it seems like it only updates the shown value of variables that are actually changed within the current passage.
I strongly suggest you create a new Issue informing the developer on the Harlowe project's repository, because the developer may not see this question on this site.
Possible cause:
Harlowe uses a hierarchical object (1) to store Variable History and it contains both the current and previous states of all currently known story variables, each level within that hierarchy only stores values for story variables that where directly referenced (via (set:) macros) within the associated passage.
eg. The current state objects for each of your passage would look like the following:
first passage: {phs: 0, int: 0, hrt: 0}
'choice' passage: {}
'phs' passage: {phs: 1}
... you will note that the 'choice' passage's current state object doesn't contain any values.
So when you Undo from the 'phs' passage back to the 'choice' passage then tw-debugger code seems to believe that nothing has changed so it doesn't update the shown values.
One way to temporarily get around this issue within the tw-debugger is to directly reference the related story variable(s) within your 'choice' passage like so...
(set: $phs to $phs)\
Your physical strength is $phs
Your intellect is $int
Your compassion is $hrt
[[phs]]
[[int]]
[[hrt]]
...which will cause the current state objects change to..
first passage: {phs: 0, int: 0, hrt: 0}
'choice' passage: {phs: 0}
'phs' passage: {phs: 1}
...which in turn will cause the value of $phs in the 'variables' section to be updated.
(1) Hierarchical Variables History Object: Each time a Passage Transition occurs Harlowe creates a new variables state object, it then (converts and) assigns the old variables state object as the prototype of the new object. The structures of each of your passages would look something like the following,
a. The Variables object when the first passage is shown
variables = {
phs: 0,
int: 0,
hrt: 0
}
b. The Variables object when your 'choice' passage is shown
variables = {
prototype: {
phs: 0,
int: 0,
hrt: 0
}
}
c. The Variables object when your 'phs' passage is shown
variables = {
phs: 1,
prototype: {
prototype: {
phs: 0,
int: 0,
hrt: 0
}
}
}