1. What PYRION is
A plain introduction: what the project does, who made it and why.
What PYRION does, in one page
NASA has run many combustion experiments in microgravity and published their data in PSI, the Physical Sciences Informatics archive. A question that matters for spacecraft and for a Moon base is: does what NASA measured apply to the condition I care about? A condition here means three things: how much oxygen is in the air, how high the pressure is, and what gravity there is.
PYRION answers that question with a deterministic engine. For each investigation it asks whether your oxygen and pressure fall inside what that investigation tested, in the same physical regime. It then gives one of four verdicts and shows exactly which values it used, with the file and location they were read from.
Where PSI has no test, PYRION says so. It does not fill the gap with a guess, and it never says a condition is safe.
How to read this manual
The manual has twelve chapters in a fixed order. Chapter 2 walks through the Envelope page, the home page, element by element. Chapters 3 to 6 explain the right-hand column, the verdicts, the plan of experiments and the Add a source dialog. Chapter 7 is TARS SI, the chat. Chapter 8 is the Bridge. Chapters 9 and 10 explain the data and the method. Chapter 11 is a glossary and chapter 12 lists what PYRION does not claim.
Every topic about something on screen has a Show me button. It takes you to the page and outlines the element. In the ? menu, Help mode does the reverse: turn it on, click any element, and its topic opens.
If a sentence in this manual describes something that is not built, it says so. Nothing here describes an unbuilt feature as working.
Three promises, enforced by code
The verdict is deterministic. The same condition and the same data always give the same verdict and the same fingerprint. A language model never decides a verdict.
Every number has a source. A value comes with the NASA file and location it was read from, and a validator locates it in the source by code.
PYRION says what it does not know. Where PSI has no test, or where the records do not state what is needed, the answer is "insufficient evidence" or "no PSI test in this regime". It says "in PSI", never "no data exists".
What is PYRION?
PYRION ranks the NASA combustion investigations in PSI (Physical Sciences Informatics) by how well each one applies to a condition you choose: an oxygen level, a pressure and a gravity regime. It also shows where the measured evidence ends.
Every verdict is computed by a deterministic engine from values read out of the NASA sources. A language model never decides a verdict. Where PSI has no test, PYRION says so; it never fills the gap with a guess.
PYRION is a hackathon project (NASA Space Apps 2026, Flame in Freefall), not a NASA product.
Why page overview
What it is. A short page about why PYRION exists.
What it shows. The motivation and thanks.
How to use it. Read it for context.
Example. Read it before a demo.
What it does not do. It contains no data.
Thank you section
What it is. The closing section.
What it shows. Thanks to the people who helped.
How to use it. Read it.
Example. None.
What it does not do. It is not part of the method.
Print / download as PDF
What it is. The button and the link above a chapter.
What it shows. The print dialog of your browser, where you can choose Save as PDF; the link opens the whole manual on one page.
How to use it. Click it, or open the whole manual and print.
Example. Open the whole manual and save it as PDF.
What it does not do. It prints the text on screen; it does not add images.
Search the manual
What it is. The box above the table of contents.
What it shows. Matching topics from titles, keywords and the start of each topic.
How to use it. Type two letters or more and click a result.
Example. Type zoom.
What it does not do. It is a keyword search, not an AI search; for a conversation use TARS SI.
Show me
What it is. A button under a topic.
What it shows. It goes to the page where the element lives and outlines it.
How to use it. Click it.
Example. Click it under Full screen button.
What it does not do. If the element is inside a dialog that is closed, nothing is outlined.
Table of contents
What it is. The left list of chapters and topics.
What it shows. Every chapter, with every topic under it. The chapter you are reading is open.
How to use it. Click a chapter to read it, or a topic to jump to it.
Example. Open chapter 2 and click a tile topic.
What it does not do. It lists the manual, not the pages of the site.
Open in the manual
What it is. A button in the Help mode quick view.
What it shows. Nothing new; it leaves the quick view.
How to use it. Click it to read the topic inside its chapter, with the chapters around it.
Example. Turn on Help mode, click the chart, then open it in the manual.
What it does not do. It does not turn Help mode off.
2. The Envelope page
Every tile, line, control and chart element of the home page.
The Envelope page, from top to bottom
The page reads from top to bottom like a short report.
The header has the page title, a one-line status of the data behind it, the + Add a source button and the ? menu.
The Ask box is one line. Type a question about a condition and press Ask, or leave it and use the tiles.
The four scenario tiles are ready-made conditions: the ISS cabin, NASA's Moon Base, a NASA exploration atmosphere, and Your condition. Click one to load it.
The three columns are the controls on the left, the evidence chart in the middle, and on the right the verdict and the list of where the evidence is. The left and right columns scroll by themselves, so the chart stays in view.
The result cards under the columns hold one card per investigation, with the reasons and the receipts.
Reading a scenario tile, line by line
Take NASA's Moon Base.
The title names the scenario, and the line under it says where it comes from. The condition line gives oxygen, pressure and gravity with units. A pressure the source writes as "psi" stays "psi", with a hover note that it is absolute pressure.
The bold line says how many investigations apply and how many need extrapolation, or, when none applies, the headline of the chart. For the Moon Base it reads "No PSI test in this gravity regime".
The smaller lines give more: the closest solid-fuel investigation that can be compared and how many others lack the values, or, for the exploration atmosphere, what microgravity would give for the same atmosphere.
The quote on the Moon Base tile is from NASA's FM2 page, with a link. The button What would close this gap opens the plan of experiments (chapter 5). Hover a tile for its sources.
The tones of the map
Behind the outlines and points the chart is shaded. The shading is the evidence map of the regime you selected.
Bright cyan means that at least one investigation applies there: it tested the same regime and covers that oxygen and pressure. The brighter, the more investigations.
Three violet tones mark extrapolation by distance from the tested data: just outside, outside and far outside. They are steps of distance, not degrees of safety.
A hatch marks a combination that was never tested although each setting was tested on its own.
Dark means no investigation of this regime covers the point.
Hover the chart to read which investigations apply at the cursor.
Full screen, zoom and pan
The Full screen button opens the chart over the whole window with a sidebar listing where the evidence is. Esc returns you to the page, with the same view.
Pan by dragging anywhere on the plot. Move the target by dragging from its marker, or by clicking without moving. Zoom with the plus and minus buttons, with the wheel in full screen, or with Ctrl and the wheel on the page. The arrow keys pan, plus and minus zoom, and 0 resets.
The axes always show their units and add psia once the view is zoomed. Zoom and pan change only what you see; no verdict changes.
Ask button
What it is. The button of the Ask TARS SI bar.
What it shows. Nothing by itself.
How to use it. Press it to open TARS SI and send your question.
Example. Press Ask after typing a question.
What it does not do. It does not change the chart; use Show on the envelope in TARS's answer for that.
Ask TARS SI bar
What it is. The single question bar at the top of the Envelope page.
What it shows. Rotating example questions; nothing is computed until you send one.
How to use it. Type a question and press Ask: TARS SI opens with the question already sent.
Example. Ask what PSI says at 34 % oxygen and 8.2 psia.
What it does not do. It does not decide anything itself: TARS reads the condition by code, and the engine writes every verdict.
Question box
What it is. The text box of the Ask TARS SI bar.
What it shows. Example questions that rotate while it is empty.
How to use it. Type your question, with numbers and units if it is about a condition.
Example. Would solid fuel burn differently in a lunar base at 30 % oxygen and 10.2 psi?
What it does not do. It does not run the engine on its own; it hands the question to TARS SI.
The Envelope page and its chart
The Envelope page is the home page. The chart plots oxygen (% by volume) against pressure (kPa). Each shaded outline is the envelope of one regime: the oxygen and pressure range that PSI tested for one combination of gravity, fuel phase, diluent and flame type.
Your condition is the target marker. Click the chart, drag the marker or use the controls on the left to move it. Dragging elsewhere pans the view; Ctrl and the wheel, or the + and - buttons, zoom.
Inside an outline means that oxygen and pressure lie within the region spanned by an investigation's test points (between tests, not necessarily tested at that exact point). Outside means beyond every extracted PSI test region.
The three big tools (line on the Envelope page)
What it is. One line of links under the scenario tiles.
What it shows. Three links: Mission Planner (what would close the Moon gap), Investigations (the 24 PSI studies) and TARS SI (ask the AI assistant).
How to use it. Click one to open that page.
Example. Click Mission Planner to see how much of the Moon Base band PSI covers.
What it does not do. It does not change the condition you have chosen.
The four scenario tiles
The strip at the top of the Envelope page has four tiles. Click one to load it into the dashboard.
ISS cabin air, NASA's Moon Base (as stated in the Flame in Freefall challenge) and the NASA exploration atmosphere (from an NESC report) are conditions NASA has written down; hover a tile for its source. "Your condition" shows the current controls.
Every number on a tile is computed live by the engine on the real records. Changing any control leaves the preset and lights "Your condition".
The evidence map (shading)
Under the chart's outlines, the shading is the evidence map for the selected regime. Bright cyan means NASA investigations apply there; brighter means more of them. Violet means only extrapolation, in three steps by distance from the tested data (just outside, outside, far outside), with a hatch for an untested combination. Dark means no investigation of that regime covers the point.
Hover the chart to see which investigations apply at the cursor.
Full screen, zoom and pan
The Full screen button opens the chart over the whole window with a sidebar listing where the evidence is. Esc or "Exit full screen" returns to the page with the same view.
Drag anywhere to pan. Drag from the target marker to move the target. A click without movement places the target. In full screen the wheel zooms around the cursor; on the page, hold Ctrl. The arrow keys pan, + and - zoom, 0 resets. Zoom and pan change only the view, never a verdict.
Command palette search box
What it is. The text box inside the command palette.
What it shows. What you type, filtering presets, sections and pages.
How to use it. Type a few letters, use the arrow keys, press Enter to go.
Example. Type "lunar" and press Enter to load NASA's Moon Base.
What it does not do. It only jumps to things inside PYRION; it does not answer questions.
Command palette result
What it is. One entry of the palette list: a preset, a section or a page.
What it shows. Its group and its label.
How to use it. Click it or press Enter on it to run it.
Example. Click "ISS cabin air" to load that scenario.
What it does not do. It does not change anything until you pick it.
Status bar at the page foot
What it is. The row of small status cells above the footer.
What it shows. Facts about the checks behind this build, for example the validation result.
How to use it. Read it to see the state of the evidence pipeline; hover a cell for its meaning.
Example. Look at "Validation: 0 critical findings".
What it does not do. It is not live monitoring of the site, only the last committed report.
Envelope page overview
What it is. The home page: choose a condition, see where NASA's tests stand relative to it, and read the verdicts.
What it shows. From top to bottom: header line, Ask box, four scenario tiles, the controls, the chart, the verdict and the list "Where the evidence is", then the result cards for every investigation.
How to use it. Pick a tile, or set oxygen, pressure and gravity by hand, and read the headline.
Example. Click "NASA's Moon Base" and look at the headline.
What it does not do. It never says a condition is safe or validated; it says what PSI contains.
Header status line
What it is. The one small line under the page title.
What it shows. How many condition values were extracted, from how many investigations, and whether each is located in the NASA source by code.
How to use it. Read it to know how much data stands behind the page; click details for the breakdown.
Example. records in the files, how many the engine uses after rejections, and how many investigations they come from. Every count says what it counts.
What it does not do. It does not say the data is complete: six investigations have no extracted values yet.
Details link in the header
What it is. A link beside the status line.
What it shows. Opens the Data page.
How to use it. Click it for the full count and lineage.
Example. Use it to see how many values are located cell by cell.
What it does not do. It does not change the Envelope page.
Scenario tiles
What it is. The row of four tiles under the Ask box.
What it shows. ISS cabin air, NASA's Moon Base, NASA exploration atmosphere and Your condition, each with live numbers.
How to use it. Click a tile to load it into the dashboard; hover it for its sources.
Example. Click the exploration atmosphere tile.
What it does not do. The numbers are computed by the engine for exactly that condition; they are never typed in.
Tile title (loads the scenario)
What it is. The title and condition of a tile, which is also the button that loads it.
What it shows. The scenario name and its condition line.
How to use it. Click it to apply that scenario to the controls and the chart.
Example. Click "NASA's Moon Base".
What it does not do. Loading a scenario replaces the current controls; Your condition shows them again if you change anything.
Tile title
What it is. The name of the scenario.
What it shows. ISS cabin air, NASA's Moon Base, NASA exploration atmosphere or Your condition.
How to use it. Read it to know what the tile represents.
Example. Moon Base is NASA's stated band, not a measurement.
What it does not do. It is not a recommendation.
Tile subtitle
What it is. The small line under a tile title.
What it shows. Where the condition comes from, for example "as stated in the Flame in Freefall challenge".
How to use it. Read it before trusting a tile.
Example. The exploration tile cites its NTRS document.
What it does not do. It is not a quote of the full source; hover the tile for that.
Tile condition line
What it is. The monospaced line of numbers on a tile.
What it shows. Oxygen, pressure and gravity of the scenario, with units. A pressure the source writes as "psi" stays "psi" with a hover note that it is absolute.
How to use it. Read it to compare scenarios at a glance.
Example. "34 % O₂ · 8.2 psia · 0.16 g".
What it does not do. It is the condition PYRION tests against PSI, not a prediction about it.
Tile verdict summary
What it is. The bold line on a tile.
What it shows. How many investigations apply, split by fuel phase, and how many need extrapolation; or, when none apply, the headline of the chart.
How to use it. Read it to see how much evidence PSI holds for that scenario.
Example. "4 applicable (3 gas fuel, 1 liquid fuel)".
What it does not do. Applicable means the oxygen and pressure lie within the region spanned by PSI test points in the same regime (between tests, not necessarily tested at that exact point); it does not mean the condition is safe.
Tile detail line
What it is. A smaller line below the summary on a tile.
What it shows. A computed fact such as the closest solid-fuel investigation, or what microgravity would give for the same atmosphere.
How to use it. Read it for the next level of detail.
Example. "Closest solid-fuel investigation that can be compared: BASS, just outside the tested data".
What it does not do. It names only investigations the engine could compare; the others are counted, not guessed.
NASA quote on a tile
What it is. An italic line quoting NASA.
What it shows. A sentence from NASA's FM2 page about lunar gravity, with a link.
How to use it. Click the link to read the page.
Example. "materials may burn at lower oxygen concentrations in lunar gravity compared to Earth".
What it does not do. It is a quotation, not a PYRION finding.
NASA FM2 page link
What it is. A link inside the Moon Base tile.
What it shows. NASA's page on the Flammability of Materials on the Moon experiment.
How to use it. Click it to open the page in a new tab.
Example. Read the FM2 plan after the tile.
What it does not do. It does not show FM2 results: none are public yet.
Atmosphere A link
What it is. A small link in the exploration atmosphere tile.
What it shows. The other NESC exploration atmosphere: 26.5 % oxygen at 10.2 psia.
How to use it. Click it to load that atmosphere.
Example. Switch from the 34 % atmosphere to atmosphere A.
What it does not do. It uses the same lunar gravity pairing and says so in its source note.
About this scenario
What it is. A collapsible note under the tiles.
What it shows. The chosen scenario's description, its sources and limits.
How to use it. Click to open it.
Example. Read the limits of the ISS preset.
What it does not do. It disappears when you leave the preset (Your condition has no source).
Scenario source link
What it is. A link in the scenario note.
What it shows. A NASA source of one value of the scenario; hover it for the quoted sentence.
How to use it. Click to open the document.
Example. Open the NESC report page.
What it does not do. It does not prove the condition is right for your use.
Your condition controls
What it is. The left column of controls.
What it shows. Oxygen, pressure, gravity regime and the other axes.
How to use it. Change any control to test your own condition.
Example. Move pressure to 70 kPa.
What it does not do. Changing a control leaves the preset: the result then says "your condition".
Oxygen number box
What it is. A number box for oxygen in percent by volume.
What it shows. The current oxygen level.
How to use it. Type a value between the window limits.
Example. Type 34.
What it does not do. It is the ambient oxygen of the target, not a partial pressure.
Oxygen slider
What it is. A slider for oxygen.
What it shows. The same oxygen level with NASA tick marks at 21, 26.5 and 34 %.
How to use it. Drag it; hover a tick for its source.
Example. Drag to 30.
What it does not do. It moves in 0.5 % steps; use the number box for finer values.
Pressure number box
What it is. A number box for total pressure in kPa, with psia shown below.
What it shows. The current total pressure.
How to use it. Type a value in kPa.
Example. Type 56.5 for about 8.2 psia.
What it does not do. It is absolute total pressure, not gauge pressure.
Pressure slider
What it is. A slider for pressure.
What it shows. The same pressure with ticks at 8.2, 10.2 and 14.7 psia.
How to use it. Drag it.
Example. Drag to the ISS tick.
What it does not do. The ticks are NASA conditions, not safe limits.
Regime selects (gravity, fuel phase, diluent, flame type)
What it is. The drop-downs for the regime axes.
What it shows. The value of each axis, or "left open".
How to use it. Choose a value to compare only tests in that regime; leave an axis open if you do not know it.
Example. Set gravity to microgravity.
What it does not do. A regime is a barrier: tests in a different regime are not compared. An axis left open is not compared, and an investigation that did not record it may become insufficient evidence.
Gravity level box
What it is. A number box shown for partial gravity.
What it shows. The gravity level in g, for example 0.165.
How to use it. Type a level.
Example. Type 0.165 for the Moon.
What it does not do. It is shown only; no PSI test is at a partial-gravity level, so it is not compared.
Evidence envelope card
What it is. The card that holds the chart and its controls.
What it shows. The legend, the chart, the target callout, the map legend and a data table.
How to use it. Use its buttons to zoom, pan or open it full screen.
Example. Click Full screen to see the sidebar.
What it does not do. It is a view of the extracted records; it does not add data.
Evidence envelope chart
What it is. The oxygen-versus-pressure picture of what PSI tested.
What it shows. Shaded outlines per regime, points per test, shading per map tone, and your target.
How to use it. Click it to move the target, drag to pan, Ctrl and wheel to zoom.
Example. Click at 30 % and 70 kPa.
What it does not do. It plots only values extracted so far; investigations without extracted values are absent.
Chart legend
What it is. The chips above the chart.
What it shows. One chip per regime layer with its number of points, plus the view and zoom buttons.
How to use it. Click a chip to hide or show that layer.
Example. Hide the gas-fuel layer.
What it does not do. Hiding a layer is a view choice; it does not change verdicts.
Regime layer chip
What it is. A chip for one regime combination (gravity, fuel phase, diluent, flame type).
What it shows. Its colour, its marker shape (solid square, liquid circle, gas triangle) and its point count.
How to use it. Click to hide or show the layer.
Example. Hide "microgravity · liquid fuel".
What it does not do. A hollow marker means some regime axis is not stated in the extracted records.
Regime not stated chip
What it is. A chip for tests whose regime is not fully stated.
What it shows. The count of points whose gravity or fuel phase is unknown.
How to use it. Click to hide or show them.
Example. Hide them to simplify the chart.
What it does not do. These points are never used as a match: PYRION does not guess a regime.
All pressures
What it is. A view toggle.
What it shows. The whole pressure range of the data.
How to use it. Click it to see low-pressure tests too.
Example. Switch to All pressures.
What it does not do. It changes the window only.
Cabin range
What it is. A view toggle (the default).
What it shows. Pressures around spacecraft cabins.
How to use it. Click it to return to the cabin window.
Example. Switch back after exploring.
What it does not do. Points outside the window still count for hulls and verdicts.
Zoom out
What it is. A button with a minus sign.
What it shows. It is enabled when the view is zoomed.
How to use it. Click it to zoom out by a step.
Example. Click twice after zooming in.
What it does not do. Zoom is view only; no verdict changes.
Zoom in
What it is. A button with a plus sign.
What it shows. The zoom level appears as a badge on the chart.
How to use it. Click it, or press + while hovering the chart.
Example. Zoom to see overlapping points.
What it does not do. The axes re-tick; the data does not change.
Reset the view
What it is. A button.
What it shows. It is enabled when the view differs from the default.
How to use it. Click it, or press 0, to return to the default view.
Example. Reset after panning away.
What it does not do. It does not move your target.
Full screen button
What it is. A button that opens the chart over the whole window.
What it shows. The chart with a sidebar listing where the evidence is.
How to use it. Click it; press Esc to return.
Example. Use it for presentations.
What it does not do. Your condition and zoom stay the same when you come back.
Zoomed badge
What it is. A small badge in the chart corner.
What it shows. "Zoomed ×n" or "Panned" and a Reset action.
How to use it. Click it to reset the view.
Example. Click it after a deep zoom.
What it does not do. It is not a verdict.
Chart plot area
What it is. The drawing area.
What it shows. Hulls, points, map shading and your target on oxygen and pressure axes.
How to use it. Click to place the target; drag on empty space to pan.
Example. Drag the marker to move the target.
What it does not do. A click on a point opens that test's receipt instead of moving the target.
Chart grid lines
What it is. The faint lines behind the data.
What it shows. Tick positions of the axes.
How to use it. Use them to read values.
Example. Read 40 kPa from the grid.
What it does not do. They are not tests.
Chart axes and ruler
What it is. The frame of the chart.
What it shows. Oxygen in % by volume along the bottom and pressure in kPa (psia in brackets when zoomed) up the side.
How to use it. Read values against the ticks.
Example. Find 20.95 % (air).
What it does not do. Units are always shown; a bare number is never used.
Regime outlines (convex hulls)
What it is. The shaded polygons.
What it shows. For each investigation, the smallest outline holding its measured oxygen and pressure points.
How to use it. Check whether your target marker is inside an outline of the right colour.
Example. Move the target into a green-teal outline.
What it does not do. Inside an outline in a different regime does not count: regimes are barriers.
Measured points
What it is. The dots, triangles and squares on the chart.
What it shows. One mark per extracted oxygen and pressure pair of a test.
How to use it. Hover for the test, click for its receipt.
Example. Hover a point to see its investigation.
What it does not do. A line joining two points is a measured range, not interpolation.
One measured point
What it is. A single mark (hover target).
What it shows. The test id, the oxygen, the pressure and its regime in the tooltip.
How to use it. Hover for details; click to open the investigation card with receipts.
Example. Click a point to jump to its card.
What it does not do. It does not prove that other conditions between points burn the same way.
Evidence map shading
What it is. The coloured background.
What it shows. Bright cyan where investigations apply, violet tones for extrapolation by distance, dark where none covers.
How to use it. Read it to see where evidence is dense; hover to see which investigations apply.
Example. Look for the bright area around air.
What it does not do. The map is computed for the selected regime only.
Map legend
What it is. The sentence under the chart.
What it shows. What the cyan, the three violet tones and the hatch mean.
How to use it. Read it to decode the shading.
Example. Check the meaning of the hatch.
What it does not do. A distance from the tested data, not a pass.
Map readout
What it is. A small box that follows the cursor.
What it shows. Which investigations apply at the cursor, or how many would need extrapolation.
How to use it. Hover the chart.
Example. Hover the bright area.
What it does not do. It reads the map cell under the cursor, not a measurement.
Target marker
What it is. The ringed marker with ticks.
What it shows. Your condition on the chart.
How to use it. Drag it to move the target; click elsewhere to place it.
Example. Drag it to 8.2 psia.
What it does not do. It is a condition you chose, not a measurement.
Target callout
What it is. The small label next to the target.
What it shows. The scenario name and the headline: inside or outside the measured envelope.
How to use it. Read it for a one-glance result.
Example. "Inside the tested range".
What it does not do. "Inside" means it lies within the region spanned by PSI test points in this regime (between tests, not necessarily tested at that exact point); it does not mean safe.
Verdict rail
What it is. The thin coloured strip at the chart's right edge.
What it shows. The headline at your oxygen along the pressure axis.
How to use it. Read where along pressure the result changes.
Example. Find where it turns from green to amber.
What it does not do. It is computed for your oxygen and regime only.
Point tooltip
What it is. The box that appears when you hover a point.
What it shows. Test, oxygen, pressure, regime and "file and location given".
How to use it. Hover and click for the receipt.
Example. Hover a point.
What it does not do. It does not show the raw file; open the card for that.
Chart caption
What it is. The text under the chart.
What it shows. The headline, why, which axes are open, the map legend and how to read hulls.
How to use it. Read it when the chart is unclear.
Example. Read which axes your target leaves open.
What it does not do. It is explanatory, not a result of its own.
Data table (chart)
What it is. A collapsible table of every plotted point.
What it shows. Regime, investigation, test, oxygen and pressure.
How to use it. Click to open it.
Example. Check a point's exact oxygen.
What it does not do. It lists extracted points, not every raw file value.
Table row receipt link
What it is. A link in the data table.
What it shows. An investigation id.
How to use it. Click it to open its card.
Example. Open PSI-26 from the table.
What it does not do. It opens a card; it does not download data.
Evidence sheet handle
What it is. The bar at the bottom of the full-screen chart on narrow screens.
What it shows. The title "Where the evidence is" with an arrow.
How to use it. Tap it to open or close the evidence sheet.
Example. Open it on a phone.
What it does not do. It is the same list as the right column.
Help center dialog
What it is. A dialog with a search box and a list of topics by page.
What it shows. Every topic: what it is, shows, how to use it, an example and what it does not do.
How to use it. Type to search; click a topic to read it.
Example. Search "extrapolation".
What it does not do. It documents what exists; unbuilt features are labelled as such.
Help mode banner
What it is. A banner while Help mode is on.
What it shows. "Help mode: click any element to learn about it".
How to use it. Click an element; press Esc or the banner button to leave.
Example. Click a tile.
What it does not do. Actions are paused while it is on.
Skip the tour
What it is. A link in the tour card.
What it shows. Nothing.
How to use it. Click it or press Esc.
Example. Skip it.
What it does not do. It remembers that you skipped.
Tour back
What it is. A button.
What it shows. The previous step.
How to use it. Click it.
Example. Go back.
What it does not do. It does not change the page.
Tour next or done
What it is. A button.
What it shows. The next step or the end.
How to use it. Click it.
Example. Finish the tour.
What it does not do. It does not change your condition.
Turn off Help mode
What it is. The button in the Help mode banner.
What it shows. Nothing.
How to use it. Click it, or press Esc, to leave Help mode.
Example. Turn it off after reading a topic.
What it does not do. It does not close the Help center.
Close the Help center
What it is. The cross in the Help center.
What it shows. Nothing.
How to use it. Click it, press Esc, or click outside.
Example. Close it.
What it does not do. It does not turn Help mode off.
Help search box
What it is. The search field of the Help center.
What it shows. Your words, matched against titles, keywords and text of every topic.
How to use it. Type a word such as zoom.
Example. Type "extrapolation".
What it does not do. It is a keyword search, not an AI search; ask TARS for a conversation.
Help page filter
What it is. A row of chips: All, Envelope, Bridge, Data, Method, Why, TARS, Everywhere, Overviews.
What it shows. The topics of one page.
How to use it. Click a chip.
Example. Click Bridge.
What it does not do. It filters the list only.
Help topic in the list
What it is. A topic title in the left list.
What it shows. Its full text on the right.
How to use it. Click it.
Example. Open "Take me there".
What it does not do. It does not leave the Help center.
Take me there (Help center)
What it is. A button under a topic.
What it shows. It goes to the page and outlines the element the topic describes.
How to use it. Click it.
Example. Open the chart topic and go to the chart.
What it does not do. If the element is not on screen yet (a dialog), nothing is outlined.
Ask TARS about this
What it is. A button under a topic.
What it shows. It opens TARS with a question about the topic.
How to use it. Click it.
Example. Ask TARS about the verdict ring.
What it does not do. TARS answers from these topics and may add checked explanation.
Compared point
What it is. A numbered diamond on the map.
What it shows. Where one compared condition sits in oxygen and pressure.
How to use it. Match its number to the comparison table.
Example. Diamond 2 is the second row.
What it does not do. It carries no verdict by itself.
Ask TARS about this
What it is. A small pink button with a spark on scenario tiles, verdict cards, routes, blockers and the sections of the plan of what would close the gap.
What it shows. Nothing by itself; it opens TARS SI and sends a question that already says what you are looking at, with the page context.
How to use it. Click it, then read the answer in the TARS panel. You can follow up in the same conversation.
Example. Click it on NASA's Moon Base to ask why PSI holds no test for it.
What it does not do. It does not change the page, and TARS's answer is not a verdict: verdicts come only from the engine.
Try again (loading the evidence)
What it is. A link that appears if the evidence files could not be loaded.
What it shows. Nothing by itself.
How to use it. Click it to load the files again.
Example. After a network hiccup.
What it does not do. It does not change any data.
Safety-leg and relevance chips
What it is. Small chips on a result card.
What it shows. Which fire-safety legs (prevention, detection, suppression) the investigation has a quoted statement for, and how directly the challenge text ties it to spacecraft fire safety (direct, fundamental or indirect).
How to use it. Hover a chip group for what it means; read it next to the verdict.
Example. An investigation tagged detection and relevance: direct.
What it does not do. It does not change any verdict, and it is not a safety assessment. The tags are context taken from quoted sentences; they were not reviewed by NASA.
3. NAVIGATOR: where the evidence is
The right-hand column, Take me there, regimes and no route found.
The three kinds of change: move, leave open, different regime
A route is made of changes, and there are only three kinds.
Move. A number you set (oxygen, pressure, flow, thickness...) goes to the nearest condition that was actually tested in that investigation. For oxygen and pressure together, "nearest" means the nearest point of the region covered by the investigation's tests, not the nearest oxygen value and the nearest pressure value separately. The route tells you the exact new values and shows the records that define that edge, so you can check them.
Leave open. Some axes of your question can be left unstated: the fuel phase (solid, liquid or gas), the diluent gas and the flame type. If an investigation did not record one of them, comparing at "any value" is honest, and the route says so: "Leave fuel phase open: PSI-25 did not record it." This is the only kind of "leave open" allowed.
Different regime. A regime axis you set differs from every condition the investigation was tested in: for example you set partial gravity and the investigation was run only in microgravity. The route says "Switch ... This is another regime, not a small step." A route that contains any regime switch is called a different-regime route, whatever else it also contains, and it is always ranked after every route that does not need one.
A route can combine kinds: "Leave fuel phase open ... Move pressure from 70.3 kPa to 101 kPa ...". If it contains a regime switch it is a different-regime route; otherwise, if it mixes kinds, it is a combined route.
Moves smaller than the measurement tolerance (0.5 %) are not listed, because the verdict already treats them as the same condition.
## For engineers
Types: RouteChangeKind = 'move' | 'leave_open' | 'switch_regime'; RouteKind = 'move' | 'leave_open' | 'combined' | 'different_regime' (engine/src/navigator.ts). Kind rule: any switch_regime change gives different_regime; otherwise more than one change kind gives combined; otherwise the single kind.
planCluster (navigator.ts:120) builds changes in this order:
1. Regime axes, in REGIME_AXES order (gravity_regime, fuel_phase, diluent, flame_type), for each axis the target states:
- cluster state missing or conflicting: leave_open (never for gravity_regime, see the next topic);
- cluster state known and different: switch_regime to the cluster's value;
- the special case of informational.gravity_not_covered (a gravity above 1.1 g) is a switch of the gravity regime to the cluster's value, and gravity_not_covered is then removed from the route target.
2. Continuous axes: a stated axis that no test of the cluster records, or that is not recorded together with the other stated axes, makes the cluster unreachable (no leave_open).
3. Moves. If both o2_mole_fraction and pressure are stated, the points of the complete tests are normalized by the axis scales, the hull is built (convexHull, engine/src/geometry.ts:25) and, if the target is neither inside nor within the tolerance box (hullNearBox, geometry.ts:88), the nearest point of the hull is taken (nearestPointOnHull, geometry.ts:135). New values are rounded to 10 significant digits (sig10). Every other stated axis is clamped to [min, max] of the complete tests when it is outside by more than 0.5 % of its own value.
4. A move whose |to - from| is at most MEASUREMENT_TOLERANCE_REL × |from| (0.005, engine/src/types.ts:175) is applied to the target but not listed as a change.
5. Changes are ordered leave-open, move, switch for the sentence. distance is the Euclidean norm of the normalized displacement of the moved axes.
After a gravity switch to a regime other than partial_gravity, informational.gravity_level is removed from the route target, so a stale "0.16 g" cannot survive a switch to microgravity.
Moved values carry citations: for plane moves the records at the hull vertices that bound the nearest edge (recordsAt), for clamped axes the records at the bound.
Why gravity, oxygen and pressure are never left open
It would be easy to produce more routes by quietly dropping parts of your question: "leave gravity open and this investigation is comparable". PYRION does not do that, on purpose.
Gravity. If an investigation's records do not state its gravity regime, PYRION cannot compare it with your gravity. Leaving your gravity "open" would mean comparing a lunar cabin with an experiment whose gravity nobody stated, and calling the result applicable. That would treat "unknown" as if it were "the same". So such an investigation is listed as unreachable, with the reason: "the extracted records do not state its gravity regime, so it cannot be compared on gravity." Whether the records of an investigation do state its gravity is a question for the extraction of the data, not something NAVIGATOR may fill in.
Oxygen, pressure and any other number you set. These are the heart of your question. If an investigation did not record pressure, it cannot be compared at your pressure, and NAVIGATOR says exactly that: "PSI-22 did not record pressure, so it cannot be compared at your pressure." It does not offer "leave pressure open" as a way to make it comparable. The same holds when oxygen and pressure were recorded, but never together in one test.
What may be left open. Only the regime axes that are about what is burning and in what gas: fuel phase, diluent and flame type. If you did not state them, they are not compared at all; if you did and the investigation did not record them, NAVIGATOR may suggest leaving them open, in words.
The rule is about honesty, not convenience: a route is a promise that the change makes the comparison fair.
## For engineers
Where it is enforced (engine/src/navigator.ts, planCluster):
gravity_regimewith cluster statemissing:route: null,why: 'the extracted records do not state its gravity regime, so it cannot be compared on gravity'; with stateconflicting:'the extracted records disagree on its gravity regime (...), so it cannot be compared on gravity'.- A stated continuous axis that no test records:
why: '${acc} did not record ${axisLabel}, so it cannot be compared at your ${axisLabel}.' - Stated axes never recorded in one test:
why: 'No single test of ${acc} records ${labels} together, so it cannot be compared at the values you set.'
The blockers of evaluate() follow the same rule: AXIS_NOT_RECORDED on a continuous axis, and any blocker on gravity_regime, carry no action (engine/src/verdict.ts:100, blockersOf); only fuel phase, diluent and flame type get "Leave ... open."
Invariants in engine/test/navigator.test.ts ("routes never drop an axis the target states" and the main invariant): no route has a leave_open change on gravity_regime or on a member of CONTINUOUS_AXES; every route target keeps every stated continuous axis (except gravity_level, which is informational); after a gravity switch to microgravity or normal gravity there is no informational.gravity_level.
How routes are ranked
Routes are shown in an order that never rewards a regime switch:
- First come the routes that need no regime switch (move, leave open, or both). Among them, the route with the fewest changes comes first.
- If two routes have the same number of changes, the one that moves your condition least comes first. "Least" is measured on a scale that makes oxygen and pressure comparable: each axis is divided by the range of that axis across all of PSI.
- If they are still tied, the investigation with the smaller PSI number comes first (so the order never depends on how the records happen to be stored).
- Only after all of those come the different-regime routes, sorted by the same three rules. A different-regime route with zero distance still comes after a no-switch route that moves a long way, because a regime change is not a distance: it is a different situation.
Each investigation gets at most one route (its best). When an investigation has several clusters (several regime combinations), the best cluster's route is the one shown.
## For engineers
compareRoutes (engine/src/navigator.ts:313): tier (different_regime = 1, otherwise 0), then changeCount, then distance, then compareAccession (numeric order of the PSI number), then clusterKey (string order). One route per investigation: the cluster routes of an investigation are sorted with the same comparator and the first is kept; testedRegimes (all regime combinations the investigation was tested in) is attached to a different-regime route.
distance is the square root of the sum over moved axes of ((to - from) / scale)^2, with scale the AxisScale.scale of the corpus normalization (engine/src/evidence.ts, buildCorpus): the global range of counted values, or the absolute value when the range is 0, or 1.
threePartAnswer (engine/src/answer.ts:87) shows at most the first 3 routes.
Invariant (navigator.test.ts, checkInvariant): all different-regime routes come after all others; among routes of the same tier, order is by changeCount then distance.
Routes that cannot be built, and why
Some investigations get no route. They are listed, each with a plain sentence, so a missing route is never a mystery. The reasons are:
- No gravity regime stated. "The extracted records do not state its gravity regime, so it cannot be compared on gravity." (Or, if records disagree: "...disagree on its gravity regime ...".)
- Gravity above what PSI covers. If you set more than 1.1 g, no investigation covers it. A route can switch the regime for investigations that state one; for an investigation that does not state its gravity regime the sentence is: "PSI-xx does not record the gravity regime, and the gravity you gave is above everything this dataset covers."
- An axis you set was not recorded. "PSI-22 did not record pressure, so it cannot be compared at your pressure."
- Axes recorded, but never together. "No single test of PSI-xx records oxygen and pressure together, so it cannot be compared at the values you set."
- Values listed without pairing. "PSI-68 lists several oxygen and pressure values without saying which go together, so no tested point can be named."
- No change of the offered kinds works. "PSI-xx: no change of the kinds this tool offers makes it comparable (the engine's answer is: ...)." This is a safety net; the tests do not reach it.
- Nothing to change. "no change of the kinds this tool offers is needed or possible."
In the app, these appear under the routes, with the action button missing where the sentence says the investigation cannot be compared.
## For engineers
Every string is produced in planCluster (engine/src/navigator.ts:120) as ClusterPlan.why; routesToEvidence stores the first available why of the investigation's clusters in RouteSet.unreachable[{accession, reason}] (sorted by compareAccession).
| Code path | Reason |
|---|---|
| gravity_regime state missing | the extracted records do not state its gravity regime, so it cannot be compared on gravity |
| gravity_regime state conflicting | the extracted records disagree on its gravity regime (...), so it cannot be compared on gravity |
| informational.gravity_not_covered and cluster gravity not known | ${acc} does not record the gravity regime, and the gravity you gave is above everything this dataset covers. |
| stated axis with no recorded value in any test | ${acc} did not record ${axis}, so it cannot be compared at your ${axis}. |
| no test complete for all stated axes | No single test of ${acc} records ${axes} together, so it cannot be compared at the values you set. |
| O2 and pressure both stated, no pairable point (testPoints returns null for every test) | ${acc} lists several oxygen and pressure values without saying which go together, so no tested point can be named. |
| verification judgeCluster is not APPLICABLE | ${acc}: no change of the kinds this tool offers makes it comparable (the engine's answer is: <verdict label>). |
| changes.length === 0 | ${acc}: no change of the kinds this tool offers is needed or possible. |
testPoints (engine/src/evidence.ts:270) returns the measured points of a test on the given axes; it returns null when two or more of the axes have more than one value, because which value goes with which is then unknown.
\"Take me there\"
"Take me there" is the button on a route. It moves your condition to the condition the route describes, and the verdict is recalculated on the spot.
What happens when you click it:
- The app replaces your target with the route's resulting target (the new oxygen and pressure, the opened axes, the switched regime).
- The engine evaluates it again, exactly as for any other condition. If the route was built correctly, the investigation is now Applicable; if not, you would see it, because the verdict is never taken from the route.
- Applying a route leaves the preset you started from: your condition is now a custom one.
For a different-regime route the button says "Switch to ..." and not "Move": it is a different situation, not a small step, and the app does not hide that.
The button is a convenience. Everything it does you could do yourself with the sliders and the regime selectors; the route only tells you which values to use and why.
## For engineers
The route's target (Route.target, engine/src/navigator.ts) is the canonical target after all changes: { regime, continuous, informational? }. It is verified before being returned: judgeCluster(cluster, finalTarget, scales).verdict === 'APPLICABLE' (otherwise the investigation is unreachable). Test: navigator.test.ts checkInvariant applies every route's target with evaluate() and asserts APPLICABLE for the route's accession.
The app uses route.target directly; it must not edit it. For gravity, informational.gravity_level is dropped when the route switches the regime to anything but partial gravity (so a stale lunar level cannot remain in a microgravity target) and informational.gravity_not_covered is removed after a switch.
A target given to routesToEvidence with continuous.gravity_level is normalized to informational.gravity_level and RouteSet.notes[0] says "The gravity level is shown, not compared: no condition record carries it, so it is not an axis a route can move or leave open."
Ground tests note
What it is. A sentence under the headline when gravity is normal (1 g).
What it shows. That PSI holds no 1 g tests with oxygen and pressure per test; the only stated ground conditions are BASS-II and BRE.
How to use it. Click its link for the inventory.
Example. Choose normal gravity and read it.
What it does not do. It is specific to PSI's extracted records.
Ground tests inventory link
What it is. A link in the ground note.
What it shows. The inventory file on GitHub.
How to use it. Click to open.
Example. Check the BRE entry.
What it does not do. It does not add ground tests to the chart.
Pin to compare
What it is. A button on the verdict panel.
What it shows. It keeps a ghost marker of your current condition on the chart.
How to use it. Click it, then move the target to compare.
Example. Pin the ISS, then try the Moon.
What it does not do. The pinned condition is only a view aid.
Clear pinned condition
What it is. A link next to a pinned comparison.
What it shows. Removes the ghost marker.
How to use it. Click it.
Example. Clear after comparing.
What it does not do. It does not change your condition.
Where the evidence is
What it is. The second card of the right column.
What it shows. Groups: Already comparable, How to reach more evidence, Tested only in another regime, No route found.
How to use it. Scroll it; it has its own scrollbar.
Example. Find the closest route.
What it does not do. It lists investigations of the 24 that have extracted values.
Route group heading
What it is. The uppercase heading of each group.
What it shows. The group name and its count.
How to use it. Read it to know what the items below mean.
Example. "No route found (8)".
What it does not do. Counts include only investigations with extracted values.
Comparable investigation name
What it is. The bold name in "Already comparable".
What it shows. The accession and acronym.
How to use it. Click it to open the investigation's card.
Example. Open PSI-69.
What it does not do. Comparable means applicable here, not recommended.
Comparable DOI link
What it is. A small doi link.
What it shows. The investigation's DOI at doi.org.
How to use it. Click it to open the dataset page.
Example. Open the DOI.
What it does not do. It points at NASA's dataset, not at our extraction.
Route investigation name
What it is. The name at the start of a route line.
What it shows. The accession and acronym of an investigation that could become comparable.
How to use it. Click it to open its card.
Example. Open PSI-26.
What it does not do. It does not apply the route.
Route DOI link
What it is. A small doi link on a route line.
What it shows. The dataset's DOI.
How to use it. Click it.
Example. Check the dataset.
What it does not do. It does not apply the route.
Route level chip
What it is. A small outlined label on a route line.
What it shows. "just outside", "outside", "far outside", "untested combination", "Insufficient" or "Other regime".
How to use it. Hover it for the full phrase.
Example. Read it before clicking Take me there.
What it does not do. A distance, not a pass: even "just outside" is an extrapolation.
Route sentence
What it is. The two-line text of a route.
What it shows. What to change: for example "Move oxygen from 21 % to 21.5 %, the nearest condition tested in PSI-26".
How to use it. Hover for the full text.
Example. Read the change before applying it.
What it does not do. It is the smallest change by the engine's rule, not the best experiment.
+ n more
What it is. A link under a route group.
What it shows. The number of remaining items.
How to use it. Click to show them; click again to fold.
Example. Expand "How to reach more evidence".
What it does not do. It only shows more of the same list.
No route found item
What it is. An investigation in the last group.
What it shows. Why the engine found no change that makes it comparable, for example it records one axis only.
How to use it. Click it to open its card.
Example. Read the reason for PSI-39.
What it does not do. It does not mean the investigation is useless; it means no change of your condition fixes the gap.
4. Verdicts and extrapolation levels
The four verdicts, how far outside the tested data, and how to read a result card.
The four verdicts
Every investigation in PSI gets exactly one of four verdicts for your condition. They are decided by fixed rules; no language model takes part.
- Applicable. Your condition lies inside what the investigation tested, in every respect you stated. Its results are directly comparable.
- Extrapolation. Everything is comparable in kind (same regime), but your numbers fall outside the tested region. The verdict also says how far outside (see "Extrapolation and its four levels").
- Insufficient evidence. The investigation's records do not say enough to place your condition: something you asked about was not recorded, or cannot be used. This is not a "no"; it is "not enough is stated in the extracted records".
- Not comparable: different gravity, fuel or atmosphere. You set a regime (gravity, fuel phase, diluent, flame type) that differs from the one the investigation was tested in. No distance is defined across a regime: it is a different situation, not a long distance.
When several verdicts exist inside one investigation (for different regimes it was tested in), the best one is the investigation's verdict. The order is Applicable, then Extrapolation, then Insufficient evidence, then Not comparable.
Two honest limits are built into the wording: PYRION says "in PSI" and never "no data exists", because it only knows the records it extracted from PSI; and none of the verdicts says a condition is safe or unsafe.
## For engineers
type Verdict = 'APPLICABLE' | 'EXTRAPOLATION' | 'INSUFFICIENT_EVIDENCE' | 'REGIME_BARRIER' (engine/src/types.ts). Order constant: VERDICT_ORDER (engine/src/verdict.ts:42). Display names: VERDICT_LABELS in engine/src/labels.ts (Applicable / Extrapolation / Insufficient evidence / Not comparable: different gravity, fuel or atmosphere).
Decision order inside judgeCluster (verdict.ts:149, "4. Verdict"):
- a stated regime axis differs from the cluster's known value:
REGIME_BARRIER; - else a stated regime axis is missing or conflicting, or a stated continuous axis has no usable value in any test, or no test is complete on all stated axes:
INSUFFICIENT_EVIDENCE; - else any axis outside its range (beyond tolerance) or (O2, pressure) outside the hull:
EXTRAPOLATION; - else, if there are no pairable (O2, pressure) points:
INSUFFICIENT_EVIDENCE; - else
APPLICABLE.
distance is defined only for APPLICABLE and EXTRAPOLATION (normalized Euclidean distance to the nearest measured point); for the other two it is null, never Infinity (canonicalJson refuses non-finite numbers, engine/src/json.ts). compareRanked (verdict.ts:504) sorts by verdict order, then distance, then accession, then cluster key.
Records with status insufficient_evidence never count as evidence; with the option minimumStatus: 'verified' only verified records count (engine/src/evidence.ts, counts).
Applicable
Applicable means that, for this investigation, every axis you set is inside the range its tests covered, and your oxygen and pressure together fall inside the region its tests cover.
Two details make this stricter than it sounds:
- "Inside" is checked on each axis separately and on oxygen and pressure together. A condition can be inside the oxygen range and inside the pressure range and still sit in an untested corner. That case is not Applicable (it is Extrapolation, level "combination").
- "Inside" allows a small measurement tolerance of 0.5 %, so typing 101.3 kPa instead of 101.325 kPa does not change the verdict.
Applicable does not mean "the same experiment". It means your numbers fall within what that investigation measured, in the same regime. The investigation's records, with their sources and DOI, are the receipt.
## For engineers
Per-axis check in judgeCluster: for each stated continuous axis, over the complete tests, min/max of recorded values; tol = MEASUREMENT_TOLERANCE_REL × |target|; the axis is inside if min - tol ≤ target ≤ max + tol. When only the tolerance puts it inside, AxisCheck.viaTolerance is true and the reason says "is within the 0.5 % measurement tolerance of the tested ..." (engine/src/verdict.ts).
Plane check: points (o2/scale_o2, pressure/scale_p) from testPoints of the complete tests; convexHull (engine/src/geometry.ts:25); inside if hullContains (geometry.ts:70, with EPS = 1e-9, geometry.ts:10) or hullNearBox (geometry.ts:88) with half-widths 0.005 × |value| / scale. HullCheck.viaTolerance marks the tolerance case. Degenerate hulls (one point, one segment) use the same code; the zero-width case is why a tolerance exists (all records of one investigation at exactly 1 atm).
APPLICABLE needs at least one pairable point (pts.length > 0); testPoints returns null when two stated axes each have several values (pairing unknown).
Extrapolation
Extrapolation means the investigation was tested in your regime, but at least one number you set is outside the tested range, or your oxygen and pressure together are outside the tested region.
It is the engine's way of saying "close in kind, not in measurement". It never says "this will behave like that experiment". Combustion can change abruptly near limits (extinction is the classic example), so even a condition just outside the tested data is an extrapolation and must be treated as one.
An Extrapolation verdict always comes with a level that says how far outside you are, and with the receipt: which axis is outside, by how much, and which records define the nearest bound.
The distance shown to specialists is the straight-line distance, after scaling each axis by its range across PSI, to the nearest measured point. For people it is replaced by the level.
## For engineers
Condition: outside || outsideHull in judgeCluster after the regime checks, where outside is any axis with status below or above (beyond tolerance) and outsideHull is hasPoints && !(hullContains || hullNearBox).
Reasons produced: outside_range ("Oxygen: your 45 % is above the tested 17 % to 30 % (15 points higher).", with technicalNote carrying the fraction of the axis scale), outside_hull ("Oxygen and pressure together are outside the region covered by N tested conditions.", technicalNote with the normalized distance), extrapolation_level (informational) and nearest_point (informational, nearest measured point and its test).
Numbers in sentences: oxygen as % with at most one decimal (percentText), pressure in kPa with psia at 3 significant figures, other axes 3 significant figures (humanValue, humanGap, engine/src/labels.ts).
The investigation-level level is the lowest among the investigation's EXTRAPOLATION clusters (bestLevel, engine/src/levels.ts), only when the investigation's best verdict is EXTRAPOLATION.
Extrapolation and its four levels
The word "extrapolation" alone would say little, because at some oxygen and pressure almost every condition is an extrapolation for some investigation. So the verdict carries one of four levels:
- Inside each tested range, but this combination was not tested. Every number is within the range tested, but the pairing (oxygen, pressure) was never tested. Shown with a hatch on the map.
- Just outside the tested data. The worst axis is beyond the tested range by up to 10 % of the nearest tested value.
- Outside the tested data. Up to 30 %.
- Far outside the tested data. More than 30 %.
Example with an investigation tested only at exactly 1 atm (101.325 kPa): 101.3 kPa is Applicable (inside the tolerance); 110 kPa is 8.6 % beyond, so just outside; 125 kPa is 23 %, so outside; 140 kPa is 38 %, so far outside.
The note shown with every level is part of the meaning: "PYRION convention: these levels measure distance from the tested data, not how reliable or safe the condition is; combustion can change abruptly near limits (e.g. extinction), so even "just outside" is an extrapolation."
The 10 % and 30 % cuts are conventions chosen by PYRION. They are not NASA values. Their purpose is to make the word informative, not to define a safety margin.
## For engineers
Constants (engine/src/levels.ts):
EXTRAPOLATION_LEVELS = { just_outside: 0.1, outside: 0.3 }(line 14);EXTRAPOLATION_AXIS_FLOOR = 0.05(line 17);EXTRAPOLATION_LEVEL_ORDER = ['combination', 'just_outside', 'outside', 'far_outside'];EXTRAPOLATION_LEVEL_NOTE(line 19), the note quoted above.
Rule: for each continuous axis outside its range (beyond the 0.5 % tolerance), relativeGap = gap / max(|nearest tested value|, 0.05 × axisScale) (relativeGap, line 32), where nearest tested value is the range bound that was crossed and axisScale is AxisScale.scale of the corpus normalization. The worst axis decides (levelFromRelativeGaps, line 37): ≤ 0.1 just_outside, ≤ 0.3 outside, otherwise far_outside. No axis outside (so the cause is the hull): combination. The floor keeps the quotient finite when the nearest tested value is 0 or tiny.
Sentences: levelSentence in engine/src/labels.ts ("Inside each tested range, but this combination was not tested", "Just outside the tested data", "Outside the tested data", "Far outside the tested data"). The reason extrapolation_level is informational; its technicalNote names the worst axis and the percentage to one decimal and carries the convention note.
The map: EvidenceCell.extrapolationLevel is the closest level among the cell's extrapolating investigations (engine/src/navigator.ts, evidenceMap), equal to evaluate() cell by cell (tested on 200+ random cells).
Source cited for the microgravity cut that the levels sit next to: NTRS 20260001966, PDF p. 17 (slide 16), flammability chart with 1e-4 g and 1e-2 g on one continuous axis.
Insufficient evidence
Insufficient evidence means that PSI's extracted records for this investigation do not say enough to place your condition. It is a legitimate result, not a failure, and never a hidden "no".
It happens when:
- an axis you set (a regime axis like fuel phase, or a number like pressure) was not recorded for the investigation;
- it was recorded but flagged in the extraction as insufficient (such values are never counted as evidence);
- the records disagree with each other on a regime;
- the investigation recorded your axes, but never together in one test, so no tested condition can be named;
- oxygen and pressure were listed as several values without saying which go together.
Each of these has a fixed code and a plain sentence (see "Why an investigation is not comparable: the blocker codes"). When a safe action exists (for example "leave fuel phase open"), it is offered; when it would mean ignoring something you asked about, it is not.
Insufficient evidence has no distance and is never ranked.
## For engineers
Triggers in judgeCluster: regimeUnknown (stated regime axis missing or conflicting, or the informational gravity_not_covered), missingAxis (a stated continuous axis has no usable value in any test), complete.length === 0 (no test records all stated axes), or hullUnknown (no pairable points) without any axis outside.
distance = null, distance note 'not defined: insufficient evidence to place the target' (the word "undefined" never appears in text shown to a reader; checked by engine/test/wording.test.ts).
Excluded records: status insufficient_evidence is never counted; the reason says "N records exist but are not counted (flagged as insufficient in the extraction)" (excludedWhy, engine/src/labels.ts; with minimumStatus: 'verified' the text also says "not verified").
When the target states a gravity regime that no investigation was tested in, evaluation.regimeUntested = { axis: 'gravity_regime', value, testedValues } (regimeUntestedOf, engine/src/verdict.ts) so the interface can say "No PSI test in this gravity regime".
What the four verdicts mean
Each investigation gets one verdict for your condition.
Applicable: the investigation tested the same regime, and your oxygen and pressure fall inside what it measured.
Extrapolation: same regime, but your condition lies outside the measured range. Any value would have to be extended beyond the measurements.
Insufficient evidence: the extracted records do not state enough to compare. PYRION does not guess.
Not comparable: different gravity, fuel or atmosphere: gravity, fuel phase, diluent or flame type differ. This is a barrier, not a worse match, so no distance is computed across it.
Why an investigation is not comparable: the blocker codes
For every investigation whose verdict is Insufficient evidence or Not comparable, the engine attaches one or more blockers. A blocker has a fixed code, a plain sentence and, sometimes, an action. The codes:
- AXIS_NOT_RECORDED. The investigation did not record something you set. Example: "PSI-9401 did not record fuel phase." Action offered only for fuel phase, diluent and flame type: "Leave fuel phase open." For pressure, oxygen or gravity there is no action: leaving them open would ignore your question.
- NO_USABLE_VALUE. Records exist but cannot be used as evidence. Example: "PSI-9403 has records for fuel phase, but none can be used as evidence (flagged as insufficient in the extraction)."
- REGIME_NOT_TESTED. The investigation was tested only in other regimes. Example: "PSI-9402 was tested only in gaseous fuel, not in solid fuel (fuel phase)." The action is a switch and says so: "Switch fuel phase to gaseous fuel: another regime, not a small step."
- RECORDS_DISAGREE. Records of the investigation disagree on a regime. Example: "The records of PSI-9404 disagree on fuel phase (liquid fuel / solid fuel)."
- AXES_NOT_RECORDED_TOGETHER. Example: "No single test of PSI-9406 records all the axes you set together."
- VALUES_NOT_PAIRED. Example: "PSI-xx lists several oxygen and pressure values without saying which go together."
(The investigation numbers in the examples are the synthetic ones used by the tests. The first three codes are the ones most often met.)
In the answer from TARS, blockers are grouped by code and axis with the number of investigations affected, always worded "in PSI".
## For engineers
Blocker { code, axis, testedValues?, sentence, action? } and BlockerCode in engine/src/types.ts; produced by blockersOf (engine/src/verdict.ts:100) from the non-informational reasons of the deciding cluster of the investigation; attached to InvestigationVerdict.blockers only when the investigation verdict is INSUFFICIENT_EVIDENCE or REGIME_BARRIER.
Mapping from reason code to blocker:
| Reason | Blocker |
|---|---|
| regime_barrier (axis) | REGIME_NOT_TESTED, testedValues = the values of that axis the investigation's clusters state; action { kind: 'switch_regime', axis, to: tested[0] } |
| regime_missing or axis_missing with an axis, no excluded records | AXIS_NOT_RECORDED |
| same, with excluded records (reason citations non-empty) | NO_USABLE_VALUE |
| regime_conflicting | RECORDS_DISAGREE, testedValues = the recorded values |
| axis_missing without an axis | AXES_NOT_RECORDED_TOGETHER |
| unpaired_values (non-informational) | VALUES_NOT_PAIRED |
Actions: leave_open only if axis is a member of REGIME_AXES and not gravity_regime; none for continuous axes. Tests: engine/test/blockers.test.ts.
Summaries for TARS: threePartAnswer groups barrier blockers by axis (kind regime), insufficient blockers by code|axis (kind insufficient) with count and accessions (engine/src/answer.ts).
Not comparable: the regime barrier
Four things in your question are regimes, not numbers: the gravity regime (microgravity, partial gravity, normal gravity), the fuel phase (solid, liquid, gas), the diluent gas (nitrogen, helium, carbon dioxide, argon, mixed) and the flame type (normal, inverse). If you set one of them and an investigation was tested in a different one, the verdict is Not comparable: different gravity, fuel or atmosphere.
The key idea is that infinity is not a big number. A flame in microgravity burns without buoyancy; a flame on the Moon has a small but real buoyancy; the two are not near each other on a scale, they are different situations. So PYRION does not compute a distance across a regime, never ranks such an investigation, and never presents the switch as a small step. Its distance is "not defined", and the rest of the numbers are shown only as context.
A regime barrier decides alone: if the gravity differs, the verdict is the barrier even if other things are also missing. In the interface the barrier investigations are folded away until you open them, with their DOIs.
If you leave a regime axis open (not stated), it is not compared at all; the result says which axes you left open.
## For engineers
REGIME_AXES and REGIME_VALUES (engine/src/types.ts): gravity_regime ∈ {microgravity, partial_gravity, normal_gravity}; fuel_phase ∈ {solid, liquid, gas}; diluent ∈ {N2, He, CO2, Ar, mixed}; flame_type ∈ {normal, inverse}.
In judgeCluster, section "1. Regime axes: barriers, never distances": for each axis, target value t:
t === undefined: not compared; reasontarget_regime_unstated(informational);- cluster state
missing:regimeUnknown; !state.values.includes(t):barrier = true, reasonregime_barrier("<Axis>: you set X, the evidence is Y. Not comparable: different gravity, fuel or atmosphere: no distance is defined across it.");- cluster state
conflicting:regimeUnknown; - else
regime_match.
A barrier overrides: missing/conflicting reasons of the other axes are marked informational. Axes and distances after a barrier are context only (decided). ClusterVerdict.distance is null and distanceNote is 'not defined: the target is across a regime barrier from this evidence'.
Clusters and the verdict of an investigation
An investigation in PSI is often several experiments (tests). Different tests of the same investigation can have been run in different regimes (for example some in air and some in a helium mix). PYRION groups the tests of one investigation that share the same regime values into a cluster and judges each cluster on its own.
The verdict of the investigation is the best verdict among its clusters (Applicable beats Extrapolation, which beats Insufficient evidence, which beats Not comparable); ties are broken by the smaller distance. So an investigation is Applicable if at least one of its regime groups is.
This matters for honesty: a cluster that happens to be inside your condition cannot be hidden by another cluster that is not, and a cluster is never merged with a different regime just to make the ranges wider.
A test marked "*" in the records applies to all tests of that investigation unless a test has its own record for the same variable.
## For engineers
buildCorpus (engine/src/evidence.ts:170): records sorted by compareRecords (a total order); normalization scales per axis; per accession (numeric order): tests named by test_id (or one test * if none), with * records resolved per variable (a test's own records win, even if all of them are excluded); regimeKey groups tests with equal regime states; clusters sorted by key.
TestEvidence holds, per regime axis, a RegimeState (known, missing, conflicting) with its values; per continuous axis, the distinct numeric values (ranges lo..hi count as both ends); descriptors (fuel, material, geometry, flow configuration, platform).
Investigation verdict (evaluate, engine/src/verdict.ts:523): clusters sorted by compareRanked; the first is the decidingCluster. counts (investigations, clusters, recordsUsed, recordsFlaggedInsufficient, recordsBelowMinimumStatus) summarize.
Axis scale: AxisScale.scale = max - min of counted values over all PSI (scaleRule: 'range'); if max = min ≠ 0, |min| (abs_value); else 1 (unit).
The 0.5 % measurement tolerance
People type "101.3 kPa" or "14.7 psia" or "760 mmHg" for the same pressure. If an investigation was tested at exactly 101.325 kPa, treating those as different would make the same physical condition Applicable or Extrapolation depending on which digits you typed. So "inside the tested data" allows a tolerance of 0.5 % of your own value, on every axis, and in the oxygen-pressure region.
When the tolerance is what puts you inside, the result says so: "Pressure: your 101.3 kPa (14.69 psia) is within the 0.5 % measurement tolerance of the tested 101.3 kPa (14.70 psia)..." and marks it, so nobody mistakes it for an exact hit.
Why 0.5 %: it is the worst-case rounding of a value written with three significant figures (1.00 can hide up to ±0.5 %) and it sits inside the usual accuracy of pressure transducers (about 0.25 to 1 % of reading). That is PYRION's own reasoning, a convention and not a NASA value, and the note travels with the result.
It is deliberately small: 110 kPa against a test at 101.325 kPa is 8.6 % away and is an extrapolation.
## For engineers
MEASUREMENT_TOLERANCE_REL = 0.005 (engine/src/types.ts:175) and MEASUREMENT_TOLERANCE_NOTE (same file): "PYRION convention, not a NASA value: a target within ±0.5 % of its own value of a measured range or tested region counts as inside it (rounding of typed values and typical instrument accuracy)."
Used in three places, with the same constant:
- per-axis range check in
judgeCluster(tol = REL × |target|); - the (O2, pressure) region:
hullNearBox(hull, target, REL × |o2| / scale_o2, REL × |p| / scale_p)(engine/src/geometry.ts:88, Liang-Barsky segment clipping against the box padded byEPS); - the chart geometry
locateTarget(engine/src/envelope.ts) and the evidence map (evidenceMap), so the chart can never show a point outside a region that the verdict calls inside.
Flags: AxisCheck.viaTolerance, HullCheck.viaTolerance, TargetLocation.viaTolerance (present only when true).
The tolerance is relative to the target's own value: a target of 0 has tolerance 0. Tests: engine/test/judge.test.ts (101.3, 101.325, 101.33, 760 mmHg and 14.7 psia agree; 110 kPa does not).
Gravity conventions: below 0.01 g, 0.9 to 1.1 g, and above
A gravity regime is a name, but people type numbers ("0.165 g", "1e-4 g"). PYRION turns a level into a regime with three cuts. All three cuts are PYRION conventions, not NASA values, and the notes say so with every result.
- Below 0.01 g: microgravity. "0 g" and "1e-4 g" are microgravity. NASA's own flammability chart puts 1e-4 g and 1e-2 g on one continuous axis, so this cut is a modelling choice.
- 0.01 g up to 0.9 g: partial gravity. The Moon (0.165 g in the FM2 plan; 0.16 g in a lunar-gravity presentation) and Mars (0.38 g, NASA's Mars fact sheet) are in this range.
- 0.9 g to 1.1 g: normal gravity. A band, not the single value 1: 0.998 g and 1.003 g are both ground gravity.
- Above 1.1 g: not covered by this dataset. No regime exists there. Every investigation is then Insufficient evidence with the reason "above 1 g: not covered by this dataset". It is never treated as an open axis.
Anything below 0 g or above 3 g is rejected as a mistake.
The gravity level you type is only shown. The regime it selects is what is compared, because no condition record carries a gravity level. Naming a regime ("microgravity", "freefall", "Moon") sets the regime directly; "microgravity" asserts no level at all.
## For engineers
engine/src/quantity.ts: MICROGRAVITY_BELOW_G = 0.01 (line 385), NORMAL_GRAVITY_BAND = { lo: 0.9, hi: 1.1 } (line 392), regimeOfLevel (line 399): 0 ≤ g < 0.01 microgravity; 0.01 ≤ g < 0.9 partial; 0.9 ≤ g ≤ 1.1 normal; otherwise no regime. Bounds gravity_level: [0.0, 3.0] (BOUNDS, line 125). Notes: MICROGRAVITY_CONVENTION_NOTE, NORMAL_GRAVITY_CONVENTION_NOTE, ABOVE_NORMAL_GRAVITY_MESSAGE (line 396).
A numeric level goes to Target.informational.gravity_level (never to continuous); informational.gravity_not_covered is set above 1.1 g and makes judgeCluster return regime_missing ("Gravity regime: above 1 g: not covered by this dataset...") for every cluster. The name "microgravity" (and its aliases: freefall, free fall, weightless, in orbit, ISS, zero-g, microgravedad, caída libre, ...) sets the regime and no level (targetFromQuantities).
Named gravities (GRAVITY_TARGETS, engine/src/transfer.ts:61): Moon 0.165 g (NTRS 20260001966, PDF p. 13, slide 12, "Lunar-g = 0.165 gE"; 0.16 g from NTRS 20210020446 p. 3), Mars 0.38 g (NASA GSFC NSSDC Mars Fact Sheet, "Surface gravity (mean) (m/s2) 3.73 9.82 0.380"; NTRS 20010074003 PDF p. 2 lists 0.38 g only as one of the partial-gravity levels used in combustion studies), Earth 1 g.
Source of the cut context: NTRS 20260001966, PDF p. 17 (slide 16).
Determinism and the SHA-256 fingerprint
The engine has no randomness, no clock, no network and no language model inside. Given the same records and the same condition, it produces exactly the same result, byte for byte, on any machine. Records are put in a fixed order before anything is computed, so the order of the files does not matter.
That makes a result checkable. TARS shows a fingerprint: a 64-character code computed from the whole evaluation (every verdict, every reason, every number). If someone re-runs the same question on the same data and gets a different fingerprint, something changed: the data, the condition or the engine. If the fingerprint matches, the result is identical.
A fingerprint does not say the result is right; it says the result is reproducible. The correctness of a verdict rests on the rules in this encyclopedia and on the records and their sources.
Swapping the language model that writes the explanation does not change the verdict or the fingerprint, because the model never decides.
## For engineers
canonicalJson (engine/src/json.ts:4): keys sorted, two-space indent, trailing newline, undefined dropped, non-finite numbers rejected with a TypeError (undefined distances are null by contract).
sha256Hex(text) (engine/src/sha256.ts:34): pure TypeScript SHA-256 of the UTF-8 text, no dependencies and no platform API; tested against standard vectors and Node's crypto (engine/test/answer.test.ts).
threePartAnswer (engine/src/answer.ts:87): fingerprint = sha256Hex(canonicalJson(evaluate(records, target, options))), where target is normalized (continuous.gravity_level moved to informational). The fingerprint is identical in easy and advanced mode and independent of record order (tested).
Ordering that makes this true: compareRecords (total order over record fields), compareAccession (numeric), compareNatural (test ids: "T2" before "T10", locale-free), sorted keys in output, deterministic tie-breaks in compareRanked, compareRoutes. Tests use fixed-seed linear-congruential generators, never Math.random.
Engine version in every evaluation: ENGINE_VERSION = '0.2.0' (engine/src/types.ts:301), part of the hashed output.
Verdict panel
What it is. The top card of the right column.
What it shows. "Result for ..." the headline and its detail, a compare button and the verdict ring.
How to use it. Read it first after changing a condition.
Example. Look for "Inside the tested range".
What it does not do. It summarizes PSI coverage; it is not a safety rating.
Fuel phase left open
What it is. A note shown when your condition does not state a fuel phase.
What it shows. That liquid droplet and gas-flame investigations are then compared alongside solid materials, because an axis you leave open is not compared.
How to use it. For cabin materials such as fabrics and plastics, set the fuel phase to solid in the condition panel; the list then keeps the solid-fuel investigations.
Example. ISS cabin air leaves the fuel phase open, so FLEX droplets can rank first.
What it does not do. It does not change any verdict by itself; the engine still compares only the axes you set.
Headline
What it is. The large coloured sentence.
What it shows. One of: Inside the tested range, Outside the tested range, Undetermined, or No PSI test in this gravity regime.
How to use it. Read it first.
Example. "No PSI test in this gravity regime" for the Moon.
What it does not do. It is computed by the engine; no model writes it.
Verdict ring
What it is. The circular counter.
What it shows. The number of investigations with extracted records, split by verdict.
How to use it. Hover a row for the split by extrapolation level.
Example. Read how many are applicable.
What it does not do. Six investigations have no extracted values yet and are not in the ring.
Ring caption
What it is. The small line under the ring.
What it shows. "of 24 PSI combustion investigations, N have no extracted values yet".
How to use it. Read it to see coverage.
Example. See that 6 have no extracted values.
What it does not do. It is not a statement about PSI at large (the PSI catalogue is bigger than the 24 combustion ones).
Result cards section
What it is. The long list under the dashboard.
What it shows. One card per investigation with its verdict, reasons and receipts.
How to use it. Scroll through it or open a card from the chart.
Example. Open PSI-26's card.
What it does not do. Verdicts are identical to the panel above; this is the detail.
Result card
What it is. The card of one investigation.
What it shows. Its verdict badge, a one-sentence result, title, DOI, the reasons and the receipt.
How to use it. Click it, or open it from the chart.
Example. Read the card for PSI-69.
What it does not do. It states what was extracted; it does not re-judge the experiment.
Result sentence
What it is. The plain sentence of a card.
What it shows. Where your condition stands relative to this investigation.
How to use it. Read it first.
Example. "Inside the tested range: ...".
What it does not do. It is written by the engine.
Reasons list
What it is. The list under a card.
What it shows. One reason per checked axis, with receipts as numbered references.
How to use it. Click a [n] reference to see the source value.
Example. Open the references of an extrapolation.
What it does not do. Context-only reasons are marked and did not decide the verdict.
Technical line
What it is. The small line on a card.
What it shows. Normalized distance and, for extrapolation, the convention note.
How to use it. Read it if you want the figures.
Example. "Normalized distance 0.04".
What it does not do. It is for people who want numbers; the sentence says the same thing in words.
Receipt
What it is. A collapsible list on a card.
What it shows. Every source value used: its file, location and the quoted text.
How to use it. Click to open it.
Example. Open a receipt of PSI-26.
What it does not do. A receipt shows what was extracted, not the whole document.
Receipt reference [n]
What it is. A small numbered button in a reason.
What it shows. The source value behind that sentence.
How to use it. Click it to jump to that row of the receipt.
Example. Click [1].
What it does not do. It does not open the NASA document; use the DOI for that.
More receipt references
What it is. A "+n" button.
What it shows. The remaining references of a reason.
How to use it. Click it.
Example. Click +2.
What it does not do. It jumps to the first hidden reference.
Show all receipts
What it is. A link in the receipt.
What it shows. The remaining citations.
How to use it. Click to show all or fewer.
Example. Show all.
What it does not do. It does not change the verdict.
Card DOI (header)
What it is. A link in the card header.
What it shows. The investigation's accession, version and DOI.
How to use it. Click it to open the dataset.
Example. Check the version.
What it does not do. It opens PSI's DOI page.
Card DOI (citation line)
What it is. A link in the card.
What it shows. The DOI at doi.org.
How to use it. Click it.
Example. Cite the dataset.
What it does not do. It is the dataset DOI, not a paper.
Blocker action button
What it is. A button inside a card that is insufficient or not comparable.
What it shows. The change that would resolve it: leave an axis open, or switch regime.
How to use it. Click it to apply the change.
Example. Leave diluent open.
What it does not do. A regime switch is shown as another regime, never as a small step.
Show or hide different-regime cards
What it is. A link above the lowest group of cards.
What it shows. The cards of investigations in a different regime.
How to use it. Click to show or hide.
Example. Show them to read why they are not comparable.
What it does not do. They are never ranked with the comparable ones.
Different-regime DOI link
What it is. A link in that group.
What it shows. The dataset DOI.
How to use it. Click it.
Example. Open the DOI.
What it does not do. It does not compare the regime.
5. What would close this gap
The engine's plan of experiments that would add evidence.
What would close this gap: what it is and what it is not
Sometimes PSI simply has nothing comparable to your condition. "What would close this gap" turns that gap into a plan someone could test: which conditions to run, in what configuration, measuring what, and what NASA's own planned experiments are stated to cover.
Its title carries a label that must never be dropped: "What would close this gap — PYRION proposal (a testable plan, not a NASA plan)". Everything in it is PYRION's proposal. The parts that come from NASA documents (for example FM2's planned atmospheres) are quoted word for word, with the document and page, so you can tell them apart from what PYRION proposes.
The plan has these parts, each explained in its own topic: the gap itself, a test matrix around your condition, additional axes to be chosen by the experimenter, the configuration of the nearest comparable investigations, what such tests measure, what NASA's planned experiments are stated to cover, the part left uncovered, and the order of priority.
It is not a prediction of what you would find, not a design approved by anyone, and not a substitute for NASA's test standards.
## For engineers
experimentsNeeded(records, target, { catalog?, minimumStatus? }) (engine/src/experiments.ts:328; alias whatWouldCloseThisGap). Pure: it reads no files; the investigation catalog (acronym, title, DOI) is passed in (parseInvestigationCatalog on data/manifest/investigations.csv). Label constant: EXPERIMENT_LABEL (experiments.ts:13).
The target is normalized like everywhere in the engine: continuous.gravity_level becomes informational.gravity_level.
Gap kinds (ExperimentsNeeded.gap):
regime_untested(fromevaluation.regimeUntested): "No PSI test was run in partial gravity; the investigations state only microgravity and normal gravity.";outside_tested_data: no investigation is APPLICABLE and some extrapolate: the closest level sentence;insufficient: no investigation is APPLICABLE and none extrapolates: the first blockers' sentences;covered: some investigation is APPLICABLE ("At least one investigation is comparable at this condition for solid fuel." or "... but not for solid fuel.").
phaseCoverage evaluates the target with fuel_phase set to solid, liquid and gas in turn; best is APPLICABLE, EXTRAPOLATION or NONE (no comparable investigation), and zeroCoveragePhases lists the NONE phases.
The test matrix: target plus a bracketing grid
One test point does not make an envelope. The matrix surrounds your condition with neighbours so the results will show a region, not a dot:
- Oxygen: your value, plus and minus 4 points, plus and minus 8 points. Five values. For 30 % oxygen: 22, 26, 30, 34 and 38 %.
- Pressure: your value, plus and minus 15 %. Three values. For 70.3 kPa: 59.8, 70.3 and 80.9 kPa.
That is up to 15 test points, each at the gravity regime (and level, if you gave one) of your target.
Why these steps: the 4-point oxygen step is the size of the steps in FM2's own plan (25, 29, 33 and 37 %, NTRS 20260001966, PDF p. 10), so a neighbouring grid would be compatible with NASA's. The 8-point step is a coarse bracket, double that. The 15 % pressure step is PYRION's design choice, not a NASA design.
Points that would need more than 100 % oxygen (or a pressure of 0 or less) are dropped, so near-pure-oxygen targets get fewer points. If you set only oxygen or only pressure, only that axis is gridded.
## For engineers
Constants (engine/src/experiments.ts): TEST_MATRIX_O2_OFFSETS_POINTS = [-8, -4, 0, 4, 8] (line 16, points of oxygen: offset/100 is added to the mole fraction and rounded to 6 decimals), TEST_MATRIX_PRESSURE_FRACTIONS = [-0.15, 0, 0.15] (line 17, applied as p × (1 + f), rounded to 8 significant digits), TEST_MATRIX_NOTE.
matrixPoints keeps oxygen values with 0 < x ≤ 1 and pressures > 0; a point is the Cartesian product; isTarget marks the point equal to the target. Result: testMatrix { note, gravity: { regime?, level? }, points[], pointCount, sentence }. Listing additional axes does not change pointCount.
Sentence example: "15 test points in partial gravity: oxygen from 22 % to 38 % and pressure from 59.8 kPa (8.67 psia) to 80.9 kPa (11.7 psia), around the target."
Source of the ±4-point rationale: FM2 starting atmospheres 37, 33, 29 and 25 % at 8.2 psia (NTRS 20260001966, PDF p. 10, slide 9).
Margin points
Some points of the matrix are more severe than your target: they have more oxygen pressing on the flame than your target has. Those are margin points. If something burns at your target, it will probably burn at them; if it does not burn at your target, the margin points are where you would look for how much room there is.
FM2 does the same kind of thing: one of its four planned tests (25 % oxygen) "is not expected to ignite" and is there to provide a margin of safety if the limit is lower than expected.
The measure used is the oxygen partial pressure: oxygen fraction times total pressure. A point is a margin point when its oxygen partial pressure is higher than your target's. A point with more oxygen but much less pressure may not be a margin point, and the other way round.
## For engineers
marginPoint: true on a MatrixPoint iff o2 × pressure > targetPp × (1 + 1e-9) where targetPp = target.o2 × target.pressure (matrixPoints, engine/src/experiments.ts). The target point itself is never a margin point; points lacking oxygen or pressure never are. The matrix note says "Points whose oxygen partial pressure exceeds the target's are margin points."
Source for the FM2 margin remark: NTRS 20260001966, PDF p. 5 (slide 4): "4. Start at 25% not expected to ignite but would provide a margin of safety if the limit was lower than expected."
Test: engine/test/experiments.test.ts ("margin points are exactly those whose oxygen partial pressure exceeds the target's").
Additional axes: listed, not gridded
Oxygen and pressure are gridded because they are the axes PSI's tests vary most. Three more settings matter for a real experiment, but gridding them would multiply the number of tests. They are listed, not gridded, and each says plainly that the experimenter must choose it:
- Gravity level, for a partial-gravity target: to be stated by the experimenter; the levels in use are 0.16 g (lunar, from a NASA lunar-gravity presentation) and 0.38 g (Mars, NASA's Mars fact sheet), each with its source.
- Flow velocity, for a microgravity target: to be stated by the experimenter. If the nearest comparable investigations recorded a flow, the range they used is shown as a reference.
- Sample thickness, always: to be stated by the experimenter, with the recorded range of the comparable investigations as a reference.
The reason for "stated by the experimenter": PYRION does not know what material or geometry the new test would use, so it will not invent a value.
## For engineers
additionalAxes: ListedAxis[] (engine/src/experiments.ts): { axis: 'gravity_level' | 'flow_velocity' | 'sample_thickness', label, statedBy: 'experimenter', sentence, options? }.
gravity_levelonly whentarget.regime.gravity_regime === 'partial_gravity';options:{ value: 0.16, unit: 'g', source: 'NTRS 20210020446, page 3, "glunar = 0.16 gearth"' }(SOURCES.lunarGravity,engine/src/presets.ts) and{ value: 0.38, unit: 'g', source: 'Mars Fact Sheet, https://nssdc.gsfc.nasa.gov/planetary/factsheet/marsfact.html', quote: 'Surface gravity (mean) (m/s2) 3.73 9.82 0.380' }(SOURCES.marsGravity).flow_velocityonly when the regime ismicrogravity.sample_thicknessalways.
Sentences: "Gravity level: to be stated by the experimenter; the levels in use are 0.16 g (lunar) and 0.38 g (Mars)." / "Flow velocity: to be stated by the experimenter. Recorded for the comparable investigations: PSI-9802 5 cm/s." (recorded ranges from the comparable investigations' records, 3 significant figures).
The 0.165 g figure of NASA's ground-test centrifuge (a ground analog, quoted on PDF p. 13 of the FM2 science presentation, NTRS 20260001966: "Upward Spread Lunar-g = 0.165 gE"; FM2 itself is a planned experiment, not a centrifuge) is the engine's named Moon gravity; the 0.16 g presentation figure is shown here because it is what the lunar-gravity literature quotes.
What to measure, and NASA-STD-6001B
This section lists what flammability testing measures. Each item is a word-for-word quote from a document in the repository, with the page, so nothing here is from memory:
- Maximum oxygen concentration and burn length: from the NASA standard NASA-STD-6001B (approved 08-26-2011), whose Test 1 burns five vertical specimens of 30 cm by 6.5 cm and records how far each burns.
- The limiting oxygen for extinction, upward and downward flame spread, flame spread rate, flame length and width, and the oxygen, pressure and gravity level over time: from the LUCI presentation (NTRS 20250010653).
Separately, "what PSI records for the comparable investigations" lists the outcome variables that the extracted records of those investigations really carry. If the extracted records of those investigations do not carry flame spread rate or limiting oxygen, the section says so and does not pretend that they do.
NASA-STD-6001B has no DOI. It is linked on standards.nasa.gov and the repository holds a copy; the link points at a historical copy.
Anything LUCI-related is flagged "simulated partial gravity (rotating vehicle)" (see "FM2 and LUCI: what is stated, and what is not").
## For engineers
TESTING_MEASURES (engine/src/experiments.ts), each { measure, quote, file, page, qualifier? }:
| Measure | Document | PDF page |
|---|---|---|
| Maximum oxygen concentration | NASA-STD-6001B | 30 |
| Burn length | NASA-STD-6001B | 29 |
| Limiting oxygen and extinction | LUCI, NTRS 20250010653 | 12 |
| Upward and downward flame spread | LUCI | 3 |
| Flame spread rate | LUCI | 13 |
| Flame length and width | LUCI | 24 |
| Oxygen, pressure and gravity level over time | LUCI | 5 |
NASA_STD_6001B: title "NASA-STD-6001B, Flammability, Offgassing, and Compatibility Requirements and Test Procedures", approved: '08-26-2011', file: 'nasa-std-6001b/nasa-std-6001b.pdf', url: 'https://standards.nasa.gov/sites/default/files/standards/NASA/B-w/CHANGE-2/2/Historical/nasa-std-6001b.pdf', doi: null, note "A historical copy on standards.nasa.gov. No DOI." Test 1 specimen quote (PDF p. 28): "Five test specimens, each with dimensions of 30 cm by 6.5 cm (12 in by 2.5 in) and tested one at a time, shall be mounted vertically in a test stand."
measurements.recorded is derived from the outcome: variables of the comparable investigations' records (never invented): label, unit and investigations; outcome:o2_mole_fraction_after_test, outcome:burn_time, outcome:burning_rate, ... exist in data/conditions. Test: engine/test/experiments.test.ts checks every PDF quote against its stated page with pdftotext when data/raw is present.
FM2 and LUCI: what is stated, and what is not
Two NASA experiments are about burning materials at lunar gravity: FM2 (Flammability of Materials on the Moon, planned to launch in late 2026) and LUCI (a flight that burned samples under simulated lunar gravity). The plan lists what the NASA documents in the repository state, word for word.
FM2 is stated as a plan, per material: "FM2 plans four burns of one fabric (Synergy Pro "Navy") at 8.2 psia ± 0.3 psi with 37, 33, 29 and 25 % oxygen." The NASA web page adds only that it burns four samples "in atmospheric conditions planned for future lunar habitats or vehicles"; the page states no oxygen or pressure. So FM2 is not stated to cover solids in general: it covers one fabric, at those conditions.
LUCI used a rotating vehicle: the gravity came from rotation (11 RPM at a radius of 1.22 m), a Coriolis force bends the flame, and in one burn the gravity level dropped at 125 s. Every statement about LUCI therefore carries "simulated partial gravity (rotating vehicle)". It burned a cotton-fiberglass fabric and a 4-mm acrylic rod "in air at normal pressure"; the source gives no pressure figure in that passage. Its list of data (oxygen limits at lunar gravity, flame spread rate in exploration atmospheres) is under the heading "Potential Follow-on Objectives": PYRION calls it "listed by NASA as potential follow-on data, not results".
Where a source gives no figures, the plan says "not stated by the source" and does not guess.
## For engineers
PLANNED_SOURCES (engine/src/experiments.ts), each { id, name, file, page, slide?, quote, supports, qualifier? }:
| id | Document | Page |
|---|---|---|
| fm2-web | FM2 NASA web page (crawl-combustion-science-flammability-of-materials-on-the-moon-fm2-ecc5990d/page.html) | web |
| fm2-conditions | NTRS 20260001966 | PDF p. 10 (slide 9): "Test 1: 8.2 psia (+/- 0.3 psi), 37% O2 ..." to "Test 4: ... 25% O2" |
| fm2-fuel | NTRS 20260001966 | PDF p. 10 (slide 9): "Fabric sheets (Synergy Pro "Navy") mounted between thin metal frames" |
| fm2-limit | NTRS 20260001966 | PDF p. 5 (slide 4): expected lunar LOC of 24-26 % |
| luci-conditions | NTRS 20250010653 | PDF p. 12: "Two samples are burned simultaneously in air at normal pressure ..." |
| luci-rotation | NTRS 20250010653 | PDF p. 12: 11 RPM, effective radius 1.22 m |
| luci-coriolis | NTRS 20250010653 | PDF p. 17: Coriolis force pulls the flame away from the fuel axis |
| luci-gravity-drop | NTRS 20250010653 | PDF p. 43: gravity starts dropping at t = 125 s |
| luci-followon | NTRS 20250010653 | PDF p. 18: "Potential Follow-on Objectives" |
| luci-data | NTRS 20250010653 | PDF p. 18: flammability limits (%O2), flame spread rate |
LUCI_QUALIFIER = 'simulated partial gravity (rotating vehicle)' (experiments.ts:38) is attached to every LUCI source, statement and measure (qualifier). statements (plannedCoverage.statements): { source: 'FM2' | 'LUCI', material, covered[], sentence }; FM2's material is Synergy Pro "Navy" fabric.
FM2 covers a matrix point (coveredByFm2, experiments.ts:303) only when the target gravity regime is partial_gravity, pressure in psia is within 8.2 ± 0.3, and oxygen is within 0.5 % (relative) of 0.37, 0.33, 0.29 or 0.25. LUCI never marks points as covered, because its pressure is "normal pressure" without a figure.
Verified by test against the PDFs: every quote appears on its stated page (engine/test/experiments.test.ts, with pdftotext).
The remaining gap and the order of priority
The remaining gap is the part of the test matrix that no planned experiment is stated to cover. For a lunar-gravity target, it is every point that FM2's stated conditions do not fall on (FM2 starts at 8.2 psia with 37, 33, 29 or 25 % oxygen); for LUCI the sentence says coverage "is not stated by the source". For a target that is not at partial gravity (microgravity, for example), the whole matrix remains, because FM2 and LUCI are about lunar gravity.
The order of priority is a fixed rule, not a judgement:
- An untested regime first. If PSI has no test in your gravity regime: "Run at least one test in partial gravity: PSI has none."
- Then solid fuel. Solids are the gap that matters for cabin fires.
- Then the other fuel phases that are far outside (or have no comparable test), then outside, just outside, and combination.
Why solids first: NASA-STD-6001B Test 1, FM2 and LUCI all burn solid specimens (each quoted in the plan), and PSI records a solid fuel for a number of investigations; solids are the gap that matters for cabin fires. This is a statement about what these documents test; it does not say liquids or gases are unimportant.
## For engineers
remainingGap { points, sentence } (engine/src/experiments.ts): points = matrix points not in fm2Covered. Sentences: partial gravity: "N of M test points are not stated to be covered by FM2; for LUCI, coverage is not stated by the source."; otherwise "All M test points remain: no planned experiment in the downloaded sources is stated to cover this gravity regime."
priority: PriorityItem[] with kind ordering key _o: regime_untested 0, solid_fuel 1 (when solid coverage is not APPLICABLE), far_outside or no_comparable_test 2, outside 3, just_outside 4, combination 5; ties by fuel phase name; rank = position + 1. no_comparable_test for liquid and gas is skipped when the whole regime is untested. Solid sentence: "Solid fuel: no comparable test exists at this condition, and solids are the case that matters for cabin fires." or "Solid fuel: just outside the tested data; solids are the case that matters for cabin fires." (level sentence lower-cased).
solidsRationale { sentence, sources }: "Solids first: NASA-STD-6001B Test 1, FM2 and LUCI all burn solid specimens (quoted below), and PSI records a solid fuel for N investigation(s); solids are the gap that matters for cabin fires." sources = SOLIDS_RATIONALE_SOURCES: NASA-STD-6001B PDF p. 28 (five 30 cm × 6.5 cm specimens), NTRS 20260001966 PDF p. 10 (fabric), NTRS 20250010653 PDF p. 12 (fabric and 4-mm rod). N counts investigations with a fuel_phase = solid record in the corpus.
Saffire and BASS are not named in the rationale: no repository source states that, so the sentence rests only on the three quoted documents.
What would close this gap dialog
What it is. The dialog opened from a tile.
What it shows. The engine's proposal of experiments to add evidence for a condition.
How to use it. Read the sections; close with the cross or Esc.
Example. Open it for NASA's Moon Base.
What it does not do. It is a PYRION proposal, not a NASA plan.
Close the gap dialog
What it is. The cross.
What it shows. Nothing.
How to use it. Click it or press Esc.
Example. Close it.
What it does not do. It does not save anything.
Proposal label
What it is. The line "What would close this gap — PYRION proposal ...".
What it shows. That the plan is a testable proposal and not a NASA plan.
How to use it. Read it before quoting the plan.
Example. Check the label stays visible.
What it does not do. It cannot be hidden.
The gap
What it is. The first section.
What it shows. One sentence saying what is missing at this condition (for example no test in partial gravity).
How to use it. Read it first.
Example. "No PSI test was run in partial gravity".
What it does not do. It is about PSI, not about the real world.
Test matrix
What it is. A table of proposed test points.
What it shows. Oxygen and pressure steps around the target; margin points are marked.
How to use it. Use it to see how many tests would build an envelope.
Example. 15 points around 34 % and 8.2 psia.
What it does not do. The pressure steps of 15 % are a PYRION design convention, not NASA's.
Other axes to set
What it is. A list of axes the experimenter chooses.
What it shows. Gravity level, flow velocity and sample thickness, with sources where they exist.
How to use it. Read it before planning.
Example. Gravity 0.165 g, the lunar-g setting of NASA's ground-test centrifuge (NTRS 20260001966, p. 13).
What it does not do. The engine does not choose these values.
Measurements
What it is. What flammability testing measures.
What it shows. Quoted measures with their sources and the NASA standard NASA-STD-6001B.
How to use it. Hover a quote for file and page.
Example. Burn time and burn rate.
What it does not do. The standard is a historical copy with no DOI.
Solids first
What it is. Why the proposal puts solid fuels first.
What it shows. Quoted passages from the standard, FM2 and LUCI.
How to use it. Read the quotes.
Example. FM2 plans a solid fabric.
What it does not do. It is a rationale, not a requirement.
What NASA's planned experiments cover
What it is. FM2 and LUCI and what their sources state.
What it shows. Their quoted plans with qualifiers, for example LUCI's simulated partial gravity from a rotating vehicle.
How to use it. Read the quotes.
Example. FM2's four burns at 8.2 psia.
What it does not do. Whether FM2 covers a test point is stated only for that fabric.
Remaining gap
What it is. What is left after FM2's stated plan.
What it shows. How many proposed points FM2 is not stated to cover.
How to use it. Read it.
Example. "15 of 15 test points are not stated to be covered by FM2".
What it does not do. It does not predict what FM2 will find.
Priority
What it is. A numbered list.
What it shows. The gaps in order: regime, solids, then distance from the tested data.
How to use it. Read top to bottom.
Example. "Run at least one test in partial gravity".
What it does not do. It is an ordering rule by the engine.
NASA-STD-6001B link
What it is. A link in Measurements.
What it shows. The historical standard on standards.nasa.gov.
How to use it. Click it.
Example. Read Test 1.
What it does not do. It is a historical copy and has no DOI.
6. Add a source
What the Add NASA evidence dialog does today and what is not built yet.
Add a source (as built today)
"+ Add a source" opens a dialog. Only NASA sources are accepted: an NTRS document number from ntrs.nasa.gov, or a NASA CSV or Excel table you upload (up to 20 MB). Typed links are never fetched.
Today the dialog checks your input and shows the five steps that will run (Read, Extract with quotes, Located in the source by code, Classified only if stated, Every scenario recalculated). Processing arrives in the next build, so the submit button is disabled and nothing is added yet.
Add NASA evidence dialog
What it is. The dialog that opens from + Add a source.
What it shows. The rule (NASA sources only), the fields and the five steps that will run.
How to use it. Fill a field to see the check; close with the cross or Esc.
Example. Type https://example.com/ and read the message.
What it does not do. The submit button is disabled; nothing is added or fetched.
Close the dialog
What it is. The cross at the dialog's top right.
What it shows. Nothing.
How to use it. Click it, press Esc, or click outside.
Example. Close it after checking a number.
What it does not do. It discards what you typed.
NTRS number field
What it is. A text box for an NTRS document number.
What it shows. Digits only, or the digits of a pasted ntrs.nasa.gov link.
How to use it. Type 20250010653 or paste a citation link.
Example. 20250010653.
What it does not do. It never fetches the text you type: the server will build the address itself.
Upload a table
What it is. A file picker.
What it shows. CSV or Excel tables up to 20 MB.
How to use it. Choose a file; it is checked for type and size.
Example. A NASA CSV table.
What it does not do. Uploads will be labelled "your file, not verified as NASA" unless they match an NTRS download. PDFs are not accepted yet.
See how every value is checked
What it is. A link at the bottom of the Add a source dialog.
What it shows. Nothing by itself; it opens the Data page, which explains how every extracted value is located in the NASA file by code.
How to use it. Click it to read how evidence is checked.
Example. Open it to see the located-by-code counts.
What it does not do. It does not process or add a source; today the dialog only checks your input.
Add a source: what it will do and what exists today
“Add a source” is the feature that lets a visitor bring one new NASA document into PYRION and see exactly how every scenario changes. Its rule is that no value gets in unless code can find it in the source, the same rule that holds for the 10077 records already in the app.
In plain words: an AI may read the document and propose values, but it cannot make a value count. A program checks each proposed value against the document, and anything it cannot find is rejected with the reason shown.
## What works today, and what does not
| | Status |
|---|---|
| The “+ Add a source” button and the dialog, on the Envelope and Data pages | Working today |
| The NTRS number field and the file chooser (CSV, Excel or PDF up to 20 MB) that check what you type or pick | Working today |
| The strip of steps that will run | Working today (display only) |
| The submit button | Disabled: in the next build |
| Reading, extracting, verifying, locating by code, classifying, recalculating | In the next build |
| The recorded run on LUCI, the external-evidence switch, before and after per scenario | In the next build |
| The precision exam on the LUCI golden set | In the next build (the golden set itself exists today) |
Nothing is added to the evidence yet. Everything below the first two rows describes the design, not a working feature.
## For engineers
- Design document:
FASE-3-ADD-SOURCE.md, section “Corrección tras la auditoría independiente” (the corrected design). - The hook in the web code is
addSource(); the dialog is wired to it and the submit is disabled until the pipeline exists. - The golden set and the validator changes it needed are in place:
data/external/ntrs-20250010653/and--conditionsin both validators.
Only an NTRS number, only NASA
“Add a source” accepts one kind of source: an NTRS document number (digits only, from ntrs.nasa.gov). If you paste an ntrs.nasa.gov link, only its digits are kept.
In plain words: you give a number, and the server builds the NASA address itself. Nothing you type is ever fetched as a web address, so the feature cannot be used to make the server visit an arbitrary site. Other kinds of links (doi.org, other pages) are not accepted.
## A file you upload
A CSV or Excel file you upload is read by code with columns you map by hand. A file you upload is not NASA unless its SHA-256 matches the one of the file downloaded from NTRS; otherwise it is labelled “your file, not verified”.
## How a document is read
- Maximum 20 MB and 60 pages.
- Read in a separate process with a time and memory limit.
- The text for checking comes from the original file’s text layer, by code. What exists only in a figure or an image is rejected.
## Status
In the next build. Today only the NTRS number field and the file chooser exist, and they check the input; nothing is fetched or read yet.
## For engineers
- The server builds
https://ntrs.nasa.gov/...from the digits; the digits are validated (numbers only) and the host is fixed. - The SHA-256 of a download is stored as provenance.
The steps, in order
Once built, a source goes through these steps, each visible on screen with its state (done, failed with the reason, or waiting).
In plain words: read the document, let an AI propose records with quotes, let a different AI object, let a program have the last word, label only what the source states, then recalculate every scenario and show what changed.
- Source. An NTRS number. The file’s SHA-256 is stored; title, author and license are shown when the source states them.
- Reading. Text and tables per page, by code (tables of CSV and Excel by code, PDF by the PDF reader). The page and table counts are shown.
- Extraction. A model proposes records in the schema. Each carries the value as written, the original unit, the quote and the page or cell. The model never converts units; the engine does.
- Check by a model of another family. It objects to or approves each record, with a quote.
- Validator in code (the last word). The same checks as
validation/run_all.py: the quote must appear word for word, or the cell in its row and column; units and ranges must be physically plausible. A record that cannot be located is rejected, with the reason shown. - Classification. Regime, fuel phase, diluent and flame type are filled only if the source says so, with its quote. Otherwise the axis stays “not stated”. Gravity is never inferred.
- Recalculation. The engine recalculates the four cards, the map, the routes, “experiments needed”, the results and the receipts, and shows a before and after per scenario.
Before you accept anything, a table lists every proposed record: value, unit, quote, page, the checker’s verdict and the validator’s verdict. At the end, “What changed” shows the before and after and lets you see it on the map.
## Status
In the next build. Today the dialog shows that these steps will run; it does not run them.
## For engineers
- Steps 3 and 4 use two different model families so that one model’s habit is not the other’s. Neither decides: step 5 does.
- Without a model configured, CSV and Excel with hand-mapped columns are still accepted (read by code); PDFs need the model and say so.
What is rejected, and why
A proposed record is rejected, with its reason on screen, whenever code cannot place it in the source or the source does not say what the record claims.
In plain words: the program prefers to throw away a true value it cannot prove than to accept a false one.
- The quote is not in the file, word for word. Rejected.
- A number differs from the source. The numbers of a quote must appear exactly as written:
1.5is not15. A record whosevalue_originalis not written in its quote is rejected. - The value is only in a figure or an image. Rejected; nothing is read off a plot.
- A table value on a slide needs its context. The slide title, the header and the row label must appear in order on the same page; otherwise the record is kept only as insufficient evidence. (A real case: “1.5 mm/s” is the lunar-gravity PMMA spread rate on one slide of the LUCI deck and the 1 g SIBAL flame base on another.)
- Gravity needs its own sentence. Each test’s gravity must have its own quote on the same page. A slide that sits in a 1 g section but only says “Results: PMMA” does not state its gravity.
- Oxygen that falls during the burn is a result, not a condition. It is stored as an outcome and never widens a test’s oxygen range.
- Different quantities stay apart. Flame base and flame tip spread rates are different variables. Ratios between tests (partial gravity over 1 g) are not records.
- No platform as gravity, no inferred gravity. A flight on a rocket or a station says nothing about the gravity level by itself.
- No wording that overstates. Superlatives, endorsements and absolute claims are never copied into a record.
## Status
In the next build as an automatic pipeline. The same rules were applied by hand, with separate checkers, to the LUCI golden set today.
## For engineers
- These are the rules added to the validator after the audit by a separate AI reviewer agent on 14 November: numbers as written,
value_originalinside the quote, and trace against the original text layer. Still open: checking that the quote is on the cited page.
Added evidence is external, and looks it
Evidence you add is external: it is never mixed silently with the curated PSI base.
In plain words: added evidence has its own colour or mark on the map, its own label on the cards and a switch, “show added evidence”, so you can see the app with and without it.
- Per visitor. What you add changes only your view. It lives in your browser and the engine recalculates there.
- You can take it with you. The added records can be exported as CSV plus JSON with their receipts. A button will explain how to propose them to the repository as a pull request on GitHub.
- Limits. A maximum number of pages per source, a cap per visitor and per day, and the extraction model has the same budget as the rest of the app.
## The example: LUCI
LUCI is the first external source and the exam case. Its lunar gravity is simulated partial gravity from a rotating vehicle, and every screen says so. In the planned video, the lunar-gravity card changes from “none in PSI” to “1 external flight with simulated gravity, far from your condition”. It is never shown as applicable unless the engine says so.
## Status
In the next build. The first version is planned as: an NTRS number box with LUCI as a recorded run of the process, labelled as recorded, with a receipt per record; the external-evidence switch and before-and-after per scenario; CSV and Excel upload with hand-mapped columns and no model; and live PDF extraction only behind an “experimental” option if time allows.
## For engineers
- Golden data:
data/external/ntrs-20250010653/conditions.csvwith accessionNTRS-20250010653; the citation check requires the id indata/manifest/external_sources.json. - A cache by SHA-256 makes the LUCI demo cost nothing and avoids model rate limits; a global daily cap works as a switch.
The precision exam
How do we know “Add a source” is precise? By an exam with a known answer key.
In plain words: the same program that will read a new document is run on documents whose correct records are already known, and its output is compared with the answer key. The result is reported as raw counts, for example “13 of 15 found, 0 incorrect accepted”, never as a percentage that hides the size.
## The answer key
The LUCI golden set was extracted by hand with the usual rigour (an extractor, a separate verificador, then the validator): 42 records in 4 tests, 37 usable and 5 insufficient_evidence, in data/external/ntrs-20250010653/. It exists today.
## The exam
- Precision: of the values the process accepts, how many are correct.
- Coverage: how many of the golden-set values it finds.
- Zero invented values accepted: every value the code cannot locate must be rejected.
- Free extra test: run the process on documents already curated in
data/conditions/, where the answer is known. - Negative controls: numbers deliberately altered, a false quote injected, and a value that exists only in a figure. All must be rejected.
- Aim: every accepted value correct, because the validator rejects what it doubts, and coverage of at least 80 %. If the aim is not met, the real number is published on the page.
- The judge battery gains an “add-source” section that runs this exam.
## Status
In the next build. The golden set and the validator changes it needed exist today; the exam itself runs once the pipeline exists.
## For engineers
python -I validation/run_all.py --conditions data/external/ntrs-20250010653validates the golden set (0 BLOCKER).- The judge battery lives in
validation/judge_battery/.
7. TARS SI
The chat: bubble, tab, three layers, modes, skills, history, and its limits.
What TARS SI is
TARS SI stands for Traceable Applicability Reasoning System. It is the chat of PYRION: a bubble at the bottom right of every page, and a full page under the TARS SI tab.
You can ask it about a condition, about NASA documents on combustion and spacecraft fire safety, or about this site. It works like a colleague who knows the subject and shows its sources.
What makes it different from a general chat is that its answer is split into layers, and code checks each layer before you read it.
The three layers of an answer
🔒 Engine. Facts the engine or a calculator computed: verdicts, counts, partial pressures. Any number here must come from a tool result.
📄 NASA said it. A paraphrase with an exact quote, the document title, the page and a link. The quote is checked against the cited page by code; if it is not found there, the whole block is withheld.
🧠 TARS own reasoning. TARS's own explanation of the physics. It is labelled "not verified against a source". A number in it that is not from a tool or a verified quote is replaced by "[number removed: not from a source]".
When a block is withheld or a number removed, a small line says so.
Easy, Advanced and Auto
Easy uses plain wording and folds the steps and the receipts. Advanced shows the figures, the receipts, the model that answered and the steps open. Auto chooses Advanced for a question about a condition and Easy for a how-to question.
The facts are the same in every mode. Only the wording and the amount of detail change.
The skill buttons
Map the unknown takes the condition on the Envelope page and answers in three parts: what is known (with receipts), what is unknown and why, and what would close the gap.
What would close this gap shows the engine's plan of experiments for the same condition.
Both need a current condition. If there is none, TARS asks you for one.
What if we ran this experiment?
Ask TARS what would change if an experiment were run, for example a PMMA rod at 34 % oxygen and 8.2 psia in lunar gravity. TARS adds one hypothetical test to the records in memory and shows how the verdict counts and the map would change.
Every such answer carries a banner: Hypothetical: not a measurement. The simulated test is never saved to the data, and it exists only in that answer.
History and follow-ups
TARS remembers the conversation. A follow-up such as "and at 25 %?" keeps the previous condition and changes only the oxygen.
The History button opens your conversations. You can start a new chat, open an old one, rename it, delete one, or delete all. Conversations are kept in this browser only; nothing is stored on a server. An anonymous device id, a random number in a cookie, is used only for fair rate limits.
What TARS does and does not do
It does compute with the engine and calculators, search a library of NASA documents, quote them exactly, explain physics in its own words, and point at parts of the page.
It does not decide a verdict by itself, do arithmetic by itself, invent a quotation, or answer unrelated or harmful questions. It cannot browse the web. A model answers its open questions, and the page says which model and whether a fallback was used.
If no language model is available, TARS still answers questions with numbers by code, and questions about the site from the help topics.
TARS SI page overview
What it is. The full-width TARS chat.
What it shows. A conversation list, mode switch, skills, the log and the input.
How to use it. Ask a question; read the three layers.
Example. Ask about oxygen partial pressure at 34 % and 8.2 psia.
What it does not do. TARS answers verdicts only through the engine.
Pick from the page (reference)
What it is. The cursor button (an arrow) next to Send in the TARS panel.
What it shows. While it is on, anything on the page is outlined as you move over it; click it to attach its visible text to your next question as a reference (up to 280 characters).
How to use it. Click the cursor button, click a verdict card, a table or a quote, then type your question and Send. The × removes the reference; Esc cancels picking.
Example. Pick the BASS-II card on the Envelope and ask "why is this only an extrapolation?".
What it does not do. It sends only the visible text of what you picked, from this site; it reads nothing outside the page and changes no verdict.
TARS bubble
What it is. The round button at the bottom right of every page.
What it shows. It opens the TARS chat panel.
How to use it. Click it or tab to it; Esc closes the panel.
Example. Open it on any page.
What it does not do. The bubble is hidden on the TARS page itself.
Close TARS
What it is. The cross in the panel header.
What it shows. Nothing.
How to use it. Click it or press Esc.
Example. Close after asking.
What it does not do. It does not erase the conversation.
TARS chat panel
What it is. The floating chat window.
What it shows. The same chat as the TARS page.
How to use it. Type in the input; use the mode and skills.
Example. Ask what a panel on the page is.
What it does not do. It is not a human; it is the Traceable Applicability Reasoning System.
Honesty line
What it is. A line under the controls.
What it shows. "Honesty is enforced by code: the verdicts and every number come from the engine."
How to use it. Read it.
Example. Compare with an answer.
What it does not do. It describes rules enforced by checks, not a promise of perfection.
Mode switch (Easy, Advanced, Auto)
What it is. Three buttons.
What it shows. Easy: plain wording, steps folded. Advanced: figures, receipts, steps open. Auto: Advanced for a condition, Easy for a how-to question.
How to use it. Click one.
Example. Switch to Easy to fold the steps.
What it does not do. The facts are identical in all modes.
Map the unknown
What it is. A skill button.
What it shows. Builds the three-part answer (Known, Unknown, Next) for the current condition on the Envelope page.
How to use it. Click it after picking a scenario.
Example. Click it on NASA's Moon Base.
What it does not do. It needs a current condition; otherwise it asks you for one.
What would close this gap (skill)
What it is. A skill button.
What it shows. The engine's plan of experiments for the current condition.
How to use it. Click it.
Example. Use it on the Moon Base.
What it does not do. It is a PYRION proposal.
History button
What it is. A chip.
What it shows. Opens the conversation list.
How to use it. Click it.
Example. Reopen yesterday's chat.
What it does not do. Conversations are kept only in this browser.
Conversation list
What it is. The left list.
What it shows. Your conversations, newest first.
How to use it. Click one to open it.
Example. Open a chat.
What it does not do. Nothing is stored on a server.
New chat
What it is. A button.
What it shows. Starts an empty conversation.
How to use it. Click it.
Example. Start a new topic.
What it does not do. It keeps the old chat in the list.
Conversation entry
What it is. A list item.
What it shows. The chat title.
How to use it. Click it to open.
Example. Open a chat.
What it does not do. Titles are the first thing you said.
Rename conversation
What it is. A pencil button.
What it shows. Opens a name box.
How to use it. Click, type, press Enter.
Example. Rename "Moon base".
What it does not do. It renames only in this browser.
Rename box
What it is. A text field.
What it shows. The new name.
How to use it. Type and press Enter.
Example. "Lunar atmosphere".
What it does not do. It is not saved on a server.
Delete conversation
What it is. A cross button.
What it shows. Removes one conversation.
How to use it. Click it.
Example. Delete a test chat.
What it does not do. It cannot be undone.
Delete all
What it is. A link.
What it shows. Removes every conversation after you confirm.
How to use it. Click it and confirm.
Example. Clear the browser's chats.
What it does not do. It cannot be undone.
Chat log
What it is. The scrolling area.
What it shows. Your messages and TARS's answers.
How to use it. Scroll it.
Example. Read an earlier answer.
What it does not do. It is not exported anywhere.
Working status
What it is. A line with a pulsing dot.
What it shows. What TARS is doing: Checking the engine, Searching NASA documents, Calculating.
How to use it. Wait for the answer.
Example. See "Calculating…".
What it does not do. It is not a progress bar.
Message box
What it is. The text field.
What it shows. What you type, up to 300 characters.
How to use it. Type and press Send.
Example. "What is 34 % at 8.2 psia?".
What it does not do. Do not paste secrets: it is sent to the server to answer.
Send button
What it is. A button.
What it shows. It sends your message.
How to use it. Click it or press Enter.
Example. Send a question.
What it does not do. It is disabled while TARS is working.
KNOWN block
What it is. The first part of a three-part answer.
What it shows. What the extracted PSI records support at the condition, with receipts.
How to use it. Click a receipt to open its card.
Example. Read which investigations apply.
What it does not do. If nothing applies it says so.
UNKNOWN block
What it is. The second part.
What it shows. Where the evidence ends and why: a regime barrier or a gap.
How to use it. Read it.
Example. "No PSI test in this gravity regime".
What it does not do. It is about PSI, not about the world.
NEXT block
What it is. The third part.
What it shows. The nearest routes and what would close the gap, as a PYRION proposal.
How to use it. Read it.
Example. Follow a route.
What it does not do. It is not a NASA plan.
Engine fingerprint
What it is. A hex string.
What it shows. The SHA-256 of the engine's evaluation.
How to use it. Compare it across runs.
Example. The same question gives the same fingerprint.
What it does not do. It proves reproducibility of the computation, not correctness of the data.
How TARS got this
What it is. A collapsible list.
What it shows. The steps that ran: the reading, the engine, routes, the plan.
How to use it. Click to open it.
Example. Check that the engine ran.
What it does not do. It lists tools, not hidden reasoning.
Show on the envelope
What it is. A button in an answer.
What it shows. Loads the answer's condition into the dashboard.
How to use it. Click it.
Example. See the chart for the condition TARS used.
What it does not do. It replaces your current controls.
Show me (highlight)
What it is. A button in an answer.
What it shows. It scrolls to and outlines a part of the page.
How to use it. Click it.
Example. Show me "Where the evidence is".
What it does not do. It only points; it changes nothing.
Receipt link in an answer
What it is. A small link.
What it shows. An investigation id.
How to use it. Click it to open its card.
Example. Open PSI-69.
What it does not do. It opens the Envelope page card.
DOI link in an answer
What it is. A link.
What it shows. The investigation's DOI.
How to use it. Click it.
Example. Open the dataset.
What it does not do. It is shown in Advanced.
Open the document
What it is. A link under a NASA quote.
What it shows. The NASA document that contains the quote.
How to use it. Click it.
Example. Read the page around the quote.
What it does not do. The quote was checked against the cited page by code.
Engine layer
What it is. The 🔒 layer of an expert answer.
What it shows. Facts restated from engine tools or calculators.
How to use it. Read it as computed by code.
Example. "19.22 kPa".
What it does not do. Numbers there come only from tool results.
NASA layer
What it is. The 📄 layer.
What it shows. A paraphrase with an exact quote, document title and page.
How to use it. Click the document link.
Example. A quote about FM2.
What it does not do. If the quote is not found on the page, the whole block is withheld.
Own-reasoning layer
What it is. The 🧠 layer.
What it shows. TARS's own reasoning, labelled "not verified against a source".
How to use it. Treat it as an explanation, not a source.
Example. "Why a flame is round in microgravity".
What it does not do. Numbers without a source are replaced by a removed-number marker.
Help topic suggestion
What it is. A link in a Support answer.
What it shows. The title of a help topic.
How to use it. Click it to open the topic.
Example. Click "Add a source (as built today)".
What it does not do. It asks Support again.
Take me there (help)
What it is. A button in a help answer.
What it shows. Goes to the page and highlights the control.
How to use it. Click it.
Example. Go to the Add a source button.
What it does not do. It moves you; it does not click the control.
Brief me
What it is. A panel that turns this conversation into a document.
What it shows. A preview of the brief with a bibliography and the engine fingerprints.
How to use it. Press Build the brief, then download it or print it.
Example. Brief a conversation about the ISS cabin air.
What it does not do. Only checked statements are included; the model is not called.
Brief me (button)
What it is. A skill button in the TARS panel.
What it shows. Opens the Brief me panel.
How to use it. Click it after you have asked a few questions.
Example. Ask two questions, then click it.
What it does not do. It needs at least one answered question.
Brief preview
What it is. The brief as it will print.
What it shows. The questions, checked findings, quotes and the bibliography.
How to use it. Scroll it, or print it.
Example. Find the engine fingerprint at the end of a question.
What it does not do. It is a record of this conversation, not a verdict.
Build the brief
What it is. The button that builds the document.
What it shows. Nothing until pressed.
How to use it. Press it after asking questions.
Example. Press it, then read the preview.
What it does not do. It recomputes the engine part and re-verifies every NASA quote.
Check a claim
What it is. A panel where you paste a text and each claim in it is classified.
What it shows. A table of claims, each with one class: supported in PSI, not supported in PSI, contradicted or overclaim.
How to use it. Paste the text, press Check the claims, read the table.
Example. A claim naming PSI-69 and a verdict at 30% oxygen is checked against the engine.
What it does not do. It never calls a claim false because PSI is silent: that is shown as not supported in PSI.
Check a claim (button)
What it is. A skill button in the TARS panel.
What it shows. Opens the Check a claim panel.
How to use it. Click it, paste a text, press Check the claims.
Example. Paste a paragraph that says a flame is safe at a condition.
What it does not do. It does not decide anything by itself: classes come from code.
Check the claims
What it is. The button that runs the check.
What it shows. A model may help split the text, but every class is decided by code.
How to use it. Press it once the text has at least a sentence.
Example. Paste a paragraph, press it, wait a few seconds.
What it does not do. It counts against the same limits as a question.
Claims table
What it is. The result of a check.
What it shows. Each claim, its class badge, the reason in one fixed sentence, the engine reference with its fingerprint, and NASA quotes that code found on the cited page.
How to use it. Hover a quote to see its page; hover a badge to see what the class means.
Example. A contradicted claim shows the verdict the engine gave.
What it does not do. A discarded proposal is counted, never shown.
Close the skill panel
What it is. A link that closes the open skill panel.
What it shows. Nothing.
How to use it. Click Close.
Example. Close the claims table.
What it does not do. It does not delete your conversation.
Compare
What it is. The button that runs the comparison.
What it shows. Nothing until pressed.
How to use it. Press it with at least two conditions chosen.
Example. Pick two scenarios and press it.
What it does not do. It is computed by code and does not use a model.
Compare atmospheres
What it is. A panel that puts several conditions side by side.
What it shows. A table with oxygen, total pressure, oxygen partial pressure, how many investigations are comparable, solid-fuel status and the nearest evidence, and a ranking rule.
How to use it. Pick scenarios or write your own, then press Compare.
Example. ISS cabin against a 34% oxygen, 8.2 psia cabin.
What it does not do. The ranking says how much measured evidence PSI holds near a condition, not which is better.
Compare atmospheres (button)
What it is. A skill button in the TARS panel.
What it shows. Opens the Compare atmospheres panel.
How to use it. Click it, pick two or more scenarios, press Compare.
Example. Compare the ISS cabin and NASA's Moon Base.
What it does not do. It does not say which atmosphere is safer.
Comparison table
What it is. The result of a comparison.
What it shows. One row per condition, and the ranking rule under the table.
How to use it. Read across a row; read the rule under the table.
Example. See which condition has more comparable investigations.
What it does not do. It never estimates a number PSI does not hold.
Download .md
What it is. Saves the brief as a Markdown file.
What it shows. Nothing; it saves a file.
How to use it. Press it after building.
Example. Keep the file with your notes.
What it does not do. The file is made in your browser from the built brief.
Print / PDF
What it is. Opens the print dialog for the brief.
What it shows. Nothing; it prints the preview.
How to use it. Press it and choose Save as PDF.
Example. Hand the PDF to someone who can check it.
What it does not do. Printing is done by your browser.
Scenarios to compare
What it is. A list of the site's scenarios.
What it shows. One checkbox per scenario.
How to use it. Tick two or more.
Example. Tick ISS cabin air and NASA's Moon Base.
What it does not do. It lists only the scenarios the site already has.
Show these points on the map
What it is. A button that draws the compared points on the Envelope map.
What it shows. Numbered diamonds on the map, one per condition.
How to use it. Press it; the Envelope page opens if you are elsewhere.
Example. Numbers on the map match the numbers in the table.
What it does not do. It draws points only; verdicts stay on the cards.
Text to check
What it is. A box for the text.
What it shows. Nothing yet.
How to use it. Paste up to 3000 characters.
Example. An abstract or a paragraph from a report.
What it does not do. Nothing you paste is stored on the server.
Your own condition
What it is. Three boxes: name, oxygen in percent, pressure with unit.
What it shows. Nothing until you compare.
How to use it. Write the oxygen as a number and the pressure with its unit, such as 8.2 psia.
Example. 34 and 8.2 psia.
What it does not do. It refuses a unit it cannot read instead of guessing.
Replay
What it is. A button under an answer that has a condition.
What it shows. Runs only the engine part again and says same fingerprint ✓ when the bytes match.
How to use it. Click it on any answer.
Example. Replay an answer from earlier today.
What it does not do. It does not ask a model anything, and it does not redo the model's words.
Explanation layer unavailable
What it is. A line above an answer built by code alone.
What it shows. That no model could answer right now, and that everything shown comes from code and NASA documents.
How to use it. Read it; ask again later for a model's explanation.
Example. Ask about a condition while the models are busy and still get the engine's verdicts.
What it does not do. It does not explain or reason; it only retrieves.
Help topic (code answer)
What it is. A help topic TARS found by code when no model was available.
What it shows. The topic text from the site's own help.
How to use it. Read it; ask again later for a model's explanation.
Example. Ask about a condition while the models are busy and still get the engine's verdicts.
What it does not do. It does not explain or reason; it only retrieves.
Privacy line
What it is. The small line under the TARS message box.
What it shows. That there is no account, that conversations stay in this browser, and that an anonymous device id (a random number in a cookie) is used only for fair rate limits.
How to use it. Read it; there is nothing to click.
Example. Several people on the same Wi-Fi each have their own allowance because each browser has its own random id.
What it does not do. The id is not linked to a name, an email or an account, and it does not carry your conversations. Clearing cookies gives a new id, but the limit of the whole network still applies.
Citation preview
What it is. A NASA quote in an answer. It is focusable and reacts to hover.
What it shows. On hover or focus, the real text of the cited page from the NASA library, with the quoted sentence highlighted, and the document link.
How to use it. Hover it, or tab to it, to read the quote in context. Press Esc to close the preview.
Example. Hover a quote about FM2 to see the whole page it comes from.
What it does not do. It does not re-check the quote (code already did that before the answer was shown), and it shows one page, not the whole document.
Suggested next questions
What it is. Up to three small buttons under an answer.
What it shows. Follow-ups that fit the answer, for example what would close the gap, a comparison with ISS air, or showing the condition on the envelope.
How to use it. Click one to ask it, or to load the condition.
Example. After an answer about 34 % oxygen at 8.2 psia, click "Compare with ISS air".
What it does not do. The suggestions are fixed templates chosen by code from what the answer used; they are not written by the model and they are not predictions.
Ask 3 models
What it is. A button under an answer in Advanced mode.
What it shows. The same question asked to GLM-5.3, Qwen and Nemotron, side by side, with the engine fingerprint of each run. If the fingerprints are identical the page says "Same verdict, different words": the models may phrase things differently, but the engine computed the same thing.
How to use it. Click it once; it takes a while because three models run.
Example. Compare how three models explain the physics of the same condition.
What it does not do. It does not run on its own (it uses credit and counts against your limits), it never substitutes one model for another, and a model that is not available says so. The three answers are each checked by code; their expert layers are still unverified explanations.
Second opinion
What it is. A strip under an answer in Advanced and Auto modes.
What it shows. A review of the checked answer by a model of a different family than the one that wrote it: it agrees, objects (with the reason, and a NASA quote that code verified), or is unavailable. The reviewing model is named.
How to use it. Read it after the answer; hover an objection's quote to see its page.
Example. "Second opinion: agrees · Nemotron 3 Ultra".
What it does not do. It never changes the answer. A reviewer's wording is scrubbed of numbers that are not in the answer, and an objection's quote is dropped if code cannot find it on the cited page. It is an opinion, not a verdict.
8. The Bridge and sealed predictions
The flame-stretch-rate hypothesis, the FM2 balance and the sealed statements.
The Bridge in plain words
On the Envelope page, gravity is a regime barrier: a test in microgravity cannot be compared with a condition in lunar gravity, and the verdict says so. But NASA's own literature relates gravity levels through a quantity called flame stretch rate.
The Bridge page takes that idea and asks: in which PSI tests was the flame stretched by about as much as a flame would be by buoyancy on the Moon? Those tests are called transfer analogs.
It is a hypothesis, not evidence. It never changes a verdict and it does not predict how a flame behaves on the Moon.
Stretch rate, in plain words
Stretch rate, in reciprocal seconds, is how hard the surrounding gas flow pulls on a flame. In orbit there is no buoyancy, so a weak forced airflow sets the stretch. On the Moon there is a little buoyancy. The two can stretch a flame by similar amounts. That is the bridge.
The formulas used are for curved bodies in flow, such as a rod tip. Flat sheets have no radius, so no stretch is computed for them.
The FM2 oxygen balance
FM2 is the Flammability of Materials on the Moon experiment. It burns samples in a closed chamber, and each burn uses up oxygen. The balance on the Bridge page answers a narrow question: how much oxygen can a burn use before the chamber falls to an assumed limiting oxygen concentration?
It is a mass balance, not a flame model. The chamber volume and the starting atmospheres come from NASA's plan. The temperature and the limit are assumptions you can change, shown with their ranges. It does not say where the real limit is.
Sealed predictions
Before any FM2 result exists, PYRION wrote down what it will and will not say about FM2: for example, that it commits to no value for the lunar limiting oxygen of the planned fabric, because PSI holds no test of it.
The fingerprint of that text, a SHA-256, was stamped with OpenTimestamps, which anchors it in the Bitcoin blockchain. When FM2 reports, anyone can check the statements against the results and check that the text did not change. The proof may show as pending until the blockchain confirms it.
The Bridge (a hypothesis, not evidence)
In PYRION, gravity is a regime barrier: a microgravity test and a lunar-gravity target are not comparable. The Bridge page explores a labelled hypothesis from NASA literature: that partial gravity can be related to other gravity levels through flame stretch rate.
It points at PSI tests whose stretch rate is closest, with a gravity dial and a stretch map. It never changes a verdict, and nothing there predicts flame behaviour on the Moon.
Sealed predictions before FM2 flies
Before any FM2 result exists, PYRION wrote down what it will and will not say about FM2. The fingerprint (SHA-256) of that text was stamped with OpenTimestamps, which anchors it in the Bitcoin blockchain, so anyone can later check that the text was not changed after results appeared.
The statements are in the predictions README of the repository, linked from the Bridge page.
Bridge page overview
What it is. The page that explores a hypothesis relating gravity levels through flame stretch rate.
What it shows. A gravity dial, a stretch map, the transfer analogs, limits, the FM2 instrument balance and the sealed predictions.
How to use it. Move the dial, read the map, check the limits.
Example. Set the Moon and see which PSI tests have a similar stretch.
What it does not do. It is labelled a hypothesis and never changes a verdict.
Hypothesis tag
What it is. The label "HYPOTHESIS — NOT EVIDENCE".
What it shows. That the page's content is a hypothesis.
How to use it. Keep it in mind while reading.
Example. Read it before quoting any analog.
What it does not do. It cannot be turned off.
Bridge introduction
What it is. The first card.
What it shows. Stretch rate in one sentence, then NASA's own words about equivalence of flame stretch rates and the gravity values PYRION uses.
How to use it. Read it first.
Example. Moon 0.165 g, Mars 0.38 g, with sources.
What it does not do. It does not claim any prediction.
NTRS source link
What it is. A link in the Bridge text.
What it shows. An NTRS record of a NASA paper.
How to use it. Click to open it.
Example. Open the Olson and T'ien paper.
What it does not do. It opens NASA's page, not our summary.
Gravity dial card
What it is. The card with the gravity control.
What it shows. Four stops: microgravity, Moon, Mars, Earth, with their sources.
How to use it. Move the slider or click a stop.
Example. Click Moon.
What it does not do. It has four stops, not a continuous scale.
Gravity dial slider
What it is. The range control.
What it shows. The selected gravity stop.
How to use it. Drag it or use the arrow keys.
Example. Move to Mars.
What it does not do. Only four stops exist.
Gravity stop button
What it is. A button under the dial.
What it shows. One gravity level and its label.
How to use it. Click it.
Example. Click Earth.
What it does not do. It sets the view of the stretch map only.
Stretch map card
What it is. The chart of stretch rate versus oxygen.
What it shows. Solid lines are PSI BASS-II rod tests; the hatched band is the hypothesised buoyant stretch at the selected gravity.
How to use it. Choose a formula and read where lines meet the band.
Example. Read how many tests overlap at the Moon.
What it does not do. The formulas are for curved bodies in flow; flat sheets are excluded.
Rod-tip formula
What it is. A toggle.
What it shows. The stretch formula for a rod tip.
How to use it. Click to select.
Example. Compare with the cylinder formula.
What it does not do. The table does not say how each rod sat in the flow, so the formula is a choice shown with every result.
Cylinder formula
What it is. A toggle.
What it shows. The stretch formula for a cylinder in flow.
How to use it. Click to select.
Example. Switch and watch the band change.
What it does not do. It is a different assumption, not a better one.
Test segment on the map
What it is. A horizontal line on the map.
What it shows. One PSI test's forced stretch range at its oxygen.
How to use it. Click or press Enter to open its detail.
Example. Select a BASS-II test.
What it does not do. It is computed from flow readings and rod radius.
Transfer analog test
What it is. A link in the analog lists.
What it shows. A PSI test whose stretch falls inside the band, or only partly.
How to use it. Click it to open its detail.
Example. Open the first analog.
What it does not do. Analogs are hypotheses; they are never counted as applicable.
Partly overlapping tests
What it is. A collapsible list.
What it shows. Tests whose stretch passes through the band for part of their flow readings.
How to use it. Click to open.
Example. Open it to see the six partial overlaps.
What it does not do. Partial overlap is weaker than an analog.
Close the detail
What it is. A link in the test detail.
What it shows. Nothing.
How to use it. Click it.
Example. Close after reading.
What it does not do. It does not change the selection of the dial.
Bridge receipt
What it is. A collapsible receipt.
What it shows. Inputs, sources, assumptions and limits of the stretch calculation.
How to use it. Click to open.
Example. Read the assumptions.
What it does not do. It shows the calculation, not a validation.
Bridge limits
What it is. A card of limits.
What it shows. Geometry, material dependence, scale and time, pressure.
How to use it. Read it before using an analog.
Example. Check "Material dependence".
What it does not do. The limits are part of the result.
FM2 instrument balance
What it is. A card with a closed-chamber oxygen balance.
What it shows. How much oxygen a burn can use before the chamber reaches a hypothesised limit, using FM2's stated volume and start conditions.
How to use it. Move the two sliders.
Example. Set a limit of 25 %.
What it does not do. It is a mass balance, not a flame model; it does not say where the limit is.
FM2 temperature slider
What it is. A slider.
What it shows. The assumed chamber temperature (the plan does not state it).
How to use it. Drag it.
Example. Set 22 °C.
What it does not do. It is an assumption shown with its range.
FM2 hypothesised limit slider
What it is. A slider.
What it shows. A hypothesised limiting oxygen concentration.
How to use it. Drag it.
Example. Set 25 %.
What it does not do. It is a hypothesis, not a measurement.
FM2 formulas and assumptions
What it is. A collapsible list.
What it shows. The formulas and assumptions of the balance.
How to use it. Click to open.
Example. Check the fuel stoichiometry note.
What it does not do. The PMMA numbers illustrate the balance; FM2 burns a different fabric.
Sealed before FM2 flies
What it is. A card about the sealed predictions.
What it shows. That PYRION wrote down what it will and will not say about FM2 and stamped its fingerprint with OpenTimestamps.
How to use it. Click the links to read the statements.
Example. Open the predictions README.
What it does not do. It does not claim a Bitcoin confirmation that is not shown.
Predictions README link
What it is. A link.
What it shows. The sealed statements on GitHub.
How to use it. Click it.
Example. Read statement 1.
What it does not do. It is a text file, not a result.
OpenTimestamps proof link
What it is. A link.
What it shows. The proof file SHA256SUMS.ots.
How to use it. Click it.
Example. Check it with an OpenTimestamps tool.
What it does not do. The proof may be pending until Bitcoin confirms it.
9. Data, sources and how values are located
Where each value comes from and how code checks it against the NASA source.
Worked example
What it is. One complete question run through PYRION on the server, printed step by step: solid cabin materials in ISS cabin air.
What it shows. The condition and its source, the verdict for every PSI investigation, the receipt of the closest one (test, value, file location, text), what NASA set out to learn there in its own words, the limits, and a fingerprint of the computation.
How to use it. Read it top to bottom; every link opens the investigation, its DOI or the same question on the dashboard.
Example. The closest solid-fuel evidence for ISS cabin air comes with the exact tests and file locations behind it.
What it does not do. It does not use a language model and does not predict fire behaviour.
Data and sources
All condition values come from the 24 NASA PSI combustion investigations. Each value keeps its file, its location and the quotation it was read from. A validator locates every extracted value in the NASA source by code (a table cell at its row and column, or a quotation word for word).
The Data page shows what was extracted from each investigation, with its DOI and license, and the lineage from PSI files to a verdict.
Data page overview
What it is. The page about what was extracted from NASA.
What it shows. The evidence status, the lineage, coverage per investigation and how a value gets in.
How to use it. Read it to audit the numbers.
Example. Open the coverage table.
What it does not do. It is read-only.
Evidence status bar
What it is. A bar with counts.
What it shows. Values extracted, how many are located by code in the NASA source and how many are flagged.
How to use it. Read the legend.
Example. See the cell and quote counts.
What it does not do. Flagged values are not counted in verdicts.
For predictive modeling (Data page)
What it is. A section of the Data page for people who want to fit a model to PSI combustion data.
What it shows. Which measured outcomes the extraction holds per investigation (burn time, hot ignition, extinction diameter, oxygen after the test...), with their unit and how many values, counted live from data/conditions; inputs are the test conditions.
How to use it. Download the dataset, join conditions and outcomes on investigation and test id, and keep each row's source.
Example. FLEX (PSI-69) has burn times in seconds and visible flame extinction diameters in mm, per test.
What it does not do. It is not a validated training set; flagged rows are excluded, and a model fitted to microgravity or normal gravity says nothing direct about partial gravity.
Lineage card
What it is. A numbered chain.
What it shows. From NASA PSI files to selected and checksummed files to extracted values to verdicts.
How to use it. Read each step with its manifest file.
Example. Check the SHA-256 step.
What it does not do. Counts come from manifests and the last validation report.
Coverage by investigation
What it is. A table.
What it shows. For each investigation: extracted values, tests, variables and the DOI.
How to use it. Sort by reading; click a DOI.
Example. Find an investigation without values.
What it does not do. It does not rank investigations.
Data page DOI link
What it is. A link in the table.
What it shows. The investigation's DOI.
How to use it. Click it.
Example. Open a dataset.
What it does not do. It opens PSI's DOI page.
How a value gets here
What it is. A prose section.
What it shows. The path of a value: extraction with quotation, a check by a separate AI reviewer agent, then validation by code.
How to use it. Read it for the method.
Example. See why a value without a located quote is rejected.
What it does not do. It describes the process, not each value.
PSI-10 ACME/Flame Design: Advanced Combustion via Microgravity Experiments / Flame Design
PSI-10 ACME/Flame Design is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Advanced Combustion via Microgravity Experiments / Flame Design”. Release 20-Nov-2025, version 1. DOI [10.60555/w4zy-bt45](https://doi.org/10.60555/w4zy-bt45). License: not stated on its PSI page or record.
In plain words: this page says what PSI-10 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 2165 of its 2165 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The primary objectives of this flight experiment are: A. Obtain soot-inception limits of quasi-steady normal and inverse spherical diffusion flames as functions of flow rate, Zst, amount of inert (N2 or CO2), and pressure for C2H4 and CH4 flames. Identify the corresponding temperatures in hot regions. Obtain similar limits and temperatures for inverse and normal coflow flames. B. Obtain detailed measurements in quasi-steady normal and inverse spherical diffusion flames for C2H4 and CH4. Determine the effects of flow rate, Zst, amount of N2, and pressure on flame temperature, size, color, and soot volume fraction. [...]
PSI hypothesis (quoted, section hypothesis):
> 1. Soot formation requires a region where local C/O ratio and T exceed their critical values, and where strain rate is sufficiently low. 2. Microgravity spherical diffusion flames extinguish when the peak temperature first decreases below 1130 K. 3. Steady-state spherical diffusion flames are possible.
As recorded by PSI: flight program: International Space Station (ISS); hardware: Advanced Combustion via Microgravity Experiments (ACME), Combustion Integrated Rack (CIR), Reconfiguration of Combustion Integrated Rack (CIR); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “The Flame Design experiment is one of six independent experiments that make up the Advanced Combustion via Microgravity Experiments (ACME) project for which the tests were conducted within the Combustion Integrated Rack [...]”, page=3).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Gravity regime: microgravity for test(s) * (quote: “The challenges of normal-gravity studies are avoided by performing the tests on the International Space Station (ISS), where the non-buoyant microgravity flames allow the effects of convection direction and flame structure to be independently varied.”, page=44, PSI-10_Reports_FinalRpt_ACMEFlameDesign.pdf).
- Gravity regime: microgravity for test(s) * (quote: “In this work, experiments aboard the International Space Station and a transient numerical model are used to investigate the existence of steady-state microgravity spherical diffusion flames. [...]”, page=25, PSI-10_Reports_FinalRpt_ACMEFlameDesign.pdf).
## Fuel and flame configuration
fuel phase: gas (30); diluent: N2 (327); flame type: normal (207), inverse (120); fuel (3 distinct): C2H4 (187), ethylene (132), C3H8 (20).
## What was extracted
2165 condition records in data/conditions/PSI-10.csv: 2165 usable, 0 marked insufficient_evidence. They cover 327 distinct tests (plus 7 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 2 | 0 |
| fuel phase | 30 | 0 |
| diluent | 327 | 0 |
| flame type | 327 | 0 |
| ambient O2 (mole fraction) | 207 | 0 |
| burner-stream O2 (mole fraction) | 109 | 0 |
| pressure (kPa) | 327 | 0 |
| fuel | 339 | 0 |
| platform | 3 | 0 |
| outcomes (measured results) | 494 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.198048 to 0.4 (that is 19.8 to 40 % by volume, arithmetic on the stored fraction)
- burner-stream O2 (mole fraction): 0.212017 to 0.849978 (that is 21.2 to 85 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 43.0233 to 304.748
## What could not be extracted, and why
No record of this investigation is marked insufficient.
Table cells that hold no readable number (listed in extraction/skipped_cells.csv):
- column XO2: 11 cells (cell marks 'no value')
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 33 (see data/manifest/publications.csv).
## For engineers
- method: 1671 table records (read by code from a PSI table; the quote is the column header) and 494 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-10/Experimental table/PSI-10_Experimental table_Flame Design_Normal Flame.csv (1202 records)
- psi-data/PSI-10/Reports/PSI-10_Reports_FinalRpt_ACMEFlameDesign.pdf (492 records)
- psi-data/PSI-10/Experimental table/PSI-10_Experimental table_Flame Design_Inverse Flame.csv (469 records)
- psi-data/PSI-10/_investigation/PSI-10.json (2 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-10/_investigation/PSI-10.json (the text fields quoted above).
- Accession PSI-10; DOI 10.60555/w4zy-bt45; PSI version 1; files in version 3807, files selected for PYRION 15.
PSI-20 ACME BRE: Advanced Combustion via Microgravity Experiments - Burning Rate Emulator
PSI-20 ACME BRE is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Advanced Combustion via Microgravity Experiments - Burning Rate Emulator”. Release 15-Sep-2022, version 4. DOI [10.60555/vb93-3y72](https://doi.org/10.60555/vb93-3y72). License: CC0-1.0.
In plain words: this page says what PSI-20 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 101 of its 163 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The BRE flight program seeks to establish the burning conditions in a quiescent microgravity ambient in terms of material properties. The specific flight objectives are as follows. 1. Observe burning behavior in long-duration microgravity for CH4/N2 and C2H4/N2mixtures on porous circular burners of 25 and 50 mm diameter. Consider O2/N2 ambients with various pressures and ambient O2 concentrations and pressures. NASA - considered atmosphere for human space missions will be examined: 14.7 psia, 21 % oxygen: 10.2 psia, 26.5 %; and 8.2 psia, 34 % oxygen. Emphasize fuel conditions that can be related to a diverse range of condensed fuels. 2. [...]
PSI hypothesis (quoted, section hypothesis):
> The BRE investigation hypothesizes that there can exist a regime of quasi-steady burning in microgravity as a function of materials properties. Steady burning may never be achieved, and only slowly changing unsteady flames are possible. The proposed tests aboard the ISS aims to query this hypothesis by establishing a range of quasi-steady burning conditions for condensed fuels in the microgravity environment. It is hypothesized that BRE can determine a range of burning conditions in microgravity as a function of heat of gasification, reradiation heat flux, applied radiant heat flux, heat of combustion and smoke point. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Combustion Integrated Rack (CIR), ACME; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “The Burning Rate Emulator (BRE) experiment is one of six independent experiments that make up the Advanced Combustion via Microgravity Experiments (ACME) project for which tests are conducted within the Combustion [...]”, page=3).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Gravity regime: microgravity for test(s) * (quote: “Quasi-steady burning corresponding to various condensed-phase materials (such as PMMA and Nylon) was observed in microgravity despite the absence of air flow, where the cessation of ventilation is an established step in putting out spacecraft fires.”, section=researchImpacts, PSI-20.json).
- Gravity regime: microgravity for test(s) * (quote: “We see this as well in the extended ISS microgravity tests.”, page=18, PSI-20_Reports_Final_20220201.pdf).
- Gravity regime: normal_gravity for test(s) 1-g BRE series (Auth [55], ground burner), heat of combustion 43.7 kJ/g (dissertation Fig. 5.4 legend, 1-g table row 1) (quote: “The data measured in 1-g and discussed in [55] is added to the plot for comparison between micro- and normal gravity burning.”, page=104, PSI-20_Reports_Dissertation-PD-revised_.pdf).
## Fuel and flame configuration
fuel phase: gas (7); diluent: N2 (11); fuel (4 distinct): 100% C2H4 (8), 50% C2H4 (5), 100%C2H4 (3), 100% CH4 (2).
## What was extracted
163 condition records in data/conditions/PSI-20.csv: 101 usable, 62 marked insufficient_evidence. They cover 22 distinct tests (plus 9 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 6 | 0 |
| fuel phase | 7 | 0 |
| diluent | 11 | 0 |
| ambient O2 (mole fraction) | 45 | 2 |
| pressure (kPa) | 12 | 60 |
| fuel | 18 | 0 |
| platform | 2 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.21 to 0.4 (that is 21 to 40 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 56 to 101.353
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
pressure(27): Nominal atmospheres of round 1 (Appendix D, written after round 1 ended). 'especially focused' is not exhaustive: Table 1 (p.24) also lists 40% O2 on 19039, 19056 and 19063, which this sentence does not cover (see R16). [...]pressure(24): Read from the legend text inside Figure 14 (Appendix D). Each legend row is SE, FT (plot symbols, missing from the text layer), Xf, XO2, p (bar); the LAST number of each row is p. Distinct p values: 1, 0.56, 0.7 bar. [...]pressure(9): confidence ambiguous ('most of' the round-2 tests, not all, and 'roughly'. Known exceptions: 2021-Jan-20 (0.57 bar for five tests, R18) and the p.149 test at roughly 0.6 atm (R20). Day mapping: report day 20261 (17 Sept. [...]o2_mole_fraction(2): reads as thousands of percent
Ground (1 g) data check: partial in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 16 (see data/manifest/publications.csv).
## For engineers
- method: 61 table records (read by code from a PSI table; the quote is the column header) and 102 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-20/Reports/PSI-20_Reports_Final_20220201.pdf (81 records)
- psi-data/PSI-20/Experimental table/PSI-20_Experimental table_ACME BRE.csv (62 records)
- psi-data/PSI-20/Reports/PSI-20_Reports_Dissertation-PD-revised_.pdf (16 records)
- psi-data/PSI-20/_investigation/PSI-20.json (3 records)
- psi-data/PSI-20/Science Documents/PSI-20_Science Documents_BRE_data_interpretation_20220804.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-20/_investigation/PSI-20.json (the text fields quoted above).
- Accession PSI-20; DOI 10.60555/vb93-3y72; PSI version 4; files in version 2361, files selected for PYRION 64.
PSI-21 ACME CLD Flame: Advanced Combustion via Microgravity Experiments / Coflow Laminar Diffusion Flame
PSI-21 ACME CLD Flame is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Advanced Combustion via Microgravity Experiments / Coflow Laminar Diffusion Flame”. Release 15-Sep-2023, version 4. DOI [10.60555/23e1-9950](https://doi.org/10.60555/23e1-9950). License: CC0-1.0.
In plain words: this page says what PSI-21 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 13 of its 42 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> In order to provide the experimental data needed to allow rigorous testing of computational models at the extremes of the fuel dilution spectrum, we have the following objectives: A) Characterize the behavior of weak coflow diffusion flames of methane and ethylene, as a function of velocity and fuel dilution, through measurement of flame shape, lift-off heights, temperatures and extinction limits. [...]
PSI hypothesis (quoted, section hypothesis):
> This investigation was focused on gathering bench mark data to validate the hypothesis of computation models, the details of which are available within the following publications: 1) Smooke, M.D., Hall, R.J., Colket, M.B., Fielding, J., Long, M.B., McEnally, C.S., and Pfefferle, L.D., Investigation of the transition from lightly sooting towards heavily sooting co-flow ethylene diffusion flames. Combustion Theory and Modelling, 2004. 8(3): p. 593-606. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Combustion Integrated Rack (CIR), ACME; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “Combustion Integrated Rack (CIR), ACME”, section=experimentHardware).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Gravity regime: microgravity for test(s) * (quote: “For sooty flames, results show that the absence of gravity can have a major effect. Flames are taller, wider, cooler, and far sootier in microgravity as compared to normal gravity.”, page=3, advanced-combustion-via-microgravity-experiments-acme.pdf).
- Gravity regime: microgravity for test(s) * (quote: “The data has shown that for highly diluted weak flames, microgravity flames are more stable than their normal gravity counterparts.”, page=4, advanced-combustion-via-microgravity-experiments-acme.pdf).
## Fuel and flame configuration
fuel phase: gas (1); flow configuration: coflow (2); fuel (5 distinct): 40% CH4 (2), 100% CH4 (1), 100% C2H4 (1), 50% C2H4 (1), 30% C2H4 (1).
## What was extracted
42 condition records in data/conditions/PSI-21.csv: 13 usable, 29 marked insufficient_evidence. They cover 32 distinct tests (plus 10 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 2 | 2 |
| fuel phase | 1 | 0 |
| diluent | 0 | 1 |
| fuel | 6 | 26 |
| flow configuration | 2 | 0 |
| platform | 2 | 0 |
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
fuel(26): formula looks like a spreadsheet fill-series artifactgravity_regime(1): A plan ('will be important'), not a statement that the tests were run in microgravity. section=researchImpacts has another goal sentence of the same kind: 'A goal of the study will be to apply sophisticated numerical tools and [...]gravity_regime(1): PSI category label for the whole investigation, not a sentence about the test conditions.diluent(1): Planned oxidizer coflow (fact sheet p.3, future tense 'will be made ... in an air coflow'): air = oxygen balanced mainly by nitrogen. Oxidizer stream only. [...]
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 18 (see data/manifest/publications.csv).
## For engineers
- method: 32 table records (read by code from a PSI table; the quote is the column header) and 10 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-21/Experimental table/PSI-21_Experimental table_CLD Flame.csv (32 records)
- psi-data/PSI-21/_investigation/PSI-21.json (6 records)
- nasa/glenn-factsheet-acme/advanced-combustion-via-microgravity-experiments-acme.pdf (4 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-21/_investigation/PSI-21.json (the text fields quoted above).
- Accession PSI-21; DOI 10.60555/23e1-9950; PSI version 4; files in version 4883, files selected for PYRION 2.
PSI-22 ACME E-FIELD Flames: Advanced Combustion via Microgravity Experiments Electric-Field Effects on Laminar [...]
PSI-22 ACME E-FIELD Flames is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Advanced Combustion via Microgravity Experiments Electric-Field Effects on Laminar Diffusion Flames”. Release 15-Apr-2019, version 7. DOI [10.60555/se5a-8c73](https://doi.org/10.60555/se5a-8c73). License: CC0-1.0.
In plain words: this page says what PSI-22 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 29 of its 31 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The objective of this investigation is to better understand the relationship between electric field voltage and chemi-ion current, analyze the dynamic response of flames to electric field changes, evaluate soot formation, and characterize stabilized near-limit lifted flames.
PSI hypothesis (quoted, section hypothesis):
> The application of electric fields in microgravity environments will significantly influence laminar diffusion flames by enabling precise manipulation of flame stability, soot behavior, and combustion dynamics through ion-driven convection and chemi-ionization processes.
As recorded by PSI: flight program: International Space Station (ISS); hardware: Combustion Integrated Rack (CIR), ACME; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “All experiments were conducted in the combustion integrated rack (CIR).”, section=approach).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Gravity regime: microgravity for test(s) * (quote: “The E-FIELD flames experiment investigates how electric fields influence the behavior of laminar diffusion flames in microgravity.”, section=approach, PSI-22.json).
- Gravity regime: microgravity for test(s) * (quote: “Conducting the tests in microgravity allows for great simplifications in the analysis of ion-driven convection and flame interaction, enabling new understanding and the development of less polluting and more efficient combustion technology for use on Earth.”, page=43, PSI-22_Reports_E-FIELD Flames Final Report.pdf).
## Fuel and flame configuration
fuel phase: gas (2); diluent: N2 (1); fuel (4 distinct): 100% CH4 (6), 100% C2H4 (6), 40% CH4 (5), 30% C2H4 (4).
## What was extracted
31 condition records in data/conditions/PSI-22.csv: 29 usable, 2 marked insufficient_evidence. They cover 20 distinct tests (plus 10 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 2 | 0 |
| fuel phase | 2 | 0 |
| diluent | 1 | 1 |
| ambient O2 (mole fraction) | 1 | 1 |
| fuel | 21 | 0 |
| platform | 2 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.21 to 0.21 (that is 21 to 21 % by volume, arithmetic on the stored fraction)
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
diluent(1): Plan, not an as-run statement ('will have'). Page 3 says this background is the Executive Summary of the March 2010 Science Requirements Document 'With minor editing'. [...]o2_mole_fraction(1): Plan, not an as-run statement ('will have'); basis stated as molar. Same provenance as R11 (2010 SRD Executive Summary reproduced 'With minor editing', page 3; the SRD itself was not in the source list). [...]
Ground (1 g) data check: partial in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 25 (see data/manifest/publications.csv).
## For engineers
- method: 21 table records (read by code from a PSI table; the quote is the column header) and 10 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-22/Experimental table/PSI-22_Experimental table_ACME E-FIELD Flames.csv (21 records)
- psi-data/PSI-22/Reports/PSI-22_Reports_E-FIELD Flames Final Report.pdf (6 records)
- psi-data/PSI-22/_investigation/PSI-22.json (4 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-22/_investigation/PSI-22.json (the text fields quoted above).
- Accession PSI-22; DOI 10.60555/se5a-8c73; PSI version 7; files in version 2590, files selected for PYRION 88.
PSI-23 ACME s-Flame: Advanced Combustion via Microgravity Experiments-Structure and Response of Spherical [...]
PSI-23 ACME s-Flame is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Advanced Combustion via Microgravity Experiments-Structure and Response of Spherical Diffusion Flames”. Release 05-Apr-2018, version 4. DOI [10.60555/k57n-p030](https://doi.org/10.60555/k57n-p030). License: CC0-1.0.
In plain words: this page says what PSI-23 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 61 of its 81 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> A series of experiments is proposed with the following specific objectives, in both soot-free and sooty flames, to compare with detailed computational simulation to assess transport properties and detailed chemical kinetics (including chemiluminescence): Objective A. Measure and characterize the transient structure (such as temperature and species distribution) of diffusion flames established at initially non-steady, spherical flame structures for mixtures of different H2/CH4/diluent ratios (soot-free) and different C2H4/diluent ratios (sooty), for different flow rates. Objective B. [...]
PSI hypothesis (quoted, section hypothesis):
> The transient numerical simulation of spherical flames developed as part of this program includes detailed chemistry and transport models, especially radiation mechanisms. Each description of the flames obtained from the experiment, including measurements of aspects of the flame structure, growth or flame front velocities, and the specific test conditions where steady state flames, flame extinctions, flame front instabilities, soot suppression limits, etc., comprise a rigorous test of the detailed model. Together they provide a measure of the comprehensiveness of the chemical kinetic and transport models. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Combustion Integrated Rack (CIR), ACME; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “Combustion Integrated Rack (CIR), ACME”, section=experimentHardware).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Gravity regime: microgravity for test(s) * (quote: “The project has completed two (2) rounds of microgravity experimentation.”, page=25, PSI-23_Reports_s_Flame_final_report_20210729.pdf).
## Fuel and flame configuration
fuel phase: gas (1); diluent: He (9), N2 (3); fuel (14 distinct): 50% C2H4 with N2 (2), 100% H2 (2), 45% CH4 with N2 (1), 44.4% H2 with CH4 (1), 66.7% H2 with CH4 (1), 25% H2, 20% CH4, with He (1), 20% H2, 25% CH4, with He (1), 30% H2, 15% CH4, with He (1).
## What was extracted
81 condition records in data/conditions/PSI-23.csv: 61 usable, 20 marked insufficient_evidence. They cover 18 distinct tests (plus 10 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 1 | 1 |
| fuel phase | 1 | 1 |
| diluent | 12 | 13 |
| ambient O2 (mole fraction) | 23 | 3 |
| pressure (kPa) | 4 | 0 |
| fuel | 16 | 2 |
| platform | 4 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.21 to 0.3 (that is 21 to 30 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 101.325 to 101.325
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
diluent(4): Table 1, Atmosphere column: this cell is merged over test days 19352, 20006, 20013, 20024 and 20029. The PSI table reads differently for four of them: CSV row=6 (20006) '~21% O2 with N3', row=7 (20013) '~21% O2 with N4', row=8 [...]diluent(2): 'N3' is not a gas: spreadsheet fill-series artifactfuel(2): contains a spreadsheet fill-series artifact (e.g. 'N3')diluent(2): 'N4' is not a gas: spreadsheet fill-series artifactdiluent(1): 'N5' is not a gas: spreadsheet fill-series artifact
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 44 (see data/manifest/publications.csv).
## For engineers
- method: 59 table records (read by code from a PSI table; the quote is the column header) and 22 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-23/Experimental table/PSI-23_Experimental table_ACME s-Flame.csv (60 records)
- psi-data/PSI-23/Reports/PSI-23_Reports_s_Flame_final_report_20210729.pdf (17 records)
- psi-data/PSI-23/_investigation/PSI-23.json (4 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-23/_investigation/PSI-23.json (the text fields quoted above).
- Accession PSI-23; DOI 10.60555/k57n-p030; PSI version 4; files in version 4165, files selected for PYRION 107.
PSI-25 BASS-II: Burning and Suppression of Solids - II
PSI-25 BASS-II is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Burning and Suppression of Solids - II”. Release 31-Dec-2022, version 4. DOI [10.60555/4qc4-de67](https://doi.org/10.60555/4qc4-de67). License: CC0-1.0.
In plain words: this page says what PSI-25 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 732 of its 869 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> BASS-II results contribute to the combustion computational models used in the design of fire detection and suppression systems in microgravity and on Earth. Objectives Include: 1) Study the ignition, flame growth, flame spread, and extinction limits for solid fuels burning in low-velocity forced flows in microgravity. 2) Begin to bridge the gap between the normal gravity NASA-STD-6001 Test #1 method, ground-based microgravity tests, and actual material flammability in microgravity. 3) Provide SoFIE PIs with preliminary data to refine Science Requirements. [...]
PSI hypothesis (quoted, section hypothesis):
> BASS–II tests the hypothesis that materials in microgravity, with adequate ventilation, burn as well if not better than the same material in normal gravity with other conditions being identical (pressure, O2 concentration, temperature, etc.). NASA tests and controls materials from a flammability perspective using an upward burning test in normal gravity, which is considered to be the worst-case geometry for flammability of the material on Earth. However, it may not be conservative for flammability in space. Testing at constant O2 mole fractions permits studying flame spread and extinction at low and high flow speed. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Microgravity Science Glovebox (MSG); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Platform: Microgravity Science Glovebox (MSG) (quote: “Microgravity Science Glovebox (MSG)”, section=experimentHardware).
- Gravity regime: microgravity for test(s) * (quote: “To summarize, BASS-II's approach, microgravity combustion tests were performed aboard the International Space Station.”, section=approach, PSI-25.json).
- Gravity regime: normal_gravity for test(s) 1-g downward PMMA sheet series (SDSU Flame Stabilizer, Summary Report section 2.3.5, condition stated once for the series) (quote: “PMMA (NASA and Astra) in 1g at San Diego State University”, page=49, PSI-25_Reports_BASS-II Summary Report.pdf).
## Fuel and flame configuration
fuel phase: solid (257); diluent: N2 (1); flow configuration: opposed (17); material (49 distinct): 2 cm SIBAL (17), 1/4" clear rod (15), 1/4" black rod (12), 1 cm SIBAL (8), 3/8" black rod (7), 1 cm wide 200 micron thick PMMA (5), 3/8" clear rod (5), 1/2" clear PMMA rod (4).
## What was extracted
869 condition records in data/conditions/PSI-25.csv: 732 usable, 137 marked insufficient_evidence. They cover 130 distinct tests (plus 5 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 2 | 0 |
| fuel phase | 257 | 0 |
| diluent | 1 | 0 |
| ambient O2 (mole fraction) | 130 | 0 |
| pressure (kPa) | 28 | 8 |
| flow velocity (cm/s) | 0 | 126 |
| sample thickness (mm) | 41 | 1 |
| material | 129 | 0 |
| flow configuration | 17 | 0 |
| platform | 2 | 0 |
| outcomes (measured results) | 125 | 2 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.136 to 0.222 (that is 13.6 to 22.2 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 101 to 101.325
- sample thickness (mm): 0.1 to 5
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
flow_velocity(125): display reading series during the test, not a test conditionpressure(4): Figure 2.20 caption text (section 2.3.7, printed page 41), not a value read from the image. NOMINAL condition: one set of conditions is written for all four panels. test_id: the caption writes 'B03'; [...]pressure(4): MEASURED (monitored) total pressure, section 2.3.5 'Microgravity and Normal-Gravity Experiments', in the paragraph describing the BASS-II opposed-flow duct in the ISS (preceding sentences on the same page describe the O2 sensor [...]outcome:o2_mole_fraction_after_test(2): as written in PSIsample_thickness(1): the description states two different thicknesses: 3 mm thick, 2 cm thick
Table cells that hold no readable number (listed in extraction/skipped_cells.csv):
- column Calibrated final O2 % by vol: 2 cells (cell marks 'no value')
Ground (1 g) data check: partial in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 17 (see data/manifest/publications.csv).
## For engineers
- method: 552 table records (read by code from a PSI table; the quote is the column header) and 317 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-25/Experimental table/PSI-25_Experimental table_BASS-II.csv (552 records)
- psi-data/PSI-25/_investigation/PSI-25.json (133 records)
- psi-data/PSI-25/Science Documents/PSI-25_Science Documents_BASS-II_SRD.pdf (128 records)
- psi-data/PSI-25/Reports/PSI-25_Reports_BASS-II Summary Report.pdf (39 records)
- psi-data/PSI-25/Science Documents/PSI-25_Science Documents_BASS-II_ReadMe.docx (17 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-25/_investigation/PSI-25.json (the text fields quoted above).
- Accession PSI-25; DOI 10.60555/4qc4-de67; PSI version 4; files in version 695, files selected for PYRION 10.
PSI-26 BASS: Burning and Suppression of Solids
PSI-26 BASS is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Burning and Suppression of Solids”. Release 30-Jun-2013, version 4. DOI [10.60555/58h4-dy80](https://doi.org/10.60555/58h4-dy80). License: CC0-1.0.
In plain words: this page says what PSI-26 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 379 of its 387 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The two main objectives for BASS are to: 1.) Begin to bridge the gap between the normal gravity NASA-STD-6001 Test#1 method, ground-based microgravity tests, and actual material flammability in microgravity. The relation between these can be investigated by observing flames burning for the longer times available in flight. Practical, realistic (thicker) fuels in typical geometries will be examined, including wake flames which have characteristics of a fire burning behind another object (for example, a fire burning in tight area which may not be easily accessible). [...]
PSI hypothesis (quoted, section hypothesis):
> BASS experiments were based on the hypothesis that materials in microgravity, with adequate ventilation, burn as well if not better than the same material in normal gravity with other conditions being identical (pressure, oxygen concentration, temperature, etc.) To test this hypothesis with any but the thinnest materials requires extended microgravity time – longer than available in drop towers or parabolic aircraft.
As recorded by PSI: flight program: International Space Station (ISS); hardware: Microgravity Science Glovebox; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: International Space Station (ISS) (quote: “The experiment was conducted aboard the International Space Station (ISS) inside the Microgravity Glove Box (MSG).”, section=approach).
- Platform: Microgravity Science Glovebox (quote: “Microgravity Science Glovebox”, section=experimentHardware).
- Gravity regime: microgravity for test(s) 1 (quote: “Microgravity combustion tests burning fabric samples were performed aboard the International Space Station.”, paragraph=17, PSI-26_Science Documents_FlammabilityAspectsofFabric_USNationalCombustion.2013.docx).
## Fuel and flame configuration
fuel phase: solid (1); diluent: N2 (1); material (33 distinct): 2 cm sphere (18), PMMA sphere 2 cm (10), SIBAL 2 cm (9), PMMA 2 cm (8), Japan Wax Candle wake (8), 1 cm sphere (6), pmma 2 cm (5), PMMA sphere 1 cm (4).
## What was extracted
387 condition records in data/conditions/PSI-26.csv: 379 usable, 8 marked insufficient_evidence. They cover 116 distinct tests (plus 12 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 12 | 2 |
| fuel phase | 1 | 1 |
| diluent | 1 | 0 |
| ambient O2 (mole fraction) | 121 | 1 |
| pressure (kPa) | 121 | 0 |
| flow velocity (cm/s) | 0 | 2 |
| material | 121 | 0 |
| flow configuration | 0 | 2 |
| platform | 2 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.159 to 0.22722 (that is 15.9 to 22.72 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 98.2852 to 102.208
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
gravity_regime(1): Scope sentence of the PSI Data Layout Document: says what BASS examines, not that the tests were run in microgravity. Same rule as the FLEX description-of-data sentence (PSI-69). [...]fuel_phase(1): 'BASS Requirement' column of the requirements table, row 'Configuration' (planning document, February 2010). Note for the auditor: SRD page 4, Figure 1 labels the sample 'Solid fuel or wax-impregnated “wick”', and the test matrix [...]flow_configuration(1): Investigation-level statement that both configurations were used; it does not say which test used which, so this value does not hold for every test. [...]flow_configuration(1): Same sentence as R10: both configurations were used; it does not say which test used which. Per-test directions for the fabric tests are in Table I of the 2013 paper (paragraphs 79-142, paper numbering).flow_velocity(1): Upper bound only ('as high as'); the sentence gives no lower bound. Agrees with the 40 cm/s maximum in R14; disagrees with the 5 to 50 cm/s of the planning SRD (R15). [...]
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 10 (see data/manifest/publications.csv).
## For engineers
- method: 363 table records (read by code from a PSI table; the quote is the column header) and 24 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-26/Science Documents/PSI-26_Science Documents_As Run_Test Matrix.xlsx (242 records)
- psi-data/PSI-26/Experimental table/PSI-26_Experimental table_BASS.csv (121 records)
- psi-data/PSI-26/Science Documents/PSI-26_Science Documents_FlammabilityAspectsofFabric_USNationalCombustion.2013.docx (12 records)
- psi-data/PSI-26/_investigation/PSI-26.json (6 records)
- psi-data/PSI-26/Science Documents/PSI-26_Science Documents_SRD_BASS.pdf (4 records)
- psi-data/PSI-26/Science Documents/PSI-26_Science Documents_DLD_BASS.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-26/_investigation/PSI-26.json (the text fields quoted above).
- Accession PSI-26; DOI 10.60555/58h4-dy80; PSI version 4; files in version 210, files selected for PYRION 37.
PSI-39 CFI: Cool Flames Investigation
PSI-39 CFI is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Cool Flames Investigation”. Release 18-Sep-2024, version 4. DOI [10.60555/m6pj-a914](https://doi.org/10.60555/m6pj-a914). License: CC0-1.0.
In plain words: this page says what PSI-39 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 346 of its 357 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The objectives of this investigation are to: 1) Examine the combustion behavior of n-dodecane and mixtures of n-dodecane/iso-dodecane at pressures ranging from 0.25 atm to 5 atm. 2) Analyze the effects of helium dilution on cool flame behavior. 3) Examine the behavior of combustion characteristics. 4) Investigate the relationship between droplet size, pressure, and flame extinction, and (5) understand the consequence of soot formation during cool flame combustion.
PSI hypothesis (quoted, section hypothesis):
> Flame combustion of liquid hydrocarbon fuels such as n-dodecane, n-dodecane/iso-dodecane mixtures, and faresane in microgravity can provide insights into low-temperature chemical kinetics, revealing critical parameters like droplet extinction diameters and flame dynamics that are not observable on Earth.
As recorded by PSI: flight program: International Space Station (ISS); hardware: Multi-User Droplet Combustion Apparatus (MDCA), Combustion Integrated Rack (CIR); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “The Combustion Integrated Rack (CIR) contains the Multi-User Droplet Combustion Apparatus (MDCA) which facilitates the controlled combustion of fuel droplets.”, section=approach).
- Platform: International Space Station (ISS) (quote: “CFI experiments were conducted onboard the ISS from January 2017 through September 2017.”, page=4).
- Platform: Multi-User Droplet Combustion Apparatus (MDCA) (quote: “The Combustion Integrated Rack (CIR) contains the Multi-User Droplet Combustion Apparatus (MDCA) which facilitates the controlled combustion of fuel droplets.”, section=approach).
- No usable gravity-regime record. Gravity is only recorded when a source sentence states it for the tests; the platform is never used for it. The engine reads gravity here as insufficient evidence.
## Fuel and flame configuration
fuel phase: liquid (2); diluent: N2 (69), mixed (14); fuel (3 distinct): [.60]/[.40] C12H26/iso-dodecane (41), [.75]/[.25] C12H26/iso-dodecane (24), C12H26 (22).
## What was extracted
357 condition records in data/conditions/PSI-39.csv: 346 usable, 11 marked insufficient_evidence. They cover 79 distinct tests (plus 13 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 0 | 3 |
| fuel phase | 2 | 0 |
| diluent | 83 | 0 |
| ambient O2 (mole fraction) | 83 | 4 |
| pressure (kPa) | 87 | 0 |
| ambient temperature (K) | 0 | 1 |
| fuel | 87 | 0 |
| flow configuration | 0 | 3 |
| platform | 4 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.17 to 0.21 (that is 17 to 21 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 50.6625 to 506.625
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
o2_mole_fraction(4): header gives no unitgravity_regime(1): Rationale statement (Final Report section 3b); it implies, but does not state, that the CFI tests were burned in microgravity. 'onboard the ISS' is a platform, not a gravity statement.gravity_regime(1): Hypothesis field: names microgravity as the intended condition, not as a reported condition of the tests.gravity_regime(1): Pre-flight objective (SRD dated November 7, 2014, 'proposed experiments'); not a statement about the tests as run.flow_configuration(1): Pre-flight plan (SRD dated November 7, 2014, section 6.1, 'proposed CFI experiments'); the Final Report (2020) does not restate the flow configuration. 'q quiescent' and 'envrionment' are typos in the source, kept verbatim.
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 7 (see data/manifest/publications.csv).
## For engineers
- method: 344 table records (read by code from a PSI table; the quote is the column header) and 13 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-39/Experimental table/PSI-39_Experimental table_CFI.csv (344 records)
- psi-data/PSI-39/_investigation/PSI-39.json (5 records)
- psi-data/PSI-39/Science Documents/PSI-39_Science Documents_SRD_CFI.pdf (5 records)
- psi-data/PSI-39/Reports/PSI-39_Reports_CFI Science Final Report.pdf (3 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-39/_investigation/PSI-39.json (the text fields quoted above).
- Accession PSI-39; DOI 10.60555/m6pj-a914; PSI version 4; files in version 2812, files selected for PYRION 41.
PSI-47 DAFT / DAFT-2: Dust and Aerosol Measurement Feasibility Test / Dust and Aerosol Measurement Feasibility [...]
PSI-47 DAFT / DAFT-2 is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Dust and Aerosol Measurement Feasibility Test / Dust and Aerosol Measurement Feasibility Test-2”. Release 01-Jun-2009, version 5. DOI [10.60555/ztgj-d202](https://doi.org/10.60555/ztgj-d202). License: CC0-1.0.
In plain words: this page says what PSI-47 looked at and why PYRION holds no condition values from it.
## What it studied
PSI objective (quoted, section objective):
> The focus of DAFT / DAFT-2 was to mitigate the risk for the Smoke Aerosol Measurement Experiment (SAME). SAME relied on a commercially available condensate nuclei counter, the TSI P-Trak, to quantify smoke aerosols in a microgravity environment, however there were concerns that th P-Trak would not be reliable in microgravity as it relies on gravity to recycle isopropyl alcohol used in the measurement process. DAFT / DAFT-2 tests that a modified P-Trak particulate counter would be accurate in microgravity. [...]
PSI hypothesis (quoted, section hypothesis):
> The TSI P-Trak operates by condensing isopropanol around aerosol particulates that are subsequently laser counted. It was hypothesized that the P-Trak would not work in microgravity due to two potential failure modes that exist. 1) the system would clog or become obscured by isopropanol, and 2) the internal air-flow dynamics of the optics chamber of the device will cause an over counting of particulates. The TSI P-Trak was modified for microgravity use via using capillary action to recycle the isopropanol. Therefore, there are two basic hypotheses: 1) that the P-Trak, as modified for use in SAME, would function normally in microgravity. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: TSI P-Trak; managing center: Glenn Research Center (GRC).
## What was extracted
No condition records were extracted from PSI-47. Why: DAFT / DAFT-2 tested aerosol instruments with Arizona Road Dust in ISS nitrogen: no flame, so there is no combustion condition to extract. Its table lists hardware, dust and sampling location only.
This is a statement about what PSI holds for this investigation and what the extraction rules allow, not about the science. An investigation with no usable record never moves a verdict: the engine reads it as “not enough evidence”.
Ground (1 g) data check: classed partial in the ground-test inventory.
Published papers listed for this investigation: 2 (see data/manifest/publications.csv).
## For engineers
- No file data/conditions/PSI-47.csv exists. The investigation is still one of the 24 combustion investigations in data/manifest/investigations.csv.
- Investigation record: data/raw/psi-data/PSI-47/_investigation/PSI-47.json (the text fields quoted above).
- Accession PSI-47; DOI 10.60555/ztgj-d202; PSI version 5; files in version 33, files selected for PYRION 27.
PSI-60: Computational and Experimental Analysis of SPICE Data Sets
PSI-60 is a NASA ground investigation in the PSI (Physical Sciences Informatics) archive: “Computational and Experimental Analysis of SPICE Data Sets”. Release 30-Sep-2025, version 1. DOI [10.60555/mzjm-yv57](https://doi.org/10.60555/mzjm-yv57). License: CC0-1.0.
In plain words: this page says what PSI-60 looked at and why PYRION holds no condition values from it.
## What it studied
PSI objective (quoted, section objective):
> This ground investigation sought to increase understanding of the issues that control the large discrepancy between soot formation in 1g and in 0g flames. The objective of this investigation was to integrate computational and experimental methods to derive temperature distributions and soot volume fractions from the Smoke Point in Coflow Experiment (SPICE) data available in PSI. By analyzing over 1600 raw DSLR images and incorporating advanced soot models, the study sought to improve understanding of soot formation, oxidation, radiative re-absorption, and aggregate growth in heavily sooting flames. [...]
PSI hypothesis (quoted, section hypothesis):
> Microgravity conditions would produce longer, more diffuse flames with lower temperatures and increased soot concentrations compared to normal gravity, and that careful integration of experimental temperature fields into the simulations would reduce discrepancies between measured and predicted soot distributions.
As recorded by PSI: managing center: Glenn Research Center (GRC).
## What was extracted
No condition records were extracted from PSI-60. Why: Ground (computational) investigation that re-analyses SPICE (PSI-107) data sets. PSI holds only its record and a metadata archive: no table or document with test conditions. Its inputs are PSI-107 data, so it is not independent evidence.
This is a statement about what PSI holds for this investigation and what the extraction rules allow, not about the science. An investigation with no usable record never moves a verdict: the engine reads it as “not enough evidence”.
Ground (1 g) data check: classed none in the ground-test inventory.
Published papers listed for this investigation: 1 (see data/manifest/publications.csv).
## For engineers
- No file data/conditions/PSI-60.csv exists. The investigation is still one of the 24 combustion investigations in data/manifest/investigations.csv.
- Investigation record: data/raw/psi-data/PSI-60/_investigation/PSI-60.json (the text fields quoted above).
- Accession PSI-60; DOI 10.60555/mzjm-yv57; PSI version 1; files in version 1, files selected for PYRION 1.
PSI-62: Concurrent Flame Spread Modeling using Flamelet Generated Manifolds in Microgravity with [...]
PSI-62 is a NASA ground investigation in the PSI (Physical Sciences Informatics) archive: “Concurrent Flame Spread Modeling using Flamelet Generated Manifolds in Microgravity with Comparison to BASS Experiments using Two-Color Tomography”. Release 14-Nov-2025, version 1. DOI [10.60555/e9xp-ex83](https://doi.org/10.60555/e9xp-ex83). License: CC0-1.0.
In plain words: this page says what PSI-62 looked at and why PYRION holds no condition values from it.
## What it studied
PSI objective (quoted, section objective):
> The objective of this research was to develop and validate new flamelet generated manifold (FGM) modeling techniques for concurrent flame spread in microgravity. Concurrent flame spread presented one of the greatest modeling challenges in combustion science due to the intricate coupling between heat transfer, mass transport, and chemical kinetics near the solid-vapor interface. Traditional modeling strategies often relied on hybridized turbulence and chemistry models that were not fully consistent and failed to capture important intermediate reaction pathways. [...]
PSI hypothesis (quoted, section hypothesis):
> The unsteady flamelet generated manifold (UFGM) approach was believed to be able to accurately reproduce concurrent flame spread in microgravity, including phenomena such as the “Goldilocks” flammability zone, by coupling near-wall thermal, mass transport, and chemical processes with far-field flow dynamics.
As recorded by PSI: managing center: Glenn Research Center (GRC).
## What was extracted
No condition records were extracted from PSI-62. Why: Ground (computational) investigation modelling BASS flame spread. PSI holds only its record and a metadata archive: no table or document with test conditions.
This is a statement about what PSI holds for this investigation and what the extraction rules allow, not about the science. An investigation with no usable record never moves a verdict: the engine reads it as “not enough evidence”.
Ground (1 g) data check: classed none in the ground-test inventory.
Published papers listed for this investigation: 4 (see data/manifest/publications.csv).
## For engineers
- No file data/conditions/PSI-62.csv exists. The investigation is still one of the 24 combustion investigations in data/manifest/investigations.csv.
- Investigation record: data/raw/psi-data/PSI-62/_investigation/PSI-62.json (the text fields quoted above).
- Accession PSI-62; DOI 10.60555/e9xp-ex83; PSI version 1; files in version 1, files selected for PYRION 1.
PSI-68 FLEX-2: Flame Extinguishment Experiment - 2
PSI-68 FLEX-2 is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Flame Extinguishment Experiment - 2”. Release 30-Sep-2019, version 6. DOI [10.60555/byp8-h018](https://doi.org/10.60555/byp8-h018). License: CC0-1.0.
In plain words: this page says what PSI-68 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 126 of its 129 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The primary goal of the FLEX-2 flight experiments is to extend the results of FLEX-1 to fuels and environmental conditions that mimic real combustor conditions, as well as, provide benchmark experimental data on bi-component droplet combustion over a wide range of initial conditions in order to validate numerical simulations and to develop new theoretical models. Detailed experimental objectives can be further itemized as: 1. Investigate the role of liquid-phase mixing on the burning characteristics of bi-component fuel droplets. 2. Examine the steady and unsteady liquid and gas-phase phenomena in pure fuel combustion. 3. [...]
PSI hypothesis (quoted, section hypothesis):
> Fairly sophisticated numerical simulations of convective droplet combustion have been developed in the last decade where the key contribution is the inclusion of full Navier-Stokes equations for the gas-phase flow field. However, due to the inherent complexity of the problem, varying degrees of approximations have been made in treating the chemistry, radiation, and the coupling between the gas and liquid phases. The validity of the assumptions or the hypothesis used in these simulation have not been confirmed by using benchmark data. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Combustion Integrated Rack (CIR), Multi-user Droplet Combustion Appartatus (MDCA); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “Combustion Integrated Rack (CIR), Multi-user Droplet Combustion Appartatus (MDCA)”, section=experimentHardware).
- Platform: International Space Station (ISS) (quote: “FLEX-2 (The Flame Extinguishment - 2) experiment is the second experiment to fly on the ISS which uses small droplets of fuel to study the special spherical characteristics of burning fuel droplets in space.”, paragraph=1).
- Platform: Multi-user Droplet Combustion Appartatus (MDCA) (quote: “Combustion Integrated Rack (CIR), Multi-user Droplet Combustion Appartatus (MDCA)”, section=experimentHardware).
- Gravity regime: microgravity for test(s) * (quote: “4. Allow the droplet to stabilize in the microgravity environment.”, section=approach, PSI-68.json).
## Fuel and flame configuration
fuel phase: liquid (1); diluent: N2 (8), He (8); fuel (8 distinct): IsoOctane (pure) (1), n-Octane (pure) (1), Heptane (pure) (1), Decane (pure) (1), Ethanol (pure) (1), Propanol (95%) Glycerol (5%) (mixture) (1), Heptane (50%) IsoOctane (50%) (mixture) (1), Propanol (80%) Glycerol (20%) (mixture) (1).
## What was extracted
129 condition records in data/conditions/PSI-68.csv: 126 usable, 3 marked insufficient_evidence. They cover 8 distinct tests (plus 9 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 1 | 1 |
| fuel phase | 1 | 2 |
| diluent | 16 | 0 |
| ambient O2 (mole fraction) | 32 | 0 |
| pressure (kPa) | 40 | 0 |
| flow velocity (cm/s) | 8 | 0 |
| initial droplet diameter (mm) | 8 | 0 |
| ambient temperature (K) | 8 | 0 |
| fuel | 8 | 0 |
| platform | 4 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.17 to 0.3 (that is 17 to 30 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 50.6625 to 303.975
- flow velocity (cm/s): 0.1 to 5
- initial droplet diameter (mm): 1.5 to 5
- ambient temperature (K): 298.15 to 298.15
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
gravity_regime(1): The sentence sits in the PSI 'hypothesis' field and gives the rationale for microgravity, so it is proposed as ambiguous (brief rule 3). The double space after 'processes,' and the run-on ending are as written in the record.fuel_phase(1): Pre-flight requirement ('shall') in SRD 5.1.1 Test Fuels (printed page 33), dated March 15, 2010; 'all liquids' are the planned test fuels by context. Planned, not as-run: the PSI experimental table lists fuels the SRD does not.fuel_phase(1): Objective statement in the pre-flight SRD introduction (printed page 1), not a description of the tests run; '[...]' skips 'fundamental', hyphenated across a line break.
Ground (1 g) data check: requirements_only in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 48 (see data/manifest/publications.csv).
## For engineers
- method: 120 table records (read by code from a PSI table; the quote is the column header) and 9 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-68/Experimental table/PSI-68_Experimental table_Flex2.csv (120 records)
- psi-data/PSI-68/_investigation/PSI-68.json (5 records)
- psi-data/PSI-68/Science Documents/PSI-68_Science Documents_FLEX-2 SRD Final.pdf (2 records)
- psi-data/PSI-68/Science Documents/PSI-68_Science Documents_FLEX-2 DoD.docx (2 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-68/_investigation/PSI-68.json (the text fields quoted above).
- Accession PSI-68; DOI 10.60555/byp8-h018; PSI version 6; files in version 10156, files selected for PYRION 75.
PSI-69 FLEX: Flame Extinguishment Experiment
PSI-69 FLEX is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Flame Extinguishment Experiment”. Release 31-Jul-2016, version 5. DOI [10.60555/mbq8-0451](https://doi.org/10.60555/mbq8-0451). License: CC0-1.0.
In plain words: this page says what PSI-69 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 2096 of its 2358 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The FLEX (Flame Extinguishment Experiment) investigation aims to map the flammability limits of liquid fuels in microgravity environments, measure the effectiveness of various gaseous fire suppressants such as CO2, He, and SF6, and develop reliable predictive models for combustion limits under reduced gravity conditions. The mission seeks to validate and improve simplified models by incorporating detailed chemical reactions, heat transfer, and material movement, using both space-based data and extensive ground-based tests. [...]
PSI hypothesis (quoted, section hypothesis):
> The primary hypothesis of the FLEX mission is that microgravity conditions fundamentally alter the combustion and extinction characteristics of liquid fuel droplets due to changes in species and energy transport dynamics, radiative heat loss, and chemical kinetics. Specifically, the hypothesis posits that the lack of buoyant convection in microgravity will lead to significant differences in the flammability limits and suppression efficacy of various fire suppressant agents compared to normal gravity conditions. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Combustion Integrated Rack (CIR)-Fluids and Combustion Facility (FCF), Multi-user Droplet Combustion Appartatus (MDCA); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR)-Fluids and Combustion Facility (FCF) (quote: “Combustion Integrated Rack (CIR)-Fluids and Combustion Facility (FCF), Multi-user Droplet Combustion Appartatus (MDCA)”, section=experimentHardware).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Platform: Multi-user Droplet Combustion Appartatus (MDCA) (quote: “Combustion Integrated Rack (CIR)-Fluids and Combustion Facility (FCF), Multi-user Droplet Combustion Appartatus (MDCA)”, section=experimentHardware).
- Gravity regime: microgravity for test(s) * (quote: “FLEX and the follow-on FLEX–2 experiments are exploiting the microgravity environment to study the spherically symmetric combustion of liquid droplets.”, page=36, np-2015-10-034-jsc_combustion_in_reduced_gravity-iss-mini-book-011116-508.pdf).
- Gravity regime: microgravity for test(s) * (quote: “FLEX series of experiments showed for the first time that quasi-steady stable flames can be established surrounding a droplet in microgravity under certain conditions”, page=3, PSI-39_Reports_CFI Science Final Report.pdf).
## Fuel and flame configuration
fuel phase: liquid (1); diluent: mixed (173), N2 (95); fuel (2 distinct): Methanol (157), Heptane (117).
## What was extracted
2358 condition records in data/conditions/PSI-69.csv: 2096 usable, 262 marked insufficient_evidence. They cover 274 distinct tests (plus 9 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 2 | 3 |
| fuel phase | 1 | 0 |
| diluent | 268 | 0 |
| ambient O2 (mole fraction) | 274 | 0 |
| pressure (kPa) | 273 | 1 |
| initial droplet diameter (mm) | 262 | 0 |
| fuel | 274 | 0 |
| platform | 3 | 0 |
| outcomes (measured results) | 739 | 258 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.12 to 0.34 (that is 12 to 34 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 70.1676 to 309.295
- initial droplet diameter (mm): 1.1 to 4.67
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
outcome:burning_rate(258): header gives the unit 'mm', which is not a unit of burning ratepressure(1): mmHg x 101.325/760gravity_regime(1): Objective statement ('aims to'), not a statement that the tests were run in microgravity (brief rule 3). No g-level stated. 'reduced gravity conditions' in the same sentence refers to the predictive models; [...]gravity_regime(1): Scope sentence of the Description of Data: says what FLEX investigates, not that the tests were run in microgravity. No g-level stated. Grammar ('quantify') as in the source.gravity_regime(1): Facility-purpose sentence about the MDCA, not about FLEX tests. Sentence spans three PDF lines, joined with one space. [...]
Table cells that hold no readable number (listed in extraction/skipped_cells.csv):
- column Droplet initial diameter; mm: 6 cells (cell marks 'no value')
- column Visible flame extinction diameter; mm: 28 cells (cell marks 'no value')
Ground (1 g) data check: requirements_only in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 51 (see data/manifest/publications.csv).
## For engineers
- method: 2349 table records (read by code from a PSI table; the quote is the column header) and 9 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-69/Experimental table/PSI-69_Experimental table_FLEX.csv (2349 records)
- psi-data/PSI-69/_investigation/PSI-69.json (5 records)
- psi-data/PSI-69/Science Documents/PSI-69_Science Documents_FLEX DoD.docx (1 records)
- psi-data/PSI-69/Engineering Documents/PSI-69_Engineering Documents_FLEX Engineering Requirements Document.pdf (1 records)
- nasa/iss-combustion-guide-2015/np-2015-10-034-jsc_combustion_in_reduced_gravity-iss-mini-book-011116-508.pdf (1 records)
- psi-data/PSI-39/Reports/PSI-39_Reports_CFI Science Final Report.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-69/_investigation/PSI-69.json (the text fields quoted above).
- Accession PSI-69; DOI 10.60555/mbq8-0451; PSI version 5; files in version 6555, files selected for PYRION 131.
PSI-98 SAFFIRE-I: Spacecraft Fire Safety Experiment-I
PSI-98 SAFFIRE-I is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Spacecraft Fire Safety Experiment-I”. Release 18-Sep-2024, version 4. DOI [10.60555/0t15-1z43](https://doi.org/10.60555/0t15-1z43). License: CC0-1.0.
In plain words: this page says what PSI-98 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 15 of its 21 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The objectives of this investigation were to: (1) determine how rapidly a large scale fire grows in low-gravity and (2) investigate the low-g flammability limits compared to those obtained in NASA’s normal gravity material flammability screening test.
PSI hypothesis (quoted, section hypothesis):
> This investigation hypothesizes that due to large differences between fire behavior in normal and reduced gravity, the use of terrestrial fires and fire standards to design spacecraft fire safety systems presents an inherent risk to the vehicle because of the significant level of uncertainty. While this approach has been successful thus far, the uncertainty and risk will increase as exploration missions venture further from earth with considerably longer transit times for a safe return. There is a significant lack of microgravity data available for spacecraft designers on which to base their fire safety designs and procedures. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Saffire 1 enclosure in Cygnus; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Cygnus (quote: “Saffire 1 enclosure in Cygnus”, section=experimentHardware).
- Platform: Cygnus resupply vehicle (quote: “The Saffire-1 experiments was performed on the Orbital Science’s Cygnus resupply vehicle after it deberthed from the ISS.”, section=approach).
- Gravity regime: microgravity for test(s) * (quote: “Flame spread over a large thin charring surface in low-gravity showed that steady flame spread was possible (unlike normal gravity)”, page=18, 20180005168.pdf).
## Fuel and flame configuration
fuel phase: solid (1); diluent: N2 (1); flow configuration: concurrent (1), opposed (1); material (1 distinct): SIBAL Fabric (2).
## What was extracted
21 condition records in data/conditions/PSI-98.csv: 15 usable, 6 marked insufficient_evidence. They cover 2 distinct tests (plus 9 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 1 | 4 |
| fuel phase | 1 | 0 |
| diluent | 1 | 0 |
| ambient O2 (mole fraction) | 2 | 0 |
| flow velocity (cm/s) | 2 | 0 |
| sample thickness (mm) | 0 | 2 |
| material | 2 | 0 |
| flow configuration | 2 | 0 |
| platform | 2 | 0 |
| outcomes (measured results) | 2 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.215 to 0.217 (that is 21.5 to 21.7 % by volume, arithmetic on the stored fraction)
- flow velocity (cm/s): 20 to 20
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
sample_thickness(2): cm x 10gravity_regime(1): Objective statement, not a statement of the test condition. The JSON field has line breaks after 'to:' and after 'normal', each joined with one space. Source term 'low-gravity'; no g-level stated; [...]gravity_regime(1): Objective statement for the SAFFIRE-I and SAFFIRE-III tests, not a statement of the test condition. Source term 'low-gravity'; no g-level stated; mapped to the controlled term microgravity.gravity_regime(1): States the purpose of the sample ('to demonstrate ... a large-scale low-gravity fire'), not the measured condition of the burn. Sentence spans two PDF lines ('0.4 m' / 'wide'), joined with one space. Source term 'low-gravity'; [...]gravity_regime(1): Research-impact summary, not a statement of the test condition. It speaks of 'several spacecraft materials', while section=approach names one material (Sibal) for Saffire-I, so the sentence may describe the Saffire series rather [...]
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 6 (see data/manifest/publications.csv).
## For engineers
- method: 12 table records (read by code from a PSI table; the quote is the column header) and 9 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-98/Experimental table/PSI-98_Experimental table_SAFFIRE-1.csv (12 records)
- psi-data/PSI-98/_investigation/PSI-98.json (6 records)
- psi-data/PSI-98/Science Documents/PSI-98_Science Documents_SAFFIRE-I and SAFFIRE-III Readme.docx (1 records)
- psi-data/PSI-98/Engineering Documents/PSI-98_Engineering Documents_SAFFIRE-I Operations.pdf (1 records)
- nasa/ntrs-20180005168/20180005168.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-98/_investigation/PSI-98.json (the text fields quoted above).
- Accession PSI-98; DOI 10.60555/0t15-1z43; PSI version 4; files in version 76, files selected for PYRION 8.
PSI-99 SAFFIRE-II: Spacecraft Fire Experiment-II
PSI-99 SAFFIRE-II is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Spacecraft Fire Experiment-II”. Release 18-Sep-2024, version 5. DOI [10.60555/2chp-m469](https://doi.org/10.60555/2chp-m469). License: CC0-1.0.
In plain words: this page says what PSI-99 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 50 of its 58 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The objectives of SAFFIRE-II are to determine how rapidly a large scale fire grows in low-gravity and to investigate the low-g flammability limits compared to those obtained in NASA’s normal gravity material flammability screening test.
PSI hypothesis (quoted, section hypothesis):
> This investigation hypothesizes that due to large differences between fire behavior in normal and reduced gravity, the use of terrestrial fires and fire standards to design spacecraft fire safety systems presents an inherent risk to the vehicle because of the significant level of uncertainty. While this approach has been successful thus far, the uncertainty and risk will increase as exploration missions venture further from earth with considerably longer transit times for a safe return. There is a significant lack of microgravity data available for spacecraft designers on which to base their fire safety designs and procedures. [...]
As recorded by PSI: flight program: Cygnus Spacecraft; hardware: Cygnus Pressurized Cargo Module, SAFFIRE; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Cygnus Pressurized Cargo Module (quote: “Cygnus Pressurized Cargo Module, SAFFIRE”, section=experimentHardware).
- Platform: Orbital Science’s Cygnus resupply vehicle (quote: “The Saffire-II experiment was performed on the Orbital Science’s Cygnus resupply vehicle after it deberthed from the ISS.”, section=approach).
- Gravity regime: microgravity for test(s) * (quote: “µ-g Burn Length µ-g Spread Rate 1-g Burn Length 1-g Spread Rate”, page=31, 20180005168.pdf).
## Fuel and flame configuration
fuel phase: solid (1); diluent: N2 (1); flow configuration: concurrent (8), opposed (1); material (4 distinct): Silicone (4), Cotton-Fiberglass (SIBAL) (1), PMMA & Nomex (1), PMMA (1).
## What was extracted
58 condition records in data/conditions/PSI-99.csv: 50 usable, 8 marked insufficient_evidence. They cover 9 distinct tests (plus 10 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 1 | 4 |
| fuel phase | 1 | 0 |
| diluent | 1 | 0 |
| ambient O2 (mole fraction) | 9 | 0 |
| flow velocity (cm/s) | 9 | 0 |
| sample thickness (mm) | 6 | 3 |
| material | 7 | 0 |
| flow configuration | 9 | 0 |
| platform | 2 | 1 |
| outcomes (measured results) | 5 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.215 to 0.221 (that is 21.5 to 22.1 % by volume, arithmetic on the stored fraction)
- flow velocity (cm/s): 20 to 20
- sample thickness (mm): 0.27 to 10
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
sample_thickness(3): written without a decimal point (0.37 mm or 37 mm?)gravity_regime(1): Objective statement, not a statement of the conditions of the completed tests; 'low-gravity' mapped to the controlled value microgravity. [...]gravity_regime(1): Objective statement specific to SAFFIRE-II; 'long-duration low-gravity' mapped to microgravity. The 'NASA-STD-6001 Test 1 normal-gravity tests' are the ground reference, not tests reported in PSI-99.gravity_regime(1): Research-impact statement about the results; it does not say explicitly that the tests were conducted in microgravity.gravity_regime(1): Pre-flight paper (future tense, launches 'all planned for 2016'); the sentence covers Saffire-I, -II and -III together; 'low-gravity' mapped to microgravity.
Table cells that hold no readable number (listed in extraction/skipped_cells.csv):
- column Burn Time (s): 4 cells (outcome:burn_time: not '<number> <unit>')
- column Samle Thickness: 1 cells (sample_thickness: not '<number> <unit>')
Ground (1 g) data check: partial in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 7 (see data/manifest/publications.csv).
## For engineers
- method: 48 table records (read by code from a PSI table; the quote is the column header) and 10 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-99/Experimental table/PSI-99_Experimental table_SAFFIRE-2.csv (48 records)
- psi-data/PSI-99/_investigation/PSI-99.json (6 records)
- psi-data/PSI-99/Science Documents/PSI-99_Science Documents_SAFFIRE Objectives, Development and Status.pdf (2 records)
- psi-data/PSI-99/Science Documents/PSI-99_Science Documents_SAFFIRE-II Readme.docx (1 records)
- nasa/ntrs-20180005168/20180005168.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-99/_investigation/PSI-99.json (the text fields quoted above).
- Accession PSI-99; DOI 10.60555/2chp-m469; PSI version 5; files in version 217, files selected for PYRION 6.
PSI-100 SAFFIRE-III: Spacecraft Fire Experiment-III
PSI-100 SAFFIRE-III is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Spacecraft Fire Experiment-III”. Release 18-Sep-2024, version 4. DOI [10.60555/040q-4h36](https://doi.org/10.60555/040q-4h36). License: CC0-1.0.
In plain words: this page says what PSI-100 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 11 of its 21 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The objectives of this investigation were to: (1) determine how rapidly a large scale fire grows in low-gravity and (2) investigate the low-g flammability limits compared to those obtained in NASA’s normal gravity material flammability screening test.
PSI hypothesis (quoted, section hypothesis):
> This investigation hypothesizes that due to large differences between fire behavior in normal and reduced gravity, the use of terrestrial fires and fire standards to design spacecraft fire safety systems presents an inherent risk to the vehicle because of the significant level of uncertainty. While this approach has been successful thus far, the uncertainty and risk will increase as exploration missions venture further from earth with considerably longer transit times for a safe return. There is a significant lack of microgravity data available for spacecraft designers on which to base their fire safety designs and procedures. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Saffire III enclosure in Cygnus; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Cygnus (quote: “Saffire III enclosure in Cygnus”, section=experimentHardware).
- Platform: Cygnus resupply vehicle (quote: “The Saffire-III experiments were performed on the Orbital Science’s Cygnus resupply vehicle after it deberthed from the ISS.”, section=approach).
- Gravity regime: microgravity for test(s) * (quote: “Flame spread over a large thin charring surface in low-gravity showed that steady flame spread was possible (unlike normal gravity)”, page=18, 20180005168.pdf).
## Fuel and flame configuration
fuel phase: solid (2); flow configuration: concurrent (1), opposed (1); material (1 distinct): SIBAL Fabric (2).
## What was extracted
21 condition records in data/conditions/PSI-100.csv: 11 usable, 10 marked insufficient_evidence. They cover 2 distinct tests (plus 13 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 1 | 5 |
| fuel phase | 2 | 0 |
| diluent | 0 | 2 |
| flow velocity (cm/s) | 2 | 0 |
| sample thickness (mm) | 0 | 2 |
| material | 2 | 0 |
| flow configuration | 2 | 0 |
| platform | 2 | 1 |
Measured ranges over the usable records:
- flow velocity (cm/s): 30 to 30
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
sample_thickness(2): cm x 10gravity_regime(1): Objective statement, not a statement of the test condition. Source term 'low-gravity'; no g-level stated; mapped to the controlled term microgravity. [...]gravity_regime(1): Objective statement covering SAFFIRE-I and SAFFIRE-III together, not a statement of the test condition. Source term 'low-gravity'; no g-level stated; mapped to the controlled term microgravity. [...]gravity_regime(1): Operational-requirements document specific to SAFFIRE-III, but the sentence covers Saffire-I and -III together and describes what the sample is meant to demonstrate, not a measured test condition. [...]gravity_regime(1): Research-impact summary, not a statement of the test condition; no g-level stated. In the PSI-100 record this section opens with 'The Saffire-I experiment provides a new way to study a realistic fire on an exploration vehicle', [...]
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 3 (see data/manifest/publications.csv).
## For engineers
- method: 8 table records (read by code from a PSI table; the quote is the column header) and 13 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-100/Experimental table/PSI-100_Experimental table_SAFFIRE-3.csv (8 records)
- psi-data/PSI-100/_investigation/PSI-100.json (5 records)
- psi-data/PSI-100/Science Documents/PSI-100_Science Documents_SAFFIRE-I and SAFFIRE-III Readme.docx (3 records)
- psi-data/PSI-100/Engineering Documents/PSI-100_Engineering Documents_SAFFIRE-III Operations.pdf (2 records)
- psi-data/PSI-100/Science Documents/PSI-100_Science Documents_SAFFIRE Objectives, Development and Status.pdf (2 records)
- nasa/ntrs-20180005168/20180005168.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-100/_investigation/PSI-100.json (the text fields quoted above).
- Accession PSI-100; DOI 10.60555/040q-4h36; PSI version 4; files in version 87, files selected for PYRION 12.
PSI-101 SAME-R: Smoke Aerosol Measurement Experiment-Reflight
PSI-101 SAME-R is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Smoke Aerosol Measurement Experiment-Reflight”. Release 18-Sep-2024, version 4. DOI [10.60555/2np7-jv14](https://doi.org/10.60555/2np7-jv14). License: CC0-1.0.
In plain words: this page says what PSI-101 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 226 of its 227 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> Similar to the original SAME investigation, the primary objective of the SAME-R investigation was to quantify the sizes that the liquid smoke particulate achieves in low gravity and to relate the droplet size distribution to the smoke generation and smoke transport conditions in the experiment. One of the problems encountered during the SAME investigation was that after the thermal precipitators were returned to the ground, it was found that all the TEM grids were severely contaminated with some unidentified foreign particles, making these grids unusable although some of them showed shapes of certain types of smoke particles. [...]
PSI hypothesis (quoted, section hypothesis):
> The three hypotheses that motivated the original SAME investigation is also applicable for the reflight SAME-R investigation: In a μg environment, with the absence of the strong buoyancy-induced flows, smoke particle growth from a pyrolyzing/smoldering source, as a result of nucleation, condensation, and coagulation, will lead to larger particles compared to those produced in 1g. The formation of the larger particles is favored by the expected higher vapor concentration and smoke residence times near the source due to the reduced velocities and mixing at μg conditions. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Comparitive Soot Diagnostic Hardware; Refer to final report; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Platform: Microgravity Science Glovebox (MSG) (quote: “An unfortunate side effect was that approximately half the smoke was lost from the system because it diffused out of the inlet into the MSG volume.”, page=9).
- Gravity regime: microgravity for test(s) * (quote: “Key parameters affecting the smoke properties of the smoke produced here are the low-gravity condition, the convective flow past the heated wire, the wire temperature, and the aging time.”, page=8, PSI-101_Reports_SAME-R_Final Report.pdf).
## Fuel and flame configuration
fuel phase: solid (2); diluent: N2 (1); material (5 distinct): Kapton (29), Silicone (22), Lampwick (20), Pyrell (20), Teflon (18).
## What was extracted
227 condition records in data/conditions/PSI-101.csv: 226 usable, 1 marked insufficient_evidence. They cover 108 distinct tests (plus 9 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 1 | 1 |
| fuel phase | 2 | 0 |
| diluent | 1 | 0 |
| flow velocity (cm/s) | 109 | 0 |
| material | 109 | 0 |
| platform | 4 | 0 |
Measured ranges over the usable records:
- flow velocity (cm/s): 0 to 8.1
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
gravity_regime(1): This sentence states an objective, not the condition of the tests, so it only supports R1. 'liquid smoke particulate' and 'droplet' describe the smoke aerosol, not the sample; see R5 and R6 for the sample phase.
Ground (1 g) data check: partial in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 6 (see data/manifest/publications.csv).
## For engineers
- method: 218 table records (read by code from a PSI table; the quote is the column header) and 9 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-101/Experimental table/PSI-101_Experimental table_SAME-R.csv (218 records)
- psi-data/PSI-101/Reports/PSI-101_Reports_SAME-R_Final Report.pdf (7 records)
- psi-data/PSI-101/_investigation/PSI-101.json (2 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-101/_investigation/PSI-101.json (the text fields quoted above).
- Accession PSI-101; DOI 10.60555/2np7-jv14; PSI version 4; files in version 344, files selected for PYRION 121.
PSI-102 SAME: Smoke and Aerosol Measurement Experiment
PSI-102 SAME is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Smoke and Aerosol Measurement Experiment”. Release 18-Sep-2024, version 4. DOI [10.60555/gd4k-8h62](https://doi.org/10.60555/gd4k-8h62). License: CC0-1.0.
In plain words: this page says what PSI-102 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 28 of its 33 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> One of the major goals of this investigation was to quantify the sizes that the liquid smoke particulate achieves in low gravity and to relate the droplet size distribution to the smoke generation and smoke transport conditions in the experiment. A numerical code was to be developed to predict the smoke droplet growth as a function of the fuel pyrolysis rate, the thermodynamic properties of the pyrolysis vapor, and the flow environment.
PSI hypothesis (quoted, section hypothesis):
> The three hypotheses that motivated this investigation: In a μg environment, with the absence of the strong buoyancy-induced flows, smoke particle growth from a pyrolyzing/smoldering source, as a result of nucleation, condensation, and coagulation, will lead to larger particles compared to those produced in 1g. The formation of the larger particles is favored by the expected higher vapor concentration and smoke residence times near the source due to the reduced velocities and mixing at μg conditions. [...]
As recorded by PSI: flight program: International Space Station (ISS); hardware: Comparitive Soot Diagnostic Hardware; managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Platform: Microgravity Science Glovebox (quote: “The system was installed in the Microgravity Science Glovebox, an ISS facility that provides many resources including: containment, power, data, video and uplink commanding.”, page=20).
- Gravity regime: microgravity for test(s) * (quote: “Smoke particle size measurements were obtained under low-gravity conditions by overheating several materials typical of those found in spacecraft.”, page=43, PSI-102_Reports_SAME_Final Science Report.pdf).
- Gravity regime: microgravity for test(s) 1 (quote: “Smoke particulate produced in low-gravity was found to be typically 50% large in count mean diameter than similar conditions in normal gravity.”, page=66, PSI-102_Reports_SAME_Final Science Report.pdf).
## Fuel and flame configuration
fuel phase: solid (7), liquid (1); diluent: N2 (1); material (5 distinct): Teflon (4), Kapton (1), Silicone Rubber (1), Lampwick (1), Dibutyl Phthalate (1).
## What was extracted
33 condition records in data/conditions/PSI-102.csv: 28 usable, 5 marked insufficient_evidence. They cover 8 distinct tests (plus 6 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 8 | 1 |
| fuel phase | 8 | 0 |
| diluent | 1 | 0 |
| flow velocity (cm/s) | 0 | 4 |
| material | 8 | 0 |
| platform | 3 | 0 |
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
flow_velocity(4): planned test matrix, not the flown log (see SUMMARY.md)gravity_regime(1): Objective statement, not a statement of the test condition (brief rule 3). Source term 'low gravity'; no g-level. Proposed only because the record text is the first source; R1 and R2 state the condition as fact. [...]
Ground (1 g) data check: partial in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 16 (see data/manifest/publications.csv).
## For engineers
- method: 12 table records (read by code from a PSI table; the quote is the column header) and 21 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-102/Reports/PSI-102_Reports_SAME_Final Science Report.pdf (18 records)
- psi-data/PSI-102/Experimental table/PSI-102_Experimental table_SAME.csv (12 records)
- psi-data/PSI-102/_investigation/PSI-102.json (2 records)
- psi-data/PSI-102/Science Documents/PSI-102_Science Documents_SAME_Baseline Concept Description Doc.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-102/_investigation/PSI-102.json (the text fields quoted above).
- Accession PSI-102; DOI 10.60555/gd4k-8h62; PSI version 4; files in version 101, files selected for PYRION 101.
PSI-106 SLICE: Structure and Liftoff In Combustion Experiment
PSI-106 SLICE is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Structure and Liftoff In Combustion Experiment”. Release 18-Sep-2024, version 3. DOI [10.60555/pm12-rg61](https://doi.org/10.60555/pm12-rg61). License: CC0-1.0.
In plain words: this page says what PSI-106 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 19 of its 23 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> Objective: The objective of this investigation is to better understand the structure and stability of laminar diffusion flames in microgravity. Specific objectives of this investigation were: 1. To investigate the structure of laminar diffusion flames in microgravity to understand the stabilizing mechanisms at the flames base. 2. Determine the liftoff velocity limits for different fuels and burner diameters. 3. Evaluate the impact of fuel dilution with nitrogen on soot formation and flame stability. 4. Quantify the effects of microgravity on flame length and radiative heat loss compared to normal gravity conditions. 5. [...]
PSI hypothesis (quoted, section hypothesis):
> The hypothesis is that the structure and stability of laminar diffusion flames in microgravity are significantly influenced by burner diameter, coflow velocity, and fuel composition and are fundamentally different than flames observed on Earth.
As recorded by PSI: flight program: International Space Station (ISS); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: ISS MSG (quote: “The SPICE hardware is within the ISS MSG in the image to the right. While the SPICE investigation has been specifically focused on a study of soot production and oxidation within flames, the hardware can be used without [...]”, page=2).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- No usable gravity-regime record. Gravity is only recorded when a source sentence states it for the tests; the platform is never used for it. The engine reads gravity here as insufficient evidence.
## Fuel and flame configuration
fuel phase: gas (2); diluent: N2 (2); flow configuration: coflow (2); fuel (8 distinct): 100% CH4 (3), 20% C2H4 (balance N2) (2), 40% CH4 (balance N2) including 2 pyrometry calibration tests and 2 fan calibrations (1), 70% CH4 (balance N2) including 1 pyrometry calibration test (1), 40% CH4 (balance N2) (1), 70% CH4 (balance N2) where the fuel bottle was not emptied (in contrast to most days) (1), 100% C2H6 (1), 70% CH4 (balance N2) including 1 pyrometry calibration test and 2 fan calibrations (1).
## What was extracted
23 condition records in data/conditions/PSI-106.csv: 19 usable, 4 marked insufficient_evidence. They cover 12 distinct tests (plus 11 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 0 | 3 |
| fuel phase | 2 | 0 |
| diluent | 2 | 0 |
| fuel | 11 | 1 |
| flow configuration | 2 | 0 |
| platform | 2 | 0 |
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
fuel(1): the date cell says this day was SPICE testinggravity_regime(1): Objective statement, not a sentence stating the gravity condition of the tests. Same section, item 4: 'Quantify the effects of microgravity on flame length and radiative heat loss compared to normal gravity conditions.'; [...]gravity_regime(1): Purpose statement in a NASA Glenn fact sheet outside PSI. The fact sheet describes SLICE in the future tense (e.g. page 2: 'SLICE will include testing where the fuel flow is fixed [...]'), i.e. as planned, not as run. [...]gravity_regime(1): Program-level sentence in the NASA ISS Researcher's Guide (2015), page 45. 'Microgravity' qualifies the research program and 'in the MSG facility' is a platform; neither states the gravity level of the SLICE tests. [...]
Ground (1 g) data check: none in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 5 (see data/manifest/publications.csv).
## For engineers
- method: 12 table records (read by code from a PSI table; the quote is the column header) and 11 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-106/Experimental table/PSI-106_Experimental table_Slice.csv (12 records)
- psi-data/PSI-106/_investigation/PSI-106.json (5 records)
- nasa/glenn-factsheet-slice/structure-liftoff-in-combustion-experiment-slice.pdf (5 records)
- nasa/iss-combustion-guide-2015/np-2015-10-034-jsc_combustion_in_reduced_gravity-iss-mini-book-011116-508.pdf (1 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-106/_investigation/PSI-106.json (the text fields quoted above).
- Accession PSI-106; DOI 10.60555/pm12-rg61; PSI version 3; files in version 23463, files selected for PYRION 2.
PSI-107 SPICE: Smoke Point In Co-flow Experiment
PSI-107 SPICE is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Smoke Point In Co-flow Experiment”. Release 18-Sep-2024, version 4. DOI [10.60555/9kbh-e962](https://doi.org/10.60555/9kbh-e962). License: CC0-1.0.
In plain words: this page says what PSI-107 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 913 of its 924 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> The objective of SPICE is to better understand the complex process of combustion by observing flames in a microgravity environment aboard the International Space Station (ISS) and analogous ground experiments. Specific objectives were: (1) Identify the laminar smoke-point properties of non-buoyant jet diffusion flames under various co-flow conditions in microgravity. (2) Determine the effects of burner diameter and co-flow velocity on the luminous flame lengths and smoke points. (3) Quantify the sooting propensity of different fuels, such as ethylene, propane, and propylene mixtures. [...]
PSI hypothesis (quoted, section hypothesis):
> The research hypothesizes that by minimizing gravity-driven transport phenomena scientists can study the laminar smoke-point properties of non-buoyant jet diffusion flames. Flame properties are expected to differ significantly from those observed under normal gravity.
As recorded by PSI: flight program: International Space Station (ISS); hardware: Microgravity Science Glovebox (MSG); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Platform: Microgravity Science Glovebox (MSG) (quote: “Microgravity Science Glovebox (MSG)”, section=experimentHardware).
- Gravity regime: microgravity for test(s) * (quote: “SPICE is the first experiment that studies soot processes of laminar jet diffusion flame under long term microgravity condition with air coflow.”, page=16, PSI-107_Reports_SPICE_FinalReport.pdf).
- Gravity regime: microgravity for test(s) * (quote: “Smoke points of 55 microgravity gas-jet diffusion flames in coflowing air were measured in earth orbit.”, page=24, PSI-107_Reports_SPICE_FinalReport.pdf).
## Fuel and flame configuration
fuel phase: gas (1); diluent: N2 (1); flow configuration: coflow (2); fuel (7 distinct): Propylene (122), 75 % Propylene (119), 50 % Propylene (111), Propane (50), Ethylene (47), 75% Propylene (16), Methane (4).
## What was extracted
924 condition records in data/conditions/PSI-107.csv: 913 usable, 11 marked insufficient_evidence. They cover 151 distinct tests (plus 11 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 2 | 0 |
| fuel phase | 1 | 0 |
| diluent | 1 | 0 |
| ambient O2 (mole fraction) | 0 | 2 |
| pressure (kPa) | 0 | 1 |
| flow velocity (cm/s) | 436 | 8 |
| fuel | 469 | 0 |
| flow configuration | 2 | 0 |
| platform | 2 | 0 |
Measured ranges over the usable records:
- flow velocity (cm/s): 0.66 to 85.28
## What could not be extracted, and why
Records kept as insufficient_evidence carry their reason in the note field. The most common ones:
flow_velocity(8): negative air rate: not a possible co-flow speed as writteno2_mole_fraction(1): Section 'SPICE FLIGHT TESTS' (printed page 13). This is the band within which ISS cabin air is kept, not a per-test O2 measurement. No O2 measurement inside the MSG is reported.o2_mole_fraction(1): confidence ambiguous (Footnote a of Table 1. The words left out are ', uf,'. The PDF text layer splits the subscripted u_f across lines. [...]pressure(1): Same footnote as R10. 101 kPa is the pressure ASSUMED for the velocity and Reynolds-number calculations. No sentence in the sources read states the actual MSG or cabin pressure during the tests (see not_found).
Ground (1 g) data check: yes_table in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 9 (see data/manifest/publications.csv).
## For engineers
- method: 913 table records (read by code from a PSI table; the quote is the column header) and 11 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-107/Experimental table/PSI-107_Experimental table_Spice.csv (913 records)
- psi-data/PSI-107/Reports/PSI-107_Reports_SPICE_FinalReport.pdf (8 records)
- psi-data/PSI-107/_investigation/PSI-107.json (3 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-107/_investigation/PSI-107.json (the text fields quoted above).
- Accession PSI-107; DOI 10.60555/9kbh-e962; PSI version 4; files in version 188, files selected for PYRION 16.
PSI-115: Utilization of the Smoke Aerosol Measurement Experiment Data for Advanced Modeling and [...]
PSI-115 is a NASA ground investigation in the PSI (Physical Sciences Informatics) archive: “Utilization of the Smoke Aerosol Measurement Experiment Data for Advanced Modeling and Simulation of Smoke Generation in Micro-Gravity”. Release 18-Sep-2024, version 3. DOI [10.60555/q0v5-1v28](https://doi.org/10.60555/q0v5-1v28). License: CC0-1.0.
In plain words: this page says what PSI-115 looked at and why PYRION holds no condition values from it.
## What it studied
PSI objective (quoted, section objective):
> The objective of this investigation was to use numerical simulation to explore the influence of gravity on pyrolysis smoke growth from a fundamental perspective. The intention of this effort is to quantify the differences between microgravity and Earth gravity smoke, and to identify the fluid dynamic mechanisms that cause the differences.
PSI hypothesis (quoted, section hypothesis):
> Without buoyancy, mixing and heat transfer are reduced, the time-temperature history of the combustion vapors (or particle precursors) and particle trajectories are significantly altered, changing the composition of the smoke. The chemical composition of the burning material also affects the characteristics of the smoke generated.
As recorded by PSI: flight program: Not Applicable; managing center: Glenn Research Center (GRC).
## What was extracted
No condition records were extracted from PSI-115. Why: Ground (computational) investigation modelling SAME smoke data (PSI-101/102). Its files are model analyses; model inputs are not measured test conditions (result class B, not A), so none are recorded.
This is a statement about what PSI holds for this investigation and what the extraction rules allow, not about the science. An investigation with no usable record never moves a verdict: the engine reads it as “not enough evidence”.
Ground (1 g) data check: classed not_ground in the ground-test inventory.
## For engineers
- No file data/conditions/PSI-115.csv exists. The investigation is still one of the 24 combustion investigations in data/manifest/investigations.csv.
- Investigation record: data/raw/psi-data/PSI-115/_investigation/PSI-115.json (the text fields quoted above).
- Accession PSI-115; DOI 10.60555/q0v5-1v28; PSI version 3; files in version 47, files selected for PYRION 47.
PSI-117: Effect of External Thermo-Convective Perturbation on Cool Flame Dynamics: A [...]
PSI-117 is a NASA ground investigation in the PSI (Physical Sciences Informatics) archive: “Effect of External Thermo-Convective Perturbation on Cool Flame Dynamics: A Multidimensional Multi-Physics CFD Analysis”. Release 10-Jun-2026, version 2. DOI [10.60555/gz0q-b577](https://doi.org/10.60555/gz0q-b577). License: CC0-1.0.
In plain words: this page says what PSI-117 looked at and why PYRION holds no condition values from it.
## What it studied
PSI objective (quoted, section objective):
> The objective of this ground investigation was to use flight data obtained from PSI through NASA’s Flame Extinguishment Experiment (FLEX) to quantify how externally imposed thermal and convective perturbations regulated the dynamics and ultimate fate of already established droplet cool flames, and to explain run-to-run variability by isolating the roles of deliberate heating and unintentional drift-induced convection. Focusing on both small and large droplets, the work mapped stability windows for ignition, sustained oscillation, transitions to hot ignition and warm-flame behavior, and extinction under microgravity. [...]
PSI hypothesis (quoted, section hypothesis):
> External thermo-convective perturbations (imposed temperature gradients, non-uniform heating, oscillatory/shear inflow) were expected to govern cool-flame ignition, oscillation, transition to hot ignition, and extinction by shifting residence time and scalar dissipation. In microgravity, where buoyancy was suppressed, this forcing was anticipated to dominate transport. A multidimensional, multi-physics CFD model was used to map perturbation-dependent stability boundaries and predict observables for comparison with FLEX data.
As recorded by PSI: managing center: Glenn Research Center (GRC).
## What was extracted
No condition records were extracted from PSI-117. Why: Ground (computational) investigation: CFD analysis of cool-flame dynamics. Model inputs are not measured test conditions (result class B, not A), so none are recorded.
This is a statement about what PSI holds for this investigation and what the extraction rules allow, not about the science. An investigation with no usable record never moves a verdict: the engine reads it as “not enough evidence”.
Ground (1 g) data check: classed not_ground in the ground-test inventory.
Published papers listed for this investigation: 10 (see data/manifest/publications.csv).
## For engineers
- No file data/conditions/PSI-117.csv exists. The investigation is still one of the 24 combustion investigations in data/manifest/investigations.csv.
- Investigation record: data/raw/psi-data/PSI-117/_investigation/PSI-117.json (the text fields quoted above).
- Accession PSI-117; DOI 10.60555/gz0q-b577; PSI version 2; files in version 16, files selected for PYRION 16.
PSI-142: Quantitative Studies of Cool Flame Transitions at Radiation / Stretch Extinction Using [...]
PSI-142 is a NASA ground investigation in the PSI (Physical Sciences Informatics) archive: “Quantitative Studies of Cool Flame Transitions at Radiation / Stretch Extinction Using Counterflow Flames”. Release 18-Sep-2024, version 2. DOI [10.60555/80qf-vj95](https://doi.org/10.60555/80qf-vj95). License: CC0-1.0.
In plain words: this page says what PSI-142 looked at and why PYRION holds no condition values from it.
## What it studied
PSI objective (quoted, section objective):
> By using the Flame Extinguishment (FLEX) experimental data from the Physical Sciences Informatics (PSI) system of combustion science, the purpose of this grant was to conduct new simulations and ground-based experiments using ozone-sensitized counterflow flames to: 1) Develop a new diagram of the flammability limits of diffusional cool flames affected by radiation, diffusion, and convection. 2) Bridge the knowledge gap between the flammability limits and extinction limits of hot flames and cool flames. 3) Verify the phenomena observed on the ISS flame extinguishment experiments. [...]
PSI hypothesis (quoted, section hypothesis):
> This investigation attempts to answer the critical question as to what conditions causes the hot flames transfer to cool flames and how the cool flame flammable region is related to hot flame flammability limit and extinction limit. The investigation hypothesizes that factors such as oxygen concentration, dilution, pressure, diffusion, and convection transport processes affect the cool flame transition.
As recorded by PSI: flight program: Not Applicable; hardware: Principal Investigator Laboratory Hardware; managing center: Glenn Research Center (GRC).
## What was extracted
No condition records were extracted from PSI-142. Why: Ground investigation. Its experimental table is a list of figures in a published paper (data ID, description, DOI, figure number), not test conditions; its counterflow-flame conditions are not extracted.
This is a statement about what PSI holds for this investigation and what the extraction rules allow, not about the science. An investigation with no usable record never moves a verdict: the engine reads it as “not enough evidence”.
Ground (1 g) data check: classed partial in the ground-test inventory.
Published papers listed for this investigation: 12 (see data/manifest/publications.csv).
## For engineers
- No file data/conditions/PSI-142.csv exists. The investigation is still one of the 24 combustion investigations in data/manifest/investigations.csv.
- Investigation record: data/raw/psi-data/PSI-142/_investigation/PSI-142.json (the text fields quoted above).
- Accession PSI-142; DOI 10.60555/80qf-vj95; PSI version 2; files in version 3, files selected for PYRION 3.
LUCI: lunar gravity simulated on a rotating rocket (NTRS 20250010653)
LUCI (Lunar Combustion Investigation) is a flight experiment whose results are in the presentation “Lunar Combustion Investigation: Flammability Results from a Rotating Sounding Rocket” by Paul V. Ferkul (Universities Space Research Association), Michael C. Johnston (NASA Johnson Space Center), Nathan Kralik and Ya-Ting Liao (Case Western Reserve University), 2025 Annual Meeting, Phoenix, Arizona, December 3-6, 2025. NTRS citation: https://ntrs.nasa.gov/citations/20250010653.
In plain words: LUCI burned two samples, a cotton-fiberglass fabric (SIBAL) and a 4 mm acrylic (PMMA) rod, in air at normal pressure on a Blue Origin New Shepard sounding rocket. The vehicle rotated, so the centrifugal acceleration acted as a simulated lunar gravity. This is simulated partial gravity, made by a rotating vehicle. It is not gravity on the Moon. The deck itself says a Coriolis force acts on the flame (slide 17).
What the deck states about gravity (quoted, no g number is written anywhere in it):
> Gravity (in g’s) remains constant at lunar gravity. (slide 41)
> Blue Origin New Shepard sounding rocket yields Lunar gravity by using centrifugal acceleration. (slide 12)
The ground (1 g) comparison runs say: “Gravity (in g’s) remains constant at Earth’s gravity.” (slide 26) and “Gravity remains constant at Earth’s gravity for duration of burn.” (slide 30).
## What PYRION takes from it
PYRION holds a hand-checked extraction of this deck, the golden set, in data/external/ntrs-20250010653/: 42 records in 4 tests (LUCI partial-g SIBAL, LUCI partial-g PMMA, LUCI 1-g SIBAL, LUCI 1-g PMMA); 37 are usable and 5 are kept as insufficient_evidence. It is external evidence, labelled as such, and it is not part of the PSI records. It is also the exam for the future “Add a source” feature (see the article on the precision exam).
What was recorded: the gravity statements above, material (SIBAL, PMMA), geometry (fabric 5 cm wide x 30 cm long; 4 mm diameter rod), the platform, flame spread rates read from tables (flame base and flame tip are kept apart), flame length, extinction, and the chamber O2 measured during the burn (an outcome, not a test condition).
What was not recorded, and why:
- Any value that only exists in a plot. Figures are never read off.
- A pressure number: the deck says only “normal pressure”, so the record is insufficient_evidence.
- A g value: none is written; the 11 RPM and 1.22 m radius on slide 12 were not turned into one.
- The ratios partial-g / 1-g (.6, .39, .38): they compare tests, they are not a condition.
- The O2 during the burn as a condition: it falls inside the closed chamber, so it is stored only as an outcome.
- The extinction of the PMMA rod at lunar gravity: the deck says gravity dropped at 125 s on slides 22 and 43 and “~constant” on slide 44, so it stays insufficient_evidence.
## For engineers
- File
data/raw/nasa/ntrs-20250010653/ASGSR 2025-LUCI-Ferkul-Presentation-v2-20250010653.pdf, 44 slides, SHA-256bb0aadd2f9543483467b86796e6aa19f4e13c3f8169eec96134015f95ed61d79. License: not stated in the document. - Records use accession
NTRS-20250010653and descriptive test ids; built bypython -I extraction/build_external.py ntrs-20250010653from an extractor and a separate verificador (extraction/documents/review/external-ntrs-20250010653.*.json). - Validation:
python -I extraction/validate.py --conditions data/external/ntrs-20250010653andpython -I validation/run_all.py --conditions data/external/ntrs-20250010653(0 BLOCKER). - Slides 9, 11, 14, 15, 32 and 35 have no text layer. Both flight samples burned in one chamber with one O2 sensor, so their two O2 records are not independent observations.
PSI-159 ACME CFI-G: Advanced Combustion via Microgravity Experiments / Cool Flames Investigation with Gases
PSI-159 ACME CFI-G is a NASA microgravity investigation in the PSI (Physical Sciences Informatics) archive: “Advanced Combustion via Microgravity Experiments / Cool Flames Investigation with Gases”. Release 20-Nov-2025, version 1. DOI [10.60555/cyt1-kh64](https://doi.org/10.60555/cyt1-kh64). License: CC0-1.0.
In plain words: this page says what PSI-159 looked at, what conditions PYRION could read from it (with the place in NASA's files where each one is written), and what it could not read. 2188 of its 2188 records are usable as evidence.
## What it studied
PSI objective (quoted, section objective):
> 1. Plan and support flight testing on the International Space Station (ISS). 2. Determine the conditions for which cool diffusion flames occur for propane, n-butane, and n-pentane; normal and inverse flames; and a broad range of Zst, Tad, and fluent flow rate. 3. Support the flight tests with advanced CFD simulations. 4. Identify or develop a chemical kinetics mechanism that yields good agreement between the CFD predictions and the ISS measurements. 5. Disseminate the results as widely as possible.
PSI hypothesis (quoted, section hypothesis):
> The hypotheses of this research are that testing aboard the ISS can demonstrate the following for the first time, contributing to an improved understanding of cool flame kinetics. 1. Steady-state cool diffusion flames on spherical porous burners. 2. Cool diffusion flames burning propane, n-butane, and n-pentane. 3. Cool diffusion flames for a wide range of Zst, Tad, and pressures. 4. Inverse cool diffusion flames. 5. Cool diffusion flames for which a decrease in fluent flow rate will cause extinction, whereas an increase will cause a transition to a hot diffusion flame, with oscillation possible between hot and cool flames.
As recorded by PSI: flight program: International Space Station (ISS); hardware: ACME, Combustion Integrated Rack (CIR); managing center: Glenn Research Center (GRC).
## Platform and gravity, as stated
- Platform: Combustion Integrated Rack (CIR) (quote: “ACME, Combustion Integrated Rack (CIR)”, section=experimentHardware).
- Platform: International Space Station (ISS) (quote: “International Space Station (ISS)”, section=flightProgram).
- Gravity regime: microgravity for test(s) * (quote: “CDFs are investigated here using a spherical porous burner with gaseous fuels in the microgravity environment of the International Space Station. [...]”, page=23, PSI-159_Reports_FinalRpt_ACME.CFI-G.pdf).
## Fuel and flame configuration
fuel phase: gas (2); flame type: normal (179), inverse (154); fuel (7 distinct): ethane (67), propane (63), butane (58), 30% butane (52), 30% propane (36), 50% butane (30), 30% ethane (27).
## What was extracted
2188 condition records in data/conditions/PSI-159.csv: 2188 usable, 0 marked insufficient_evidence. They cover 333 distinct tests (plus 7 records that apply to every test of the investigation).
| Variable | Usable records | Insufficient |
|---|---|---|
| gravity regime | 1 | 0 |
| fuel phase | 2 | 0 |
| flame type | 333 | 0 |
| ambient O2 (mole fraction) | 179 | 0 |
| burner-stream O2 (mole fraction) | 154 | 0 |
| pressure (kPa) | 333 | 0 |
| fuel | 333 | 0 |
| platform | 4 | 0 |
| outcomes (measured results) | 849 | 0 |
Measured ranges over the usable records:
- ambient O2 (mole fraction): 0.179686 to 0.3997 (that is 17.97 to 39.97 % by volume, arithmetic on the stored fraction)
- burner-stream O2 (mole fraction): 0.12 to 0.85 (that is 12 to 85 % by volume, arithmetic on the stored fraction)
- pressure (kPa): 49.5382 to 330.99
## What could not be extracted, and why
No record of this investigation is marked insufficient.
Ground (1 g) data check: partial in the ground-test inventory (see the article on the ground inventory).
Published papers listed for this investigation: 2 (see data/manifest/publications.csv).
## For engineers
- method: 2181 table records (read by code from a PSI table; the quote is the column header) and 7 document records (verbatim sentence with its page or section). verified status: 0 (no person has compared records with the source yet).
- Source files used (path under data/raw/):
- psi-data/PSI-159/Experimental table/PSI-159_Experimental table_CFI-G_Normal Flames.csv (1257 records)
- psi-data/PSI-159/Experimental table/PSI-159_Experimental table_CFI-G_Inverse Flames.csv (924 records)
- psi-data/PSI-159/Reports/PSI-159_Reports_FinalRpt_ACME.CFI-G.pdf (4 records)
- psi-data/PSI-159/_investigation/PSI-159.json (3 records)
- Every value is located in its source by code; see the articles on how values are located and on validation severities.
- Investigation record: data/raw/psi-data/PSI-159/_investigation/PSI-159.json (the text fields quoted above).
- Accession PSI-159; DOI 10.60555/cyt1-kh64; PSI version 1; files in version 3756, files selected for PYRION 7.
A Researcher's Guide to: International Space Station — Combustion Science (NP-2015-10-034-JSC) (iss-combustion-guide-2015)
A Researcher's Guide to: International Space Station — Combustion Science (NP-2015-10-034-JSC) is a NASA document outside the PSI archive. Address: https://www.nasa.gov/wp-content/uploads/2016/05/np-2015-10-034-jsc_combustion_in_reduced_gravity-iss-mini-book-011116-508.pdf. PYRION uses it for this: interpreting PSI columns.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id iss-combustion-guide-2015, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/iss-combustion-guide-2015/np-2015-10-034-jsc_combustion_in_reduced_gravity-iss-mini-book-011116-508.pdf (1500825 bytes), SHA-256 5fe046efe4e35e506023e27a9784d041e893026f19c9987591483614aea5d6b6, downloaded from https://www.nasa.gov/wp-content/uploads/2016/05/np-2015-10-034-jsc_combustion_in_reduced_gravity-iss-mini-book-011116-508.pdf.
- TARS library: 55 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
NESC, Impacts of Reduced Pressure Atmospheres on ECLSS, NASA/TM-20260003925 (ntrs-20260003925)
NESC, Impacts of Reduced Pressure Atmospheres on ECLSS, NASA/TM-20260003925 is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20260003925. PYRION uses it for this: exploration atmospheres (10.2 psia / 26.5% O2 and 8.2 psia / 34%).
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
One quotation the app uses from this document (page 13, section 4.0 Executive Summary):
> nominal cabin atmospheres of 10.2 pounds per square inch absolute (psia) with 26.5% O2, and 8.2 psia with 34% O2, collectively termed "Exploration Atmospheres"
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20260003925, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20260003925/20260003925.pdf (4208610 bytes), SHA-256 1d207280909ff46bf54b6b7e6805aa3c1b99d0824d96b37762c12b9b60b9d6f8, downloaded from https://ntrs.nasa.gov/api/citations/20260003925/downloads/20260003925.pdf.
- TARS library: 112 pages with a text layer.
- Referenced in the repository by: engine/src/presets.ts, web/lib/presets.ts.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Ruff, Impact of Lunar Gravity on Material Flammability, LSSW 2021 (NTRS 20210020446)
Ruff, Impact of Lunar Gravity on Material Flammability, LSSW 2021 (NTRS 20210020446) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20210020446. PYRION uses it for this: definitions of MOC and ULOI.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
One quotation the app uses from this document (page 3, "How is flame spread affected by Lunar-g?"):
> glunar = 0.16 gearth
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20210020446, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20210020446/LSSW Presentation_8-12-2021_FINAL.pdf (1670196 bytes), SHA-256 f9f56694310386a5ee7506a73418b32a2e4505cb6e4f6179f31c5cee5d969c64, downloaded from https://ntrs.nasa.gov/api/citations/20210020446/downloads/LSSW%20Presentation_8-12-2021_FINAL.pdf.
- TARS library: 19 pages with a text layer.
- Referenced in the repository by: engine/src/presets.ts, engine/src/quantity.ts, engine/src/transfer.ts, web/lib/expert/calculators.ts.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
NASA-STD-6001B Test 1: Sample Length Impact on MOC (NTRS 20170004702)
NASA-STD-6001B Test 1: Sample Length Impact on MOC (NTRS 20170004702) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20170004702. PYRION uses it for this: how MOC is determined in practice.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20170004702, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20170004702/20170004702.pdf (226474 bytes), SHA-256 0a8c1da4af61697ca09fa3f7c58807e88981870ed63f024bad2577f577623c93, downloaded from https://ntrs.nasa.gov/api/citations/20170004702/downloads/20170004702.pdf.
- TARS library: 8 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
JSC 29353D, Flammability Configuration Analysis for Spacecraft Applications (jsc-29353d)
JSC 29353D, Flammability Configuration Analysis for Spacecraft Applications is a NASA document outside the PSI archive. Address: https://standards.nasa.gov/system/files/tmp/JSC%2029353D%20Flammability%20Configuration%20Analysis%20for%20Spacecraft%20Applications.pdf. PYRION uses it for this: flammability configuration analysis; partial gravity.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id jsc-29353d, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/jsc-29353d/JSC 29353D Flammability Configuration Analysis for Spacecraft Applications.pdf (2915192 bytes), SHA-256 e10f0155ae26048eb8bdfb1c55143b572a9617497b21df87ff29704a523765ab, downloaded from https://standards.nasa.gov/system/files/tmp/JSC%2029353D%20Flammability%20Configuration%20Analysis%20for%20Spacecraft%20Applications.pdf.
- TARS library: 60 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Technology Development for Spacecraft Fire Safety, FLARE workshop 2021 (NTRS 20210021318)
Technology Development for Spacecraft Fire Safety, FLARE workshop 2021 (NTRS 20210021318) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20210021318. PYRION uses it for this: state of the art: FLARE.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20210021318, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20210021318/Tech Dev for Spacecraft Fire Safety_Location_10-7-2021.pdf (3010670 bytes), SHA-256 bd7610e64a71601fe3e2a329bbdb33a8a4701eec68ce9b1a374c8d77649b38c4, downloaded from https://ntrs.nasa.gov/api/citations/20210021318/downloads/Tech%20Dev%20for%20Spacecraft%20Fire%20Safety_Location_10-7-2021.pdf.
- TARS library: 17 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Olson & Ferkul, Microgravity Flammability of PMMA Rods in Concurrent Flow (NTRS 20150008961)
Olson & Ferkul, Microgravity Flammability of PMMA Rods in Concurrent Flow (NTRS 20150008961) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20150008961. PYRION uses it for this: 1-g results vs ventilated microgravity.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20150008961, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20150008961/20150008961.pdf (449964 bytes), SHA-256 8cee8a023d9f0aab214996ebaeefb842080b0c935ba9e01db0096a47379519f7, downloaded from https://ntrs.nasa.gov/api/citations/20150008961/downloads/20150008961.pdf.
- TARS library: 10 pages with a text layer.
- Referenced in the repository by: data/derived/bass2_rod_boundary.md, data/derived/bass2_rod_nasa_numbers.csv, engine/src/stretch.ts, engine/src/transfer.ts, extraction/build_derived.py, extraction/ground_tests_inventory.md.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Exploration Atmospheres Validation Study, Open Atmospheres Forum 2022 (NTRS 20220011152)
Exploration Atmospheres Validation Study, Open Atmospheres Forum 2022 (NTRS 20220011152) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20220011152. PYRION uses it for this: exploration atmospheres status.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20220011152, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20220011152/Exploration Atmosphers OAF 20220805.pdf (9566921 bytes), SHA-256 cfc050aded4f9f8da9487d4279dc38c500375017e8562050bb9d15ed465e4d87, downloaded from https://ntrs.nasa.gov/api/citations/20220011152/downloads/Exploration%20Atmosphers%20OAF%2020220805.pdf.
- TARS library: 35 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Schechter & Zayac, Characterizing the Flammability of Nomex Fabric for FM2, ASGSR 2025 (NTRS 20250010975)
Schechter & Zayac, Characterizing the Flammability of Nomex Fabric for FM2, ASGSR 2025 (NTRS 20250010975) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20250010975. PYRION uses it for this: Nomex limiting oxygen at 1 g, lunar g and 0 g.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20250010975, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20250010975/ASGSR_FinalPoster JSchechter.pdf (629061 bytes), SHA-256 0481647076339686df059467f529fe2cd661b926655f04a0842ec0eb33d551b7, downloaded from https://ntrs.nasa.gov/api/citations/20250010975/downloads/ASGSR_FinalPoster%20JSchechter.pdf.
- TARS library: 1 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Urban et al., Solid Fuel Ignition Testing for Lunar Applications, ICES 2025 (NTRS 20250006779)
Urban et al., Solid Fuel Ignition Testing for Lunar Applications, ICES 2025 (NTRS 20250006779) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20250006779. PYRION uses it for this: lunar-gravity effect is material dependent.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20250006779, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20250006779/ICES 2025-392 Lunar Flam 070725.pdf (1711643 bytes), SHA-256 fea3378e0b496e5e11e4cdc39919b9b861a65855d699030fa380606a1bed8294, downloaded from https://ntrs.nasa.gov/api/citations/20250006779/downloads/ICES%202025-392%20Lunar%20Flam%20070725.pdf.
- TARS library: 18 pages with a text layer.
- Referenced in the repository by: engine/src/transfer.ts.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Zayac & Johnston, Flammability of Materials on the Moon, Glenn 2024 (NTRS 20240015307)
Zayac & Johnston, Flammability of Materials on the Moon, Glenn 2024 (NTRS 20240015307) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20240015307. PYRION uses it for this: centrifuge drop-tower tests at lunar gravity.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20240015307, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20240015307/Glenn_2024_ZayacPoster.pdf (1576492 bytes), SHA-256 eb86f426ee83c3edb3eda8053f33382248394f5bcb6aa6be171b59ddab5c3e47, downloaded from https://ntrs.nasa.gov/api/citations/20240015307/downloads/Glenn_2024_ZayacPoster.pdf.
- TARS library: 1 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Exploration Atmospheres for Beyond-LEO Human Exploration Missions (NTRS 20120017346)
Exploration Atmospheres for Beyond-LEO Human Exploration Missions (NTRS 20120017346) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20120017346. PYRION uses it for this: history of the 8.2 psia / 34% atmosphere.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20120017346, priority P2. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20120017346/20120017346.pdf (8510 bytes), SHA-256 06f8768f57f7e4a2ad904880b6c2dae58389e01f5edad1ee4be8c1c2ea63269a, downloaded from https://ntrs.nasa.gov/api/citations/20120017346/downloads/20120017346.pdf.
- TARS library: 1 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Exploration Spacecraft and Space Suit Internal Atmosphere (NTRS 20060013463)
Exploration Spacecraft and Space Suit Internal Atmosphere (NTRS 20060013463) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20060013463. PYRION uses it for this: origin of the exploration atmosphere.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20060013463, priority P2. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20060013463/20060013463.pdf (17010288 bytes), SHA-256 e148ec855216aab89cd42d80944a53af3f2549ccc1896aa4273e96f10150cceb, downloaded from https://ntrs.nasa.gov/api/citations/20060013463/downloads/20060013463.pdf.
- TARS library: 14 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Hypoxia Evidence Report (NTRS 20150021491)
Hypoxia Evidence Report (NTRS 20150021491) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20150021491. PYRION uses it for this: context: hypoxia evidence.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20150021491, priority P2. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20150021491/20150021491.pdf (725210 bytes), SHA-256 4defa6b98de32ea3f5972afc1a4c3c60eaba26bc842259d9946615c4b1c1bc60, downloaded from https://ntrs.nasa.gov/api/citations/20150021491/downloads/20150021491.pdf.
- TARS library: 43 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Sacksteder & Feier, Three-Dimensional Upward Flame Spreading in Partial-Gravity Buoyant Flows (NTRS 20010074003)
Sacksteder & Feier, Three-Dimensional Upward Flame Spreading in Partial-Gravity Buoyant Flows (NTRS 20010074003) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20010074003. PYRION uses it for this: classic theory of upward flame spread at partial gravity.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20010074003, priority P2. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20010074003/20010074003.pdf (385134 bytes), SHA-256 ba77167f2f8437f109f1849c5f20da0ddfcc482e4268707f3703738efbdc5edf, downloaded from https://ntrs.nasa.gov/api/citations/20010074003/downloads/20010074003.pdf.
- TARS library: 4 pages with a text layer.
- Referenced in the repository by: engine/src/quantity.ts, engine/src/transfer.ts.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Saffire results (NTRS 20180005168)
Saffire results (NTRS 20180005168) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20180005168. PYRION uses it for this: Saffire flight results: gravity condition during the burn (found by a separate AI reviewer agent (Grok)).
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20180005168, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20180005168/20180005168.pdf (9049169 bytes), SHA-256 9ae2e365c850cbd0e136ea4e17cc5ecf68e5ac89d248b3c0a7b7b4bde9e2f402, downloaded from https://ntrs.nasa.gov/api/citations/20180005168/downloads/20180005168.pdf.
- TARS library: 25 pages with a text layer.
- Referenced in the repository by: extraction/tables/psi099_saffire2.py, extraction/tables/psi100_saffire3.py, extraction/tables/saffire.py.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Olson & T'ien, Buoyant Low Stretch Diffusion Flames Beneath Cylindrical PMMA Samples (NTRS 20000004509)
Olson & T'ien, Buoyant Low Stretch Diffusion Flames Beneath Cylindrical PMMA Samples (NTRS 20000004509) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20000004509. PYRION uses it for this: stretch-rate framework: forced, buoyant and mixed stretch.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20000004509, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20000004509/20000004509.pdf (1168569 bytes), SHA-256 dfc9fc3cf8071a8eb28a86305b49d226ba46b1332ed73d1e2396b176f08f0ba7, downloaded from https://ntrs.nasa.gov/api/citations/20000004509/downloads/20000004509.pdf.
- TARS library: 40 pages with a text layer.
- Referenced in the repository by: engine/src/stretch.ts, engine/src/transfer.ts, extraction/ground_tests_inventory.md.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Olson & T'ien, near-limit low stretch flames (NTRS 20000057046)
Olson & T'ien, near-limit low stretch flames (NTRS 20000057046) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20000057046. PYRION uses it for this: stretch-rate framework: forced, buoyant and mixed stretch.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20000057046, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20000057046/20000057046.pdf (726184 bytes), SHA-256 2aa92e95822df2c790047339eac131be69eda73fea229efd7e91bbba1e19ccd6, downloaded from https://ntrs.nasa.gov/api/citations/20000057046/downloads/20000057046.pdf.
- TARS library: 17 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
Low stretch solid-fuel flame research (NTRS 20040053568)
Low stretch solid-fuel flame research (NTRS 20040053568) is a NASA document outside the PSI archive. NTRS citation: https://ntrs.nasa.gov/citations/20040053568. PYRION uses it for this: stretch-rate framework: forced, buoyant and mixed stretch.
In plain words: PSI holds the experiments; documents like this one give the context around them (definitions, standards, atmospheres, the state of the art). Nothing taken from it is mixed silently with PSI evidence. When a number from it appears in the app, it carries the document name, the page and the words it was read from.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id ntrs-20040053568, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/ntrs-20040053568/20040053568.pdf (671930 bytes), SHA-256 3b6998020cbc77f5f5b85a6b85b14ab471aadd1ac3d44595e32adfb6495b8fb7, downloaded from https://ntrs.nasa.gov/api/citations/20040053568/downloads/20040053568.pdf.
- TARS library: 4 pages with a text layer.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
NASA Glenn experiment fact sheets (ACME, BASS, DAFT, FLEX, SAFFIRE, SAME, SLICE, SPICE)
NASA Glenn publishes one fact sheet per flight combustion experiment. PYRION keeps eight of them next to the PSI data to explain what each experiment is.
In plain words: these are short NASA descriptions, written for the public. They help read the PSI files, but they are not test data: no condition value is taken from a fact sheet alone.
The eight fact sheets:
- NASA Glenn fact sheet: Advanced Combustion via Microgravity Experiments (ACME): https://www.nasa.gov/wp-content/uploads/2025/07/advanced-combustion-via-microgravity-experiments-acme.pdf (role: experiment fact sheet)
- NASA Glenn fact sheet: Burning and Suppression of Solids (BASS): https://www.nasa.gov/wp-content/uploads/2025/07/burning-and-suppression-of-solids-bass.pdf (role: experiment fact sheet)
- NASA Glenn fact sheet: Dust and Aerosol Measurement Feasibility Test (DAFT): https://www.nasa.gov/wp-content/uploads/2025/07/dust-and-aerosol-measurement-feasibility-test-daft.pdf (role: experiment fact sheet)
- NASA Glenn fact sheet: Flame Extinguishment Experiment (FLEX): https://www.nasa.gov/wp-content/uploads/2025/07/flame-extinguishment-experiment-flex.pdf (role: experiment fact sheet)
- NASA Glenn fact sheet: Spacecraft Fire Safety Demonstration (Saffire): https://www.nasa.gov/wp-content/uploads/2025/07/spacecraft-fire-safety-demonstration-saffire.pdf (role: experiment fact sheet)
- NASA Glenn fact sheet: Smoke Aerosol Measurement Experiment (SAME): https://www.nasa.gov/wp-content/uploads/2025/07/smoke-aerosol-measurement-experiment-same.pdf (role: experiment fact sheet)
- NASA Glenn fact sheet: Structure and Liftoff in Combustion Experiment (SLICE): https://www.nasa.gov/wp-content/uploads/2025/07/structure-liftoff-in-combustion-experiment-slice.pdf (role: experiment fact sheet)
- NASA Glenn fact sheet: Smoke Point In Co-flow Experiment (SPICE): https://www.nasa.gov/wp-content/uploads/2025/07/smoke-point-in-co-flow-experiment-spice.pdf (role: experiment fact sheet)
## For engineers
- data/raw/nasa/glenn-factsheet-acme/advanced-combustion-via-microgravity-experiments-acme.pdf SHA-256 21d226540a4764db3f55a686daeecdb1d4fb7458502a0f8d2175a0e85ddad853
- data/raw/nasa/glenn-factsheet-bass/burning-and-suppression-of-solids-bass.pdf SHA-256 a6b5da803a4dfd3e9902ac2013a4495a4712831a86f434e3812e5592822446ac
- data/raw/nasa/glenn-factsheet-daft/dust-and-aerosol-measurement-feasibility-test-daft.pdf SHA-256 cc508885c1871dae87beb0ba8fd8c1f3c02419e468caea836b04d1617d658885
- data/raw/nasa/glenn-factsheet-flex/flame-extinguishment-experiment-flex.pdf SHA-256 318b21e5deb17e61d9668cfede6da61d6676e84950aa3d33c5b5f5bf3f1464b2
- data/raw/nasa/glenn-factsheet-saffire/spacecraft-fire-safety-demonstration-saffire.pdf SHA-256 4eed8a4d5bce284e8d9ec24b637b21fdbf4b1fbbaadb663da3b66ee89faecd5f
- data/raw/nasa/glenn-factsheet-same/smoke-aerosol-measurement-experiment-same.pdf SHA-256 18fd998abc3f9f2e8942d998fbaa8207a983add97284cca3419c8b1070a4cdbb
- data/raw/nasa/glenn-factsheet-slice/structure-liftoff-in-combustion-experiment-slice.pdf SHA-256 ddc56bd4a9bf46d582fd00e6aed4fbe7c362c1aa6e35a857925fdf7d5a7bc36a
- data/raw/nasa/glenn-factsheet-spice/smoke-point-in-co-flow-experiment-spice.pdf SHA-256 ed3905a0a13afe0390b5ed89959cc9f2e21edba5d1a103f2676425a7efa48e9b
Challenge resource pages and background documents
These are the NASA pages and documents linked from the Flame in Freefall challenge, plus two NASA images. PYRION saved them as background: the history of spacecraft fires (Apollo 1, Apollo 13, Mir) and NASA's own descriptions of its combustion science.
In plain words: they explain why the work matters and give context. They are not test data. Apollo and Mir documents are history, not conditions that PYRION extracts.
The list (address and what each is used for):
- NASA image: candle flame in microgravity (nasa-img-candle): https://www.nasa.gov/wp-content/uploads/2025/07/candle-flame-in-microgravity.png (role: image: candle flame at 0 g, 1/6 g and 1 g (FM2 page))
- NASA image: edge view of SIBAL (nasa-img-sibal): https://www.nasa.gov/wp-content/uploads/2025/07/edge-view-of-sibal.png (role: image: SIBAL fabric burning in simulated lunar gravity (FM2 page))
- NASA Glenn: Combustion Science (challenge resource) (challenge-glenn-combustion-science): https://www.nasa.gov/glenn/glenn-expertise-space-exploration/physical-sciences-program/combustion-science/ (role: official challenge resource (web page, saved as HTML))
- A Researcher's Guide to International Space Station Combustion Science, web page (challenge resource) (challenge-researchers-guide-page): https://www.nasa.gov/missions/station/a-researchers-guide-to-combustion-science/ (role: official challenge resource (web page, saved as HTML))
- NASA Office of Safety and Mission Assurance: Apollo 1 (challenge resource) (challenge-apollo-1): https://sma.nasa.gov/sma-disciplines/accllp/apollo-1 (role: official challenge resource (web page, saved as HTML))
- NASA Office of Safety and Mission Assurance: Apollo 13 (challenge resource) (challenge-apollo-13): https://sma.nasa.gov/sma-disciplines/accllp/apollo-13 (role: official challenge resource (web page, saved as HTML))
- 25 Years Ago: Fire Aboard Space Station Mir (challenge resource) (challenge-mir-fire): https://www.nasa.gov/history/25-years-ago-fire-aboard-space-station-mir/ (role: official challenge resource (web page, saved as HTML))
- NASA Spinoff: Fireman's Air Tanks (challenge resource) (challenge-spinoff-air-tanks): https://spinoff.nasa.gov/node/9582 (role: official challenge resource (web page, saved as HTML))
- NASA Spinoff: Fire Detector (challenge resource) (challenge-spinoff-fire-detector): https://spinoff.nasa.gov/node/9407 (role: official challenge resource (web page, saved as HTML))
- NASA Spinoff: New Technology for the Fire Attire (challenge resource) (challenge-spinoff-fire-attire): https://spinoff.nasa.gov/node/9918 (role: official challenge resource (web page, saved as HTML))
- NASA ScienceCasts: The Power of Studying Combustion on the ISS (challenge-sciencecast-video): https://www.youtube.com/watch?v=W1oXykoz9zg (role: official challenge resource (YouTube video): cited by link, not downloaded)
- Apollo 204 Accident: Report of the Committee on Aeronautical and Space Sciences, U.S. Senate (Report 956) (challenge-apollo1-as204_senate_956): https://history.nasa.gov/as204_senate_956.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Apollo 204: Borman testimony, House (part 1) (challenge-apollo1-bormanhouse1): https://www.nasa.gov/wp-content/uploads/static/history/Apollo204/bormanhouse1.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Apollo 204: Borman testimony, House (part 2) (challenge-apollo1-bormanhouse2): https://www.nasa.gov/wp-content/uploads/static/history/Apollo204/bormanhouse2.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Apollo 204: Borman testimony, Senate (part 1) (challenge-apollo1-bormansenate1): https://www.nasa.gov/wp-content/uploads/static/history/Apollo204/bormansenate1.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Apollo 204: Borman testimony, Senate (part 2) (challenge-apollo1-bormansenate2): https://www.nasa.gov/wp-content/uploads/static/history/Apollo204/bormansenate2.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Apollo 204: Borman testimony, Senate (part 3) (challenge-apollo1-bormansenate3): https://www.nasa.gov/wp-content/uploads/static/history/Apollo204/bormansenate3.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Biography: Roger Chaffee (challenge-apollo1-chaffee_roger_0): https://www.nasa.gov/wp-content/uploads/2016/01/chaffee_roger_0.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Biography: Edward White (challenge-apollo1-white_edward): https://www.nasa.gov/wp-content/uploads/2016/01/white_edward.pdf (role: linked from the official challenge resource 'Apollo 1' (sma.nasa.gov))
- Apollo 13 Mission Report (challenge-apollo13-a13_missionreport): https://history.nasa.gov/alsj/a13/A13_MissionReport.pdf (role: linked from the official challenge resource 'Apollo 13' (sma.nasa.gov))
- Report of Apollo 13 Review Board, appendices B-E (challenge-apollo13-a13-review-report-app-b-c-d-e-19700078726): https://www.nasa.gov/wp-content/uploads/static/history/afj/ap13fj/pdf/a13-review-report-app-b-c-d-e-19700078726.pdf (role: linked from the official challenge resource 'Apollo 13' (sma.nasa.gov))
- Apollo 13 Mission: Senate hearing (GPO CHRG-91shrg4746) (challenge-apollo13-gpo-chrg-91shrg4746): https://www.govinfo.gov/content/pkg/GPO-CHRG-91shrg4746/pdf/GPO-CHRG-91shrg4746.pdf (role: linked from the official challenge resource 'Apollo 13' (sma.nasa.gov))
- Biography: Fred Haise (challenge-apollo13-haise_fred): https://www.nasa.gov/wp-content/uploads/2016/01/haise_fred.pdf (role: linked from the official challenge resource 'Apollo 13' (sma.nasa.gov))
- Biography: James Lovell (challenge-apollo13-lovell_james_0): https://www.nasa.gov/wp-content/uploads/2016/01/lovell_james_0.pdf (role: linked from the official challenge resource 'Apollo 13' (sma.nasa.gov))
- Biography: John Swigert (challenge-apollo13-swigert_john): https://www.nasa.gov/wp-content/uploads/2020/04/swigert_john.pdf (role: linked from the official challenge resource 'Apollo 13' (sma.nasa.gov))
## For engineers
- Saved under data/raw/nasa/<id>/ with SHA-256 in data/manifest/checksums_P*.csv; web pages are saved as HTML (page.html).
- The TARS library reads their text by code; see the article on the library.
NASA pages linked from the challenge resources
Besides the pages the challenge names, PYRION saved NASA pages that those pages link to (one level out), about combustion science facilities, FLARE, SOFIE, MDCA and ISS research results.
In plain words: they are context. They are never the source of a condition value.
The list:
- crawl-combustion-science-solid-fuel-ignition-and-extinction-sofie-73ee2172: https://www.nasa.gov/glenn/glenn-expertise-space-exploration/physical-sciences-program/combustion-science/solid-fuel-ignition-and-extinction-sofie/
- crawl-on-science-flammability-limits-at-reduced-g-experiment-flare-349e092c: https://www.nasa.gov/glenn/glenn-expertise-space-exploration/physical-sciences-program/combustion-science/flammability-limits-at-reduced-g-experiment-flare/
- crawl-oration-physical-sciences-program-fluids-combustion-facility-e5cca718: https://www.nasa.gov/glenn/glenn-expertise-space-exploration/physical-sciences-program/fluids-combustion-facility/
- crawl-bustion-science-multi-user-droplet-combustion-apparatus-mdca-31c670fd: https://www.nasa.gov/glenn/glenn-expertise-space-exploration/physical-sciences-program/combustion-science/multi-user-droplet-combustion-apparatus-mdca/
- crawl-science-biological-physical-focus-areas-combustion-science-a8cdd961: https://science.nasa.gov/biological-physical/focus-areas/combustion-science/
- crawl-ram-science-facilities-on-the-iss-fluids-combustion-facility-7ef8640c: https://www.nasa.gov/glenn/glenn-expertise-space-exploration/physical-sciences-program/science-facilities-on-the-iss/fluids-combustion-facility/
- crawl-se-nasa-glenn-combustion-experiment-arrives-at-space-station-2edda286: https://www.nasa.gov/news-release/nasa-glenn-combustion-experiment-arrives-at-space-station/
- crawl-n-holds-public-meeting-on-combustion-research-lab-demolition-d7a84f0d: https://www.nasa.gov/news-release/nasa-glenn-holds-public-meeting-on-combustion-research-lab-demolition/
- crawl-016-05-np-2015-10-034-jsc-combustion-in-reduced-gravity-epub-a0c2b8d3: https://www.nasa.gov/wp-content/uploads/2016/05/np-2015-10-034-jsc_combustion_in_reduced_gravity.epub
- crawl-ies-information-for-researchers-iss-researchers-guide-series-84d4d42e: https://www.nasa.gov/international-space-station/space-station-research-and-technology/opportunities-information-for-researchers/iss-researchers-guide-series/
- crawl-rch-and-technology-opportunities-information-for-researchers-9f8c4b97: https://www.nasa.gov/international-space-station/space-station-research-and-technology/opportunities-information-for-researchers/
- crawl-ation-research-and-technology-space-station-research-results-e8ceacdd: https://www.nasa.gov/international-space-station/space-station-research-and-technology/space-station-research-results/
- crawl-earch-and-technology-latest-news-from-space-station-research-0e5a93ca: https://www.nasa.gov/international-space-station/space-station-research-and-technology/latest-news-from-space-station-research/
- crawl-www-wp-content-uploads-2016-01-linenger-jerry-0-pdf-02d4eb2a: https://www.nasa.gov/wp-content/uploads/2016/01/linenger_jerry_0.pdf
- crawl-www-wp-content-uploads-2026-05-ahr-2025-20260518-pdf-71cae3e4: https://www.nasa.gov/wp-content/uploads/2026/05/ahr-2025-20260518.pdf
- crawl-www-wp-content-uploads-2026-05-ahr-2025-publist-20260518-pdf-2e21549a: https://www.nasa.gov/wp-content/uploads/2026/05/ahr-2025-publist-20260518.pdf
- crawl-oads-2026-01-iss-25th-science-infographic-20260121-print-pdf-b14c7ec6: https://www.nasa.gov/wp-content/uploads/2026/01/iss-25th-science-infographic-20260121-print.pdf
## For engineers
- Role in the manifest for every entry: "linked from an official challenge resource (level 1)".
- Saved under data/raw/nasa/<id>/; rebuilt by pipeline/crawl_resources.py.
FM2: Flammability of Materials on the Moon (NASA page and NTRS 20260001966)
FM2 (Flammability of Materials on the Moon) is a planned NASA experiment to burn materials at lunar gravity on the Moon. PYRION holds two NASA sources about it: the NASA Glenn web page and the 2026 Lunar and Planetary Science Conference presentation by Ferkul and colleagues (NTRS 20260001966).
In plain words: FM2 is the reason the app has a "Moon base" question. It is a plan. It has produced no measurement yet, so PYRION uses it to say what will be tested, never as evidence that a material does or does not burn.
What the NASA page says (quoted):
> FM2 investigates burning materials on the Moon at its 1/6 reduced gravity level.
> The experiment burns four fuel samples individually in atmospheric conditions planned for future lunar habitats or vehicles.
What the presentation says about the plan (quoted from PDF page 5, printed "Page 4"):
> Test a material with an expected Lunar LOC of 24-26% and an expected oxygen consumption of 0.08 mol fraction
> Conduct four tests at 8.2 psi: 1. Start at 37% should burn to threshold 2. Start at 33% should burn to threshold 3. Start at 29% should burn to threshold 4. Start at 25% not expected to ignite but would provide a margin of safety if the limit was lower than expected.
These are expectations, not results. In the app, the FM2 hypothesised limit slider on the Bridge page is a hypothesis, not a measurement.
## For engineers
- Page: https://www.nasa.gov/glenn/glenn-expertise-space-exploration/physical-sciences-program/combustion-science/flammability-of-materials-on-the-moon-fm2/ (saved as data/raw/nasa/crawl-combustion-science-flammability-of-materials-on-the-moon-fm2-ecc5990d/page.html).
- Presentation: https://ntrs.nasa.gov/citations/20260001966, file data/raw/nasa/ntrs-20260001966/Ferkul-Lunar and Planetary Science Conf 2026 v2.pdf, SHA-256 89c604a71fe33840a79aaad8fdb9942e11b32d88b20af6fa46f3bb48b1b63113.
- Related: the LUCI flight (rotating vehicle) tested a similar idea in 2025; see its article. LUCI simulates partial gravity; FM2 would be on the Moon.
NASA-STD-6001B: the 1 g flammability test standard
NASA-STD-6001B is the NASA technical standard for flammability, offgassing and compatibility of materials used in spacecraft. Its Test 1 is the 1 g upward flame propagation test: a sample is ignited near the bottom and the flame spreads upward. Materials that pass are cleared for flight use; materials that fail are restricted.
In plain words: this is the ground test every spacecraft material must pass today. The whole question behind PYRION is how well that 1 g test predicts what happens at lunar gravity or in microgravity, so the standard is the baseline the other evidence is compared with.
The cover page reads: “NASA TECHNICAL STANDARD NASA-STD-6001B [...] Approved: 08-26-2011”, and it is “APPROVED FOR PUBLIC RELEASE”.
What PYRION uses it for (from the manifest): the 1-g upward flammability test (Test 1). A companion document, NTRS 20170004702, shows how the maximum oxygen concentration (MOC) is determined in practice.
## For engineers
- Manifest entry: data/manifest/external_sources.json, id nasa-std-6001b, priority P1. Everything in that file is a NASA-published document or page.
- File data/raw/nasa/nasa-std-6001b/nasa-std-6001b.pdf (1514218 bytes), SHA-256 3565820b2267be5252ed48653d23491cf81dc151155ea176fe5480dc162ee03a, downloaded from https://standards.nasa.gov/sites/default/files/standards/NASA/B-w/CHANGE-2/2/Historical/nasa-std-6001b.pdf.
- TARS library: 108 pages with a text layer.
- Referenced in the repository by: engine/src/experiments.ts.
- Not a PSI investigation: any record from it would use an accession NTRS-<id> and is labelled external; none is mixed into data/conditions/.
NASA Mars Fact Sheet (NSSDC): surface gravity
The Mars Fact Sheet is a NASA Goddard (NSSDC) web page listing physical data of Mars next to Earth. PYRION uses one row of it.
In plain words: the app needs the gravity of Mars to place Mars on the gravity dial. It does not invent a value: it reads it from this page.
The row used (page last updated 19 May 2025), quoted:
> Surface gravity (mean) (m/s2) 3.73 9.82 0.380
Read as: Mars 3.73 m/s2, Earth 9.82 m/s2, ratio 0.380 (that is 0.380 g).
## For engineers
- Address: https://nssdc.gsfc.nasa.gov/planetary/factsheet/marsfact.html.
- This page is cited by address and row; it is not stored under data/raw/ and it contributes no condition record. The value is typed once in engine/src/presets.ts (SOURCES.marsGravity) with its quote.
The Flame in Freefall challenge statement
The Flame in Freefall challenge is the NASA International Space Apps Challenge 2026 problem this project answers: “Flame in Freefall: SI-Powered Fire Safety Insights from Microgravity Combustion Data”. Its page is https://www.spaceappschallenge.org/2026/challenges/flame-in-freefall/.
In plain words: the challenge asks what fire safety insight can be drawn from the NASA microgravity combustion data. It also states the atmosphere expected for a Moon base, and the app uses that statement as one of its starting scenarios.
The sentence the app uses (section "Potential Considerations", "Spacesuits and oxygen concentration"), quoted:
> The intermediate oxygen concentration used on the Moon will likely be 30% or greater, with a corresponding pressure of 10.2 psi or less.
The challenge states a band, not a point. The scenario takes the corner of that band (30 % O2, 10.2 psi, which is 70.3 kPa). The lunar gravity of that scenario (0.16 g) does not come from the challenge: it comes from NTRS 20210020446.
## For engineers
- Preset id challenge-lunar-base in engine/src/presets.ts; conversion 1 psi = 6.894757293168361 kPa, so 10.2 psi = 70.3265 kPa.
- The challenge text is not a PSI or NTRS document and is not stored in data/raw/.
How code finds each value in the NASA source
Every condition value in PYRION points to the exact place in a NASA file where it is written, and a program (not a language model) checks that place.
In plain words: a value is only accepted if the program can open the NASA file and find it. A table value must sit in its own cell. A value taken from a sentence must come with the sentence, word for word, and the numbers in that sentence must be the numbers in the file, written the same way. If the program cannot find it, the record is rejected and the reason is shown.
## The three kinds of location
- A table cell. The record says
row=<n>;column=<header>(andsheet=<name>for an Excel file). The program opens the CSV or Excel file, finds the header row, goes to data row n and reads the cell. The cell must contain the value as written (value_original). For Excel the program reads cell values, never formulas, and a record without its sheet name is rejected. - A sentence in a document. The record says
page=<n>,paragraph=<n>orsection=<name>and carries the sentence asquote. The program extracts the text of the file with the same PDF library every time and looks for the quote, word for word. Differences in spacing, line breaks and typographic punctuation are ignored; a word that differs is not. - An elision. A quote may be cut with
[...]; each fragment must appear, in order.
## Numbers as written
The numbers of a quote must appear in the file exactly as written, in the same order. The check keeps the decimal point, so 1.5 is not 15 and .15 is not 15. The value_original of a record must itself be written in its quote. This rule was added after an audit by a separate AI reviewer agent found that an earlier version compared numbers without their points and signs.
## What it checks today, and what it does not
- Today: the quote is found in the file, and each table value is found in its cell. 942 quoted values and 8531 table cells were traced in the last full run.
- Not yet: that the quote sits on the cited page. The page number is stored and shown, but the program searches the whole file. A page check is planned.
- The text comes from the text layer of the original file. A value that exists only in a figure or an image cannot be located and is never accepted.
## For engineers
validation/run_all.py(check_trace) is written separately fromextraction/validate.pyon purpose: two implementations catch mistakes that one shares with the code that produced the records.- Text normalisation: NFKC (ligatures), hyphenated line breaks joined, case and punctuation dropped for the word-for-word comparison; numbers are compared as tokens with
numbers_in. validation/selftest.pyseeds errors (a number off by a decimal point, a wrong cell, an invented quote) and checks the validator catches them.- Table units are recomputed from
value_originalandunit_originalwith fixed conversion factors; 3250 values were recomputed in the last run.
Investigation filters
What it is. Filters the investigation list by text, fuel phase, or presence of extracted flow values.
What it shows. Matching investigations, their hardware text, and test counts from the extracted condition files.
How to use it. Enter text, select a fuel phase, or choose the flow filter; open a result to see its sources.
Example. Choose an available filter to inspect the records.
What it does not do. Filtering does not establish whether an investigation applies to a target condition.
Filter the dataset
What it is. Filters the extracted rows before downloading a CSV.
What it shows. The number of rows matching the selected investigation and variable.
How to use it. Choose either filter and select Download filtered CSV.
Example. Choose an available filter to inspect the records.
What it does not do. This filter does not assess the accuracy or applicability of a row.
Validation severities: BLOCKER, MAJOR, MINOR
The validator reads every condition record and every public text and reports each problem with a severity.
In plain words: a BLOCKER is a problem that must be fixed before anything is published; a MAJOR is a real problem that does not break a record outright; a MINOR is a note for a reader to know about. The exit code of the run is 1 if there is any BLOCKER.
The last committed full run (15 November 2026, 03:51 UTC; 10042 records, trace check on): BLOCKER 0, MAJOR 1, MINOR 132.
## What each severity means
| Severity | Examples |
|---|---|
| BLOCKER | A required field is empty; a variable that is not in the schema; a regime value that is not allowed; a wrong unit for a variable; a source file that is not among the verified downloads; a converted value that does not match its recomputation; a range that is not ascending; a value outside physical bounds; two sources that disagree for the same test; an investigation without a DOI; a quote or a table cell that is not found in the source; a number of a quote that is not written as in the source; overstating wording in public text (superlatives, endorsements and absolute claims on a list the validator keeps). |
| MAJOR | A value that is not numeric where a number is expected; a unit conversion the validator cannot recompute; a license that PSI does not state but whose records lack the “license not stated” note; a trace check that could not run; the word “discovery” in public text. |
| MINOR | A documented unit-label mismatch (the header says one unit and the cells hold another); a summary row that covers several conditions; the word “safe” in public text, to be reviewed by a person. |
In that run the one MAJOR is a unit label the validator cannot recompute (“on a volume basis” in PSI-22). The 132 MINOR notes are documented unit-label mismatches, summary rows, and three uses of a flagged word in the engine and web code. The numbers change with every run; validation/reports/latest.md always holds the newest.
## Where the report is
validation/reports/latest.md and latest.json are rewritten on every run. A second, independent validator for the extraction itself is extraction/validate.py; both must pass.
## For engineers
python -I validation/run_all.py(all checks, needsdata/raw/),--no-trace(what CI runs),--conditions DIRand--reports DIR(self-test and external folders).- Checks, in order: schema, provenance, units, bounds, consistency, citation, trace, language.
- A line carrying
lang-okis an explicit, reviewed exception to the language gate.
The ground (1 g) test inventory
The ground (1 g) inventory answers one question: what normal-gravity test data are inside the NASA PSI files PYRION downloaded?
In plain words: PYRION compares flames in microgravity with flames on Earth, so it matters whether PSI contains ground tests with their oxygen and pressure. It almost never does. Of the 24 investigations, only one has a clean per-test 1 g table: PSI-107 (SPICE), in Tables 6.3 and 6.4 of a thesis (fuel, nozzle, coflow velocity, fuel flow and smoke height). Its oxygen and pressure are not tabulated; ambient air is implied. No investigation offers ground tests with both O2 and pressure per test in a table.
## The rules used
- A ground test is a normal-gravity test on Earth. Drop towers, parabolic flights, KC-135 aircraft and microgravity wind tunnels are not ground: they are microgravity or partial gravity.
- Requirements and planning documents that only say ground testing is planned are not test data.
- A value that exists only in a figure, or an ambient condition that is implied, is reported as such.
## The classes
Per investigation: none, partial, requirements_only, not_ground, yes_table. The count in the inventory: none 10, partial 9, requirements_only 2, not_ground 2, yes_table 1.
## What was extracted from it
Nothing automatically. After approval, two stated 1 g conditions were extracted by hand with the usual extractor and verificador: one from PSI-25 (the downward PMMA series at San Diego State University, where the Summary Report gives 101 kPa and 21 % O2 on page 46 and 20.7 % O2 in a figure caption on page 49; the two are kept apart and not averaged) and one from PSI-20. Outside PSI, NTRS 20000004509 (Olson and T’ien) has a normal-gravity PMMA table of about 8 stretch-rate rows, with pressure not stated.
## For engineers
- Full inventory with files, pages and effort:
extraction/ground_tests_inventory.md(written 2026-11-14 from a scan of every PDF, DOCX, XLSX and CSV underdata/raw/psi-data/, 1 485 hits in 1 page/paragraph units, then a reading of the substantive documents). - Ground records carry descriptive test ids (for example a series name), not table rows; the
ground_seriesflag in the extraction marks them.
Investigation sheet links
What it is. Links from an investigation sheet to related resources.
What it shows. Links to the investigation list, extracted dataset, publication DOIs, PYRION, and TARS.
How to use it. Select a link to open its destination.
Example. Select a publication DOI to open the cited publication.
What it does not do. These links do not confirm that an investigation applies to a target condition. Observed variation does not establish experimental design.
The condition record, field by field
Every physical condition in PYRION is one record: one value of one variable for one test, with the exact place it came from. The engine reads only these records.
In plain words: a record is a labelled fact with a receipt. The label says what was measured and for which test; the receipt says which NASA file, where in it, and the words or cell it was read from.
## The fields
| Field | Meaning |
|---|---|
| accession | The PSI investigation (PSI-69) or, for an external source, NTRS-<id>. |
| test_id | The test as NASA wrote it, or * when the value applies to every test of the investigation. |
| variable | A controlled name (see below). |
| value | The value as normalised by PYRION: a number, lo..hi for a range, or a controlled term. |
| unit | The schema unit of value (empty for terms). |
| value_original | The value exactly as written in the source. |
| unit_original | The unit exactly as written in the source. |
| method | table (read from a PSI table by code) or document (a sentence, with its quote). |
| source_file | Path under data/raw/. |
| source_location | row=<n>;column=<header> for tables; page=<n>, paragraph=<n> or section=<name> for documents. |
| quote | For documents, the verbatim sentence. For tables, the column header. |
| status | extracted, verified (a person compared it with the source) or insufficient_evidence. |
| note | Free text: a unit conversion, the confidence, a reason. |
## The variables
- Regime axes (barriers, never interpolated across):
gravity_regime(microgravity,partial_gravity,normal_gravity),fuel_phase(solid,liquid,gas),diluent(N2,He,CO2,Ar,mixed),flame_type(normal,inverse). - Continuous axes (interpolated only inside the measured range):
o2_mole_fraction(ambient oxygen, 0 to 1),burner_o2_mole_fraction,pressure(kPa),flow_velocity(cm/s),sample_thickness(mm),droplet_diameter_initial(mm),ambient_temperature(K),gravity_level(g, only when stated). - Descriptive:
fuel,material,geometry,flow_configuration,platform. - Outcomes:
outcome:<name>with its unit, for results such as a spread rate or an extinction. An outcome is a measured result, never a condition.
## The four rules
- No value without a source.
- Never guess: if a value is not stated there is no record; if it is ambiguous the record is
insufficient_evidence. - Unit conversions are explicit, with the original kept.
- Gravity comes from the source, not from the platform: “flown on the ISS” is not a gravity value.
## For engineers
- Conventions: a range in one cell is one record
lo..hi; a list in one cell is one record per value; a value derived from several columns lists them ascolumn=<h1>;column=<h2>; an approximate value (“~21.5”) is stored as a plain number with a note; a unit label that contradicts the cells is kept as written with aunit-label-mismatchnote. - Contract:
schema/condition_record.schema.json; files indata/conditions/<accession>.csv, UTF-8, header row = field names.
Compare investigations
What it is. Compares attributes from two to six PSI records.
What it shows. Hardware, test counts and extracted condition ranges side by side; observed differences are highlighted.
How to use it. Pick a ready-made comparison, or enter two to six accession IDs separated by commas, then select Compare.
Example. Enter PSI-25,PSI-26 to compare those records.
What it does not do. A highlighted difference is a text difference, not a verdict about applicability.
The TARS library: NASA text, page by page
The TARS library is the only text the TARS chat answers from: the page-by-page text of the NASA documents PYRION downloaded.
In plain words: when TARS quotes NASA, the words come from a page of a NASA file, found by a search program, and code checks the quote against that page. No language model writes the library.
- Where the text comes from: PDF pages from PyMuPDF (the same call the validator uses), Word, PowerPoint and Excel files from their XML, web pages from a plain HTML parser, tables from the
csvmodule. Nothing is OCR'd or summarised. A page with no text layer is skipped and listed. - What is in it: 507 documents, 8874 pages (8648 with text), about 2.3 million words, split into 8691 chunks of about 320 words with a 50-word overlap.
- Search: a BM25 keyword index (no model, no network). Command line:
python -I tools/build_corpus.py --search "limiting oxygen concentration BASS-II"prints the top five with document and page. - Not in it: binary files (
.xls,.doc,.ppt), archives, images, video, duplicates, and one PDF that cannot be opened. Tables enter as the header plus the first 25 rows; the numbers the engine uses live indata/conditions/.
## For engineers
- Output in
web/.data/corpus/(git-ignored, regenerated fromdata/raw/):pages.jsonl,chunks.jsonl,bm25.json,no_text_pages.json,skipped.json,corpus_manifest.json. - Rebuild takes about 70 seconds and is deterministic: the same files give the same hash of
pages.jsonl.
Download files
What it is. Offers the complete extracted dataset and its data dictionary.
What it shows. CSV and JSON rows plus a description of their columns.
How to use it. Select a file to download it.
Example. Choose an available filter to inspect the records.
What it does not do. A download does not establish accuracy or applicability for a new setting.
Explore individual tests
What it is. A list of extracted test identifiers and their values.
What it shows. Conditions and recorded outcomes, grouped by test identifier. Each value has its recorded source; a quotation is shown where one was recorded. Flagged records are kept separate.
How to use it. Open Source and status below a value to read its provenance. Use the outcome filter and page controls to narrow the list.
Example. Select the outcome filter to find tests with an outcome field.
What it does not do. It does not establish experimental design or applicability to a new condition.
Explore materials and oxygen
What it is. An index of recorded material descriptions and oxygen values.
What it shows. Tests linked by the same investigation and test identifier, and the highest recorded ambient oxygen for each fuel phase where a match exists.
How to use it. Choose a material and show its recorded tests; point to a value to see its source.
Example. Choose a listed material to inspect its tests.
What it does not do. It does not establish a material's fire behaviour in a new environment or make a safety assessment.
Ready-made comparisons
What it is. Links to comparisons of related PSI investigations.
What it shows. The selected investigations side by side.
How to use it. Choose a group, or enter two to six accession IDs manually.
Example. Choose BASS vs BASS-II.
What it does not do. A difference in the table does not establish applicability.
Hardware families
What it is. Hardware groupings described in the challenge statement.
What it shows. The ACME, droplet and MSG families.
How to use it. Follow the challenge statement link for its hardware descriptions.
Example. FLEX and FLEX-2 used MDCA.
What it does not do. Shared hardware does not mean identical test conditions.
Evidence timeline (Lenses page)
What it is. A play/pause button and a year slider for the oxygen-pressure chart of PSI test points.
What it shows. The (oxygen, pressure) points of PSI tests, added in the year PSI gives for the end of each investigation; investigations with no date in PSI appear in the last frame. The Moon Base band (the same band as the Mission Planner) is an empty dashed outline. FM2's four planned tests are dotted and labelled "planned, not in PSI".
How to use it. Press Play to step through the years, or drag the slider to a year. With reduced motion set in your system, nothing plays by itself.
Example. Drag the slider to the earliest year and then to the last frame to see how the tested region grew.
What it does not do. It does not say when each test was run (PSI gives investigation dates, not test dates), and the FM2 points are not measurements.
Link to the materials index
What it is. A link from the oxygen-ceiling card on the Lenses page to the Materials and oxygen page.
What it shows. Every material name as written in PSI, with its investigations, tests and recorded conditions.
How to use it. Select the link, then choose a material.
Example. Open the link and pick a SIBAL or PMMA sample to see its tests.
What it does not do. It does not rank materials or say which is less flammable.
Earth applications links (More page)
What it is. Links next to each quoted Earth sentence on the More page: the investigation sheet and the PSI DOI.
What it shows. The investigation whose PSI record states the quoted sentence.
How to use it. Select the investigation name to open its sheet, or the DOI to open the PSI record.
Example. Open the BASS-II link to read its full research impacts field.
What it does not do. The sentences are what the PSI record states; PYRION does not check or extend them.
Fire-safety equipment & Earth cards (More page)
What it is. The links on the three cards at the top of the More page (detection, suppression, prevention): one link per PSI investigation the card is about, one link to the lens matrix filtered by that safety leg, and a link to the challenge page.
What it shows. Each card is made only of quotes, each followed by its source: a PSI record and field (for example PSI-69, field objective) or the NASA Space Apps 2026 challenge statement. A quote marked "part of a sentence" is a word-for-word part of one sentence of the challenge statement.
How to use it. Select an investigation name to open its sheet, or "Every investigation tagged ... in the lens matrix" to see all investigations whose PSI record has a quote for that leg.
Example. On the detection card, open SAME to read its PSI record, then open the detection lens to see which other investigations mention detection.
What it does not do. It does not rate any equipment, recommend a design or say how well a detector or an extinguisher works. The cards repeat what PSI and the challenge statement say; PYRION adds no claim of its own.
Safety-leg filter (Lenses page)
What it is. Links above the lens matrix that show all investigations or only those with a quote for one safety leg: prevention, detection or suppression. The same filter opens from a link such as /lenses?leg=detection.
What it shows. The matrix rows of the investigations whose PSI record (or the challenge statement) has at least one quote tagged with that leg, and how many there are. The number next to each leg is the count of tagged investigations.
How to use it. Select a leg to filter, or "all" to show every investigation again. The address of the page keeps the filter, so the view can be shared.
Example. Select detection to see SAME, SAME-R and the other investigations whose records mention detection.
What it does not do. It does not rank investigations within a leg, and an investigation left out has no quote for that leg in the fields read; that does not mean its research says nothing about it.
Proof link (Data page)
What it is. A button at the top of the Data page.
What it shows. It opens the Proof page.
How to use it. Click it.
Example. Go from the coverage table to the checks behind it.
What it does not do. It does not change the data.
Proof page overview
What it is. A page that gathers the evidence of rigor on one screen.
What it shows. The judge battery result, how many values are located in the NASA source by code, the validator's severities, the independent audits, the test counts, the sealed predictions with their Bitcoin block and the repository's time stamps. Every number is read from a repository file when the site is built.
How to use it. Read it top to bottom; each item has plain words first and links to the files for experts.
Example. Copy the three ots verify lines and check the sealed predictions yourself.
What it does not do. It does not run the checks live and it does not prove that the NASA data is right; it shows that PYRION's checks exist, what they found, and where to repeat them.
Proof page source links
What it is. The links in each section of the Proof page.
What it shows. The repository file behind the statement above the link, on GitHub.
How to use it. Click a link to open the file in a new tab.
Example. Open latest.md to read the validation report.
What it does not do. A link does not re-run anything; it shows the file.
10. Method
How the engine decides.
The evaluation, step by step
This is what the engine does every time you change a condition, in order. Nothing else happens; there is no hidden step.
- Read the evidence. The condition records come from PSI tables and documents, one record per measured value with the quote and the place it came from. Records flagged "insufficient evidence" by the extraction are never counted. (How records are extracted and checked is a separate process, described in the extraction chapters.)
- Read your condition. Gravity, fuel phase, diluent and flame type (regimes), and numbers such as oxygen and pressure. A gravity level is turned into a regime and only shown.
- Group the tests. The tests of each investigation that share the same regime values form a cluster.
- Check the regimes. A regime you set that differs from the cluster's gives "Not comparable". One that is missing or contradictory gives "Insufficient evidence".
- Check each number. Is your value inside the range the cluster's tests covered (with a 0.5 % tolerance)?
- Check oxygen and pressure together. Is the pair inside the region those tests cover (their convex hull, with the same tolerance)?
- Decide. Applicable if all is inside; Extrapolation if something is outside, with its level; Insufficient evidence if the records do not allow the check.
- Pick the best cluster for each investigation, attach the reasons and, when not comparable, the blockers.
- Count and summarize, and flag when no investigation was tested in your gravity regime.
Every sentence the engine writes comes from a fixed template, filled with numbers rounded for reading. The full-precision numbers stay in the structured result.
## For engineers
evaluate(records, target, options) (engine/src/verdict.ts:523):
validateTarget(target); optionsminimumStatus: 'extracted' | 'verified'(default'extracted'). Records come fromparseConditionCsv(engine/src/records.ts): fieldsaccession, test_id, variable, value, unit, value_original, unit_original, method, source_file, source_location, quote, status, note; variables are the regime axes, the continuous axes,fuel,material,geometry,flow_configuration,platformandoutcome:*; statusextracted | verified | insufficient_evidence; valueslo..hiare intervals.canonicalTarget.buildCorpus(engine/src/evidence.ts:170): normalization (AxisScale), tests, clusters.judgeCluster(verdict.ts:149) per cluster: regime axes; continuous axes (completetests = tests with values on every stated axis;axisChecks); plane check; verdict; distance; level; reasons (eachReason { code, informational, axis, message, technicalNote?, citations }).- Investigation verdict: clusters sorted by
compareRanked; first is the deciding cluster;blockerswhen INSUFFICIENT_EVIDENCE or REGIME_BARRIER;extrapolationLevelwhen EXTRAPOLATION. Evaluation { engine, target, openRegimeAxes, regimeUntested?, options, normalization, counts, investigations, ranked, unranked };ranked= APPLICABLE then EXTRAPOLATION clusters,unranked= INSUFFICIENT_EVIDENCE then REGIME_BARRIER clusters.
Engine version 0.2.0 (engine/src/types.ts:301). Tests: engine/test/verdict.test.ts, inputs.test.ts, judge.test.ts.
The evidence map
The map behind the chart shows, for every pair of oxygen and pressure on a grid, how many investigations are Applicable and how many Extrapolation, for the regime you selected. A darker cell has more investigations; extrapolation cells are shaded in three tones by how far outside the closest investigation is.
The map is not a separate model. Each cell gives exactly what the engine would answer if you typed that oxygen and pressure: this is tested on hundreds of random cells. The map is fast because the tested regions are computed once and each cell is only a quick check against them.
It only varies oxygen and pressure. If you also set flow, thickness or temperature, those are not part of the map.
## For engineers
evidenceMap(records, regime, { o2: [min, max, n], pressure: [min, max, n] }, options) (engine/src/navigator.ts:419) returns { regime, o2Values, pressureValues, cells[], maxApplicable, maxExtrapolation }; cells are row-major with pressure outer (cells[i * o2Values.length + j]), each { o2, pressure, applicable[], extrapolation[], extrapolationLevel? }.
Implementation: buildCorpus once; per cluster precompute the fixed regime state (barrier / unknown / incomplete / ok), per-axis ranges over the complete tests and the convex hull of the paired points (PreparedCluster); per cell apply the same rules as judgeCluster (per-axis tolerance inRange, hullContains || hullNearBox), the investigation takes its best cluster; extrapolationLevel uses relativeGap and levelFromRelativeGaps. linspace gives n values from min to max inclusive (n = 1 gives min); invalid grids throw RangeError.
Tests (engine/test/evidencemap.test.ts, levels.test.ts): 200+ random cells equal evaluate() on fixtures and on the real records; 60 × 60 on the real records, median of 5 warm runs about 100 ms here (design target 150 ms); the timing assertion is < 1000 ms and skipped when CI is set.
Units and conversions: every factor
Language models are bad at arithmetic: in a benchmark they put wrong numbers into an oxygen partial pressure. So models never convert units in PYRION; code does, with one table of factors that the engine shares with the validation script.
Pressure goes to kilopascals (kPa): 1 Pa = 0.001 kPa; 1 atm = 101.325 kPa; 1 bar = 100 kPa; 1 mbar = 0.1 kPa; 1 psi = 1 psia = 6.894757 kPa; 1 mmHg = 1 torr = 0.1333224 kPa. Gauge pressure (psig, barg, kPag) is refused, because the engine needs absolute pressure; plain "psi" is taken as absolute and says so.
Oxygen goes to a mole fraction: "34 %", "34 vol%", "34 percent" and "34 por ciento" are 0.34. A bare number above 1 is read as a percent and one up to 1 as a fraction, and the result says which rule it applied; a written unit always wins ("0.34 %" is 0.0034, with a warning).
Flow: 1 m/s = 100 cm/s; 1 mm/s = 0.1 cm/s. Thickness in millimetres: 1 cm = 10 mm; 1 µm = 0.001 mm; 1 in = 25.4 mm; 1 m = 1000 mm. Temperature in kelvin: K = °C + 273.15.
Values that look like a unit slip (for example 200 % oxygen, or a negative pressure) are errors with a plain sentence, not guesses. Values outside a plausible window for a habitat (oxygen 5 to 60 %, pressure 20 to 120 kPa) are accepted but come with a warning. Those windows are PYRION's, not NASA's.
## For engineers
Table in engine/src/quantity.ts (copy of TO_KPA, CONVERSIONS, BOUNDS of validation/run_all.py; a test compares them):
TO_KPA(line 88): kpa 1.0, pa 0.001, atm 101.325, bar 100.0, mbar 0.1, psi 6.894757, psia 6.894757, mmhg 0.1333224, torr 0.1333224.TO_FRACTION(line 99): '' and '1' and 'mole fraction' and 'fraction' 1.0; '%', 'percent', '% by vol', '% by volume', 'percent by volume', 'vol%', 'vol %' 0.01. Aliases: 'mol%', 'mol %', 'mole%', 'mole %', 'vol. %' as %; 'per cent', 'mol percent', 'mole percent', 'por ciento', 'porciento' as percent. A trailing "O2", "oxygen", "of oxygen", "de oxígeno" is ignored.TO_CM_S(line 112): cm/s 1.0, mm/s 0.1, m/s 100.0.TO_MM(line 113): mm 1.0, cm 10.0, um and µm and micron(s) 0.001, in 25.4, m 1000.0.TO_K_OFFSET(line 123): k 0, c and °c and degc 273.15 ("degrees C", "Celsius" also).BOUNDS(line 125, inclusive): o2_mole_fraction [0, 1]; pressure [0.1, 2000] kPa; flow_velocity [0, 1000] cm/s; sample_thickness [0, 200] mm; ambient_temperature [100, 4000] K; gravity_level [0, 3] g. Outside: errorout_of_range(for oxygen,percent_out_of_range), message "<axis> <typed> (<converted>) is outside the plausible range A to B; this usually means the wrong unit."HABITAT_WINDOWS = { o2_mole_fraction: [0.05, 0.6], pressure: [20, 120] }(line 184): warnings only, labelled "PYRION plausibility window, not a NASA value".KPA_PER_PSI = 6.894757293168361(engine/src/presets.ts:8) is used to show psia next to kPa in sentences; the table factor 6.894757 differs from it by less than 1e-7 (relative); the table is the authority for conversions.
Decimal comma: 0,165 and 8,2 are decimals (a comma after a leading 0, or followed by 1 or 2 digits, or 4 or more); "101,325" and "1,000" (nonzero integer part and exactly 3 digits) or several commas are refused with "write 101.325 (decimal point) or 101325 (no separator)". Vocabulary: "1 atm", "1 atmosphere", "sea level", "normal air pressure" = 101.325 kPa with a note; "kPa abs", "psia (absolute)" accepted; "psi(g)" refused.
The calculators the chat uses (web/lib/expert/calculators.ts) call the same table.
Reading a question: code first
When you type a question, code reads it first. A deterministic extractor looks for what it can recognise with certainty: an oxygen figure next to the word oxygen, a pressure with its unit, a gravity as "0.165 g" or a word like "Moon", "Luna", "microgravity", "freefall" or "on the ground". It hands back the words exactly as you wrote them; the unit conversion is done afterwards by the conversion table, never by a model.
The extractor never guesses. If a number cannot be assigned, it is set aside as "left over" and reported. Some examples of what it will not assume:
- "a 2 mm sheet" is not a thickness (a length may be a width); only "2 mm thick" is.
- "ppO2 of 21 kPa" is a partial pressure, not the total pressure the engine needs: it is not used, and it says why.
- Two different pressures in one question are not resolved by picking one; both are reported.
- A gravity number that disagrees with a gravity word ("lunar base at 1 g") is reported, not resolved.
- Typos ("oxigen") are not corrected.
What the extractor cannot read is left for the next step, where TARS SI (a language model) may help to understand the question, but never to convert or compute: its numbers must come from code.
## For engineers
extractQuantities(question) (engine/src/extract.ts:83) returns { gravity?, o2?, pressure?, flow_velocity?, sample_thickness?, ambient_temperature?, leftover[], issues[] } (raw substrings of the question), ready for targetFromQuantities (engine/src/quantity.ts:682). Text is folded (lower case, accents removed, same length) for matching only; the raw string is sliced from the original.
Rules:
- Numbers:
NUMBER_REexcludes numbers inside words and codes ("PSI-12", "ppO2", "H2O"). - Oxygen: a number followed by
%,percent,per cent,por ciento,vol%,mol%with an oxygen word (`o2`, `oxygen`, `oxigeno`) within 30 characters; or "oxygen fraction of 0.34" / "fracción molar de oxígeno de 0,34" (the number alone). - Pressure: number +
kpa|pa|atm|atmosphere(s)|bar|mbar|psia|psig|psid|psi|mmhg|torr|barg|kpag(+ "abs" / "(g)" qualifiers; a gauge unit is kept so the parser refuses it); phrases "sea level pressure", "normal/standard air pressure", "nivel del mar", "presión normal". A number within 25 characters afterpp O2, "partial pressure" or "presión parcial" is an issuepartial_pressureand goes toleftover. - Gravity: number +
g/gE/g0or1/6 g; keywords as whole words (GRAVITY_KEYWORDS,engine/src/quantity.ts): moon, lunar, luna; mars, martian, marte, marciano; earth, ground, terrestrial, tierra, terrestre, normal gravity; microgravity, microgravedad, freefall, free fall, weightless, orbit, orbital, ISS, ingravidez, caída libre, gravedad cero, zero-g, micro-g, µg. Two classes: issueambiguous_gravity; number and keyword disagreeing: issuegravity_conflict. - Flow, thickness, ambient temperature: number + unit and a context word within 40, 30 and 40 characters (
flow|wind|velocity|flujo,thick|espesor|grosor,ambient|room temperature|cabin temperature|ambiente). - Several values for one quantity: kept only if all parse and agree within 0.5 %; otherwise issue
multiple_valuesand all go toleftover.
parseQuantity also finds gravity keywords anywhere in a text that does not start with a number (gravityFromKeywords); two classes give ambiguous_gravity. Tests: engine/test/extract.test.ts over the 31 questions and 11 traps of validation/judge_battery/questions.json (English and Spanish).
Coverage is not safety (Method)
What it is. A standing sentence about what coverage means.
What it shows. That covered means inside the region spanned by measured test points (between tests, within the 0.5 % tolerance; not necessarily a test at that exact condition), not that flammability behaves the same there.
How to use it. Read it before quoting any coverage figure.
Example. 0 % covered says no PSI test region reaches there; it does not say a flame is safe or unsafe.
What it does not do. It is not a button and it does not change any number.
The three-part answer: what is known, unknown, and next
TARS answers in three parts, built from the engine's results:
- What PSI supports. The investigations that are Applicable for your condition, each with its receipts (the records behind the statement, with DOI). If there are none, the answer says so: "Nothing in PSI applies directly to this condition."
- Where the evidence ends, and why. Whether PSI has any test in your gravity regime; which investigations are just outside, outside or far outside the tested data; and which are not comparable for which reason, grouped with counts.
- What to do next. At most three of the nearest routes (regime switches labelled), and the "What would close this gap" proposal.
A fingerprint and the list of steps (which engine tools actually ran) close the answer, so it can be re-checked.
The same facts come out in the easy and the advanced wording. Easy is shorter, uses no numbers beyond oxygen %, pressure and gravity, and avoids acronyms; advanced adds numbers with units, levels and counts. Take away the words and the two answers are identical.
## For engineers
threePartAnswer(records, target, { catalog?, mode: 'easy' | 'advanced', minimumStatus? }) (engine/src/answer.ts:87) returns { mode, engine, target, known[], unknown[], next[], fingerprint, steps[] }.
known[]:{ sentence, citations: [{ accession, acronym?, doi?, recordIds[] }] };recordIdsareaccession|test|variable|source file|locationfrom the inside-range and inside-hull reasons of the deciding cluster.unknown[]: kindsregime(regimeUntestedfirst, then barrier blockers by axis),outside(one item per extrapolation level,EXTRAPOLATION_LEVEL_ORDER),insufficient(blockers bycode|axis), each withcountandaccessions.next[]: up to 3 routes (routesToEvidence), then{ kind: 'proposal', action: { label: EXPERIMENT_LABEL, gapKind, pointCount, firstPriority? } }.steps:evaluate, thenroutesToEvidenceandexperimentsNeededonly when some investigation is not APPLICABLE.fingerprint:sha256Hex(canonicalJson(evaluation)).
Easy-mode rules (tested, engine/test/answer.test.ts): digits only for oxygen %, pressure (kPa/psia) and gravity; no acronym except "NASA"; counts as words ("one", "two", "three", "several"). Facts identical across modes: removing every sentence field makes the two answers deep-equal.
Method page overview
What it is. The page that explains how PYRION decides.
What it shows. Axes, verdicts, ranking, the receipt, checks and the role of a language model.
How to use it. Read the sections in order.
Example. Read "The four verdicts".
What it does not do. It documents the engine; it does not run it.
Two kinds of axes
What it is. A section.
What it shows. Regime axes (barriers) and continuous axes (compared inside hulls).
How to use it. Read it first.
Example. Gravity is a regime axis.
What it does not do. It explains why different regimes are never compared.
The four verdicts
What it is. A section.
What it shows. Applicable, Extrapolation, Insufficient evidence, Not comparable.
How to use it. Read the definitions.
Example. See what makes a verdict insufficient.
What it does not do. It defines words; the cards apply them.
Ranking
What it is. A section.
What it shows. How investigations of the same verdict are ordered by normalized distance: condition similarity on the axes you set, not scientific relevance.
How to use it. Read it.
Example. See why nearest comes first.
What it does not do. Rank is not quality or relevance. Equal distances are ordered by PSI accession number. A regime barrier means not directly applicable; for gravity in particular, microgravity and normal-gravity results could bound intermediate gravity (challenge statement).
The receipt
What it is. A section.
What it shows. What a receipt contains.
How to use it. Read it.
Example. See the file and location.
What it does not do. A receipt is evidence of extraction, not of correctness of the experiment.
What the checks cover and what they do not
What it is. A section.
What it shows. The validation checks and their limits.
How to use it. Read it.
Example. See what the validator cannot catch.
What it does not do. It lists limits honestly.
What an LLM does here
What it is. A section.
What it shows. The language model only translates questions and adds checked context.
How to use it. Read it.
Example. See that verdicts come from code.
What it does not do. It does not describe future features as working.
Back to the envelope
What it is. A link.
What it shows. Goes to the Envelope page.
How to use it. Click it.
Example. Return after reading.
What it does not do. It does not keep a condition.
See the data coverage
What it is. A link.
What it shows. Goes to the Data page.
How to use it. Click it.
Example. Check coverage.
What it does not do. It does not change anything.
11. Glossary
Every term used on the site.
Accession (PSI-nn)
The identifier PSI gives each investigation, written like PSI-25. Every result in PYRION names the investigation by its accession, so you can find it in the archive. An accession is an identifier, not a number to calculate with.
## For engineers
Format PSI-<number>; sorted numerically by compareAccession (engine/src/evidence.ts). The manifest data/manifest/investigations.csv maps accession to acronym, title and DOI (parseInvestigationCatalog, engine/src/experiments.ts).
Blocker
A blocker is the fixed reason why an investigation is not comparable with your condition: something was not recorded, cannot be used, was tested only in another regime, and so on. A blocker has a code, a plain sentence and sometimes an action.
## For engineers
Blocker { code, axis, testedValues?, sentence, action? }; codes AXIS_NOT_RECORDED, NO_USABLE_VALUE, REGIME_NOT_TESTED, RECORDS_DISAGREE, AXES_NOT_RECORDED_TOGETHER, VALUES_NOT_PAIRED (engine/src/types.ts; produced by blockersOf, engine/src/verdict.ts:100). See "Why an investigation is not comparable: the blocker codes".
Cluster
The tests of one investigation that were run in the same regime. An investigation with tests in air and tests in a helium mix has two clusters; each gets its own verdict and the best one becomes the investigation's verdict.
## For engineers
Cluster { accession, key, regime, tests }, key from regimeKey over REGIME_AXES (engine/src/evidence.ts). One verdict per cluster (judgeCluster).
Condition record
One measured value of one test of one investigation, with the unit as written, the exact quote it came from and where the quote is (file and location). The engine only knows what is written in these records.
## For engineers
Fields: accession, test_id, variable, value, unit, value_original, unit_original, method, source_file, source_location, quote, status, note (RECORD_FIELDS, engine/src/types.ts; validated by parseConditionCsv, engine/src/records.ts). test_id * applies to every test of the investigation unless the test has its own record for that variable.
Continuous axis
A setting that is a number: oxygen fraction, pressure, flow velocity, sample thickness and a few others. Compared by range and, for oxygen with pressure, by region. The opposite is a regime axis, which is a category.
## For engineers
CONTINUOUS_AXES (engine/src/types.ts): o2_mole_fraction, burner_o2_mole_fraction, pressure (kPa), flow_velocity (cm/s), sample_thickness (mm), droplet_diameter_initial (mm), ambient_temperature (K), gravity_level (g). gravity_level is informational and never compared.
Glossary of terms
Regime: the physical situation (gravity, fuel phase, diluent, flame type). Different regimes are not compared.
Convex hull: the smallest outline containing an investigation's measured oxygen and pressure points; inside it counts as tested.
Diluent: the gas that fills most of the atmosphere besides oxygen. Normal flame: fuel on one side, oxygen from the surrounding gas. Inverse flame: oxygen from a burner into a surrounding fuel gas.
psia is absolute pressure; kPa is shown first, psia in brackets.
PYRION convention
A choice PYRION made that is not a NASA value and is labelled as such wherever it affects a result: the 0.5 % tolerance, the 0.01 g microgravity cut, the 0.9 to 1.1 g normal band, the 10 % and 30 % extrapolation levels, the plausibility windows, and the test-matrix steps for pressure.
## For engineers
MEASUREMENT_TOLERANCE_NOTE, MICROGRAVITY_CONVENTION_NOTE, NORMAL_GRAVITY_CONVENTION_NOTE, EXTRAPOLATION_LEVEL_NOTE, TEST_MATRIX_NOTE, HABITAT_WINDOWS (see "Limits and honesty" for the list).
Different regime (route)
A route that needs a change of regime, for example from partial gravity to microgravity. It is always ranked after every route that does not need one, and always labelled "another regime, not a small step".
## For engineers
Route.kind === 'different_regime' iff any change has kind: 'switch_regime' (engine/src/navigator.ts); compareRoutes gives it tier 1.
DOI
A permanent web identifier for a published dataset. Every PSI investigation has one, and PYRION shows it with every result that rests on that investigation. NASA technical reports (NTRS) and NASA standards have no DOI; they are cited by their NTRS number or URL instead.
## For engineers
Stored in data/manifest/investigations.csv (doi column) and passed to the engine as a catalog; NASA_STD_6001B.doi is null on purpose.
Evidence map
The shaded background of the chart: for each oxygen and pressure on a grid, how many investigations are Applicable and how many Extrapolation, for the selected regime. See "The evidence map".
## For engineers
evidenceMap(...) (engine/src/navigator.ts:419); each cell equals evaluate() for that oxygen and pressure.
Extrapolation level
How far outside the tested data an Extrapolation verdict is: inside each tested range but this combination was not tested, just outside (up to 10 %), outside (up to 30 %) or far outside (more than 30 %). It measures distance from the tested data, not reliability or safety.
## For engineers
ExtrapolationLevel, EXTRAPOLATION_LEVELS = { just_outside: 0.1, outside: 0.3 }, EXTRAPOLATION_AXIS_FLOOR = 0.05 (engine/src/levels.ts).
Fingerprint
A 64-character code computed from the whole result. Same question, same data, same engine: same fingerprint. A different fingerprint means something changed.
## For engineers
sha256Hex(canonicalJson(evaluation)) (engine/src/answer.ts, engine/src/sha256.ts:34).
Gravity regime: microgravity, partial gravity, normal gravity
The three gravity situations PSI's tests are sorted into: microgravity (as aboard the ISS or in a drop tower), partial gravity (the Moon, Mars) and normal gravity (the ground). A gravity level you type is turned into a regime with PYRION conventions: below 0.01 g microgravity, 0.01 up to 0.9 g partial, 0.9 to 1.1 g normal, above that not covered.
## For engineers
REGIME_VALUES.gravity_regime = ['microgravity', 'partial_gravity', 'normal_gravity']; regimeOfLevel (engine/src/quantity.ts:399); MICROGRAVITY_BELOW_G = 0.01, NORMAL_GRAVITY_BAND = { lo: 0.9, hi: 1.1 }.
Gravity level (informational)
The number of g you typed. It is shown and it selects the regime, but it is not compared with anything, because no PSI record states a gravity level.
## For engineers
Target.informational.gravity_level (engine/src/types.ts); a continuous.gravity_level in a target is moved there by routesToEvidence, experimentsNeeded and threePartAnswer.
Investigation
One entry of the PSI archive (NASA Physical Sciences Informatics): a research project with its tests, its data and its DOI. PYRION judges each investigation separately.
## For engineers
Identified by its accession; verdict = best verdict of its clusters (evaluate, engine/src/verdict.ts:523).
Leave open
Not stating an axis, so it is not compared. Allowed as a route step only for fuel phase, diluent and flame type, when an investigation did not record them. Never for gravity, oxygen, pressure or any other number you set.
## For engineers
RouteChange.kind === 'leave_open'; enforced in planCluster (engine/src/navigator.ts:120) and blockersOf (engine/src/verdict.ts:100).
Margin point
A point of the proposed test matrix with a higher oxygen partial pressure than your target: more severe than your target, so it shows how much room there is.
## For engineers
MatrixPoint.marginPoint iff o2 × pressure exceeds the target's (engine/src/experiments.ts).
Measurement tolerance
The 0.5 % of your own value by which you may miss a tested range or region and still count as inside. It stops 101.3 kPa and 101.325 kPa from giving different verdicts. A PYRION convention.
## For engineers
MEASUREMENT_TOLERANCE_REL = 0.005 (engine/src/types.ts:175).
NTRS
The NASA Technical Reports Server: where NASA's published papers, presentations and reports live. PYRION cites them by NTRS number (for example NTRS 20260001966) and by PDF page.
## For engineers
NTRS documents have no DOI; the NTRS id is the identifier (SourceRef.identifier, engine/src/presets.ts). Page numbers are PDF pages, with the printed slide number beside them when the PDF has one (the slide number is the PDF page minus one for NTRS 20260001966).
Oxygen partial pressure
The share of the total pressure that is oxygen: oxygen fraction times total pressure. 34 % oxygen at 8.2 psia is 2.788 psia of oxygen; 21 % at 14.7 psia is 3.087 psia. It is computed by code, never by a language model.
## For engineers
o2PartialPressure(o2, pressure) (web/lib/expert/calculators.ts) parses with parseQuantity and uses the table TO_KPA (psia 6.894757). Margin points of the test matrix are defined on it.
PSI
NASA's Physical Sciences Informatics archive of microgravity and combustion experiments. PYRION only knows what it extracted from PSI records, so it always says "in PSI" and never "no data exists".
## For engineers
Records come from the PSI investigations listed in data/manifest/investigations.csv; PYRION text uses "in PSI" by rule (engine/src/answer.ts).
Target
The condition you are asking about: oxygen, pressure and a gravity regime, plus any other axes you set. The marker on the chart.
PYRION proposal
A plan PYRION suggests, always labelled "PYRION proposal (a testable plan, not a NASA plan)". Quotes from NASA inside it are word for word, with document and page.
## For engineers
EXPERIMENT_LABEL (engine/src/experiments.ts:13).
Scenario (preset)
A target taken from a NASA source, such as the ISS cabin air. Changing any control leaves the scenario, and the page then says Your condition.
Receipt
The records, with their sources and DOI, that stand behind a statement. A verdict or an answer without a receipt cannot be checked, so every result carries one.
## For engineers
Reason.citations and AnswerCitation.recordIds (engine/src/verdict.ts, engine/src/answer.ts): accession|test|variable|source file|location.
Show on the envelope
A button in a TARS answer that loads the answer's condition into the dashboard, replacing your controls.
Help mode
A switch in the ? menu. While it is on, clicking an element opens its topic and does not run the element's action.
Regime
A situation that changes the physics of the flame so much that two investigations in different regimes are not near each other, however similar their numbers: gravity regime, fuel phase, diluent gas, flame type. No distance is defined across a regime.
## For engineers
REGIME_AXES = ['gravity_regime', 'fuel_phase', 'diluent', 'flame_type'], values in REGIME_VALUES (engine/src/types.ts).
Layer (engine, NASA, expert)
One of the three kinds of block in a TARS answer: computed by code, quoted from NASA and checked, or TARS's own explanation, labelled unverified.
Region covered by tests (hull)
On the oxygen-pressure chart, the smallest convex shape that contains all the points an investigation's tests measured: the region its tests cover. Inside it (with the 0.5 % tolerance) your condition is Applicable; outside, Extrapolation.
## For engineers
Convex hull (Andrew's monotone chain, convexHull, engine/src/geometry.ts:25) of the points normalized by the axis scales; hullContains (line 70, EPS = 1e-9), hullNearBox (line 88). One point and one segment are valid (degenerate) hulls.
Hypothetical
A simulated test added in memory for a what-if answer. It is not a measurement and is never saved.
Route
The smallest change to your condition that would make a given investigation comparable: move a number, leave an axis open, or switch regime. Each route is checked by the engine before it is shown.
## For engineers
Route (engine/src/navigator.ts): kind, changes[], changeCount, distance, target, sentence.
Device id
A random number in a cookie that lets each browser have its own rate-limit allowance. It carries no personal data.
Record status
How far a record has been checked: extracted (read from the source with its quote), verified (a person checked it against the source) or insufficient evidence (the source does not state it clearly enough; never counted).
## For engineers
RecordStatus = 'extracted' | 'verified' | 'insufficient_evidence'; EngineOptions.minimumStatus selects 'extracted' (default) or 'verified' (engine/src/types.ts, counts in engine/src/evidence.ts).
Technical note
The figures that only specialists need (normalized distances, test identifiers) kept apart from the sentence everybody reads.
## For engineers
Reason.technicalNote (engine/src/types.ts).
Transfer analog
A PSI test whose flame stretch rate falls inside the stretch rate expected from buoyancy at another gravity level. A hypothesis, never evidence.
Test
One run of an experiment inside an investigation (one test_id). A test has its own measured values.
## For engineers
TestEvidence (engine/src/evidence.ts); testPoints returns its measured points on given axes, or null when pairing is unknown.
Test matrix
The set of conditions proposed around your target: oxygen plus and minus 4 and 8 points, pressure plus and minus 15 %, up to 15 points.
## For engineers
TEST_MATRIX_O2_OFFSETS_POINTS, TEST_MATRIX_PRESSURE_FRACTIONS (engine/src/experiments.ts:16-17).
Unreachable route
An investigation for which no honest route exists (for example it did not record the pressure you set). It is listed with its reason, never silently skipped.
## For engineers
RouteSet.unreachable[{ accession, reason }] (engine/src/navigator.ts).
12. Limits and honesty
What PYRION does not claim.
What the engine does not do
PYRION's engine is a filing and comparison system with strict rules. It is not a fire simulator. Specifically, it does not:
- Simulate or predict flames. There is no solver and no CFD. It never says how a flame would behave on the Moon.
- Interpolate behaviour. "Inside the tested region" means the numbers are within what was measured. It does not claim the flame behaves smoothly between measurements: combustion can change abruptly near limits such as extinction.
- Say that something is safe or unsafe. A verdict is about comparability with recorded tests, nothing more.
- Cross regimes. A different gravity, fuel phase, diluent or flame type is a different situation, never a "long distance".
- Fill in what a record does not state. If the extracted records of an investigation do not state something, the engine says so ("insufficient evidence") and does not assume it.
- Know anything outside PSI. It speaks only about the PSI records it has. It says "in PSI" and never "no data exists".
- Read documents or the web on its own. It reads condition records; they are extracted, with quotes, by a separate process that checks every number against its source.
- Use a language model to decide. See "The model never decides".
What it does do is small and checkable: it compares your condition with each investigation's recorded conditions, by fixed rules, and shows its work.
## For engineers
Structural reasons in the code:
- No physics model:
engine/srccontains geometry (engine/src/geometry.ts), unit conversion (engine/src/quantity.ts), comparison rules (engine/src/verdict.ts) and text builders; the stretch-rate and chamber-balance modules (engine/src/stretch.ts,engine/src/fm2.ts) are labelled hypotheses and instrument arithmetic respectively (see "Hypotheses and proposals"). - Regimes are barriers:
distance = nullacross a barrier (engine/src/verdict.ts). - Unknown is a result:
INSUFFICIENT_EVIDENCE; records with statusinsufficient_evidencenever count (counts,engine/src/evidence.ts). - Wording rules enforced by tests: no "no data exists", no "undefined", no snake_case or enum names in sentences, at most 4 significant figures (
engine/test/wording.test.ts,answer.test.ts). - Dependencies: zero; the engine imports no Node module except
engine/src/load.ts(file reading for tests and the CLI).
The model never decides
A language model is used for two jobs only: understanding what you typed and wording an answer. It is never allowed to decide a verdict, convert a unit or do arithmetic.
- Verdicts come from the engine's rules. Swap the model and the verdict, and the fingerprint, do not change.
- Units and numbers come from code. When a model must quote a number (an oxygen partial pressure, a conversion), it has to call a calculator, and the number it writes must be the one the calculator returned. In a benchmark of three models on expert questions, all three put at least one wrong number in; that is why this rule exists.
- Quotes from NASA are checked by code: the quote must be on the page of the document the model cites, with the numbers exactly as written (1.5 is never accepted for 15). If the quote is not there, the whole statement is dropped and not shown.
- General background knowledge is allowed, but it is always labelled "TARS own reasoning — not verified against a source", and any number in it that does not come from a calculator or a verified quote is replaced by "[number removed: not from a source]".
A model can still misunderstand a question. That is why the extractor reads the question first by code, shows you what it understood, and lets you correct it before anything is computed.
## For engineers
threePartAnswer(engine/src/answer.ts:87) builds the content from engine results; the model only words it.checkAnswer(answer, { corpus, engine, tools })(web/lib/expert/claims.ts): layersnasa,engine,expert.nasa: every citation must passcitationProblem(document and page exist, at least 15 letters,quoteFoundletters-only match with elisions,numbersFoundnumbers as written: same rules asvalidation/run_all.py); one failure drops the block, its text is not in the output.engine: needs a reference to an engine output; numbers (also ×100 for fractions) and ids (PSI-nn, DOI) must be in it, else dropped.expert: labelEXPERT_LABEL; untraced numbers replaced byNUMBER_REMOVEDand logged inreport.flaggedNumbers.- Calculators (
web/lib/expert/calculators.ts):o2PartialPressure,convertPressure,convertTemperature,compareAtmospheres,gravityValue; each returnsprovenance: "computed by code (...)". - Extraction first:
extractQuantities(engine/src/extract.ts:83).
The conventions PYRION chose (not NASA values)
Some numbers in PYRION are not measurements and not NASA's: they are choices made so that the tool is usable. They are listed here, each with the reason, and each is shown as a convention wherever it changes a result.
- 0.5 % measurement tolerance. So 101.3 kPa and 101.325 kPa are the same condition.
- Below 0.01 g is microgravity. NASA's chart shows 1e-4 g and 1e-2 g on one continuous axis, so this cut is a modelling choice.
- 0.9 to 1.1 g is normal gravity. A band so that 0.998 g is not "partial".
- Above 1.1 g: not covered. No PSI regime exists there.
- Extrapolation levels at 10 % and 30 %. To make the word "extrapolation" informative; the axis floor is 5 % of the axis range.
- Plausibility windows for habitat questions: oxygen 5 to 60 %, pressure 20 to 120 kPa. They only trigger a warning.
- Test matrix. Oxygen steps of 4 and 8 points (the 4-point step follows FM2's own steps) and pressure steps of 15 %.
- Order of priority of the proposal: untested regime, then solids, then far outside, outside, just outside.
If you disagree with one of these, the constants are named in the code and the reasoning is in the matching topic; the engine would be re-run with another value, and the results would change accordingly. Nothing here is hidden.
## For engineers
| Convention | Constant | Location |
|---|---|---|
| tolerance | MEASUREMENT_TOLERANCE_REL = 0.005 | engine/src/types.ts:175 |
| microgravity cut | MICROGRAVITY_BELOW_G = 0.01 | engine/src/quantity.ts:385 |
| normal band | NORMAL_GRAVITY_BAND = { lo: 0.9, hi: 1.1 } | engine/src/quantity.ts:392 |
| gravity bound | BOUNDS.gravity_level = [0, 3] | engine/src/quantity.ts:125 |
| level thresholds | EXTRAPOLATION_LEVELS = { just_outside: 0.1, outside: 0.3 } | engine/src/levels.ts:14 |
| axis floor | EXTRAPOLATION_AXIS_FLOOR = 0.05 | engine/src/levels.ts:17 |
| plausibility windows | HABITAT_WINDOWS = { o2_mole_fraction: [0.05, 0.6], pressure: [20, 120] } | engine/src/quantity.ts:184 |
| matrix steps | TEST_MATRIX_O2_OFFSETS_POINTS = [-8, -4, 0, 4, 8], TEST_MATRIX_PRESSURE_FRACTIONS = [-0.15, 0, 0.15] | engine/src/experiments.ts:16-17 |
Each has a note constant (MEASUREMENT_TOLERANCE_NOTE, MICROGRAVITY_CONVENTION_NOTE, NORMAL_GRAVITY_CONVENTION_NOTE, EXTRAPOLATION_LEVEL_NOTE, TEST_MATRIX_NOTE) that begins "PYRION convention, not a NASA value" or says "PYRION design convention, not a NASA design", and the plausibility warnings say "PYRION plausibility window, not a NASA value". Tests check these strings (engine/test/judge.test.ts, levels.test.ts, quantity.test.ts, experiments.test.ts).
What the data can and cannot tell you
Everything PYRION says rests on condition records extracted from PSI investigations: tables and documents, one value at a time, with the quote it came from. That has consequences, stated plainly:
- Only PSI. Experiments outside PSI do not exist for PYRION. A condition with no comparable investigation here may have been tested elsewhere; PYRION says "in PSI".
- Only what was extracted. If a table has a column PYRION has not extracted, or states a regime in a figure rather than in text, the investigation shows as "insufficient evidence" for that point. That is a limit of the extraction, not a finding about the experiment.
- Unverified is not wrong, but it is not checked. Records are extracted with their quotes and the numbers are located in the source by code; a record is "verified" only after a person has compared it with the source. Verification wording appears in a result only if you ask the engine to count only verified records.
- Ranges and approximate values. A range like 15 to 25 % counts as both ends; "about 21 %" is stored as 21. The engine does not know the uncertainty of a measurement unless the source states it.
- Several regimes in one investigation are judged cluster by cluster; an investigation can be Applicable in one regime and not comparable in another.
- The numbers change as extraction advances. More records can turn "insufficient evidence" into a verdict. Counts quoted in this encyclopedia are not fixed; what is fixed is the rules.
When the data cannot answer, the engine says exactly what is missing and what would help (routes, and "What would close this gap").
## For engineers
- Record validation (
parseConditionCsv,engine/src/records.ts): required fields, allowed variables (regime axes, continuous axes,fuel,material,geometry,flow_configuration,platform,outcome:*), statusesextracted | verified | insufficient_evidence, rangeslo..hi, rejected rows reported with file and line (ParseResult.rejected). - Counting:
counts(status, minimum)inengine/src/evidence.ts:insufficient_evidencenever counts;minimumStatus: 'verified'dropsextracted.Evaluation.countsreportsrecordsUsed,recordsFlaggedInsufficient,recordsBelowMinimumStatus. - Missing regimes:
RegimeState.statemissing(no usable record) orconflicting(several values);regimeUntestedwhen the target regime is stated by no cluster (engine/src/verdict.ts). - No uncertainty model: values are numbers, ranges are intervals; the only tolerance is the 0.5 % convention.
- The condition records are produced and audited outside the engine (extraction and validation;
validation/run_all.pychecks quotes, numbers and units of every record); the engine takes them as given.
PYRION is not a safety tool
Nothing PYRION says is a statement that a material, a cabin atmosphere or a design is safe, or unsafe.
- Applicable means your numbers fall within what a recorded investigation tested, in the same regime. It does not mean the same result would happen to your material or geometry.
- Extrapolation levels measure distance from the tested data, not how reliable or safe a condition is. NASA's own work notes that flames can change abruptly near limits, so even "just outside" is an extrapolation.
- Material selection for spacecraft is governed by NASA's standards and tests. PYRION quotes what the NASA standard NASA-STD-6001B measures (for example maximum oxygen concentration and burn length in Test 1), but it does not apply the standard and does not replace it.
- "What would close this gap" is a testable plan proposed by PYRION. It is not a NASA plan and has not been reviewed or approved by anyone at NASA.
No one at NASA has endorsed, validated or reviewed PYRION, and the phrase "validated by NASA" must never be applied to it. Checks mentioned in the project (cross-checks by separate AI reviewer agents) are internal; they are not a NASA review or expert validation.
## For engineers
Code-level guarantees:
EXTRAPOLATION_LEVEL_NOTE(engine/src/levels.ts:19): "PYRION convention: these levels measure distance from the tested data, not how reliable or safe the condition is; combustion can change abruptly near limits (e.g. extinction), so even "just outside" is an extrapolation." Attached astechnicalNoteto everyextrapolation_levelreason.EXPERIMENT_LABEL(engine/src/experiments.ts:13) heads every proposal.- NASA-STD-6001B appears only as a quoted list of what its Test 1 measures (
TESTING_MEASURES, PDF pp. 28-30) withdoi: null. - Wording tests forbid unsupported claims in engine sentences (
engine/test/wording.test.ts: no snake_case or verdict codes, "verified" only with the verified-only option).
What the AI does and does not do
The language model never decides a verdict, and it never supplies a number. It may translate a question into a target, and it may add a short description of that target that code checks sentence by sentence.
Verdicts, counts, distances and every figure come from the deterministic engine. If a value cannot be verified, the answer is "insufficient evidence". PYRION states what PSI contains ("in PSI"), never that no data exists anywhere.
Hypotheses and proposals are not evidence
Two parts of PYRION go beyond comparing recorded conditions, and both are labelled so they cannot be taken for evidence.
The bridge from microgravity to the Moon (a hypothesis). In some flames, the flow of gas past the sample matters in much the same way as gravity does: a "stretch rate" is a number that combines them. NASA papers give formulas for it. PYRION uses them to ask: could a microgravity test with this flow be in the same stretch range as a flame at lunar gravity? A test whose range falls inside is a candidate analog hypothesis. It is never counted as evidence and never makes an investigation Applicable. The limits are stated with every result: the formulas are for round samples (cylinders, rod tips), not flat sheets; the effect of gravity depends on the material; the sample size and test duration differ between an ISS glovebox, a centrifuge drop (about 5 s) and the lunar surface; pressure is a separate axis that the stretch equivalence does not cover; and it is a hypothesis that an experiment like FM2 is designed to test.
The FM2 chamber arithmetic. A closed-chamber oxygen balance computed from FM2's published chamber volume, pressure and starting oxygen. It is arithmetic about an instrument, with every assumption stated (ideal gas, fixed temperature, products ignored); it is not a flame model.
"What would close this gap" is a proposal, labelled as one.
## For engineers
engine/src/transfer.ts: TRANSFER_HYPOTHESIS results have kind: 'TRANSFER_HYPOTHESIS', evidenceClass: 'hypothesis', countsAsApplicable: false; they are reported in addition to REGIME_BARRIER and never change evaluate(). Limits (TRANSFER_LIMITS, engine/src/transfer.ts:107): geometry (stagnation-point flow on curved bodies; flat fabric sheets have no radius R, so no stretch rate); material dependence (NTRS 20250006779, pp. 18-19); scale and time; pressure stays a separate axis; "It is a hypothesis."
Formulas (engine/src/stretch.ts): forced stretch of a cylinder a_f = 2 U / R (NTRS 20000004509 p. 3), rod tip a_f = 3/2 U / R (NTRS 20150008961 p. 7), buoyant a_b = [((T* - Te)/T*) g/R]^1/2 (NTRS 20000004509 p. 11, Eqn. 1; a differently printed form on p. 3 is documented as a discrepancy and not used), mixed a = sqrt(a_f² + a_b²); all inputs are bands and results are bands.
engine/src/fm2.ts: fm2Balance, fm2FinalO2, fm2Chamber (volume 14.4 L, 8.2 psia ± 0.3 psi, starting oxygen 37, 33, 29, 25 %, NTRS 20260001966); temperature is a required input and is never defaulted; the check case (PMMA at 34 %, 8.2 psi, 1.2 g burned, NASA estimate of final oxygen 13 to 21 %) is on PDF p. 26.
13. Mission Planner
How much of the Moon Base band lies inside the region spanned by PSI test points, and what tests would close the rest.
Why 0 % is expected
What it is. A note shown when none of the Moon Base band lies inside a PSI test region.
What it shows. That 0 % follows by construction: the page counts only tests run at the band's gravity, and NASA's challenge statement says there is currently no partial-gravity combustion data in PSI. It is expected, not a finding.
How to use it. Read on to what FM2 as planned would measure, which corners stay unmeasured, and the nearest PSI evidence in the Envelope.
Example. The Envelope with the Moon Base condition lists the nearest investigations in other gravity regimes.
What it does not do. It does not say the band is safe or unsafe.
Coverage is not safety (Planner)
What it is. A standing sentence about what coverage means.
What it shows. That covered means inside the region spanned by measured test points (between tests, within the 0.5 % tolerance; not necessarily a test at that exact condition), not that flammability behaves the same there.
How to use it. Read it before quoting any coverage figure.
Example. 0 % covered says no PSI test region reaches there; it does not say a flame is safe or unsafe.
What it does not do. It is not a button and it does not change any number.
Clear points
What it is. A button that removes all your hypothetical points.
What it shows. Nothing.
How to use it. Click it.
Example. Start the design again.
What it does not do. It does not touch the data.
Coverage gained per test
What it is. A table that ranks planned experiments by what they add.
What it shows. Coverage before and after, cells gained and gain per test.
How to use it. Read across a row.
Example. FM2 as planned adds a line.
What it does not do. It ranks coverage, not value or safety.
Coverage sentence
What it is. One sentence with the share of the band inside the region spanned by PSI test points.
What it shows. The covered share of grid cells, and the ERL badge.
How to use it. Read it; toggle a layer to see the planned share.
Example. 0 % of the band is covered today.
What it does not do. Coverage is the share of grid cells where an investigation is comparable; it is not safety.
Design your experiment
What it is. A section where you try hypothetical test points.
What it shows. The coverage with your points, recomputed by the engine.
How to use it. Click the plot, pick a fuel phase, read the result.
Example. Add a point at 34 % and 10.2 psia.
What it does not do. Always hypothetical, not a measurement, never saved.
Designer result
What it is. The coverage your points would give.
What it shows. Before and after coverage, cells gained, gain per test and hull area.
How to use it. Read it after adding points.
Example. 0 % to 15 % with four points.
What it does not do. It is a hypothesis, labelled as such.
ERL badge
What it is. A badge with the Evidence Readiness Level at the band centre.
What it shows. A level from 0 to 4 and its name; hover for the reason.
How to use it. Hover it.
Example. ERL 0 means no measured evidence.
What it does not do. ERL is a PYRION convention about evidence, never about safety.
ERL board
What it is. A table of habitats by fuel phase with their evidence level.
What it shows. ERL level and name per cell; hover for the reason.
How to use it. Hover a cell.
Example. ISS cabin air with solid fuel.
What it does not do. The spacesuit row is outside PSI and not evaluated.
ERL note
What it is. The sentence that says what ERL is.
What it shows. A PYRION convention for how much measured evidence exists.
How to use it. Read it before the board.
Example. ERL 0 to 4.
What it does not do. Never safety.
ERL scale
What it is. The list of ERL levels.
What it shows. What each level means.
How to use it. Read it.
Example. ERL 4 means measured at the condition.
What it does not do. It is not a safety scale.
Fuel phase
What it is. A list to choose the fuel phase of your hypothetical tests.
What it shows. Nothing by itself.
How to use it. Choose solid, liquid or gas.
Example. Pick solid.
What it does not do. It changes which investigations count as comparable.
Gap report Markdown
What it is. A link that downloads the gap report as Markdown.
What it shows. A file.
How to use it. Click it.
Example. Keep it with your notes.
What it does not do. Same content as the print view.
Gap report print view
What it is. A link to the printable gap report.
What it shows. A page you can save as PDF.
How to use it. Click it and print.
Example. Attach the PDF to a proposal.
What it does not do. It carries the fingerprint so anyone can check it.
Layer: FM2 as planned
What it is. A checkbox that draws NASA's planned FM2 tests.
What it shows. A line of four planned tests at 8.2 psia, labelled planned, not in PSI.
How to use it. Tick it.
Example. See the line and the 9 of 81 cells it covers.
What it does not do. FM2 has not been measured; its points are planned.
Layer: FM2 optimistic
What it is. A checkbox that draws FM2 with the stated pressure tolerance.
What it shows. The optimistic coverage if both ends of the tolerance are tested.
How to use it. Tick it.
Example. Compare it with FM2 as planned.
What it does not do. It is a what-if, reported separately as optimistic.
Layer: LUCI
What it is. A checkbox for the LUCI experiment.
What it shows. A note: LUCI cannot be placed because its source states no pressure.
How to use it. Tick it.
Example. Read why it has no point.
What it does not do. PYRION does not guess a pressure for it.
Minimum test points (geometric convention)
What it is. The fewest test points whose outline covers the band under PYRION's geometric convention. It is not a test programme: it holds for one material, flow velocity and sample thickness at a time, and repeats and flammability thresholds are not included.
What it shows. The corners of the band, which FM2 already contributes and which are missing.
How to use it. Read the table.
Example. The 10.2 psia corners are missing.
What it does not do. It says nothing about how many repeats a test needs.
Mission Planner page overview
What it is. The page that shows how much of the Moon Base oxygen-pressure band lies inside the region spanned by PSI test points.
What it shows. The band, today's coverage, planned experiments, the minimum test points under PYRION's geometric convention, a designer, the gap report and the ERL board.
How to use it. Read top to bottom; toggle layers; click the plot to try a hypothetical test.
Example. See that PSI covers 0 % of the band today.
What it does not do. It is evidence coverage, not a prediction or a safety assessment.
Oxygen and pressure plot
What it is. The plot of the Moon Base band. PYRION builds it from two NASA exploration atmospheres and two closing corners of its own convention; it is not a NASA design band.
What it shows. The band outline, vertices, covered cells, and layers. Click to add a hypothetical point; drag to move it.
How to use it. Hover a vertex; click inside the plot to add a point.
Example. Add three points at the corners and watch coverage change.
What it does not do. Points you add are hypothetical and are not saved.
Remove a point
What it is. A link that removes one hypothetical point.
What it shows. Nothing.
How to use it. Click remove next to a point.
Example. Remove point 2.
What it does not do. It does not touch the data.
Report fingerprint
What it is. The SHA-256 of the report data.
What it shows. 64 characters.
How to use it. Compare it with another copy of the report.
Example. Same records and band give the same 64 characters.
What it does not do. It is not a signature of authorship.
Standing label
What it is. A line above the page that says what the page is.
What it shows. PYRION proposal; evidence coverage, not a prediction or a safety assessment.
How to use it. Read it before the numbers.
Example. Quote it when you show the page.
What it does not do. It is not a button.
Vertex detail
What it is. A line under the plot that explains the vertex you point at.
What it shows. Its value as written and its source quote, or the note that PYRION chose the corner.
How to use it. Hover or focus a vertex.
Example. Hover the 8.2 psia / 34 % corner.
What it does not do. Closing corners have no source; the page says so.