This plugin follows the family rule: it works alone, and it works with
every other supported iderex Jellyfin plugin installed at the same time.
Working alone means a stock server with only this plugin comes up clean and
every advertised function works. Where this plugin consumes another by
design, the absence of that other plugin degrades gracefully: a clear
message in the log and the dashboard, no crash, no partial writes.
Working together means the full set of supported plugins installed at once
produces no collisions: no clashing routes, no duplicate scheduled task
names, no fights over configuration keys or shared server state, and no
plugin changing another's behaviour except through a declared interface.
What this issue asks for, so the rule is held by a machine rather than by
care:
- An integration harness that boots a headless test server per supported
server line twice: once with this plugin alone, once with the full
supported set. Both runs must come up without startup errors, answer
their routes, and pass a collision scan over routes, task names and
configuration keys. The harness runs without a display and without
elevated rights, like every test in this repository.
- The matrix runs in CI on a schedule and before every release, and its
result is visible on the repository.
- A red matrix blocks the release until the collision is fixed or the
incompatibility is documented as a known limitation with its reason.
Done when the harness exists, the first full-matrix run is green on both
server lines, the schedule is active, and the release checklist names the
matrix as a condition.
This plugin follows the family rule: it works alone, and it works with
every other supported iderex Jellyfin plugin installed at the same time.
Working alone means a stock server with only this plugin comes up clean and
every advertised function works. Where this plugin consumes another by
design, the absence of that other plugin degrades gracefully: a clear
message in the log and the dashboard, no crash, no partial writes.
Working together means the full set of supported plugins installed at once
produces no collisions: no clashing routes, no duplicate scheduled task
names, no fights over configuration keys or shared server state, and no
plugin changing another's behaviour except through a declared interface.
What this issue asks for, so the rule is held by a machine rather than by
care:
server line twice: once with this plugin alone, once with the full
supported set. Both runs must come up without startup errors, answer
their routes, and pass a collision scan over routes, task names and
configuration keys. The harness runs without a display and without
elevated rights, like every test in this repository.
result is visible on the repository.
incompatibility is documented as a known limitation with its reason.
Done when the harness exists, the first full-matrix run is green on both
server lines, the schedule is active, and the release checklist names the
matrix as a condition.