Ana içerik geç

POST /solve/strict

Iterative autotuner. Same surface as /solve but searches over β and operator weights until the calibrated errorPct drops below 0.1 %. Up to 40 iterations.

Method POST Path /api/framework/solve/strict Group Framework Precision ≤0.1%

How the tuner works

Three phases per iteration (mirrors hulyas_framework.py::autotune_until_pass):

PhaseWhat it does
A — β updateFirst 6 iters: β = 0.15 + 0.15·iter. Thereafter: β + 5·excess, clamped to [0.05, 2.0].
B — coord descentPerturb the top-3 KO weights by ±15 %. Keep any perturbation that lowers errorPct.
C — random jitterIf Phase B made no progress, perturb one KO weight by ±10 % (deterministic PRNG, seed = 1287).

Stops as soon as errorPct ≤ 0.1 % or after maxIterations iterations.

Request body

Identical to /solve plus one additional field:

FieldTypeDefaultNotes
maxIterationsnumber10Max tuner iterations. Clamped to [1, 40].

If koSettings is omitted, the tuner starts from a reasonable Newtonian default { NM19: 1.0, NM23: 0.6, GR35: 0.3 }.

Response body — StrictSolverResult

Identical to SolverResult, with three additional fields:

{
// ... all SolverResult fields (errorPct, energy, registerDump, functionalEnergy, etc.)
"mode": "strict",
"betaFinal": 0.05,
"tuneIterations": 2,
"tuneStatus": "converged" // "converged" | "timeout"
}

When tuneStatus === "converged", errorPct is guaranteed ≤ 0.1 %. When "timeout", the result is the lowest-error candidate seen across all iterations.

Call it

Default autotune (10 iters max, model-mode comparison):

curl -X POST https://zeqapi.com/api/framework/solve/strict \
-H "Authorization: Bearer $ZEQ_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "feather drop autotune",
"mass": 1e-4,
"location": "earth",
"medium": "air",
"koSettings": { "KO42": 1.0 }
}'

Calibrated free-fall anchor (matches the validator calibration step):

curl -X POST https://zeqapi.com/api/framework/solve/strict \
-H "Authorization: Bearer $ZEQ_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "free-fall calibration",
"mass": 1.0,
"koSettings": { "NM19": 1.0, "NM24": 0.3 },
"tMax": 0.4,
"dt": 0.001,
"maxIterations": 40,
"referenceMode": "free-fall"
}'

Compose

  • Chain after a /solve exploratory pass: read koSettings from the response and POST to /solve/strict with maxIterations raised to 40.
  • For multi-body autotune, run /multibody with explicit koSettings; the multi-body endpoint does not auto-tune (the per-body coupling defeats the single-error-metric assumption).

Reference

  • Source: app/artifacts/api-server/src/routes/framework.ts (route) → src/lib/zeqSolver.ts:runStrictExperiment (autotune loop).
  • Original Python reference: data/wizard-engine-reference.py::autotune_until_pass.
  • Spec: master-equations.md §4–5.

Middleware active. Kernel on the 1.287 Hz HulyaPulse. Awaiting next Zeqond.