Files
Aura/fieldtests/m1-self-description/s2_execution_pulse_idiom/README.md
T
claude 9124275bf3 fieldtest: m1-self-description — 5 examples, 1 bug / 3 friction / 3 spec-gap
Binary-only milestone fieldtest for milestone 36 (self-description): a
fieldtester agent bootstrapped from the release binary (d26f0c8) alone —
no engine sources, no repo docs, no bootstrap card — and drove five
end-to-end scenarios: cold bootstrap -> author -> validate (green,
synthetic + real EURUSD, 3944 trades), execution semantics +
latch/edge-pulse idiom (green), vocabulary breadth (33 nodes / 7 folds /
17 metrics / 6+6 blocks, every entry with a meaning), document ramp from
a bare {} (green, 3 members), trace/measurement path (dead-ends,
tracked).

Verdict: the bootstrap card (#267, closed as superseded) is empirically
redundant for the bootstrap->author->validate spine. Two seams keep the
promise short of end-to-end, both tracked outside M1: the declared-tap
drop on the registration path (#327, the missing mechanism of #312/M6)
and the sugar<->document axis namespace (#328, prerequisite of the #319
retirement). Friction routed: #329 #330 #331; evidence comments on #312
and #324. Milestone 36 closed with this adjudication; the fieldtest spec
remains the usual git-ignored working file.

refs #267, refs #312, refs #319
2026-07-24 11:06:22 +02:00

33 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# s2 — execution semantics + one-shot/pulse idiom
**Protected property:** from the surfaces alone a consumer can learn (a) what the
strategy's output stream means, (b) how it is executed against a protective stop,
and (c) the signal-side idiom the surfaces recommend when a held one-shot / pulse
behaviour is wanted — and can author that idiom to a green run.
## What the surfaces say
- `aura --help`: "a strategy emits a bias in [-1,+1] per cycle, held as the
continuously-tracked target position; a protective stop defines the risk unit
R, and signal quality is measured in R."
- Node schemas make the execution layer concrete: `Bias` (clamp to [-1,+1]),
`FixedStop` (`price → stop_distance`, defines R), `PositionManagement`
(`bias + price + stop_distance + size → managed position in R`). The built-in
`run`/`sweep` harness supplies this risk executor automatically.
- The scaffolded `CLAUDE.md`: "Entry signals become held state via the signal-side
latch/edge-pulse idiom (see `aura graph introspect --vocabulary`)."
## Authored idioms (both build + validate green)
- `latch_hold.oplist.json` — momentary crossover events → held state via `Latch`
(`set = fast>slow`, `reset = slow>fast`), held level → `Bias`. Runs green
(2543 trades over EURUSD 2020-01..03).
- `edge_pulse.oplist.json` — the complementary one-shot pulse, built as the
first-difference of the latched level (`Delay(lag=1)` + `Sub`) fed to `Bias`
(+1 on entry edge, 1 on exit edge, 0 held). Builds + validates green.
## Friction recorded
The `CLAUDE.md` names the "latch/edge-pulse idiom" and points to
`graph introspect --vocabulary`, but that surface only lists node one-liners —
it lists `Latch` but no `edge`/`pulse` primitive and no composition recipe. The
pulse *is* constructible (Latch→Delay→Sub→Bias), but the consumer must infer the
first-difference recipe; the pointer resolves to a list, not a recipe.