error[E0277]: the trait bound `Undeclared: DeclaresPublish<_>` is not satisfied
  --> tests/trybuild/fail/undeclared_family.rs:17:41
   |
17 |         let _undeclared = ctx.publisher(api::topic::new().drive().target()).await?;
   |                               --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
   |                               |
   |                               required by a bound introduced by this call
   |
help: the trait `DeclaresPublish<_>` is not implemented for `Undeclared`
  --> tests/trybuild/fail/undeclared_family.rs:9:1
   |
 9 | struct Undeclared {
   | ^^^^^^^^^^^^^^^^^
note: required by a bound in `phoxal::participant::SetupContext::<R>::publisher`
  --> src/participant/context.rs
   |
   |     pub async fn publisher<B>(&self, topic: Topic<Publish<B>>) -> crate::Result<Publisher<B>>
   |                  --------- required by a bound in this associated function
...
   |         R: DeclaresPublish<B>,
   |            ^^^^^^^^^^^^^^^^^^ required by this bound in `SetupContext::<R>::publisher`

error[E0277]: the trait bound `Undeclared: DeclaresPublish<phoxal_api::y2026_1::drive::Target>` is not satisfied
  --> tests/trybuild/fail/undeclared_family.rs:17:27
   |
17 |         let _undeclared = ctx.publisher(api::topic::new().drive().target()).await?;
   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `DeclaresPublish<phoxal_api::y2026_1::drive::Target>` is not implemented for `Undeclared`
  --> tests/trybuild/fail/undeclared_family.rs:9:1
   |
 9 | struct Undeclared {
   | ^^^^^^^^^^^^^^^^^
note: required by a bound in `phoxal::participant::SetupContext::<R>::publisher`
  --> src/participant/context.rs
   |
   |     pub async fn publisher<B>(&self, topic: Topic<Publish<B>>) -> crate::Result<Publisher<B>>
   |                  --------- required by a bound in this associated function
...
   |         R: DeclaresPublish<B>,
   |            ^^^^^^^^^^^^^^^^^^ required by this bound in `SetupContext::<R>::publisher`

error[E0277]: the trait bound `Undeclared: DeclaresPublish<phoxal_api::y2026_1::drive::Target>` is not satisfied
  --> tests/trybuild/fail/undeclared_family.rs:17:77
   |
17 |         let _undeclared = ctx.publisher(api::topic::new().drive().target()).await?;
   |                                                                             ^^^^^ unsatisfied trait bound
   |
help: the trait `DeclaresPublish<phoxal_api::y2026_1::drive::Target>` is not implemented for `Undeclared`
  --> tests/trybuild/fail/undeclared_family.rs:9:1
   |
 9 | struct Undeclared {
   | ^^^^^^^^^^^^^^^^^
note: required by a bound in `phoxal::participant::SetupContext::<R>::publisher`
  --> src/participant/context.rs
   |
   |     pub async fn publisher<B>(&self, topic: Topic<Publish<B>>) -> crate::Result<Publisher<B>>
   |                  --------- required by a bound in this associated function
...
   |         R: DeclaresPublish<B>,
   |            ^^^^^^^^^^^^^^^^^^ required by this bound in `SetupContext::<R>::publisher`
