Severity: low — but creates the SENTRY-B / #2705 breakage when combined with wheels packages add.
Surfaced by: titan Phase 2.1 (Wheels 4.0 upgrade), 2026-05-15.
Description
The wheels-sentry@1.0.0 package ships two manifest files that disagree about where it should be installed:
package.json (4.0 PackageLoader convention) declares provides.mixins = \"controller\" — implies install to vendor/<name>/ so PackageLoader can pick it up.
box.json (legacy ForgeBox convention) declares directory: \"/plugins/\" + packageDirectory: \"sentry\" — implies install to plugins/sentry/.
Sentry.cfc:79 hardcodes the plugins.sentry.SentryClient path, so only the legacy install location works. Combined with the fact that wheels packages add installs to vendor/<name>/ (lucli-canonical) and ignores box.json hints, the package is broken at its canonical install path — see #2705 for the symptom.
Suggested fix
Pick one install convention and ship one manifest. Options:
- Drop
box.json — the package is Wheels 4.0+ only, lucli-canonical (vendor/<name>/). Update Sentry.cfc:79 to reference SentryClient.cfc via relative file path so it works wherever installed.
- Drop the 4.0-shape
package.json — keep the legacy box.json, ship as a plugins/-style legacy package only. Note this would foreclose on PackageLoader mixin/middleware integration.
Option 1 is forward-looking; Option 2 is least disruptive.
cc @bpamiri
Severity: low — but creates the SENTRY-B / #2705 breakage when combined with
wheels packages add.Surfaced by: titan Phase 2.1 (Wheels 4.0 upgrade), 2026-05-15.
Description
The
wheels-sentry@1.0.0package ships two manifest files that disagree about where it should be installed:package.json(4.0 PackageLoader convention) declaresprovides.mixins = \"controller\"— implies install tovendor/<name>/so PackageLoader can pick it up.box.json(legacy ForgeBox convention) declaresdirectory: \"/plugins/\"+packageDirectory: \"sentry\"— implies install toplugins/sentry/.Sentry.cfc:79hardcodes theplugins.sentry.SentryClientpath, so only the legacy install location works. Combined with the fact thatwheels packages addinstalls tovendor/<name>/(lucli-canonical) and ignoresbox.jsonhints, the package is broken at its canonical install path — see #2705 for the symptom.Suggested fix
Pick one install convention and ship one manifest. Options:
box.json— the package is Wheels 4.0+ only, lucli-canonical (vendor/<name>/). UpdateSentry.cfc:79to referenceSentryClient.cfcvia relative file path so it works wherever installed.package.json— keep the legacybox.json, ship as aplugins/-style legacy package only. Note this would foreclose on PackageLoader mixin/middleware integration.Option 1 is forward-looking; Option 2 is least disruptive.
cc @bpamiri