ef3bec5844
The aura-research leaf crate: ProcessDoc/CampaignDoc with strict parsing (hand-rolled StageBlock deserializer — deny_unknown_fields does not compose with internally-tagged enums; Axis declares its ScalarKind once with bare values, per the #189 user veto), canonical form + content_id_of (the SHA-256 primitive moved from aura-cli, which now delegates — the id pin set incl. the independent sweep-store recompute stayed green untouched), intrinsic validation for both document types (P1 constraints structural), and the introspection contract (schema tables single-source parse strictness AND vocabulary/describe/open-slots — the Blockly litmus made checkable). aura-registry: content-addressed processes/ + campaigns/ stores on the blueprint-store pattern (Ok(None) treat-as-empty) and the referential tier (validate_campaign_refs: process/strategy refs incl. identity-scan, axis-name + declared-kind checks against param_space). Plan deviations, verified by hand and folded back into the plan file: - Task 9's fixture could not use aura-composites as planned: every shipped composite with an open param routes through LinComb, which the zero-arg std_vocabulary roster deliberately excludes, so none round-trips through blueprint_from_json with the by-type-name resolver. The test hand-builds a minimal Bias composite instead (generic over param_space, as planned); the unused pro-forma aura-composites dev-dep from the repair pass is dropped. This is why the loop reported task 9 BLOCKED (review-loop-exhausted on the literal code block); the tree itself is complete and green. - A plan-verbatim test assertion false-matched ("deflate" as substring of "deflated-positive"); tightened to the JSON key. - OpenSlot doc comment backticked (rustdoc read strategies[0] as a link; doc gate back to 0 warnings). Verification: cargo test --workspace 898/0; clippy -D warnings clean; cargo doc --no-deps 0 warnings. Tasks 10-12 (CLI verb families, final gates) follow. refs #189
52 lines
2.4 KiB
TOML
52 lines
2.4 KiB
TOML
[package]
|
|
name = "aura-cli"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
|
|
[[bin]]
|
|
name = "aura"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
aura-core = { path = "../aura-core" }
|
|
aura-engine = { path = "../aura-engine" }
|
|
# aura-composites: the RiskExecutor / vol_stop composite-builders the
|
|
# r-sma harness wires (kept out of aura-engine so the engine stays domain-free).
|
|
aura-composites = { path = "../aura-composites" }
|
|
aura-registry = { path = "../aura-registry" }
|
|
aura-research = { path = "../aura-research" }
|
|
aura-std = { path = "../aura-std" }
|
|
aura-ingest = { path = "../aura-ingest" }
|
|
# data-server: the local M1 archive `aura run --real` streams from. Mirrors the
|
|
# git line in crates/aura-ingest/Cargo.toml verbatim (same source of truth).
|
|
data-server = { git = "http://192.168.178.103:3000/Brummel/data-server.git", branch = "main" }
|
|
# serde derives Serialize on the chart-trace payload (Series) so render_chart_html
|
|
# can embed it via serde_json::json!; admitted under the per-case dependency policy,
|
|
# same as aura-engine.
|
|
serde = { workspace = true }
|
|
# serde_json renders the walk-forward summary line (MetricStats + stitched total)
|
|
# and the injected chart traces (window.AURA_TRACES);
|
|
# admitted under the per-case dependency policy, same as aura-engine.
|
|
serde_json = { workspace = true }
|
|
# libc: restore the default SIGPIPE disposition at startup (see `fn main`) so a
|
|
# closed stdout pipe (`aura sweep | head`, a closed UI pane) terminates the
|
|
# process cleanly instead of panicking the runtime's SIG_IGN default into an
|
|
# EPIPE. The standard vetted crate for signal disposition, already transitive in
|
|
# Cargo.lock; admitted under the per-case dependency policy.
|
|
libc = "0.2"
|
|
# sha2: the run's topology_hash (#158) is the SHA256 of the canonical signal
|
|
# blueprint serialization. A vetted RustCrypto crate (per-case C16 review,
|
|
# SHA256 user-settled); lives in the research-side CLI, off the frozen engine
|
|
# (invariant 8).
|
|
sha2 = "0.10"
|
|
libloading = "0.8"
|
|
toml = "0.8"
|
|
# clap: the vetted standard argument parser. Adopted (C16 per-case review) to
|
|
# replace the hand-rolled argv parser + ten duplicated help surfaces with one
|
|
# declarative source, giving scoped --help, --version, --flag=value, and
|
|
# long-option abbreviation. Research-side CLI only (invariant 8): a dev-loop
|
|
# compile tax, never a frozen-artifact tax.
|
|
clap = { version = "4", features = ["derive"] }
|