fix(cli): qualify the desugaring claims to the --real path; loud vocabulary-resolve invariant
Independent post-cycle review (opus, fresh context) on the branch diff returned one Minor and one Nit; both adjudicated against the source and fixed: - Minor: the concepts paragraph and the sweep/walkforward/mc long helps claimed the document desugaring unconditionally, but only the --real branches route through verb_sugar — the synthetic branches execute in-process and register no documents. The claims now carry the --real qualifier (and the paragraph names the in-process synthetic path). generalize keeps the unconditional wording: its only mode is --real (usage requires it), so the claim is true as stated. - Nit: the vocabulary listing's `None` fallback would have silently printed a bare, C29-incomplete row if a rostered type id ever failed to resolve. Replaced with a loud expect — an invariant breach should not degrade into exactly the surface this cycle exists to remove. refs #315
This commit is contained in:
@@ -277,11 +277,11 @@ pub fn introspect_cmd(cmd: crate::GraphIntrospectCmd, env: &aura_runner::project
|
|||||||
if cmd.vocabulary {
|
if cmd.vocabulary {
|
||||||
// C29 (#315): each type id carries its schema's one-line meaning —
|
// C29 (#315): each type id carries its schema's one-line meaning —
|
||||||
// bare names teach nothing (What do Latch, When, Select, Bias do?).
|
// bare names teach nothing (What do Latch, When, Select, Bias do?).
|
||||||
|
// A rostered id that fails to resolve is an invariant breach; better
|
||||||
|
// loud than a silent C29-incomplete bare row.
|
||||||
for t in env.type_ids() {
|
for t in env.type_ids() {
|
||||||
match env.resolve(t) {
|
let b = env.resolve(t).expect("every rostered type id resolves to a builder");
|
||||||
Some(b) => println!("{t:<18} {}", b.schema().doc),
|
println!("{t:<18} {}", b.schema().doc);
|
||||||
None => println!("{t}"),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else if cmd.folds {
|
} else if cmd.folds {
|
||||||
// The fold vocabulary binds at graph-declared taps (C27), so the
|
// The fold vocabulary binds at graph-declared taps (C27), so the
|
||||||
|
|||||||
+14
-12
@@ -1032,9 +1032,10 @@ const CONCEPTS_HELP: &str = "\
|
|||||||
Author, backtest, and validate trading strategies — research CLI.
|
Author, backtest, and validate trading strategies — research CLI.
|
||||||
|
|
||||||
Two layers, one vocabulary: the research verbs are the convenience surface —
|
Two layers, one vocabulary: the research verbs are the convenience surface —
|
||||||
sweep, walkforward, mc, and generalize each write registered process/campaign
|
over --real data, sweep, walkforward, mc, and generalize desugar to
|
||||||
documents and execute them (run is their single-backtest sibling). That
|
registered process/campaign documents and execute them (run is their
|
||||||
document data plane is directly authorable: `aura process` / `aura campaign`
|
single-backtest sibling; synthetic runs execute in-process). That document
|
||||||
|
data plane is directly authorable: `aura process` / `aura campaign`
|
||||||
(validate | introspect | register | run), growing a document from a bare {}
|
(validate | introspect | register | run), growing a document from a bare {}
|
||||||
via `introspect --unwired`.
|
via `introspect --unwired`.
|
||||||
|
|
||||||
@@ -1075,17 +1076,17 @@ enum Command {
|
|||||||
Graph(GraphCmd),
|
Graph(GraphCmd),
|
||||||
/// Sweep a parameter grid over a strategy or a loaded blueprint.
|
/// Sweep a parameter grid over a strategy or a loaded blueprint.
|
||||||
///
|
///
|
||||||
/// Sugar over the document layer: desugars to a registered process
|
/// Sugar over the document layer: over --real data this desugars to a
|
||||||
/// (std::sweep) + campaign pair — author the documents directly via
|
/// registered process (std::sweep) + campaign pair — author the documents
|
||||||
/// `aura process` / `aura campaign`.
|
/// directly via `aura process` / `aura campaign`.
|
||||||
Sweep(SweepCmd),
|
Sweep(SweepCmd),
|
||||||
/// Walk-forward validation over a strategy or a loaded blueprint. Over --real, the
|
/// Walk-forward validation over a strategy or a loaded blueprint. Over --real, the
|
||||||
/// fixed 90/30-day roller fits to a --from/--to window shorter than it, preserving
|
/// fixed 90/30-day roller fits to a --from/--to window shorter than it, preserving
|
||||||
/// the 3:1 IS:OOS ratio, instead of refusing the window outright.
|
/// the 3:1 IS:OOS ratio, instead of refusing the window outright.
|
||||||
///
|
///
|
||||||
/// Sugar over the document layer: desugars to a registered process
|
/// Sugar over the document layer: over --real data this desugars to a
|
||||||
/// ([std::grid, std::walk_forward]) + campaign pair — author the documents
|
/// registered process ([std::grid, std::walk_forward]) + campaign pair —
|
||||||
/// directly via `aura process` / `aura campaign`.
|
/// author the documents directly via `aura process` / `aura campaign`.
|
||||||
Walkforward(WalkforwardCmd),
|
Walkforward(WalkforwardCmd),
|
||||||
/// Grade one candidate across multiple instruments.
|
/// Grade one candidate across multiple instruments.
|
||||||
///
|
///
|
||||||
@@ -1097,9 +1098,10 @@ enum Command {
|
|||||||
/// --real, the fixed 90/30-day walk-forward roller fits to a --from/--to window
|
/// --real, the fixed 90/30-day walk-forward roller fits to a --from/--to window
|
||||||
/// shorter than it, preserving the 3:1 IS:OOS ratio, instead of refusing outright.
|
/// shorter than it, preserving the 3:1 IS:OOS ratio, instead of refusing outright.
|
||||||
///
|
///
|
||||||
/// Sugar over the document layer: desugars to a registered process
|
/// Sugar over the document layer: over --real data this desugars to a
|
||||||
/// ([std::grid, std::walk_forward, std::monte_carlo]) + campaign pair —
|
/// registered process ([std::grid, std::walk_forward, std::monte_carlo]) +
|
||||||
/// author the documents directly via `aura process` / `aura campaign`.
|
/// campaign pair — author the documents directly via `aura process` /
|
||||||
|
/// `aura campaign`.
|
||||||
Mc(McCmd),
|
Mc(McCmd),
|
||||||
/// List or inspect recorded run families.
|
/// List or inspect recorded run families.
|
||||||
Runs(RunsCmd),
|
Runs(RunsCmd),
|
||||||
|
|||||||
Reference in New Issue
Block a user