{"ok":true,"site":{"host":"aeroficiency.larerraven.chatgpt.site","url":"https://aeroficiency.larerraven.chatgpt.site/","type":"live","desc":"An agent-ready, solver-backed workspace for explainable preliminary wing trade studies.","tools":[{"name":"get_design_state","kind":"answer","impl":"imperative","description":"Read bounded Aeroficiency design summaries and one full compact design detail: the active design by default, or an explicit inspected design while retaining active identity; includes revisions, airfoil/polar metadata, target-lift case, checks, freshness, and recent activity.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"designId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^des_[0-9A-Z]+$"}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_analysis_summary","kind":"answer","impl":"imperative","description":"Read bounded metrics, convergence, compact fixed-AoA sweep status, configured checks, critical stations, and model validity for one explicit immutable Aeroficiency analysis ID; aoa.alpha is [minimum, maximum, step] and aoa.n is [solved, total].","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"analysisId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^ana_[0-9A-Z]+$"}},"required":["analysisId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_span_station","kind":"act","impl":"imperative","description":"Focus visible page evidence on the nearest station of one current converged immutable analysis at eta 0–1; changes only transient presentation state, never engineering data or activity.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"analysisId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^ana_[0-9A-Z]+$"},"eta":{"type":"number","minimum":0,"maximum":1}},"required":["analysisId","eta"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_candidate_variant","kind":"act","impl":"imperative","description":"Idempotently branch an editable candidate from an explicit Aeroficiency source design revision; at least one candidate is required for comparison.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"sourceDesignId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^des_[0-9A-Z]+$"},"expectedProjectRevision":{"type":"integer","minimum":1},"expectedSourceDesignRevision":{"type":"integer","minimum":1},"candidateLabel":{"type":"string","minLength":1,"maxLength":48,"pattern":"^(?=.*\\S)[^\\u0000-\\u001F\\u007F]{1,48}$"},"idempotencyKey":{"type":"string","format":"uuid"}},"required":["sourceDesignId","expectedProjectRevision","expectedSourceDesignRevision","candidateLabel","idempotencyKey"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_baseline_design","kind":"act","impl":"imperative","description":"Idempotently make an explicit design the editable Baseline reference; an already-selected Baseline returns a successful unchanged outcome, while a role change retains the previous Baseline as a candidate and stales dependent comparisons.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"designId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^des_[0-9A-Z]+$"},"expectedProjectRevision":{"type":"integer","minimum":1},"expectedDesignRevision":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","format":"uuid"}},"required":["designId","expectedProjectRevision","expectedDesignRevision","idempotencyKey"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_wing_geometry","kind":"act","impl":"imperative","description":"Idempotently apply absolute, bounded planform, multi-station airfoil, or section-polar values to any design at an explicit revision; matching values return a successful unchanged outcome and actual Baseline edits stale dependent comparisons.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"designId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^des_[0-9A-Z]+$"},"expectedDesignRevision":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","format":"uuid"},"patch":{"type":"object","properties":{"spanM":{"type":"number","minimum":1,"maximum":16},"rootChordM":{"type":"number","minimum":0.1,"maximum":4},"tipChordM":{"type":"number","minimum":0.1,"maximum":3},"tipTwistDeg":{"type":"number","minimum":-6,"maximum":3},"nacaCode":{"type":"string","pattern":"^(00(0[6-9]|1[0-9]|2[0-4])|[1-6][1-9](0[6-9]|1[0-9]|2[0-4]))$"},"airfoilStations":{"type":"array","minItems":2,"maxItems":6,"items":{"type":"object","properties":{"id":{"type":"string","minLength":2,"maxLength":24,"pattern":"^[A-Za-z][A-Za-z0-9_-]{1,23}$"},"eta":{"type":"number","minimum":0,"maximum":1,"description":"Ordered stations must be separated by at least 0.05 eta; root 0 and tip 1 are required."},"airfoil":{"oneOf":[{"type":"object","properties":{"kind":{"const":"NACA4"},"code":{"type":"string","pattern":"^(00(0[6-9]|1[0-9]|2[0-4])|[1-6][1-9](0[6-9]|1[0-9]|2[0-4]))$"}},"required":["kind","code"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"COORDINATES"},"name":{"type":"string","minLength":1,"maxLength":40},"points":{"type":"array","minItems":24,"maxItems":161,"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"number","minimum":-10000,"maximum":10000}}},"source":{"type":"string","maxLength":120}},"required":["kind","name","points"],"additionalProperties":false}]},"blendToNext":{"type":"string","enum":["LINEAR_CAMBER_THICKNESS","HOLD"]}},"required":["id","eta","airfoil","blendToNext"],"additionalProperties":false}},"polarModel":{"oneOf":[{"type":"object","properties":{"kind":{"const":"ANALYTIC_ATTACHED"},"tables":{"type":"array","maxItems":0}},"required":["kind","tables"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"USER_TABLES"},"tables":{"type":"array","minItems":2,"maxItems":18,"items":{"type":"object","properties":{"polarId":{"type":"string","minLength":2,"maxLength":32,"pattern":"^[A-Za-z][A-Za-z0-9_-]{1,31}$"},"airfoilStationId":{"type":"string","minLength":2,"maxLength":24,"pattern":"^[A-Za-z][A-Za-z0-9_-]{1,23}$"},"reynolds":{"type":"number","minimum":50000,"maximum":50000000},"mach":{"type":"number","minimum":0,"maximum":0.3},"transitionModel":{"type":"string","maxLength":80},"rows":{"type":"array","minItems":7,"maxItems":61,"items":{"type":"object","properties":{"alphaDeg":{"type":"number","minimum":-30,"maximum":30},"cl":{"type":"number","minimum":-5,"maximum":5},"cd":{"type":"number","exclusiveMinimum":0,"maximum":2},"cm":{"type":"number","minimum":-2,"maximum":2}},"required":["alphaDeg","cl","cd","cm"],"additionalProperties":false}},"provenance":{"type":"object","properties":{"source":{"type":"string","enum":["USER_IMPORT","XFOIL","EXPERIMENT"]},"label":{"type":"string","minLength":1,"maxLength":80},"licence":{"type":"string","maxLength":80}},"required":["source","label"],"additionalProperties":false}},"required":["polarId","airfoilStationId","reynolds","mach","rows","provenance"],"additionalProperties":false}}},"required":["kind","tables"],"additionalProperties":false}]}},"required":[],"additionalProperties":false,"minProperties":1}},"required":["designId","expectedDesignRevision","idempotencyKey","patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_wing_structure","kind":"act","impl":"imperative","description":"Idempotently apply absolute, bounded wing-box gauges or elastic-axis location to any design at an explicit revision; matching values return a successful unchanged outcome and actual Baseline edits stale dependent comparisons.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"designId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^des_[0-9A-Z]+$"},"expectedDesignRevision":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","format":"uuid"},"patch":{"type":"object","properties":{"skinThicknessMm":{"type":"number","minimum":1.2,"maximum":6},"frontWebThicknessMm":{"type":"number","minimum":1.5,"maximum":8},"rearWebThicknessMm":{"type":"number","minimum":1.5,"maximum":8},"elasticAxisXOverC":{"type":"number","exclusiveMinimum":0.2,"maximum":0.55}},"required":[],"additionalProperties":false,"minProperties":1}},"required":["designId","expectedDesignRevision","idempotencyKey","patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"configure_angle_sweep","kind":"act","impl":"imperative","description":"Idempotently configure the shared precomputed fixed-angle aeroelastic sweep at explicit project and flight-case revisions; supported bounds are -8° to +12°, at least 2° wide, in 0.5° or 1° increments.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"expectedProjectRevision":{"type":"integer","minimum":1},"expectedFlightCaseRevision":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","format":"uuid"},"patch":{"type":"object","properties":{"sweepMinAlphaDeg":{"type":"number","minimum":-8,"maximum":10},"sweepMaxAlphaDeg":{"type":"number","minimum":-6,"maximum":12},"sweepStepAlphaDeg":{"type":"number","enum":[0.5,1]}},"required":[],"additionalProperties":false,"minProperties":1}},"required":["expectedProjectRevision","expectedFlightCaseRevision","idempotencyKey","patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"run_aeroelastic_analysis","kind":"act","impl":"imperative","description":"Run and visibly commit Aeroficiency low-order target-lift trim plus the configured fixed-AoA, torsion-coupled sweep for one explicit current revision; this writes one immutable result and activity event.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"designId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^des_[0-9A-Z]+$"},"expectedProjectRevision":{"type":"integer","minimum":1},"expectedDesignRevision":{"type":"integer","minimum":1},"expectedFlightCaseRevision":{"type":"integer","minimum":1},"expectedConstraintsRevision":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","format":"uuid"},"fidelity":{"type":"string","enum":["fast","standard"]}},"required":["designId","expectedProjectRevision","expectedDesignRevision","expectedFlightCaseRevision","expectedConstraintsRevision","idempotencyKey","fidelity"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compare_designs","kind":"act","impl":"imperative","description":"Compare and visibly pin an exact current Baseline/candidate analysis pair without launching a solver; changes only transient presentation state and rejects stale or incompatible results.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"referenceAnalysisId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^ana_[0-9A-Z]+$"},"candidateAnalysisId":{"type":"string","minLength":30,"maxLength":30,"pattern":"^ana_[0-9A-Z]+$"}},"required":["referenceAnalysisId","candidateAnalysisId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"configure_flight_case","kind":"act","impl":"imperative","description":"Idempotently change shared target lift in newtons, speed and atmospheric inputs at explicit revisions; supports small-UAV inputs and marks all previous analyses stale. Altitude does not automatically set density or viscosity. Geometry and structural material must be configured separately.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"expectedProjectRevision":{"type":"integer","minimum":1},"expectedFlightCaseRevision":{"type":"integer","minimum":1},"idempotencyKey":{"type":"string","format":"uuid"},"patch":{"type":"object","properties":{"targetLiftN":{"type":"number","minimum":5,"maximum":120000},"velocityMps":{"type":"number","minimum":5,"maximum":85},"airDensityKgM3":{"type":"number","minimum":0.25,"maximum":1.5},"dynamicViscosityPaS":{"type":"number","minimum":0.00001,"maximum":0.000025},"altitudeM":{"type":"number","minimum":0,"maximum":11000}},"required":[],"additionalProperties":false,"minProperties":1}},"required":["expectedProjectRevision","expectedFlightCaseRevision","idempotencyKey","patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"favicon":"/favicons/aeroficiency.larerraven.chatgpt.site.png","apiSurface":"spec","category":"Developer Tools","toolCount":11}}