pub trait HealthNode: ProjectNode {
// Required method
fn assignee(&self) -> Option<&str>;
}Expand description
The one per-issue fact project health reads beyond ProjectNode.
ProjectNode is WP02’s minimal shape and deliberately does not grow a member
for a later work package: WP03 implements it for crate::model::Issue in
src/model.rs, which WP04 may not edit, so a required method added there would
not compile. This trait is the adapter instead — implemented for
crate::model::Issue in the WP04 surface (src/commands/view.rs) — which
keeps this module free of the issue model, exactly as its module contract
promises.
Required Methods§
Sourcefn assignee(&self) -> Option<&str>
fn assignee(&self) -> Option<&str>
The issue’s assignee, None when unset. A blank value counts as unset;
assigned_keys is where that rule lives.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl HealthNode for Issue
The WP04 adapter for project health.
crate::projects::HealthNode is a WP04-local trait, and src/projects.rs
stays free of the issue model (its module contract). WP03 owns
src/model.rs, which this WP may not edit, so the one impl for the real record
lives here, in the work package’s authoritative surface.