MagnonIn Progress

Policies, goals, projects, and tasks

Magnon gives an organization one place for its policies, its goals, and the projects and tasks that deliver them. Policies keep every version, goals track real metrics against targets, and projects and tasks come with saved views. When a decision needs a vote, Magnon also runs ballots, including majority judgment (voters grade every option) and STAR (voters score options, then the top two go to a runoff).
Magnon · src/goals.rs
use magnon::goal::{self, CreateGoalInput, GoalableSource};
use magnon::metric::{self, CreateMetricInput, MetricTarget, ReadingInput, ReadingSourceKind};

let goal = goal::create(
    CreateGoalInput {
        source: GoalableSource::Org(hub.id.clone()),
        title: "Cut p99 latency 40%".into(),
        description: None,
        success_criteria: None,
        start_date: None,
        target_date: None,
    },
    &valence,
)
.await?;

let p99 = metric::create(
    CreateMetricInput {
        goal_id: goal.id.clone(),
        name: "p99 latency".into(),
        unit: "ms".into(),
        target: MetricTarget::AtMost { value: 120.0 },
        cadence: None,
    },
    &valence,
)
.await?;

metric::record_reading(
    &p99.id,
    ReadingInput {
        value: 118.0,
        recorded_at: None,
        note: None,
        source_kind: ReadingSourceKind::Manual,
        external_ref: None,
    },
    &valence,
)
.await?;

let progress = goal::goal_progress(&goal.id, &valence).await?;
assert_eq!(progress.state.pct(), Some(100));
Ships inNot in a template yet
Works withPolaron·Valence·Chronon

Why it exists

Decisions get made in chat threads and then forgotten. Magnon records the policy, the goals it serves and the work that delivers them, on top of the teams Polaron already knows about.

Release status

Magnon works end to end in its own product tests, but it isn't in the public templates or on this site yet. It reads orgs and teams from Polaron and uses Chronon to open and publish ballots on schedule.
Versioned policies
Implemented
Keep every version of a policy and compare any two side by side.
Vision and mission
Implemented
Draft, publish, supersede and retire an org's vision and mission.
Goals and metrics
Implemented
Attach goals to orgs, teams, applications, policies or projects, and track metrics with targets and readings.
Org, team and app hubs
Implemented
Give each org, team and application a strategy page that Polaron shows on the team's own page.
Projects and tasks
Implemented
Track projects and tasks with saved views.
Ballots
Implemented
Run majority judgment, STAR, plurality or approval ballots with sealed votes, embargoes and scheduled publishing.
Public release
In Progress
Magnon isn't mounted in a template or on this host yet.

Code sample

Taken from the getting-started docs. See all code samples on Resources.
Magnon goalMagnon
A goal with a measured target
use magnon::goal::{self, CreateGoalInput, GoalableSource};
use magnon::metric::{self, CreateMetricInput, MetricTarget, ReadingInput, ReadingSourceKind};

let goal = goal::create(
    CreateGoalInput {
        source: GoalableSource::Org(hub.id.clone()),
        title: "Cut p99 latency 40%".into(),
        description: None,
        success_criteria: None,
        start_date: None,
        target_date: None,
    },
    &valence,
)
.await?;

let p99 = metric::create(
    CreateMetricInput {
        goal_id: goal.id.clone(),
        name: "p99 latency".into(),
        unit: "ms".into(),
        target: MetricTarget::AtMost { value: 120.0 },
        cadence: None,
    },
    &valence,
)
.await?;

metric::record_reading(
    &p99.id,
    ReadingInput {
        value: 118.0,
        recorded_at: None,
        note: None,
        source_kind: ReadingSourceKind::Manual,
        external_ref: None,
    },
    &valence,
)
.await?;

let progress = goal::goal_progress(&goal.id, &valence).await?;
assert_eq!(progress.state.pct(), Some(100));