pay-now pays back-dated periods the scheduler would skip #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The inconsistency
For a contract with
backfilloff and a start date in the past, the two settlement paths disagree about the same period:_settleskips any period whose payday predatescontract.created_at, recording it asskippedand consuming it. That guard exists so a new contract with a back-dated start (an anchoring choice — "we pay on the 15th") does not fire months of surprise back-pay on its first tick.pay_nowcallspay_perioddirectly and bypasses that check entirely, so it pays the same period.The window is real but narrow: between creating the contract and the first tick that consumes those periods, roughly five minutes.
It is deliberate —
pay_now's docstring argues an operator explicitly asking to pay is not the surprise the guard was built to prevent — but the result is that clicking a button inside that window produces a materially different outcome from waiting, with nothing saying so.Options
Leaning 2 short-term, 1 once #3 exists.
🤖 Generated with Claude Code
https://claude.ai/code/session_018jy52j9GRZ6XKa1Zt21LLj