Skip to content

About

Daily tracker for a mossaic contribution-art plan — is VYNCINT still drawable in 2026, and what does today owe?

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

contribution-art

A tracker for a mossaic contribution-art plan. There is no code here: one workflow asks GitHub what has actually been contributed, compares it against the plan, and posts the report to issue #1.

The schedule is currently off. The cron block in track.yml is commented out, so the tracker reports only when it is dispatched by hand from the Actions tab.

The plan being tracked:

picture heart.art — 7 rows × 11 columns
year 2026
placement from week 39: Sunday 27 September to 12 December
shades 0 and 2 — empty, and a mid green
timezone Asia/Ho_Chi_Minh
·████·████·
███████████
███████████
███████████
·█████████·
···█████···
·····█·····

56 days at 36 contributions each — 2,016 in total — and 21 days inside the picture that have to stay dark. The last lit day falls on 25 November, which leaves thirty-six days of slack before the year does: a plan that lands on 31 December has no room for a week of illness.

It does not start in the week this plan was made. That week already had contributions on it, and the picture's top-left corner is dark, so starting there would have opened with a hole that nothing takes away. The first column a picture can have is the first one still entirely in the future.

It started at week 35, moved to 37 on 6 September 2026, and to 39 on 21 September, which is the one edit the rule below is meant to prevent, so it is worth recording why — twice, for the same reason.

Week 35 began on 30 August, and in the days between the plan being made and that week arriving, five days inside the picture picked up ordinary contributions — four of them on days the heart needs dark. Nothing takes a contribution away, so the plan was not behind, it was holed: it could not be drawn cleanly at that placement however much was contributed afterwards.

Week 37 was the earliest placement that holed nothing on 6 September. It was not merged that day, and by 21 September it was holed too — four days brighter than the picture wants — and so was 38, by one day. That is the failure repeating rather than a new one: a placement is only in the future until it isn't, and the gap between choosing one and landing it is enough. Week 39 is the earliest that holes nothing today. The numbers in reports from before each move describe a different plan and are not comparable.

The plan is those inputs. Changing start-week mid-year compares against a different plan and reports nonsense confidently, so it stays fixed until the year is over. The report prints the placement it used in its header — ### Heart · 2026 · week 39, 11 columns — and the action exposes it as the start-week and columns outputs; if either ever changes, so did the plan.

Why a picture and not text

A letter is five rows on Mon–Fri, two shades, and it has to fit the 5×5 font. This is seven rows — the weekend included — eleven columns, and any of GitHub's shades per day. matrix: points the action at the .art file in this repository, which is why the workflow now checks out the repo before running.

Why two shades and not five

GitHub's five greens are not evenly spaced. Every adjacent pair is 9–20 ΔE apart in the worst palette it ships, which is close enough to read as one colour — so a picture using all five puts near-identical greens side by side however carefully it is drawn. Level 0 against level 2 is ΔE 50: unmistakable.

It is also what makes this affordable. This graph's 2026 peak is 137, so a level-4 day costs 110 contributions and a level-2 day costs 37. The same heart in bright green would owe about 4,400 contributions instead of 1,960 — four times this account's existing daily pace rather than roughly matching it.

How it was set up

Exactly the four steps in mossaic's action guide:

  1. A public repository — free Actions minutes, nothing else in it.
  2. .github/workflows/track.yml, copied from track.example.yml with the with: block edited.
  3. No secrets. The issue-comment route needs none; the Slack, Discord, email and auto-commit steps are in the file but gated behind repository variables (SLACK_ENABLED, DISCORD_ENABLED, EMAIL_ENABLED, AUTO_COMMIT_ENABLED), so turning one on is a switch rather than an edit.
  4. Run once by hand from the Actions tab (with optional auto_commit checkbox), rather than waiting for tomorrow.

The action is pinned to vyncint/mossaic/action@v0.7.0, not @main, so it changes when I say so. matrix: arrived in 0.6.0.

Two things GitHub does that will bite you

  • A scheduled workflow in a public repository is disabled after 60 days without commits. GitHub emails first. A repository whose only job is a daily cron will hit this; push something occasionally, or re-enable it from the Actions tab. Moot while the cron above is commented out, and waiting for you again the day it is restored.
  • cron is UTC, always. 0 1 * * * is 08:00 in UTC+7. That is why timezone: is set — otherwise the day the report calls "today" disagrees with the day the graph shades.

Reading the report

drawn means finished. reachable means there is work left but nothing in the way. holed means days inside the picture are already brighter than it wants, and nothing takes a contribution away — the heart would read with holes in it.

For a picture that is two kinds of damage rather than one: a day meant to stay dark that has any contribution at all, and a day meant to be level 2 that has crept past 73 and would render as level 4. Both are permanent. The plan starts today precisely so that neither has had a chance to happen yet — every day it covers is still in the future.

About

Daily tracker for a mossaic contribution-art plan — is VYNCINT still drawable in 2026, and what does today owe?

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors