# adding-rakkotan
`adding-rakkotan` is a dependency-free Rust library for explainable review of
an organization's proposed Rakkotan adoption. It represents six requirements:
- a measurable purpose and outcome;
- decision authority and official terms;
- documented data governance;
- learner and user protection;
- operational ownership;
- a reversible exit plan.
Known violations of authority, data governance, or user protection are gates
and cannot be averaged away by favorable findings elsewhere.
## Example
```rust
use adding_rakkotan::{AdoptionPlan, AdoptionPolicy, AdoptionPrinciple as P, Finding};
let plan = AdoptionPlan::new("Example Corp")?
.assess(P::PurposeAndOutcome, Finding::Satisfied, "pilot goal is measurable")?
.assess(P::AuthorityAndTerms, Finding::Satisfied, "terms were reviewed")?
.assess(P::DataGovernance, Finding::Satisfied, "data flow is documented")?
.assess(P::UserProtection, Finding::Satisfied, "support is available")?
.assess(P::OperationalOwnership, Finding::Satisfied, "an owner is assigned")?
.assess(P::ReversibleAdoption, Finding::Satisfied, "exit is documented")?;
let report = AdoptionPolicy::evaluate(&plan);
assert_eq!(report.decision(), adding_rakkotan::AdoptionDecision::Ready);
# Ok::<(), adding_rakkotan::AdoptionError>(())
```
## Sources and scope
The product context is based on the official descriptions of
[Rakkotan](https://edu-net.co.jp/rakkotan_bak) and
[Rakkotan Biz](https://edu-net.co.jp/rakkotan_biz).
This crate is independent and unofficial. It is not affiliated with Education
Network Co., Ltd., MIRABO Co., Ltd., or the Rakkotan service. Product and company
names may be trademarks of their respective owners. The crate does not purchase,
license, configure, or provide Rakkotan, and it is not legal, privacy, security,
or procurement advice. Confirm current terms with the official provider.