Tool tree
gradeNot graded
get_design_stateAnswer
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.
View tool JSON
{
"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.",
"inputSchema": {
"type": "object",
"properties": {
"designId": {
"type": "string",
"minLength": 30,
"maxLength": 30,
"pattern": "^des_[0-9A-Z]+$"
}
},
"required": [],
"additionalProperties": false
}
}get_analysis_summaryAnswer
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].
View tool JSON
{
"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].",
"inputSchema": {
"type": "object",
"properties": {
"analysisId": {
"type": "string",
"minLength": 30,
"maxLength": 30,
"pattern": "^ana_[0-9A-Z]+$"
}
},
"required": [
"analysisId"
],
"additionalProperties": false
}
}inspect_span_stationAction
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.
View tool JSON
{
"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.",
"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
}
}create_candidate_variantAction
Idempotently branch an editable candidate from an explicit Aeroficiency source design revision; at least one candidate is required for comparison.
View tool JSON
{
"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.",
"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
}
}set_baseline_designAction
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.
View tool JSON
{
"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.",
"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
}
}update_wing_geometryAction
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.
View tool JSON
{
"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.",
"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
}
}update_wing_structureAction
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.
View tool JSON
{
"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.",
"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
}
}configure_angle_sweepAction
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.
View tool JSON
{
"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.",
"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
}
}run_aeroelastic_analysisAction
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.
View tool JSON
{
"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.",
"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
}
}compare_designsAction
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.
View tool JSON
{
"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.",
"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
}
}configure_flight_caseAction
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.
View tool JSON
{
"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.",
"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
}
}