The deferred contributor slice of spec 010, designed against the SlopScale
practice plugin's leveling mechanisms as the driving use case: declarative
namespaced content bundles (paths + quest-pool entries), a plugin_event
goal type (match/min/distinct_by), auto-extending event whitelist for
enabled plugins, rank-persistent orphan semantics, bounded rewards, and
contributor participants in the progression capability pipeline.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 250d846629450aa31ed7831e495336527bb16f06)
- diagnostics_redact: keep '.psarc' in the song-filename scrub regex.
The purge swapped it for '.archive' (not a real extension), which
would leak real .psarc filenames still on users' disks into
diagnostic bundles. This is a redaction allow-list, not brand text.
- sloppak: the legacy lyrics-source alias was a no-op
({"notechart": "notechart"}), so old manifests with
lyrics_source=="sng" fell back to "xml" instead of migrating.
Map {"sng": "notechart"} so the rename stays back-compatible.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>