class

ContributorMural::Runner

Inherits Reference < Object

Orchestrates the pipeline: resolve users, embed avatars, render styles, write files. Returns a process exit code.

Constants

MAX_MISSING_SHARE = 0.5

How much of a wall may go missing before the run refuses to write it, and the smallest wall the rule is allowed to judge.

One 404 is an ordinary thing — a deleted account, a renamed org — and the per-person warning is the right weight for it. Most of a large wall going at once is not: that shape is a token, a network, or a host-wide throttle, and it is never what anyone meant to commit.

The floor is what keeps the rule from turning ordinary attrition into a workflow that is red forever. On a wall of three, two deleted accounts are over any share worth picking, and they will still be over it tomorrow with nothing anyone can fix — which would make fail_on_missing: false, the default, a promise this broke. A share only carries information once there are enough people for it to be a share of.

MAX_RASTER_JOBS = 4

Each PNG is an rsvg-convert process, so this is bounded by cores rather than by patience — unlike everything else in the pipeline, which waits on the network.

MISSING_FLOOR = 8

Constructors

new(config : Config, avatar_source : AvatarSource, workspace : String = Dir.current, github_source : GitHubSource | Nil = nil, committer : Committer | Nil = nil, rasterizer : Rasterizer | Nil = nil)
Source

Instance methods

written_paths
Source