Publishers, version-file formats, changelog rendering and dependency detection are all closed sets today. Adding a registry, a manifest format or a changelog style means a PR against FerrFlow, a release, and waiting for it.
That is the right trade at the current size: 14+ file formats and six publishers live in-tree and benefit from being tested together. It stops being the right trade when someone needs a registry nobody else uses, or a company-internal manifest format, and their only options are a fork or convincing us to carry their niche.
Worth deciding deliberately rather than drifting into it. Sketching the surface:
Two designs, with different costs. Dynamic loading (WASM, or a subprocess protocol) keeps plugins out of the binary and makes them a supply-chain surface FerrFlow would then be responsible for. Compile-time plugins via a crate feature keep the security story simple and give up the "install a plugin" experience entirely.
Not urgent. Filing it so the answer is a decision on the record rather than something that gets settled by whoever first needs it.
Publishers, version-file formats, changelog rendering and dependency detection are all closed sets today. Adding a registry, a manifest format or a changelog style means a PR against FerrFlow, a release, and waiting for it.
That is the right trade at the current size: 14+ file formats and six publishers live in-tree and benefit from being tested together. It stops being the right trade when someone needs a registry nobody else uses, or a company-internal manifest format, and their only options are a fork or convincing us to carry their niche.
Worth deciding deliberately rather than drifting into it. Sketching the surface:
PublishOutcomeis already a narrow contractget_handlerTwo designs, with different costs. Dynamic loading (WASM, or a subprocess protocol) keeps plugins out of the binary and makes them a supply-chain surface FerrFlow would then be responsible for. Compile-time plugins via a crate feature keep the security story simple and give up the "install a plugin" experience entirely.
Not urgent. Filing it so the answer is a decision on the record rather than something that gets settled by whoever first needs it.