Flight Test Safety (flight-test-operations/planning/flight-test-safety)
Use when the task is the flight test safety package: hazard risk
assessment, flight envelope limits for the test points, emergency
procedure coverage, safety pilot duties, the go/no-go criteria gate,
and the risk mitigation plan.
Domain quick reference
- Risk assessment: score every hazard on a severity (1-5) by
likelihood (1-5) matrix with assess_risks; the risk index is the
product, and a hazard with an index of 15 or more is high risk and
must be mitigated before the flight.
- Flight envelope limits: every test point must stay inside the speed
and load factor limits with envelope_violations; a point on the
boundary is inside, a point beyond any limit is a violation and is
never flown.
- Emergency procedures: every foreseeable emergency condition needs a
procedure with concrete steps; a required condition with no
procedure is flagged as missing before the program starts.
- Safety pilot duties: the required duties are assigned to the safety
pilot with safety_pilot_assignment; an unassigned duty is a gap.
- Go/no-go criteria: every criterion must pass with go_no_go; any
single failed criterion forces NO-GO and names the failure.
- Risk mitigation: every risk needs at least one assigned mitigation
with mitigation_gaps; an unmitigated risk blocks the flight.
Workflow
- Collect the hazards and score them with assess_risks(hazards);
review the high-risk list and mitigate before the program starts.
- Set the envelope limits and check every test point with
envelope_violations(limits, points); fix or drop the violations.
- Build the emergency procedure library and check the coverage with
procedure_coverage(required, library); add the missing procedures.
- Assign the safety pilot duties and verify them with
safety_pilot_assignment(required_duties, assigned).
- Run the gate with go_no_go(criteria) before each flight and fly
only on a GO verdict.
- Close the loop with mitigation_gaps(risks, mitigations); an
unmitigated risk keeps the flight on the ground.
Pitfalls
- Scoring a severity or likelihood outside 1-5: the matrix is bounded;
an out-of-range value is an error, never a low risk.
- A point on the limit boundary counts as inside the envelope; only a
strict crossing is a violation.
- A required condition with no procedure is flagged as missing, never
assumed covered.
- A safety pilot duty left unassigned is reported as missing-duties
and the flight is not released.
- The go/no-go gate rejects non-boolean inputs: "yes" or 1 is an
error, not a pass.
- A mitigation for a risk id that is not in the risk list is an error:
mitigations must reference the assessed risks exactly.
Behavior contract (gate 3)
The risk assessment, envelope limit check, emergency procedure
coverage, safety pilot duty assignment, go/no-go criteria gate, and
risk mitigation logic is exercised by the gate 3 contract test:
scripts/test_flight_test_safety.py against
scripts/flight_test_safety_logic.py (stdlib unittest, offline). Run:
python3 scripts/test_flight_test_safety.py
Compliance
- Standards referenced, not reproduced: FAR-25 and CS-25 set the
flight test and certification context; the risk matrix, envelope
limit discipline, emergency procedures, safety pilot practice, and
go/no-go criteria is common flight-test methodology, summary-only
per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.
1---2name: flight-test-safety3description: Use when the task concerns flight test safety: risk assessment, flight envelope limits, emergency procedures, safety pilot duties, go/no-go criteria, risk mitigation. Assess the flight test safety package: score the hazards on the severity by likelihood risk matrix, check that every test point stays inside the flight envelope limits, confirm the emergency procedures cover the required conditions, verify the safety pilot duties are assigned, run the go/no-go criteria gate, and list the mitigation gaps. Trigger: flight test safety, risk assessment, safety pilot duties, emergency procedures, go/no-go criteria, flight envelope limits.4license: Apache-2.05---67# Flight Test Safety (flight-test-operations/planning/flight-test-safety)89Use when the task is the flight test safety package: hazard risk10assessment, flight envelope limits for the test points, emergency11procedure coverage, safety pilot duties, the go/no-go criteria gate,12and the risk mitigation plan.1314## Domain quick reference1516- Risk assessment: score every hazard on a severity (1-5) by17 likelihood (1-5) matrix with assess_risks; the risk index is the18 product, and a hazard with an index of 15 or more is high risk and19 must be mitigated before the flight.20- Flight envelope limits: every test point must stay inside the speed21 and load factor limits with envelope_violations; a point on the22 boundary is inside, a point beyond any limit is a violation and is23 never flown.24- Emergency procedures: every foreseeable emergency condition needs a25 procedure with concrete steps; a required condition with no26 procedure is flagged as missing before the program starts.27- Safety pilot duties: the required duties are assigned to the safety28 pilot with safety_pilot_assignment; an unassigned duty is a gap.29- Go/no-go criteria: every criterion must pass with go_no_go; any30 single failed criterion forces NO-GO and names the failure.31- Risk mitigation: every risk needs at least one assigned mitigation32 with mitigation_gaps; an unmitigated risk blocks the flight.3334## Workflow35361. Collect the hazards and score them with assess_risks(hazards);37 review the high-risk list and mitigate before the program starts.382. Set the envelope limits and check every test point with39 envelope_violations(limits, points); fix or drop the violations.403. Build the emergency procedure library and check the coverage with41 procedure_coverage(required, library); add the missing procedures.424. Assign the safety pilot duties and verify them with43 safety_pilot_assignment(required_duties, assigned).445. Run the gate with go_no_go(criteria) before each flight and fly45 only on a GO verdict.466. Close the loop with mitigation_gaps(risks, mitigations); an47 unmitigated risk keeps the flight on the ground.4849## Pitfalls5051- Scoring a severity or likelihood outside 1-5: the matrix is bounded;52 an out-of-range value is an error, never a low risk.53- A point on the limit boundary counts as inside the envelope; only a54 strict crossing is a violation.55- A required condition with no procedure is flagged as missing, never56 assumed covered.57- A safety pilot duty left unassigned is reported as missing-duties58 and the flight is not released.59- The go/no-go gate rejects non-boolean inputs: "yes" or 1 is an60 error, not a pass.61- A mitigation for a risk id that is not in the risk list is an error:62 mitigations must reference the assessed risks exactly.6364## Behavior contract (gate 3)6566The risk assessment, envelope limit check, emergency procedure67coverage, safety pilot duty assignment, go/no-go criteria gate, and68risk mitigation logic is exercised by the gate 3 contract test:69scripts/test_flight_test_safety.py against70scripts/flight_test_safety_logic.py (stdlib unittest, offline). Run:71python3 scripts/test_flight_test_safety.py7273## Compliance7475- Standards referenced, not reproduced: FAR-25 and CS-25 set the76 flight test and certification context; the risk matrix, envelope77 limit discipline, emergency procedures, safety pilot practice, and78 go/no-go criteria is common flight-test methodology, summary-only79 per standards-map.yaml.80- compliance: STANDARDS-REF, gated: false.