allow fragments to be per-artifact

We should probably allow global substitutions to be
supported as a fallback.