{
  "markdown": "# time-value\n\nType-safe time-value-of-money calculations in Rust.\n\nA Cargo workspace whose published crate is [`time_value`](crates/time_value).\nTwo unpublished crates sit beside it: [`time-value-cli`](crates/time-value-cli),\nwhich installs the `time-value` command, and `crates/bundle-check`, which exists\nso the knowledge bundle's invariants are asserted rather than eyeballed.\n\nThe library comes first and the surfaces follow it — a feature is modelled and\nbuilt in `time_value`, then exposed in the CLI, then in the MCP server. A\nsurface validates nothing of its own.\n\nNothing here is published. The `0.1.0`–`0.8.0` series on crates.io is a\nseparate, immutable history that this line does not continue.\n\n## The Knowledge Bundle\n\n[`knowledge/`](knowledge/) is an [Open Knowledge Format][okf] bundle and this\nproject's authoritative documentation: what each formula is, where its\ndefinition came from, which convention was followed where sources disagree, and\nwhat has deliberately been left open. There are no ADRs.\n\nConcepts come before code. A formula is modelled first, and the implementation\nfollows the model — so the bundle is worth reading before the source, not after.\n\nEach claim says where it came from. A footnote means a source supports it;\notherwise it is labelled **Decided** or **Derived**, so a reader can tell a\nchoice from a consequence. Most of it is ours: the sources give formulas and\nlittle else.\n\n[okf]:\n  https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md\n\n## Development\n\n```sh\nnix develop           # toolchain, bacon, nextest, cargo-deny, prettier, hooks\nbacon                 # continuous clippy\n```\n\nEverything CI runs, runs the same way locally — CI runs this exact script:\n\n```sh\nnix develop -c ./scripts/check.sh            # everything\nnix develop -c ./scripts/check.sh clippy     # one check, by name\n```\n\nIt reports every check rather than stopping at the first failure, and refuses to\nrun against a stable `rustfmt`, which would silently ignore most of\n`rustfmt.toml` and pass anyway.\n\nThe knowledge bundle is checked by those tests too — its structure and links by\n[`okf-graph`](https://crates.io/crates/okf-graph), and its frontmatter by the\nstricter rules this repo holds itself to.\n\n## Repo settings\n\nThis repo's own GitHub rulesets are version-controlled in\n[`.github/rulesets/`](.github/rulesets/) and reconciled by\n`scripts/settings.sh --check` / `--apply`.\n\n## License\n\nLicensed under either of [Apache-2.0](LICENSE-APACHE) or [MIT](LICENSE-MIT) at\nyour option.\n",
  "bytes": 2537,
  "sha": "1d41d6ec838855fa78ddb8c19280fc4762c444db64ad8ff477677458ef83f663",
  "repo_slug": "agpalindrome/time-value",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_agpalindrome_time_value_knowledge_index__d1a0db64/readme"
}