2025-07-25 - 2026-07-25
Overview
1 Release published by 1 user
Published
pre-sugar-retirement
3 Pull requests merged by 1 user
Merged
#306 docs(ledger): INDEX map + per-contract live files + history sidecars
Merged
#270 Tracker sweep + executor robustness: net-R chain, archive inventory, std::grid, per-cell fault isolation (12 issues)
Merged
#255 Cut the E2E suite wall-clock: 247s -> 46s (cli_run 211s -> 25s)
305 Issues closed from 2 users
Closed
#273 Reshape the aura data namespace: JSON info, retire coverage
Closed
#331 No op names a blueprint — everything registers as graph
Closed
#328 Reconcile the sweep-axis namespace: sugar graph.<node>.<param> vs document <node>.<param> (open-only)
Closed
#271 Typed construction args for vocabulary nodes — reach non-scalar structural config (Session timezone) from data-only blueprints
Closed
#317 Make composites data-authorable — a named, registered subgraph referencable like a node
Closed
#326 graph build silently drops unknown op-list fields — a typo'd key vanishes instead of erroring
Closed
#329 campaign introspect describes process.ref as a bare content id; the validator requires the tagged {content_id}|{identity_id} form
Closed
#330 Cost nodes share a byte-identical --vocabulary one-liner — give each a charge-basis-specific meaning
Closed
#332 graph introspect --folds renders the FoldKind table, not the fold-registry roster (Mean vs mean, record missing)
Closed
#333 Enumerate a blueprint's declared taps on the public surface (introspect view or refusal roster)
Closed
#334 Emit the C14 skipped-tap note when an explicit --tap plan leaves declared taps unbound
Closed
#335 Decide and document the fold summary-row timestamp semantics (first/last source-ts vs accumulator finalize-ts)
Closed
#325 State the per-verb marker/exit contract: generalize's partial failure bypasses the warning/exit-3 convention
Closed
#310 Decide the Named fold subscription's data-authorability boundary — data selector vs Rust-only
Closed
#267 Ship a generated agent bootstrap card
Closed
#315 Explain the two-layer architecture in the CLI help — research verbs as sugar over process/campaign documents
Closed
#323 Advertise the C29 authoring surfaces: description slot in introspect, op reference in help, guide-literal guard
Closed
#313 Emit an explicit notice when every window of a walk-forward records zero trades
Closed
#278 Distinguish benign gate-emptied notices from cell-failure warnings on stderr
Closed
#316 Adopt self-description as a ledger design principle — every surface explains itself
Closed
#314 Triage the findings of the 2026-07-22 external release-binary field test
Closed
#77 Rename Recorder -> Probe (the edge tap); decide whether a Probe must heap-allocate a record per cycle
Closed
#283 Drain taps during the run — subscribers (stream-to-disk, fold, live consumer) replace buffer-then-drain
Closed
#301 Enumerate the accepted select rules in the process-document refusal
Closed
#302 Give show a prefix-id path: resolve a unique prefix or point at runs
Closed
#305 register outside a project silently creates a stray ./runs/ store
Closed
#60 Export a named frozen strategy (blueprint-as-values collection) — #55 export fork
Closed
#72 Web frontend that drives the aura CLI binary and renders results (discussion idea)
Closed
#110 Chart decimation refinements: optional --width budget flag + true intra-bucket ordering for continuous x-mode
Closed
#112 Render min/max-decimated series as range bars / OHLC instead of a polyline
Closed
#154 SessionNode: in_session / session_open_ts streams (deferred by design)
Closed
#303 Repair the ger40-lab fixture's dead worktree dependency paths
Closed
#300 Complete the document-first migration: the run quintet's residual flags become document vocabulary
Closed
#304 show outside a project blames the id instead of the missing Aura.toml
Closed
#124 Instrument-reference & cost resolution hierarchy: recorded dataset-metadata tier (DataServer seam); authored override always wins
Closed
#172 Real-data block-bootstrap Monte-Carlo over a loaded blueprint
Closed
#188 Role-model design pass: nine user roles, two missing artifact types (process, campaign), text-first invariant
Closed
#227 Accept bare --select plateau (default the aggregation to mean)
Closed
#295 Enforce the shell boundary structurally and evaluate a text-operable successor to the one-shot CLI
Closed
#298 Registry family enumeration and reproduce keying disagree on the family id
Closed
#147 World/C21: domain-agnostic orchestration substrate — RunReport<M> + abstract the registry metric/deflation vocabulary
Closed
#290 Give measurement its first deflatable metric (tap-to-scalar reduction + null model)
Closed
#293 Propagate semantic series kinds from producer contracts through the graph
Closed
#291 Split aura-analysis into generic statistics and backtest metrics (C28 phase 5)
Closed
#292 Cut the engine's backtest-metrics edge via RunReport<M> (C28 phase 2)
Closed
#286 Ratify a five-layer model and dispatch aura run on blueprint shape
Closed
#288 Split the aura-std roster along the C28 ladder into layer-aligned crates
Closed
#284 Add a name-addressed tap construction op so declared taps aren't authored by raw node index
Closed
#285 Document SessionFrankfurt/Session output semantics (+ a worked declared-tap authoring example)
Closed
#281 std vocabulary gap: Sign / Select / CumSum primitives
Closed
#280 Resample/VolTfStop bucket by raw provider timestamps — sub-second M1 stamp jitter mis-buckets bars
Closed
#282 Blueprint grammar cannot reach sinks — add declared taps (output-side twin of input_roles)
Closed
#251 Add a benchmark harness with committed baselines to catch performance regressions
Closed
#191 Identity-ref resolution scans and re-loads the whole blueprint store per reference
Closed
#277 Parallelize the campaign cell loop for full core saturation
Closed
#276 Make the Registry write path concurrency-safe for a parallel cell loop
Closed
#268 Bound the campaign executor fan-out to a worker pool
Closed
#275 Bind ingestion sources to the graph by role key, not list position
Closed
#211 In-project process/campaign validate hits the cdylib wall on std-only documents
Closed
#247 Render sweep-boundary KindMismatch/MissingKnob as prose, not Debug structs
Closed
#256 Skip member execution in the dissolved walkforward/mc leading sweep (decided: B — enumerate-only leading stage)
Closed
#260 Support per-instrument cost factors in a campaign
Closed
#261 Make the Session node reachable from blueprints
Closed
#262 Add a timescale-matched stop-regime variant
Closed
#265 State cost and risk knob units in campaign introspect and docs
Closed
#269 Unwrap the walkforward path's UnknownKnob Debug frame into prose
Closed
#272 Generalized per-cell fault isolation: a failing campaign cell is a recorded outcome, never a global abort
Closed
#258 Stop leaking per-run test sandboxes into /tmp
Closed
#259 Bootstrap net R through the process pipeline
Closed
#264 Add an archive inventory verb
Closed
#266 Print the engine commit in --version
Closed
#252 Derive archive bounds from the monthly file index instead of draining every bar in probe_window
Closed
#253 Validate walkforward axes without executing the first IS-window sweep
Closed
#254 Resolve a relative paths.data against the project root, matching paths.runs and [nodes] pointers
Closed
#257 Stop leaking 66 MB knob-lab scaffolds into /tmp per test run
Closed
#250 Cut the cli_run E2E wall-clock: unshare the serialized demo-project fixture store
Closed
#248 Collapse the redundant _open example twins into their closed siblings
Closed
#249 Stamp untouched bound defaults into the run manifest
Closed
#246 Let sweep axes override bound params (bound value = default)
Closed
#241 Add a wiring-only project tier: Aura.toml without a crate is the smallest project
Closed
#242 Distinguish an uncovered --real window from a missing symbol in the no-data refusal
Closed
#243 Stamp resolvable provenance from a fresh scaffold's first run (aura new leaves no HEAD)
Closed
#244 Extend the tier-aware unresolved-namespace hint to the graph-build path
Closed
#245 Refuse a missing [nodes] directory with a clean message instead of the cargo metadata leak
Closed
#125 Add a documentation field to composites, surfaced in the graph tooltip
Closed
#223 Extract the duplicated built_project/project_lock test fixture into a shared tests/common module
Closed
#238 Honor or retire the --trace NAME family name (currently discarded)
Closed
#239 Fit the mc-injected walk-forward to the data window (short real windows are refused late, without a reachable remedy)
Closed
#240 Reword or retire the net_r_equity skip notice on a bare sweep (points at a campaign document the user never wrote)
Closed
#152 Single-source + sweep-safe cost-port naming: intern cost[k].<port>, not per-build leak
Closed
#213 generalize no-window semantics: symbols[0] full window is arbitrary
Closed
#231 Bind strategy input roles to sources as authorable data — retire wrap_r's single-price weld (C20/C24)
Closed
#234 Deliver net-R on the family/campaign path — the cost graph lost its last production caller in #221
Closed
#235 Prove the defining loop end-to-end: a project-authored node with an open param through sweep and campaign
Closed
#224 Deliver per-member trace-writing on sweep/walkforward (--trace writes traces)
Closed
#226 aura graph <op-script> misreports valid JSON as invalid — shape-discriminate the render positional like its introspect siblings
Closed
#228 Document the Rust node-authoring pattern (ParamSpec/builder/roster) in the enumerated public docs
Closed
#232 Run real-data members at the sidecar pip — the graph broker uses the synthetic pip while the manifest stamps the real one
Closed
#233 Re-derive the stop regime from the member manifest in reproduce (currently hardcoded to the default)
Closed
#236 Fill the by-chance std vocabulary gaps: Div, Const source, Abs, pairwise Max/Min
Closed
#237 Warn when the loaded project dylib is stale against the project source
Closed
#230 Define + deliver reproduce semantics for real-data MonteCarlo families (currently synthetic-only)
Closed
#61 Parameter ganging: one knob driving several nodes (explicit composite-shared param)
Closed
#229 aura reproduce re-derives real-data families over synthetic data (0/N DIVERGED; WalkForward panic)
Closed
#28 aura graph / render: expose rendering for a consumer's OWN graph (not just the built-in sample)
Closed
#168 Write per-member traces (or reject --trace) on a blueprint sweep
Closed
#183 Scaffold a parameterized starter node — a bound-param build closure is not learnable from public docs
Closed
#190 Single-source the declared-metric vocabulary against the shipped metric types
Closed
#215 Permit --select plateau in the campaign walk_forward stage (decision-4 relaxation)
Closed
#218 A dissolved verb run outside any project writes a runs/ store into cwd
Closed
#216 Risk-regime axis is undiscoverable from the authoring/introspection surface
Closed
#217 Verb front-end asymmetry: sweep defaults the stop, walkforward/mc require it
Closed
#214 bundle dissolved-verb translator args into an invocation struct
Closed
#220 Generalize generalize/walkforward/mc to arbitrary blueprint axes; dissolve RGrid
Closed
#212 Thread the regime through trace persistence (non-default regime traces use the default stop)
Closed
#219 Trace re-run hardcodes the default vol-stop, false-failing the C1 drift alarm for non-default risk regimes
Closed
#221 Dead code: wrap_r's single-run cost-graph branch has no caller (post-#159)
Closed
#222 Finish #159 cycle-close tidy: sweep dead-symbol comments in aura-cli/src/main.rs
Closed
#167 Single-source the stage1-r param-name suffix remapping (FAST/SLOW_LENGTH lockstep)
Closed
#210 Dissolve the orchestration verbs into the campaign path (sweep, mc, walkforward, generalize)
Closed
#184 aura run: phrase loader UnknownNodeType as house-style prose (parity with graph build)
Closed
#185 Hint at the missing Aura.toml when a namespaced type id fails outside a project
Closed
#197 Worked process/campaign document examples + metric-vocabulary enumeration
Closed
#199 Single-source aura-campaign's deflation constants against aura-cli's
Closed
#208 Document the op-script grammar on the public surface (graph introspect / project-layout)
Closed
#209 Pin the shared frontend style as a repo asset: assets/aura.css (tokens + components), render.rs as first consumer
Closed
#180 Establish the project-as-crate authoring loop: aura new, Aura.toml discovery, cdylib vocabulary loading
Closed
#182 aura new: skip git init inside an existing git work tree (embedded-gitlink friction)
Closed
#193 Make the document envelope derivable from the introspection contract
Closed
#194 One content-id display form across verbs; tolerate the content: prefix in refs
Closed
#195 unwired: report placeholder refs ({} / null) as open slots instead of cryptic serde errors
Closed
#200 Campaign executor: execute std::monte_carlo / std::generalize stages (v1 refuses them)
Closed
#201 persist_taps: name-to-tap recorder wiring so campaign presentation can persist traces
Closed
#204 aura new: scaffolded project nests a .git repo — gitlink hazard when embedded in a tracked tree
Closed
#205 campaign validate: run the data-free executor preflight so validate == runnable (the third tier is invisible)
Closed
#206 Read-back verb for recorded campaign realizations (bootstrap/generalization records are write-only)
Closed
#207 generalize metric applicability: --metrics tag + correct refusal prose for R-denominated-but-unranked metrics
Closed
#189 Process & campaign document vocabularies: parse, validate, introspect, content-address (no executor)
Closed
#192 Ledger amendment package from the #188 role-model pass
Closed
#196 Blueprint-store on-ramp: register a blueprint file, file-level content id, param-space listing
Closed
#198 Campaign executor: aura campaign run drives the existing family machinery from persisted intent
Closed
#202 Blueprint on-ramp: graph register / --params reject the op-script form; the graph build bridge is invisible
Closed
#203 Referential tier: require full open-param coverage so campaign validate == runnable; reconcile raw vs wrapped param path in the bind refusal
Closed
#160 Guard std_vocabulary against silently dropping a new zero-arg node
Closed
#171 Content-id includes the composite debug-name — consider a topology-canonical form
Closed
#181 Bind the scaffold templates and the demo-project fixture to one canonical project shape
Closed
#174 Rename the vestigial stage1-* identifier family to a sequence-free name
Closed
#179 Normalize CLI error-message casing (Usage:/usage:/bare) after clap adoption
Closed
#178 Blueprint-data family-verb polish: sweep-side closed error, mc reproduce seed label, mandatory-open-knobs doc
Closed
#175 CLI --help/--version does not meet POSIX/GNU/clig.dev conventions (hand-rolled parser)
Closed
#170 Monte-Carlo and walk-forward over a loaded blueprint
Closed
#169 Discover a loaded blueprint's sweepable axis names (--list-axes / graph introspect)
Closed
#173 In-sample-refit walk-forward over a loaded blueprint (per-window re-optimization)
Closed
#176 aura run <blueprint.json> panics on an open (free-knob) blueprint instead of a clean exit-2 error
Closed
#177 closed-blueprint walkforward --axis prints the UnknownKnob rejection twice
Closed
#158 Carry or content-address a generated run's topology in its manifest
Closed
#165 Run a harness from a serialized blueprint (aura run <blueprint.json>)
Closed
#166 Orchestrate harness families from a loaded blueprint (sweep / MC / walk-forward)
Closed
#47 Multi-OutField model emission (one producer backing >1 output) is untested in graph_model
Closed
#163 Document the op-script grammar; refresh the stale cycle-0088 example
Closed
#164 Tighten the canonical blueprint contract: byte-exact emit across surfaces + value ergonomics
Closed
#156 Guarantee additive forward-compatibility of the blueprint format (optional-ignore vs load-bearing-must-understand)
Closed
#161 Reject cyclic graphs in graph build — DAG invariant 5 unenforced
Closed
#162 Polish construction error/bind ergonomics — by-identifier finalize, prose bind-mismatch, discoverable bind form
Closed
#109 Meta-level (composable analysis + project-as-crate authoring): keep in focus, resolve the CLI-vs-Rust authoring line
Closed
#155 Serialize and load a blueprint as versioned canonical data (close the graph-as-data loop)
Closed
#157 Build an introspectable, fail-fast construction service that emits blueprints
Closed
#151 Sync docs/project-layout.md backtest example to the bias/R/cost-model reframe (#117 + #116)
Closed
#153 Cost-flag CLI ergonomics: units hint, negative-rate diagnostic, non-R-harness handling (+ C10 spec_gap)
Closed
#148 Cost-model graph (in R): composable cost nodes producing the net-R curve
Closed
#116 Realistic broker on the position-event table + Broker/Account composite (Stage 2)
Closed
#118 Chart: render currency-equity curve + position-event markers
Closed
#120 RealisticBroker friction model: spread + commission as tunable params (slippage no-op)
Closed
#121 Currency metrics + net_currency_pnl ranking (+ serde(default) back-compat)
Closed
#122 Persist currency-equity tap + dup-ts-safe position-event table
Closed
#123 CLI: aura run --real attaches both brokers (pip vs currency curves)
Closed
#136 Extract the trading analysis layer (report.rs) out of aura-engine; keep the engine domain-agnostic
Closed
#144 Deflate the sweep winner's metric for the number of trials
Closed
#145 Prefer a robust parameter plateau over the in-sample peak in optimize()
Closed
#146 Aggregate cross-instrument generalization as a first-class validation step
Closed
#139 Walk-forward + Monte-Carlo OOS validation for R candidates (not just the SMA sample)
Closed
#140 Register remaining tradeable instruments: NAS100, USDJPY (pip 0.01), USDCHF, NZDUSD
Closed
#143 Consume DataServer instrument geometry to build and cross-check the vetted InstrumentSpec table
Closed
#137 Strategy research: find a Stage-1 positive-E[R] edge (honest OOS)
Closed
#142 End-of-milestone HTML report: explain each tested strategy (+ graph), show & evaluate results
Closed
#141 Research lead: slow-momentum positive on GER40 but not FX — an equity-index trend effect?
Closed
#138 BLOCKER: stage1-r sweep uses ~2 GiB/member — full-history sweeps exhaust RAM+swap
Closed
#115 Currency book-tracking + position-event derive (Stage 2): deal = target - book - in_flight
Closed
#117 Ledger + glossary: C10 R-reframe (bias / R / RiskExecutor / Stage-1·2)
Closed
#114 PositionEvent schema + action enum (Buy/Sell/Close, unsigned volume)
Closed
#130 Add an n-normalized SQN (SQN100) as an optional sweep objective
Closed
#135 Wire --trace (per-member stream tracing) for the stage1-r sweep
Closed
#133 R-sweep families + rank-by-sqn (SQN as the sweep objective)
Closed
#131 CLI UX: stage1-r tap discovery + uneven per-subcommand --help
Closed
#132 stage1-r harness polish: dedicated broker label + avoid per-field col[i] leak
Closed
#134 Rename the strategy-output param namespace exposure -> bias (instance + exposure.scale knob + manifest label)
Closed
#128 RiskExecutor composite + Veto seam: wire stop-rule -> Sizer -> Veto -> position-management
Closed
#129 R-evaluator: per-trade R-outcomes -> R-expectancy / R-curve (Stage-1 signal quality)
Closed
#126 exposure -> bias: rename + re-semantize the unsized strategy output
Closed
#127 flat-1R Sizer + position-management: bias+stop -> sized intent, per-trade R outcome
Closed
#119 Stop-rule node + R definition: the protective stop that defines 1R (foundational, Stage 1)
Closed
#100 Cell lacks tuple-style constructors (asymmetry with Scalar) — param-authoring reach mis-aims at the wrong type
Closed
#102 Trace chart: surface a run-context header (manifest/instrument/window) in the served page
Closed
#108 Families-comparison chart: point decimation/LOD for multi-year data (real 5y sweep = 148MB, 2y WFO = 76MB)
Closed
#111 Tap-aware chart decimation: mean-reduce the bounded exposure series instead of a min/max band
Closed
#113 InstrumentSpec: deploy-grade metadata (instrument_id, contract size, pip value, lots)
Closed
#98 Centralize runnable GER40 examples through instrument_spec (deferred from #22)
Closed
#99 Cosmetic: unify family-wrapper stdout key order (json! -> to_json), deferred from #73
Closed
#107 Families-comparison view: overlay a family's members in one chart (aura chart <family>)
Closed
#37 Interactive egui-playground blueprint navigation — enter/focus composites (C22)
Closed
#101 feat: trace charts — tap graph streams to disk, serve as web charts (visual face, first cut)
Closed
#106 Real-data source path for family runs (aura sweep|walkforward --real)
Closed
#104 Persist per-member trace streams for family runs (sweep/MC/walk-forward), gated by --trace
Closed
#105 Generalise sweep member-key derivation beyond the two hardcoded grid axes
Closed
#103 feat: trace-chart viewer comfort (Tier 1) — collapse-gaps x-axis (optional continuous), zoom/pan/cursor-sync
Closed
#73 Flat run registry: give 'aura run' a persisting path, or retire 'runs list'/'rank'
Closed
#82 Document on Registry::open that a Registry owns two directory-co-located stores (runs.jsonl + families.jsonl)
Closed
#22 SimBroker pip value is a global constructor literal, not per-asset
Closed
#81 Re-export DataServer/DEFAULT_DATA_PATH from aura-ingest (or add open_default_archive) so real-data sources build from aura-ingest alone
Closed
#92 aura-ingest: canonical OHLC opener — one call for the 4 M1FieldSources in C4 merge order
Closed
#93 aura-ingest/aura-engine: join multi-tap recorder traces on timestamp, not by index
Closed
#80 Export epoch_ns→unix_ms inverse (or Timestamp-window M1FieldSource::open) for real-data walk-forward
Closed
#95 Streaming residency is O(window) at process level — contradicts the documented O(one-chunk) claim
Closed
#94 Ship the session-breakout demo as a World-consumable Composite blueprint
Closed
#96 Bar-period split across Resample(tunable)/Session(baked) desyncs silently to 0 pips; Delay.lag leaks into param_space
Closed
#97 Document the walk_forward empty-space idiom for param-free / fixed strategies
Closed
#84 EqConst node — i64→bool gate (out = value == target)
Closed
#85 Gt node — f64×f64→bool comparison (out = a > b)
Closed
#86 And node — bool×bool→bool conjunction
Closed
#87 Delay node — C5 lag-N register (f64→f64)
Closed
#88 Latch node — C5 set/reset SR register → f64 (0.0/1.0)
Closed
#89 Resample node — M1→15m OHLC, C2 emit-on-rollover
Closed
#90 Session node — ctx.now()→Frankfurt bars_since_open:i64 (chrono-tz)
Closed
#91 Synthetic end-to-end fixture — ger40_session_breakout_holds_exposure_bar3_to_bar5
Closed
#83 aura runs list/rank cannot read a pre-0047 runs.jsonl (typed-Scalar params migration left the flat store unmigrated; + exits 0 on parse error)
Closed
#76 WalkForwardResult::named_params — mirror SweepFamily::named_params for the typed/named view
Closed
#79 RandomSpace named-axis builder (RandomBinder sibling to SweepBinder)
Closed
#52 Random param-sweep enumeration (C12.1 other half): ranges + sample-count + seeded RNG
Closed
#39 Sma::eval is O(length) per cycle — rolling-sum O(1) is a precision trade-off
Closed
#78 load_m1_window double-materializes (AoS buffer -> SoA columns) with an un-presized growing Vec
Closed
#75 walk-forward: space on the family, tag-free chosen_params, schema-checked param_stability
Closed
#74 Cell becomes the hot-path value carrier; Scalar narrows to dynamic boundaries (C7/C8 realization)
Closed
#57 Sweep closure drops named binding back to positional + manual name re-zip
Closed
#70 Registry lineage for orchestration families: store walk-forward/MC runs as related records (C18)
Closed
#69 Walk-forward orchestrator: rolling in-sample/out-of-sample windows to a WalkForwardResult (C12 axis 3)
Closed
#68 Monte-Carlo family: McFamily over a seed set, analog to SweepFamily (C12 axis 4)
Closed
#66 Seed-as-input: thread the manifest seed into a seeded source/RNG so a run is seed-determined
Closed
#71 engine+ingest: realize the Source trait as the run() ingestion seam, co-designed with a real DataServer-backed source (Ledger 0004/0011)
Closed
#67 Optimize/argmax axis: pick the best sweep point by a named metric (C12 axis 2)
Closed
#24 derive_signature()/signature() panic on malformed composite indices where compile() returns a typed CompileError
Closed
#65 Reject graphs with unwired or double-wired input ports — a wiring-totality check
Closed
#64 Add a typed-handle GraphBuilder for name-based blueprint wiring
Closed
#53 Two-way duplication of the SMA-cross sample harness topology (aura-engine test ↔ test)
Closed
#10 Consider an aura-std channel/buffer recording block (recorder boilerplate)
Closed
#19 Denser demo data for deep/daily SMA crosses (SMA 2/4 over AAPL.US 2006 is already populated)
Closed
#63 Graph viewer: render bound params (e.g. weights[2]=0.5) instead of dropping them from the node signature
Closed
#62 Enrich the aura graph sample blueprint to showcase nesting, multi-output, multi-param, and bind()
Closed
#58 Node instance name does not reach the graph model (viewer shows identical [SMA] boxes for named fan-in legs)
Closed
#55 Blueprint constants: bind a node param as a structural constant outside param_space
Closed
#54 Unify RunReport JSON: retire hand-rolled to_json, render stdout via serde (stdout↔disk shape divergence)
Closed
#59 By-name bootstrap surfaces AmbiguousKnob, not the IndistinguishableFanIn 'name your nodes' cure, for un-named same-type siblings
Closed
#56 SMA-cross by-name binding: promised fast/slow names + minimal bootstrap both need hand-added ParamAlias
Closed
#35 Add single-run authoring convenience for param-bearing harnesses
Closed
#17 Typed read-path for RunReport: consumers need a non-serde handle on the {manifest, metrics} shape
Closed
#33 Index and compare manifests and metrics across a sweep family
Closed
#32 Run a param-sweep: a family of disjoint instances from one blueprint
Closed
#51 graph render viewer (0026 iteration 2) — blocked on input-port naming
Closed
#21 SimBroker's two f64 input slots (exposure/price) are order-load-bearing but unchecked at bootstrap
Closed
#49 Render slot stubs for top-level blueprint multi-input leaves
Closed
#50 Name input ports — give PortSpec a (non-load-bearing) name, mirroring FieldSpec/ParamSpec
Closed
#25 compile() re-calls dyn Node::schema() (fresh Vec alloc) at each resolve site; duplicates bootstrap's kind-derivation
Closed
#36 Param declared twice per node: factory().params() and schema().params must stay in lockstep
Closed
#43 Value-empty LeafFactory declares no input/output interface pre-build (only params)
Closed
#48 Unify the blueprint main-graph render through the composite definition machinery
Closed
#46 Blueprint view: render composite output re-exports as producer bindings (name := …), not standalone terminal nodes
Closed
#44 Render fan-in inputs as source-derived identifiers in the definition view
Closed
#45 Collapse the duplicated fan-in alias-validity check and the triplicated per-node alias count
Closed
#41 Name the composite boundary: alias interior params and name input roles
Closed
#42 Construction-layer fieldtests (mc_1..mc_4) use the retired Sma::new / From<Sma> API
Closed
#40 Composite output is a single port — multi-line indicators (MACD, Bollinger…) can't re-export a record
Closed
#38 Render the CLI blueprint view as main graph + composite definitions
Closed
#31 Inject a param-set vector into bootstrap instead of baking params in the builder
Closed
#34 Harden the param_space/compile flat-node-order mirror test with a nested-composite case
Closed
#30 Declare node tunable parameters in the schema (typed, ranged)
Closed
#14 De-duplicate Recorder: shipped aura-std::Recorder vs the two #[cfg(test)] engine fixtures
Closed
#29 aura-engine should re-export the core scalar vocabulary (ScalarKind etc.) a graph-builder needs
Closed
#27 De-duplicate sample-blueprint wiring: aura-cli sma_cross/build_sample vs blueprint.rs fixture
Closed
#26 aura graph: blueprint view panics (unimplemented!) on nested composites
Closed
#13 Render a harness graph as an ASCII DAG via an aura graph subcommand
Closed
#12 Implement composite nodes (C9): a Node wiring a sub-graph with one output
Closed
#16 Decide aura run arg-parse strictness: trailing args after 'run' are silently accepted
Closed
#15 Capture real git HEAD into RunManifest.commit via build.rs (replace AURA_COMMIT placeholder)
Closed
#20 aura --help lands on the exit-2 error path instead of printing help
Closed
#18 load_m1_window rustdoc: None is file-level, not bar-level (in-coverage-empty window returns Some(empty))
Closed
#23 load_m1_window panics on a wide upper bound (to_ms = i64::MAX) instead of treating it as unbounded
Closed
#7 Ingest data-server M1/tick files at the ingestion boundary
Closed
#6 Reduce the pip-equity stream to summary metrics and emit a run manifest
Closed
#8 Wire an aura run CLI that bootstraps and runs a sample harness end-to-end
Closed
#11 Add a sum / weighted-sum combinator to aura-std (north-star combine-signals move)
Closed
#9 Nested consumer crate needs an empty [workspace] table (onboarding / aura new)
Closed
#4 Emit an intent/exposure stream as the strategy output (signal quality)
Closed
#5 Add a sim-optimal broker node integrating the exposure stream into a pip-equity (signal-quality) stream
Closed
#3 Multi-producer x multi-consumer x multi-sink stress matrix
Closed
#2 Sink nodes: a real multi-sink recording surface (replace the single observe index)
Closed
#1 Node output is a record (composite stream), not a single scalar
336 Issues created by 2 users
Opened
#1 Node output is a record (composite stream), not a single scalar
Opened
#2 Sink nodes: a real multi-sink recording surface (replace the single observe index)
Opened
#3 Multi-producer x multi-consumer x multi-sink stress matrix
Opened
#4 Emit an intent/exposure stream as the strategy output (signal quality)
Opened
#5 Add a sim-optimal broker node integrating the exposure stream into a pip-equity (signal-quality) stream
Opened
#6 Reduce the pip-equity stream to summary metrics and emit a run manifest
Opened
#7 Ingest data-server M1/tick files at the ingestion boundary
Opened
#8 Wire an aura run CLI that bootstraps and runs a sample harness end-to-end
Opened
#9 Nested consumer crate needs an empty [workspace] table (onboarding / aura new)
Opened
#10 Consider an aura-std channel/buffer recording block (recorder boilerplate)
Opened
#11 Add a sum / weighted-sum combinator to aura-std (north-star combine-signals move)
Opened
#12 Implement composite nodes (C9): a Node wiring a sub-graph with one output
Opened
#13 Render a harness graph as an ASCII DAG via an aura graph subcommand
Opened
#14 De-duplicate Recorder: shipped aura-std::Recorder vs the two #[cfg(test)] engine fixtures
Opened
#15 Capture real git HEAD into RunManifest.commit via build.rs (replace AURA_COMMIT placeholder)
Opened
#16 Decide aura run arg-parse strictness: trailing args after 'run' are silently accepted
Opened
#17 Typed read-path for RunReport: consumers need a non-serde handle on the {manifest, metrics} shape
Opened
#18 load_m1_window rustdoc: None is file-level, not bar-level (in-coverage-empty window returns Some(empty))
Opened
#19 Denser demo data for deep/daily SMA crosses (SMA 2/4 over AAPL.US 2006 is already populated)
Opened
#20 aura --help lands on the exit-2 error path instead of printing help
Opened
#21 SimBroker's two f64 input slots (exposure/price) are order-load-bearing but unchecked at bootstrap
Opened
#22 SimBroker pip value is a global constructor literal, not per-asset
Opened
#23 load_m1_window panics on a wide upper bound (to_ms = i64::MAX) instead of treating it as unbounded
Opened
#24 derive_signature()/signature() panic on malformed composite indices where compile() returns a typed CompileError
Opened
#25 compile() re-calls dyn Node::schema() (fresh Vec alloc) at each resolve site; duplicates bootstrap's kind-derivation
Opened
#26 aura graph: blueprint view panics (unimplemented!) on nested composites
Opened
#27 De-duplicate sample-blueprint wiring: aura-cli sma_cross/build_sample vs blueprint.rs fixture
Opened
#28 aura graph / render: expose rendering for a consumer's OWN graph (not just the built-in sample)
Opened
#29 aura-engine should re-export the core scalar vocabulary (ScalarKind etc.) a graph-builder needs
Opened
#30 Declare node tunable parameters in the schema (typed, ranged)
Opened
#31 Inject a param-set vector into bootstrap instead of baking params in the builder
Opened
#32 Run a param-sweep: a family of disjoint instances from one blueprint
Opened
#33 Index and compare manifests and metrics across a sweep family
Opened
#34 Harden the param_space/compile flat-node-order mirror test with a nested-composite case
Opened
#35 Add single-run authoring convenience for param-bearing harnesses
Opened
#36 Param declared twice per node: factory().params() and schema().params must stay in lockstep
Opened
#37 Interactive egui-playground blueprint navigation — enter/focus composites (C22)
Opened
#38 Render the CLI blueprint view as main graph + composite definitions
Opened
#39 Sma::eval is O(length) per cycle — rolling-sum O(1) is a precision trade-off
Opened
#40 Composite output is a single port — multi-line indicators (MACD, Bollinger…) can't re-export a record
Opened
#41 Name the composite boundary: alias interior params and name input roles
Opened
#42 Construction-layer fieldtests (mc_1..mc_4) use the retired Sma::new / From<Sma> API
Opened
#43 Value-empty LeafFactory declares no input/output interface pre-build (only params)
Opened
#44 Render fan-in inputs as source-derived identifiers in the definition view
Opened
#45 Collapse the duplicated fan-in alias-validity check and the triplicated per-node alias count
Opened
#46 Blueprint view: render composite output re-exports as producer bindings (name := …), not standalone terminal nodes
Opened
#47 Multi-OutField model emission (one producer backing >1 output) is untested in graph_model
Opened
#48 Unify the blueprint main-graph render through the composite definition machinery
Opened
#49 Render slot stubs for top-level blueprint multi-input leaves
Opened
#50 Name input ports — give PortSpec a (non-load-bearing) name, mirroring FieldSpec/ParamSpec
Opened
#51 graph render viewer (0026 iteration 2) — blocked on input-port naming
Opened
#52 Random param-sweep enumeration (C12.1 other half): ranges + sample-count + seeded RNG
Opened
#53 Two-way duplication of the SMA-cross sample harness topology (aura-engine test ↔ test)
Opened
#54 Unify RunReport JSON: retire hand-rolled to_json, render stdout via serde (stdout↔disk shape divergence)
Opened
#55 Blueprint constants: bind a node param as a structural constant outside param_space
Opened
#56 SMA-cross by-name binding: promised fast/slow names + minimal bootstrap both need hand-added ParamAlias
Opened
#57 Sweep closure drops named binding back to positional + manual name re-zip
Opened
#58 Node instance name does not reach the graph model (viewer shows identical [SMA] boxes for named fan-in legs)
Opened
#59 By-name bootstrap surfaces AmbiguousKnob, not the IndistinguishableFanIn 'name your nodes' cure, for un-named same-type siblings
Opened
#60 Export a named frozen strategy (blueprint-as-values collection) — #55 export fork
Opened
#61 Parameter ganging: one knob driving several nodes (explicit composite-shared param)
Opened
#62 Enrich the aura graph sample blueprint to showcase nesting, multi-output, multi-param, and bind()
Opened
#63 Graph viewer: render bound params (e.g. weights[2]=0.5) instead of dropping them from the node signature
Opened
#64 Add a typed-handle GraphBuilder for name-based blueprint wiring
Opened
#65 Reject graphs with unwired or double-wired input ports — a wiring-totality check
Opened
#66 Seed-as-input: thread the manifest seed into a seeded source/RNG so a run is seed-determined
Opened
#67 Optimize/argmax axis: pick the best sweep point by a named metric (C12 axis 2)
Opened
#68 Monte-Carlo family: McFamily over a seed set, analog to SweepFamily (C12 axis 4)
Opened
#69 Walk-forward orchestrator: rolling in-sample/out-of-sample windows to a WalkForwardResult (C12 axis 3)
Opened
#70 Registry lineage for orchestration families: store walk-forward/MC runs as related records (C18)
Opened
#71 engine+ingest: realize the Source trait as the run() ingestion seam, co-designed with a real DataServer-backed source (Ledger 0004/0011)
Opened
#72 Web frontend that drives the aura CLI binary and renders results (discussion idea)
Opened
#73 Flat run registry: give 'aura run' a persisting path, or retire 'runs list'/'rank'
Opened
#74 Cell becomes the hot-path value carrier; Scalar narrows to dynamic boundaries (C7/C8 realization)
Opened
#75 walk-forward: space on the family, tag-free chosen_params, schema-checked param_stability
Opened
#76 WalkForwardResult::named_params — mirror SweepFamily::named_params for the typed/named view
Opened
#77 Rename Recorder -> Probe (the edge tap); decide whether a Probe must heap-allocate a record per cycle
Opened
#78 load_m1_window double-materializes (AoS buffer -> SoA columns) with an un-presized growing Vec
Opened
#79 RandomSpace named-axis builder (RandomBinder sibling to SweepBinder)
Opened
#80 Export epoch_ns→unix_ms inverse (or Timestamp-window M1FieldSource::open) for real-data walk-forward
Opened
#81 Re-export DataServer/DEFAULT_DATA_PATH from aura-ingest (or add open_default_archive) so real-data sources build from aura-ingest alone
Opened
#82 Document on Registry::open that a Registry owns two directory-co-located stores (runs.jsonl + families.jsonl)
Opened
#83 aura runs list/rank cannot read a pre-0047 runs.jsonl (typed-Scalar params migration left the flat store unmigrated; + exits 0 on parse error)
Opened
#84 EqConst node — i64→bool gate (out = value == target)
Opened
#85 Gt node — f64×f64→bool comparison (out = a > b)
Opened
#86 And node — bool×bool→bool conjunction
Opened
#87 Delay node — C5 lag-N register (f64→f64)
Opened
#88 Latch node — C5 set/reset SR register → f64 (0.0/1.0)
Opened
#89 Resample node — M1→15m OHLC, C2 emit-on-rollover
Opened
#90 Session node — ctx.now()→Frankfurt bars_since_open:i64 (chrono-tz)
Opened
#91 Synthetic end-to-end fixture — ger40_session_breakout_holds_exposure_bar3_to_bar5
Opened
#92 aura-ingest: canonical OHLC opener — one call for the 4 M1FieldSources in C4 merge order
Opened
#93 aura-ingest/aura-engine: join multi-tap recorder traces on timestamp, not by index
Opened
#94 Ship the session-breakout demo as a World-consumable Composite blueprint
Opened
#95 Streaming residency is O(window) at process level — contradicts the documented O(one-chunk) claim
Opened
#96 Bar-period split across Resample(tunable)/Session(baked) desyncs silently to 0 pips; Delay.lag leaks into param_space
Opened
#97 Document the walk_forward empty-space idiom for param-free / fixed strategies
Opened
#98 Centralize runnable GER40 examples through instrument_spec (deferred from #22)
Opened
#99 Cosmetic: unify family-wrapper stdout key order (json! -> to_json), deferred from #73
Opened
#100 Cell lacks tuple-style constructors (asymmetry with Scalar) — param-authoring reach mis-aims at the wrong type
Opened
#101 feat: trace charts — tap graph streams to disk, serve as web charts (visual face, first cut)
Opened
#102 Trace chart: surface a run-context header (manifest/instrument/window) in the served page
Opened
#103 feat: trace-chart viewer comfort (Tier 1) — collapse-gaps x-axis (optional continuous), zoom/pan/cursor-sync
Opened
#104 Persist per-member trace streams for family runs (sweep/MC/walk-forward), gated by --trace
Opened
#105 Generalise sweep member-key derivation beyond the two hardcoded grid axes
Opened
#106 Real-data source path for family runs (aura sweep|walkforward --real)
Opened
#107 Families-comparison view: overlay a family's members in one chart (aura chart <family>)
Opened
#108 Families-comparison chart: point decimation/LOD for multi-year data (real 5y sweep = 148MB, 2y WFO = 76MB)
Opened
#109 Meta-level (composable analysis + project-as-crate authoring): keep in focus, resolve the CLI-vs-Rust authoring line
Opened
#110 Chart decimation refinements: optional --width budget flag + true intra-bucket ordering for continuous x-mode
Opened
#111 Tap-aware chart decimation: mean-reduce the bounded exposure series instead of a min/max band
Opened
#112 Render min/max-decimated series as range bars / OHLC instead of a polyline
Opened
#113 InstrumentSpec: deploy-grade metadata (instrument_id, contract size, pip value, lots)
Opened
#114 PositionEvent schema + action enum (Buy/Sell/Close, unsigned volume)
Opened
#115 Currency book-tracking + position-event derive (Stage 2): deal = target - book - in_flight
Opened
#116 Realistic broker on the position-event table + Broker/Account composite (Stage 2)
Opened
#117 Ledger + glossary: C10 R-reframe (bias / R / RiskExecutor / Stage-1·2)
Opened
#118 Chart: render currency-equity curve + position-event markers
Opened
#119 Stop-rule node + R definition: the protective stop that defines 1R (foundational, Stage 1)
Opened
#120 RealisticBroker friction model: spread + commission as tunable params (slippage no-op)
Opened
#121 Currency metrics + net_currency_pnl ranking (+ serde(default) back-compat)
Opened
#122 Persist currency-equity tap + dup-ts-safe position-event table
Opened
#123 CLI: aura run --real attaches both brokers (pip vs currency curves)
Opened
#124 Instrument-reference & cost resolution hierarchy: recorded dataset-metadata tier (DataServer seam); authored override always wins
Opened
#125 Add a documentation field to composites, surfaced in the graph tooltip
Opened
#126 exposure -> bias: rename + re-semantize the unsized strategy output
Opened
#127 flat-1R Sizer + position-management: bias+stop -> sized intent, per-trade R outcome
Opened
#128 RiskExecutor composite + Veto seam: wire stop-rule -> Sizer -> Veto -> position-management
Opened
#129 R-evaluator: per-trade R-outcomes -> R-expectancy / R-curve (Stage-1 signal quality)
Opened
#130 Add an n-normalized SQN (SQN100) as an optional sweep objective
Opened
#131 CLI UX: stage1-r tap discovery + uneven per-subcommand --help
Opened
#132 stage1-r harness polish: dedicated broker label + avoid per-field col[i] leak
Opened
#133 R-sweep families + rank-by-sqn (SQN as the sweep objective)
Opened
#134 Rename the strategy-output param namespace exposure -> bias (instance + exposure.scale knob + manifest label)
Opened
#135 Wire --trace (per-member stream tracing) for the stage1-r sweep
Opened
#136 Extract the trading analysis layer (report.rs) out of aura-engine; keep the engine domain-agnostic
Opened
#137 Strategy research: find a Stage-1 positive-E[R] edge (honest OOS)
Opened
#138 BLOCKER: stage1-r sweep uses ~2 GiB/member — full-history sweeps exhaust RAM+swap
Opened
#139 Walk-forward + Monte-Carlo OOS validation for R candidates (not just the SMA sample)
Opened
#140 Register remaining tradeable instruments: NAS100, USDJPY (pip 0.01), USDCHF, NZDUSD
Opened
#141 Research lead: slow-momentum positive on GER40 but not FX — an equity-index trend effect?
Opened
#142 End-of-milestone HTML report: explain each tested strategy (+ graph), show & evaluate results
Opened
#143 Consume DataServer instrument geometry to build and cross-check the vetted InstrumentSpec table
Opened
#144 Deflate the sweep winner's metric for the number of trials
Opened
#145 Prefer a robust parameter plateau over the in-sample peak in optimize()
Opened
#146 Aggregate cross-instrument generalization as a first-class validation step
Opened
#147 World/C21: domain-agnostic orchestration substrate — RunReport<M> + abstract the registry metric/deflation vocabulary
Opened
#148 Cost-model graph (in R): composable cost nodes producing the net-R curve
Opened
#149 Live/deploy edge: cTrader Open API adapter + forward-trading recording (ground-truth currency)
Opened
#150 Emit embeddable chart and graph fragments for hosting in external pages
Opened
#151 Sync docs/project-layout.md backtest example to the bias/R/cost-model reframe (#117 + #116)
Opened
#152 Single-source + sweep-safe cost-port naming: intern cost[k].<port>, not per-build leak
Opened
#153 Cost-flag CLI ergonomics: units hint, negative-rate diagnostic, non-R-harness handling (+ C10 spec_gap)
Opened
#154 SessionNode: in_session / session_open_ts streams (deferred by design)
Opened
#155 Serialize and load a blueprint as versioned canonical data (close the graph-as-data loop)
Opened
#156 Guarantee additive forward-compatibility of the blueprint format (optional-ignore vs load-bearing-must-understand)
Opened
#157 Build an introspectable, fail-fast construction service that emits blueprints
Opened
#158 Carry or content-address a generated run's topology in its manifest
Opened
#159 Retire the hard-wired aura-cli harnesses once topology-data + World construction land
Opened
#160 Guard std_vocabulary against silently dropping a new zero-arg node
Opened
#161 Reject cyclic graphs in graph build — DAG invariant 5 unenforced
Opened
#162 Polish construction error/bind ergonomics — by-identifier finalize, prose bind-mismatch, discoverable bind form
Opened
#163 Document the op-script grammar; refresh the stale cycle-0088 example
Opened
#164 Tighten the canonical blueprint contract: byte-exact emit across surfaces + value ergonomics
Opened
#165 Run a harness from a serialized blueprint (aura run <blueprint.json>)
Opened
#166 Orchestrate harness families from a loaded blueprint (sweep / MC / walk-forward)
Opened
#167 Single-source the stage1-r param-name suffix remapping (FAST/SLOW_LENGTH lockstep)
Opened
#168 Write per-member traces (or reject --trace) on a blueprint sweep
Opened
#169 Discover a loaded blueprint's sweepable axis names (--list-axes / graph introspect)
Opened
#170 Monte-Carlo and walk-forward over a loaded blueprint
Opened
#171 Content-id includes the composite debug-name — consider a topology-canonical form
Opened
#172 Real-data block-bootstrap Monte-Carlo over a loaded blueprint
Opened
#173 In-sample-refit walk-forward over a loaded blueprint (per-window re-optimization)
Opened
#174 Rename the vestigial stage1-* identifier family to a sequence-free name
Opened
#175 CLI --help/--version does not meet POSIX/GNU/clig.dev conventions (hand-rolled parser)
Opened
#176 aura run <blueprint.json> panics on an open (free-knob) blueprint instead of a clean exit-2 error
Opened
#177 closed-blueprint walkforward --axis prints the UnknownKnob rejection twice
Opened
#178 Blueprint-data family-verb polish: sweep-side closed error, mc reproduce seed label, mandatory-open-knobs doc
Opened
#179 Normalize CLI error-message casing (Usage:/usage:/bare) after clap adoption
Opened
#180 Establish the project-as-crate authoring loop: aura new, Aura.toml discovery, cdylib vocabulary loading
Opened
#181 Bind the scaffold templates and the demo-project fixture to one canonical project shape
Opened
#182 aura new: skip git init inside an existing git work tree (embedded-gitlink friction)
Opened
#183 Scaffold a parameterized starter node — a bound-param build closure is not learnable from public docs
Opened
#184 aura run: phrase loader UnknownNodeType as house-style prose (parity with graph build)
Opened
#185 Hint at the missing Aura.toml when a namespaced type id fails outside a project
Opened
#188 Role-model design pass: nine user roles, two missing artifact types (process, campaign), text-first invariant
Opened
#189 Process & campaign document vocabularies: parse, validate, introspect, content-address (no executor)
Opened
#190 Single-source the declared-metric vocabulary against the shipped metric types
Opened
#191 Identity-ref resolution scans and re-loads the whole blueprint store per reference
Opened
#192 Ledger amendment package from the #188 role-model pass
Opened
#193 Make the document envelope derivable from the introspection contract
Opened
#194 One content-id display form across verbs; tolerate the content: prefix in refs
Opened
#195 unwired: report placeholder refs ({} / null) as open slots instead of cryptic serde errors
Opened
#196 Blueprint-store on-ramp: register a blueprint file, file-level content id, param-space listing
Opened
#197 Worked process/campaign document examples + metric-vocabulary enumeration
Opened
#198 Campaign executor: aura campaign run drives the existing family machinery from persisted intent
Opened
#199 Single-source aura-campaign's deflation constants against aura-cli's
Opened
#200 Campaign executor: execute std::monte_carlo / std::generalize stages (v1 refuses them)
Opened
#201 persist_taps: name-to-tap recorder wiring so campaign presentation can persist traces
Opened
#202 Blueprint on-ramp: graph register / --params reject the op-script form; the graph build bridge is invisible
Opened
#203 Referential tier: require full open-param coverage so campaign validate == runnable; reconcile raw vs wrapped param path in the bind refusal
Opened
#204 aura new: scaffolded project nests a .git repo — gitlink hazard when embedded in a tracked tree
Opened
#205 campaign validate: run the data-free executor preflight so validate == runnable (the third tier is invisible)
Opened
#206 Read-back verb for recorded campaign realizations (bootstrap/generalization records are write-only)
Opened
#207 generalize metric applicability: --metrics tag + correct refusal prose for R-denominated-but-unranked metrics
Opened
#208 Document the op-script grammar on the public surface (graph introspect / project-layout)
Opened
#209 Pin the shared frontend style as a repo asset: assets/aura.css (tokens + components), render.rs as first consumer
Opened
#210 Dissolve the orchestration verbs into the campaign path (sweep, mc, walkforward, generalize)
Opened
#211 In-project process/campaign validate hits the cdylib wall on std-only documents
Opened
#212 Thread the regime through trace persistence (non-default regime traces use the default stop)
Opened
#213 generalize no-window semantics: symbols[0] full window is arbitrary
Opened
#214 bundle dissolved-verb translator args into an invocation struct
Opened
#215 Permit --select plateau in the campaign walk_forward stage (decision-4 relaxation)
Opened
#216 Risk-regime axis is undiscoverable from the authoring/introspection surface
Opened
#217 Verb front-end asymmetry: sweep defaults the stop, walkforward/mc require it
Opened
#218 A dissolved verb run outside any project writes a runs/ store into cwd
Opened
#219 Trace re-run hardcodes the default vol-stop, false-failing the C1 drift alarm for non-default risk regimes
Opened
#220 Generalize generalize/walkforward/mc to arbitrary blueprint axes; dissolve RGrid
Opened
#221 Dead code: wrap_r's single-run cost-graph branch has no caller (post-#159)
Opened
#222 Finish #159 cycle-close tidy: sweep dead-symbol comments in aura-cli/src/main.rs
Opened
#223 Extract the duplicated built_project/project_lock test fixture into a shared tests/common module
Opened
#224 Deliver per-member trace-writing on sweep/walkforward (--trace writes traces)
Opened
#225 Consolidate the synthetic walkforward select->optimize dispatch onto the campaign executor
Opened
#226 aura graph <op-script> misreports valid JSON as invalid — shape-discriminate the render positional like its introspect siblings
Opened
#227 Accept bare --select plateau (default the aggregation to mean)
Opened
#228 Document the Rust node-authoring pattern (ParamSpec/builder/roster) in the enumerated public docs
Opened
#229 aura reproduce re-derives real-data families over synthetic data (0/N DIVERGED; WalkForward panic)
Opened
#230 Define + deliver reproduce semantics for real-data MonteCarlo families (currently synthetic-only)
Opened
#231 Bind strategy input roles to sources as authorable data — retire wrap_r's single-price weld (C20/C24)
Opened
#232 Run real-data members at the sidecar pip — the graph broker uses the synthetic pip while the manifest stamps the real one
Opened
#233 Re-derive the stop regime from the member manifest in reproduce (currently hardcoded to the default)
Opened
#234 Deliver net-R on the family/campaign path — the cost graph lost its last production caller in #221
Opened
#235 Prove the defining loop end-to-end: a project-authored node with an open param through sweep and campaign
Opened
#236 Fill the by-chance std vocabulary gaps: Div, Const source, Abs, pairwise Max/Min
Opened
#237 Warn when the loaded project dylib is stale against the project source
Opened
#238 Honor or retire the --trace NAME family name (currently discarded)
Opened
#239 Fit the mc-injected walk-forward to the data window (short real windows are refused late, without a reachable remedy)
Opened
#240 Reword or retire the net_r_equity skip notice on a bare sweep (points at a campaign document the user never wrote)
Opened
#241 Add a wiring-only project tier: Aura.toml without a crate is the smallest project
Opened
#242 Distinguish an uncovered --real window from a missing symbol in the no-data refusal
Opened
#243 Stamp resolvable provenance from a fresh scaffold's first run (aura new leaves no HEAD)
Opened
#244 Extend the tier-aware unresolved-namespace hint to the graph-build path
Opened
#245 Refuse a missing [nodes] directory with a clean message instead of the cargo metadata leak
Opened
#246 Let sweep axes override bound params (bound value = default)
Opened
#247 Render sweep-boundary KindMismatch/MissingKnob as prose, not Debug structs
Opened
#248 Collapse the redundant _open example twins into their closed siblings
Opened
#249 Stamp untouched bound defaults into the run manifest
Opened
#250 Cut the cli_run E2E wall-clock: unshare the serialized demo-project fixture store
Opened
#251 Add a benchmark harness with committed baselines to catch performance regressions
Opened
#252 Derive archive bounds from the monthly file index instead of draining every bar in probe_window
Opened
#253 Validate walkforward axes without executing the first IS-window sweep
Opened
#254 Resolve a relative paths.data against the project root, matching paths.runs and [nodes] pointers
Opened
#256 Skip member execution in the dissolved walkforward/mc leading sweep (decided: B — enumerate-only leading stage)
Opened
#257 Stop leaking 66 MB knob-lab scaffolds into /tmp per test run
Opened
#258 Stop leaking per-run test sandboxes into /tmp
Opened
#259 Bootstrap net R through the process pipeline
Opened
#260 Support per-instrument cost factors in a campaign
Opened
#261 Make the Session node reachable from blueprints
Opened
#262 Add a timescale-matched stop-regime variant
Opened
#263 Report a reference strategy beside campaign candidates
Opened
#264 Add an archive inventory verb
Opened
#265 State cost and risk knob units in campaign introspect and docs
Opened
#266 Print the engine commit in --version
Opened
#267 Ship a generated agent bootstrap card
Opened
#268 Bound the campaign executor fan-out to a worker pool
Opened
#269 Unwrap the walkforward path's UnknownKnob Debug frame into prose
Opened
#271 Typed construction args for vocabulary nodes — reach non-scalar structural config (Session timezone) from data-only blueprints
Opened
#272 Generalized per-cell fault isolation: a failing campaign cell is a recorded outcome, never a global abort
Opened
#273 Reshape the aura data namespace: JSON info, retire coverage
Opened
#274 Give dataset identity room for a second provider and tick resolution
Opened
#275 Bind ingestion sources to the graph by role key, not list position
Opened
#276 Make the Registry write path concurrency-safe for a parallel cell loop
Opened
#277 Parallelize the campaign cell loop for full core saturation
Opened
#278 Distinguish benign gate-emptied notices from cell-failure warnings on stderr
Opened
#279 Extend the benchmark harness: instruction-count backend, native-crate load cost, RSS-vs-K sweep, thresholded gate
Opened
#280 Resample/VolTfStop bucket by raw provider timestamps — sub-second M1 stamp jitter mis-buckets bars
Opened
#281 std vocabulary gap: Sign / Select / CumSum primitives
Opened
#282 Blueprint grammar cannot reach sinks — add declared taps (output-side twin of input_roles)
Opened
#283 Drain taps during the run — subscribers (stream-to-disk, fold, live consumer) replace buffer-then-drain
Opened
#284 Add a name-addressed tap construction op so declared taps aren't authored by raw node index
Opened
#285 Document SessionFrankfurt/Session output semantics (+ a worked declared-tap authoring example)
Opened
#286 Ratify a five-layer model and dispatch aura run on blueprint shape
Opened
#287 Retire the bias-output magic string as the strategy/measurement run-dispatch discriminator
Opened
#288 Split the aura-std roster along the C28 ladder into layer-aligned crates
Opened
#289 Add a tick-bar aggregator, factoring the windowed-rollover fold into the engine layer
Opened
#290 Give measurement its first deflatable metric (tap-to-scalar reduction + null model)
Opened
#291 Split aura-analysis into generic statistics and backtest metrics (C28 phase 5)
Opened
#292 Cut the engine's backtest-metrics edge via RunReport<M> (C28 phase 2)
Opened
#293 Propagate semantic series kinds from producer contracts through the graph
Opened
#294 Pin the IC offline-join duplicate-timestamp semantics
Opened
#295 Enforce the shell boundary structurally and evaluate a text-operable successor to the one-shot CLI
Opened
#296 Decide a stability discipline for the public library surface consumed by downstream projects
Opened
#297 Convert the remaining process::exit sites in the assembly crate to RunnerError propagation
Opened
#298 Registry family enumeration and reproduce keying disagree on the family id
Opened
#299 Reproduce API: return the report on the simple path and derive the DataSource from the manifest
Opened
#300 Complete the document-first migration: the run quintet's residual flags become document vocabulary
Opened
#301 Enumerate the accepted select rules in the process-document refusal
Opened
#302 Give show a prefix-id path: resolve a unique prefix or point at runs
Opened
#303 Repair the ger40-lab fixture's dead worktree dependency paths
Opened
#304 show outside a project blames the id instead of the missing Aura.toml
Opened
#305 register outside a project silently creates a stray ./runs/ store
Opened
#307 Binary/compact on-disk trace format — JSON does not scale to multi-million-point series
Opened
#308 Migrate the legacy Recorder surface onto the tap-subscriber delivery shape
Opened
#309 Echo/list a plain aura run's recorded trace handle (and document its trace-dir name)
Opened
#310 Decide the Named fold subscription's data-authorability boundary — data selector vs Rust-only
Opened
#311 Re-running a different blueprint into a same-named trace dir orphans still-chartable tap files
Opened
#312 Persist a price/signal tap pair so measure ic is reachable from the release binary
Opened
#313 Emit an explicit notice when every window of a walk-forward records zero trades
Opened
#314 Triage the findings of the 2026-07-22 external release-binary field test
Opened
#315 Explain the two-layer architecture in the CLI help — research verbs as sugar over process/campaign documents
Opened
#316 Adopt self-description as a ledger design principle — every surface explains itself
Opened
#317 Make composites data-authorable — a named, registered subgraph referencable like a node
Opened
#318 Add numerically robust rolling-statistics nodes (variance, stddev, z-score) to the std vocabulary
Opened
#319 Retire the research-verb sugar in favour of document-first authoring over a self-explaining CLI
Opened
#320 Generalize the trace store into a recorded-stream store for all engine inputs
Opened
#321 Widen C29 doc coverage: emit/binding-column vocabularies and non-roster node schemas
Opened
#322 Build a deployment arena: a standing proving ground where source-blind agents exercise the released binary
Opened
#323 Advertise the C29 authoring surfaces: description slot in introspect, op reference in help, guide-literal guard
Opened
#324 Widen the zero-trade/null-result note beyond walk-forward: sweep, generalize, and the vacuous-mc case
Opened
#325 State the per-verb marker/exit contract: generalize's partial failure bypasses the warning/exit-3 convention
Opened
#326 graph build silently drops unknown op-list fields — a typo'd key vanishes instead of erroring
Opened
#327 Registered blueprints drop their declared taps — sweep --trace never persists a declared tap despite the op doc calling it recordable
Opened
#328 Reconcile the sweep-axis namespace: sugar graph.<node>.<param> vs document <node>.<param> (open-only)
Opened
#329 campaign introspect describes process.ref as a bare content id; the validator requires the tagged {content_id}|{identity_id} form
Opened
#330 Cost nodes share a byte-identical --vocabulary one-liner — give each a charge-basis-specific meaning
Opened
#331 No op names a blueprint — everything registers as graph
Opened
#332 graph introspect --folds renders the FoldKind table, not the fold-registry roster (Mean vs mean, record missing)
Opened
#333 Enumerate a blueprint's declared taps on the public surface (introspect view or refusal roster)
Opened
#334 Emit the C14 skipped-tap note when an explicit --tap plan leaves declared taps unbound
Opened
#335 Decide and document the fold summary-row timestamp semantics (first/last source-ts vs accumulator finalize-ts)
Opened
#336 graph build's unknown-key refusal points at the wrong line — cite the op index instead
Opened
#337 graph introspect --taps: positive declared-tap discovery view
Opened
#338 Campaign-reachable fixed stop: add RiskRegime::Fixed to the closed campaign vocabulary
Opened
#339 use-seam residues: instance-param ganging, gang-knob binding at splice, open-run rendering, --unwired on use-docs
Opened
#340 aura run --params: verify it closes free knobs; make the scalar-cell shape self-explaining
Opened
#341 construction-args residues: refuse serializing a pending builder; version prose shows only the ceiling