Skip to content

RFC-028 — Pack management / multi-pack composition / vendor packs #115

@chipi

Description

@chipi

Summary

The vocab loader (load_packs) supports multi-pack composition since v1.2.0 (RFC-018). It accepts pack name strings; collisions raise ManifestError. v1.9.0 ships with 2 packs (starter + expressive-baseline) loaded together; the workflow works end-to-end. But the loader's conflict-resolution behavior under heavier multi-pack scenarios hasn't been stress-tested.

What this RFC would argue

  • Pack-versioning shape. Semver per pack? Lockfile (chemigram.lock)? How does a photographer pin a specific version of a vendor pack vs floating to latest?
  • Vendor-pack distribution. PyPI? GitHub releases? A vendor-pack repo with a registry? Fetch-and-cache mechanism?
  • Cross-pack name collision rules. Currently first-load-wins (or error?). What's the right policy when starter ships exposure and a vendor ships exposure with different magnitudes? Namespacing? Explicit override?
  • Pack endorsement / curation. When vendors ship packs, does the project curate or just list? Quality bar?
  • Cross-pack composition stress-tests. What happens when 5 packs load with overlapping entries?

Why this is keyboard-only (v1.10.0 candidate)

Pure RFC drafting + a few stress tests against the existing loader. No darktable required.

Related

  • RFC-018 / ADR-063+ADR-064 (multi-pack loading shipped v1.2.0)
  • RFC-027 (multi-photographer review; the social companion)
  • ADR-046 (vocabulary pack distribution — historical)

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions