tokmd-sensor 1.9.0

EffortlessSensor trait and substrate builder for multi-sensor integration.
Documentation
# tokmd-sensor

Sensor contract and substrate builder for tokmd.

## Problem
Sensors should share one scan-and-diff substrate instead of each re-running the expensive parts.

## What it gives you
- The `EffortlessSensor` trait.
- `substrate_builder::build_substrate(...) -> Result<RepoSubstrate>`.

## API / usage notes
- Implement `EffortlessSensor` for a sensor that consumes `RepoSubstrate` and returns `SensorReport`.
- `build_substrate` runs the scan once, normalizes diff membership, and builds the shared substrate.
- Keep sensor implementations in their own crates; this crate is the contract layer.

## Go deeper
- Tutorial: [tokmd README]../../README.md
- How-to: [tokmd-envelope]../tokmd-envelope/README.md
- Reference: [Architecture]../../docs/architecture.md
- Explanation: [Design]../../docs/design.md