Decide: should manual pricing apply to every period, or only back-dated ones? #6
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?
A behaviour question left open by
1584eb3, worth a deliberate answer rather than inheriting the one that fell out of a bug fix.What changed and why
resolve_priceused to testpayday >= todaybefore the mode, somanualwas silently ignored for any period not already back-dated — "pay at the rate we agreed" quietly didn't, which was the bug. A stated rate now wins unconditionally.The consequence
manualis no longer just a back-dating correction: a contract set tomanualwith a rate converts every period at it, ignoring the market entirely. That is a fixed-rate contract, and it is a genuinely useful thing — a salary pegged to a rate both parties agreed — but it is a bigger feature than "let me correct one entry", and nothing in the UI presents it as such.Options
manualonly applies to back-dated periods; per-payout override still applies always. Preserves the bug fix (an explicit override wins) without making a standing contract ignore the market.manualentirely — make it a pay-now / add-past-payout override only, and let contracts choose betweenpaydayandcurrent.Option 1 is the current behaviour and the least code. Option 2 is the subtlest to explain. Worth deciding alongside #3, since a first-class "add a past payout" would take over most of what per-payout
manualis for.Related
Also unanswered: the memo now names the rate on every payout, including same-day ones where it is just "now". Valuable for a back-dated payout, arguably clutter otherwise — the clause is trivial to restrict to back-dated periods if it reads as noise in the payments list.
🤖 Generated with Claude Code
https://claude.ai/code/session_018jy52j9GRZ6XKa1Zt21LLj