Skip to content

Pack metadata: align ModPackMetadata with RFC 0031 #31

Description

@Maximilian-Nesslauer

Part 5 of the split in #25, alongside storage (#26), network (#27), and the resolver (#28), because packs are covered by none of them.

ModPackMetadata still carries the pre-RFC shape.
RFC 0031 defines a pack as the shared authored core plus a small extension, so the class needs:

  • the shared core: spec_version, type, authors as a list (currently a single string), required abstract with optional description (currently one required description), license, tags, status and superseded_by, and links with the required forums entry,
  • game compatibility as game_min (which may be a month, a form GameVersion cannot represent) with optional game_max and os, replacing the single BuiltForGameVersion,
  • the pack extension: version, released_at, optional changelog, the pinned [[mods]] list, and the [[vehicles]] and [[saves]] sections with the same entry shape,
  • pack ids validated by the same id rules as mods (ModIds), since the namespace is global across content types.

A pack document is immutable once published, so the class can stay a plain snapshot: there is no generated half and no watcher involved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:coreBorea.Core, the domain modeldesign-repoBlocked on or waiting for a decision in mod-manager-design

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions