Files
reverse-engineering-anything/docs/specs/agent-environments/scenario-timing/plan.md
T
morluto 63220edcc3 fix(environment)!: withhold clock writes without an anchor
Keep missing or ambiguous scenario request durations unknown, retain learned clock rules, and withhold plans that cannot generate an observed clock. Refuse such writes in older imported states before changing state or generators.

BREAKING CHANGE: The write-plan reason can now be unknown-clock; strict clients must accept the new output value.

Validated state, CLI and advertised MCP workflows, documentation, and focused clock and cleanup regressions.
2026-10-27 05:19:35 +08:00

24 lines
1.4 KiB
Markdown

# Plan
1. Schema: optional `observed_at` (ISO date-time) on `request` events, and
`started_at` (ISO date-time) and `elapsed_ms` (non-negative number) on
`request-finished` and `request-failed` events.
2. Collector: stamp `observed_at` when a request is observed and copy the
browser's `timing().startTime` and `responseEnd` into `started_at` and
`elapsed_ms` when it reports them, admitting the strings with the other
metadata.
3. Records: index each transaction's single finished or failed start and
duration and give each attributable record `startedDateTime` and `time`;
add a limitation when any record is timed.
4. Comparison: drop both fields from network evidence before fingerprinting and
commit the rule in the built-in list and the comparison limitation.
5. Docs: the scenario contract's network evidence and the environment docs'
browser scenario section.
6. Tests: the collector stamps both fields, records take them, the state learns
the HAR's clock and verdicts from a timed scenario and none from an untimed
or partly untimed one, a request that never ended or ended twice falls back
to its observation with unknown duration omitted, an explicit zero remains
observed, comparisons ignore the times (also against an untimed
capture), and the real-Chrome network lane checks every request is observed
and every finished request carries the browser's start and duration.