audit: cycle 0008 tidy — correct LinComb param-claim wording
Architect drift review (fa2835e..HEAD) at cycle close. Regression gate is a no-op (commands.regression empty); architect is the sole gate. What holds (no drift): purely additive C16 extension, one node per file, no engine/manifest change; C2/C8 warm-up discipline correct (None until every leg present, no implicit cold-leg 0.0); C7 zero per-cycle alloc. Shipping the named convenience nodes Add (and pre-existing Sub) beside the general LinComb is NOT C9 adapter-zoo drift — they are distinct named producers, not coercion shims, mirroring the already-shipped Sub. Fixed [ledger-gap/high]: lincomb.rs rustdoc and the feat commit body called the weights "the node's tunable parameters (C8/C12)", but aura_core/src/node.rs states tunable params (C12/C19) are deliberately not part of the schema yet (spec 0002 "Out of scope"). The weights are construction parameters that configure the node and fix its arity (C11) — the natural home for combination tuning params once the schema-level param surface lands, but not yet surfaced to any optimizer. Rustdoc reworded to say exactly that. No ledger change: the C8 text vs node.rs tension pre-exists this cycle and is already documented in node.rs; only the new rustdoc over-claimed. Carry-on [drift/high]: the cycle-0007 fieldtest still imports Sub-only and keeps its hand-authored Add2 (acceptance said the fieldtest *can* drop it). The 0007 fieldtest crate is a historical snapshot of what that run did; rewriting it retroactively would falsify why Add2 existed. The structural drop-in feasibility (the acceptance content) is confirmed by the architect (add.rs == sub.rs modulo operator; LinComb([1,1]) == Add; Add2 byte-identical to Add). End-to-end demonstration belongs to a cycle-0008 fieldtest (fresh example on the shipped node), dispatched next — not a retroactive edit of the 0007 record. Gates: cargo test -p aura-std 14 passed / 0 failed; clippy --all-targets -D warnings clean; RUSTDOCFLAGS="-D warnings" cargo doc -p aura-std clean.
This commit is contained in:
@@ -1,13 +1,18 @@
|
||||
//! `LinComb` — weighted sum of `N` f64 inputs (`Σ weights[i] · input[i]`), the
|
||||
//! general combinator for the north-star "combine signals with weights" move
|
||||
//! (C10). `LinComb([1.0, 1.0])` is `Add`; `LinComb([1.0, -1.0])` is `Sub`. The
|
||||
//! weights are the node's tunable parameters (C8/C12) and fix its arity.
|
||||
//! weights are construction parameters that configure the node and fix its
|
||||
//! arity (`weights.len()` inputs) — the natural home for the combination tuning
|
||||
//! params, though the schema-level tunable-param surface (C12/C19) is not yet
|
||||
//! implemented: the node contract deliberately keeps params out of the schema
|
||||
//! for now (see aura_core's node contract and spec 0002's "Out of scope").
|
||||
|
||||
use aura_core::{Ctx, FieldSpec, Firing, InputSpec, Node, NodeSchema, Scalar, ScalarKind};
|
||||
|
||||
/// Weighted sum of `N` f64 inputs: `Σ weights[i] · input[i]`. The `weights`
|
||||
/// are the node's tunable parameters and fix its arity (`weights.len()` inputs,
|
||||
/// in slot order). Emits `None` until *all* inputs have a value.
|
||||
/// Weighted sum of `N` f64 inputs: `Σ weights[i] · input[i]`. The `weights` are
|
||||
/// construction parameters that configure the node and fix its arity
|
||||
/// (`weights.len()` inputs, in slot order). Emits `None` until *all* inputs
|
||||
/// have a value.
|
||||
pub struct LinComb {
|
||||
weights: Vec<f64>,
|
||||
out: [Scalar; 1],
|
||||
|
||||
Reference in New Issue
Block a user