indicio 0.16.0

Indicio provides a framework for emitting clues that may be used for debugging.
Documentation
indicio
=======

Indicio provides a framework for emitting clues that may be used for debugging.

Status
------

Active development.  Indicio is likely to change in the near future in backwards-incompatible ways.

Scope
-----

Indicio provides:

- A `Value` tree for structured clue payloads.
- The `value!` and `clue!` macros for lazy clue construction.
- `Collector` for registering an emitter and filtering by verbosity.
- `StdioEmitter` for human-readable stderr output.
- `ProtobufEmitter` for append-only clue files when the `prototk` feature is enabled.

The protobuf file format is a sequence of field-1 clue messages.  It remains readable as a
`ClueVector` so existing consumers can continue to decode files written by `ProtobufEmitter`.

Warts
-----

- `Map` preserves insertion order and duplicate keys.  Lookup returns the first matching key.
- `Value` equality gives `f64` values a total ordering semantics, so values such as `-0.0` and
  `0.0` compare differently.
- `puzzle_piece!` is intentionally small.  Use `try_extract` when callers need a missing-path or
  type-mismatch diagnostic; `extract` remains available for the older `Option`-returning API.

Documentation
-------------

The latest documentation is always available at [docs.rs](https://docs.rs/indicio/latest/indicio/).