{
  "schemaVersion": "article-audio-1.0",
  "slug": "navier-stokes-informed-reaction",
  "sourceBodyPath": "articles/navier-stokes-informed-reaction/body.md",
  "sourceBodySha256": "2585d8b7ec6a303d2c4fd4bbc34bcb6366630f48649653b7fc2c35fddded6ccf",
  "transcriptPath": "assets/audio/navier-stokes-informed-reaction.txt",
  "transcriptSha256": "7e2b6384dac7ebaec8af1d73ce2cb52ebe9dcdb939c8b62450da5d4f33986017",
  "transcriptCharacters": 28493,
  "inputSha256": "0822344afaf9bd85aa4e47dcb9272f695cdf506e6a38dbbe2e4a4585e583e577",
  "inputNormalization": "Trim leading and trailing whitespace per chunk; inputSha256 joins those inputs with two newlines.",
  "inputRangeUnit": "UTF-16 code units in the exact UTF-8 transcript decoded as a JavaScript string",
  "maximumChunkCharacters": 3000,
  "provider": "openai",
  "endpoint": "https://api.openai.com/v1/audio/speech",
  "model": "gpt-4o-mini-tts",
  "voice": "fable",
  "responseFormat": "mp3",
  "speed": 1,
  "instructions": "Calm, clear, unhurried British science-briefing narration, in the style of a public-radio science presenter. Measured pace, warm but neutral tone. Pronounce mathematical names carefully.",
  "audioPath": "assets/audio/navier-stokes-informed-reaction.mp3",
  "limitations": [
    "bundled CLI does not expose API request IDs",
    "The receipt binds prepared inputs, configured provider profile and observed output bytes; it is not an independent attestation of provider execution or spoken-word completeness.",
    "Offline checking verifies the final MP3 hash and recorded segment metadata, not deleted or unavailable private segment files."
  ],
  "assembledAt": "2026-09-09T11:26:49.022Z",
  "generator": "bundled speech skill text_to_speech.py speak-batch",
  "requestId": null,
  "chunks": [
    {
      "index": 1,
      "start": 0,
      "end": 2132,
      "sourceTextSha256": "001bbf183160db81cf5303dd0515d60af378ac67c263d00497d0c510accd103a",
      "inputSha256": "1872b49253488c4b3848328adcb4f56e58638b08b7d9888cb7af09e9a19b49eb",
      "inputCharacters": 2130,
      "requestId": null,
      "audioSha256": "e2391659c84b2ef4d4e3afb184efc7276d295f71bb72ef022fa633420bd80aa9",
      "audioBytes": 2144256,
      "durationSeconds": 134.016
    },
    {
      "index": 2,
      "start": 2132,
      "end": 4092,
      "sourceTextSha256": "82794b896a33d92bf32246890f1d0ba5cd4950d7ec225efce12fcd9c4a2e58dd",
      "inputSha256": "2e7b01332088d1dda048a9b8f423984831f2422c5fe98cab0c4f68693536573b",
      "inputCharacters": 1958,
      "requestId": null,
      "audioSha256": "46717dac0dbfc5277e8365c0719258199e0160348a6e37c4c6f5beb352c45897",
      "audioBytes": 2041728,
      "durationSeconds": 127.608
    },
    {
      "index": 3,
      "start": 4092,
      "end": 6915,
      "sourceTextSha256": "351e0376bdad0bbcfb162539ec9346d2d35822f8742bc4b36dcd9b54850024a3",
      "inputSha256": "9851619bf209ae64da8921458b349c9d39c678955cad9b3831b9ddf8f64513ab",
      "inputCharacters": 2821,
      "requestId": null,
      "audioSha256": "b7e95ca36ff4a78c054a1e578b8239db10faf1b07d5db849e3f0400ad604f6f1",
      "audioBytes": 2826624,
      "durationSeconds": 176.664
    },
    {
      "index": 4,
      "start": 6915,
      "end": 9398,
      "sourceTextSha256": "f9c6f5b3e2edb488963e18349491a4476055931a5183faa5e6867e7b00a15174",
      "inputSha256": "38105750baaa807552b5d482723e5bf7954f4e2948f64580eb80da4f530b2665",
      "inputCharacters": 2481,
      "requestId": null,
      "audioSha256": "1bbc1e9c1cf8299bfff19b9222239ec20688abd4b8e4ee100f0b84c0d69109db",
      "audioBytes": 2395392,
      "durationSeconds": 149.712
    },
    {
      "index": 5,
      "start": 9398,
      "end": 12017,
      "sourceTextSha256": "3272a3eaa478b36c9f25fbf61e4bb6dc9b8d0c8542eb0ecd5e026a14ce539a38",
      "inputSha256": "680337a10f3d959196ad0779aa71a27097b8fb14e854c960c4afac0354687f14",
      "inputCharacters": 2617,
      "requestId": null,
      "audioSha256": "48d29f47b871f5b8a22d60362934b558b835e5ad433a91e5965df570a48fb0ef",
      "audioBytes": 2539392,
      "durationSeconds": 158.712
    },
    {
      "index": 6,
      "start": 12017,
      "end": 14903,
      "sourceTextSha256": "64ba9b0a85b3ceaf43e0a54446e175be66b03d19213ba69ff4fc4fc53528363e",
      "inputSha256": "fbc2166c40e5efad0b128331e0d81a95c005481a4fa1abf6f590fa3a7038fcce",
      "inputCharacters": 2884,
      "requestId": null,
      "audioSha256": "b83a2a6c84bc4879df5be2965e22a662d80f66d7f57ff041258355f836784735",
      "audioBytes": 2949120,
      "durationSeconds": 184.32
    },
    {
      "index": 7,
      "start": 14903,
      "end": 16499,
      "sourceTextSha256": "40490065140429afd4bdc41de30bb5f1b46c458d015d208d28ff153cd7f06fe5",
      "inputSha256": "10c7ad4724a1b2e4afe7a8e267f0e5eeac4e133136394be90ab1ea95979ec71e",
      "inputCharacters": 1594,
      "requestId": null,
      "audioSha256": "1f425c7fd013e666b9e6440a068d68c3628d8b12a37b30618ae61b253281d47c",
      "audioBytes": 1522560,
      "durationSeconds": 95.16
    },
    {
      "index": 8,
      "start": 16499,
      "end": 18220,
      "sourceTextSha256": "ac4685fc0791437319e04fedf35b9c7ddf5c031f73d64273671cb2d5a4e76de4",
      "inputSha256": "47a0bda2dfb534bc36336d4049a19e9be67c234692aa63b54b792e33cbb9d18f",
      "inputCharacters": 1719,
      "requestId": null,
      "audioSha256": "dcb53e7a63f76c9a1203906e13feca910c980f7d6e947324f88366bed721d240",
      "audioBytes": 1695360,
      "durationSeconds": 105.96
    },
    {
      "index": 9,
      "start": 18220,
      "end": 20735,
      "sourceTextSha256": "5360bf77f22ceb3cc5aed297140ddc642edac7b589750d3d2315cd5507e589dc",
      "inputSha256": "c98da2311e40476bf688d187816d3201315a69a37343d2654ffffbb6f4b1e6b5",
      "inputCharacters": 2513,
      "requestId": null,
      "audioSha256": "05ccfedb2f2b32b4597331b5276963faa31c2d83b8c009238ea8017b4b0a19ad",
      "audioBytes": 2733696,
      "durationSeconds": 170.856
    },
    {
      "index": 10,
      "start": 20735,
      "end": 23685,
      "sourceTextSha256": "4eca75fd98c999a448bb9c007063ba99be2b3c48c24a85118fc1c60a68e2c481",
      "inputSha256": "df8fee8febb190278222a5eddb7e71f3bbcd49e111efc4f7081263ff81b8d1b0",
      "inputCharacters": 2948,
      "requestId": null,
      "audioSha256": "74f2accd04409706be59812c231b4f61cb94dfd823ce21985ea461472206c321",
      "audioBytes": 2834688,
      "durationSeconds": 177.168
    },
    {
      "index": 11,
      "start": 23685,
      "end": 26535,
      "sourceTextSha256": "8356a3ea0e62391ac38b1b76c5148f25d7ff15a9946d6f7477133392135373d2",
      "inputSha256": "80bb44838e3c2b1f7949bd3b4831e901fbc2529fe55b5e573e9e307a5aadc5c8",
      "inputCharacters": 2848,
      "requestId": null,
      "audioSha256": "cb1e69443f1009c9acd80fba8056440707865e4cc359f662add29cf82dba3171",
      "audioBytes": 2753664,
      "durationSeconds": 172.104
    },
    {
      "index": 12,
      "start": 26535,
      "end": 28493,
      "sourceTextSha256": "0a1b16289b7c8e1dfc12d43065cb56f90871a810f4d42c5188568b66731adc99",
      "inputSha256": "c2bd05d0351a53da4e99d2020507d782331e8d4c8f8b4e7f1f9209b8577f4ca6",
      "inputCharacters": 1957,
      "requestId": null,
      "audioSha256": "f9819602e60ea21cade21e901a32554319e8ebaaefee6184f2612ed920f7e04f",
      "audioBytes": 1904256,
      "durationSeconds": 119.016
    }
  ],
  "transform": {
    "tool": "ffmpeg",
    "method": "concat-demuxer then re-encode",
    "codec": "libmp3lame",
    "bitrate": "64k",
    "channels": 1,
    "sampleRate": 24000,
    "maximumBytesExclusive": 26214400
  },
  "audioSha256": "ea9fdbaae3ade0beeee376a1e0c65610973cee40eee039c9511bb65cb40c32e1",
  "audioBytes": 14170988,
  "durationSeconds": 1771.296
}
