Phase 1 of deprecating the format name sloppak -> feedpak. Purely additive
and fully back-compat: nothing sloppak stops working, and no on-disk/runtime
artifacts (cache dir, config, SLOPSMITH_* env) are touched.
- lib/sloppak.py: detection accepts both `.feedpak` and `.sloppak`
(new PACK_SUFFIXES / is_pack / is_feedpak; is_sloppak kept as a deprecated
alias that now matches both). Read the optional top-level `feedpak_version`
manifest key onto LoadedSloppak and into extract_meta(). Add LoadedFeedpak
class alias and a deprecation note in the module docstring.
- lib/feedpak.py (new): canonical module name; re-exports the sloppak public
API unchanged so new code can `import feedpak`.
- server.py: accept `.feedpak` uploads (_ALLOWED_SONG_EXTS + message); add a
`get_feedpak_cache_dir` plugin-context key alongside the legacy
`get_sloppak_cache_dir` (same dir); tolerate a `feedpak` value in the
library format filter.
- static/: accept `.feedpak` in the upload picker (index.html accept=, app.js
client-side filter).
- tests/test_feedpak_alias.py: both extensions detected + loaded via both
module names, feedpak_version read, legacy aliases intact.
The emitted `format` library tag stays "sloppak" for both extensions this
phase (flipping it to "feedpak" with badge/gating updates is a deliberate
frontend-touching follow-up). Format spec: got-feedback/feedback-feedpak-spec.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Kris Anderson <topkoa@gmail.com>
The 940-line format developer guide has moved to its own published repo,
got-feedback/feedback-feedpak-spec (released as feedpak v1.0.0). Replace
docs/sloppak-spec.md with a thin pointer at the same path so existing
references keep resolving; it links to the authoritative spec, bridges the
sloppak/feedpak naming, and keeps the feedback-specific "where it lives in
lib/" implementation map.
Also repoint the human-facing references — CLAUDE.md's developer-reference
link, the constitution's format reference, and the hand-editing guide's
cross-links (to the spec's renumbered §6/§8/§9.5). The hand-editing guide
itself stays: its practical "edit your own pack" content is not in the spec
repo. Inline code comments that cite old "sloppak-spec §X.Y" section numbers
are left for a follow-up (the path still resolves; numbers are approximate).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Kris Anderson <topkoa@gmail.com>
The first-run calibration prompt (profile onboarding step 3) and the
Progress-screen calibration card both told the user to play the
"Slopsmith Diagnostic". Update the visible copy to "fee[dB]ack
Diagnostic". Text-only; the diagnostic is matched functionally by the
is_diagnostic flag + filename, not by this label, so no behavior change.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: topkoa <topkoa@gmail.com>