diff --git a/docs/authoring-guide.md b/docs/authoring-guide.md index 94bb315..82975b7 100644 --- a/docs/authoring-guide.md +++ b/docs/authoring-guide.md @@ -344,6 +344,14 @@ separate in-session bool — `bars_since_open` alone is the contract. DST is handled by `chrono-tz`, so the same local minute reads the same index in summer (CEST) and winter (CET). +The index is derived from the clock (`ctx.now()`), never counted from trigger +firings — so the trigger's cadence only sets how *often* the node emits, not +what it emits. Feeding a denser stream (e.g. a raw m1 `price`) is equally +valid: the node fires once per input tick and reports the same +`period_minutes`-bar index throughout that bar. The once-per-bar wiring above +is the convention when you want exactly one emission per completed bar; it is +not a correctness requirement. + Wire it like any node — `{"op":"add","type":"SessionFrankfurt","bind":{"period_minutes":{"I64":15}}}`, feed its `trigger` from a once-per-bar stream, and read `bars_since_open`.