Design candidate, not scheduled. Filed so the idea has a public home; motivated by tmuras/moosh#569.
The gap
The old plugins directory had an "other" category for ecosystem tools that are not Moodle plugins: Moosh, MDK, development tooling. The Marketplace migration dropped the category, so those tools lost their listing and their download links now 404. Moosh is the flagship case: an external CLI tool that deliberately runs outside any Moodle instance, with no component name and no version.php. Its maintainer has concluded, correctly, that converting it into Moodle plugin structure is not feasible.
camp cannot list such tools today, and the mismatch is structural rather than procedural. Everything in the data model hangs off the component frankenstyle name and root version.php: the namespace primary key, the schema component pattern, moodle-version ints, supported-Moodle ranges, the moodle-plugin-ci legs, tier semantics. Seeding a tool under an invented component name would assert a plugin type that is false.
What a deliberate design would need
The core verification machinery does not actually require plugin-ness. Deterministic rebuild at a tag, the hash ledger, append-only history, advisories, and the archive all work for any git-tagged project. The parts that need design:
- A separate namespace: no frankenstyle, so its own naming rules that cannot collide with component names. Probably a tools/ tree with plain names.
- A reduced tier model: source-verified rebuild is achievable, but there is no moodle-version, no supported range, no plugin-ci legs, so the trust story caps lower and the schema must say so honestly.
- A scope fence, because "other" invites everything. The directory-era precedent is a reasonable one: tools for operating or developing Moodle, with an established community footprint.
- An RFC scope amendment: the RFC is explicitly a plugin repository, so this is a decision about mission, not a seeding tweak.
Why it may be worth doing
The niche is orphaned: the Marketplace explicitly does not serve non-plugins, so there is no competitive tension, and it fits the registry's archive-as-memory role. The directory-era "other" listings are part of the ecosystem's history.
Why not now
The design cost is real (schema, namespace, site surfaces, RFC amendment) and the practical emergency in the motivating case does not need camp: GitHub releases already distribute Moosh. Parked until the current queue clears.
Design candidate, not scheduled. Filed so the idea has a public home; motivated by tmuras/moosh#569.
The gap
The old plugins directory had an "other" category for ecosystem tools that are not Moodle plugins: Moosh, MDK, development tooling. The Marketplace migration dropped the category, so those tools lost their listing and their download links now 404. Moosh is the flagship case: an external CLI tool that deliberately runs outside any Moodle instance, with no component name and no version.php. Its maintainer has concluded, correctly, that converting it into Moodle plugin structure is not feasible.
camp cannot list such tools today, and the mismatch is structural rather than procedural. Everything in the data model hangs off the component frankenstyle name and root version.php: the namespace primary key, the schema component pattern, moodle-version ints, supported-Moodle ranges, the moodle-plugin-ci legs, tier semantics. Seeding a tool under an invented component name would assert a plugin type that is false.
What a deliberate design would need
The core verification machinery does not actually require plugin-ness. Deterministic rebuild at a tag, the hash ledger, append-only history, advisories, and the archive all work for any git-tagged project. The parts that need design:
Why it may be worth doing
The niche is orphaned: the Marketplace explicitly does not serve non-plugins, so there is no competitive tension, and it fits the registry's archive-as-memory role. The directory-era "other" listings are part of the ecosystem's history.
Why not now
The design cost is real (schema, namespace, site surfaces, RFC amendment) and the practical emergency in the motivating case does not need camp: GitHub releases already distribute Moosh. Parked until the current queue clears.