Repository navigation
fix: move the heart to week 37, where it can still be drawn - #14
Conversation
The plan was `holed` — not behind, but unable to be drawn cleanly at that
placement however much is contributed from here on. Five days inside the
picture had picked up ordinary contributions since the plan was made, four
of them on days the heart needs dark, and nothing takes a contribution away:
2026-08-30 has 7, wants at most 0
2026-09-02 has 82, wants at most 70
2026-09-03 has 41, wants at most 0
2026-09-04 has 2, wants at most 0
2026-09-05 has 36, wants at most 0
Week 35 began on 30 August. The README's reasoning for choosing it over 34
was that it was "the first column still entirely in the future" — and it was,
when the plan was made. It stopped being so before it arrived.
Swept every placement that fits, against live data on 2026-09-06:
week 33..35 holed 13 / 8 / 5 holes
week 36 holed 1 hole
week 37..42 reachable 0 holes 56 days · 2,016 contributions
Week 37 is the earliest clean one, begins Sunday 13 September — still
entirely in the future, so the original rule holds — and keeps the most
slack: the last lit day is 25 November, thirty-six days before the year ends.
Week 42 is the last that fits.
`Cannot be drawn cleanly` becomes `On track — 2,016 contributions to go`.
This is the one edit "the plan is those inputs" exists to prevent, so both
the workflow comment and the README record why it happened and that reports
from before today describe a different plan.
Three corrections in the same pass, all measured rather than carried over:
the cost is 36/day and 2,016 total, not 35 and 1,960 — the year's peak has
moved since the README was written, and the peak is what prices a shade. The
"Why a picture" paragraph said thirteen columns where the file, the table and
the tool all say eleven. And the placement guard now names where the
placement actually appears: mossaic 0.7.0 puts it in the report header and
exposes it as the `start-week` and `columns` outputs, having previously
carried it on no line at all.
Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
Week 37 was the earliest clean placement when this branch was written on
6 September. It was not merged that day, and by 21 September it was holed
by four days — and 38 by one — so merging as written would have
reintroduced exactly the bug the branch exists to fix.
That is the same failure a second time, not a new one. The rule ("the
first column still entirely in the future") was never wrong; the gap
between choosing a placement and landing it is enough for the future to
become the past. So the comment in track.yml now says to measure on the
day it lands, and names the command that prints the earliest clean column
in its own output.
Week 39 begins Sunday 27 September and ends 12 December, last lit day
9 December — twenty-two days of slack before the year ends rather than
thirty-six, which is the price of the delay and still leaves room for a
bad week.
`mossaic-art --matrix heart.art --year 2026 --start-week 39 --track
vyncint` prints no "cannot be drawn" line; 38 still does.
Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
|
Rechecked before merging, and week 37 had aged out the same way week 35 did: Week 38 is holed by one day; 39 is the first clean one today. Merging this as written would have reintroduced exactly the bug it was opened to fix — this branch was correct on 6 September and sat for fifteen days. Pushed The part worth keeping: the rule was never wrong. "The first column still entirely in the future" is correct at the moment you measure it, and the gap between choosing a placement and landing it is what breaks it. So |
The heart could not be drawn. Not "behind" —
holed, mossaic's word for aplan where days inside the picture are already brighter than the picture
wants them, which no amount of future contributing takes back.
Five days, four of them on days the heart needs dark:
Why week 35 stopped working
The README's reason for choosing 35 over 34 was that it was "the first
column still entirely in the future". It was, when the plan was made. Week
35 began on Sunday 30 August, and between then and now ordinary work landed
inside it. The rule was right; the placement simply aged out from under it.
Where it goes
Swept every placement that fits the year, against live data today:
37 through 42 are all clean and all cost exactly the same — 56 days at 36
contributions each, 2,016 in total. Week 37 is the earliest, begins Sunday
13 September so it is still entirely in the future (the original rule, held
to), and keeps the most slack: the last lit day is 25 November, thirty-six
days before the year ends. Week 42 is the last that fits.
After:
The rule this edit breaks
"Keep this fixed: the plan is these inputs, and changing one compares
against a different plan." That rule is the reason this PR carries a
paragraph in the workflow and a paragraph in the README saying what moved,
when, and why — the numbers in reports from before today are not comparable
with the ones after it. This restarts the plan on purpose.
Three corrections carried in the same pass
All measured, not inherited:
peak has moved since it was written, and the peak is what prices a shade.
.artfile, the table and the tool all say eleven.mossaic 0.7.0 puts it in the report header (
· week 37, 11 columns) andexposes it as the
start-weekandcolumnsoutputs; before that itappeared on no line at all, so the guard pointed at nothing.