Title: determinism: the stream-lost-after-note, completed history recorded different traces once (commit 9d71756) · Issue #100 · TanStack/oracles · GitHub
Open Graph Title: determinism: the stream-lost-after-note, completed history recorded different traces once (commit 9d71756) · Issue #100 · TanStack/oracles
X Title: determinism: the stream-lost-after-note, completed history recorded different traces once (commit 9d71756) · Issue #100 · TanStack/oracles
Description: Tags: determinism, oracle-gaps, #57 (feat/gap-cli-stream-log). Commit: 9d71756 (pool run r57m-det, two runs of one history, the same unit as determinism: constructed history: a stream log lost after its note, then completed). Run once; t...
Open Graph Description: Tags: determinism, oracle-gaps, #57 (feat/gap-cli-stream-log). Commit: 9d71756 (pool run r57m-det, two runs of one history, the same unit as determinism: constructed history: a stream log lost afte...
X Description: Tags: determinism, oracle-gaps, #57 (feat/gap-cli-stream-log). Commit: 9d71756 (pool run r57m-det, two runs of one history, the same unit as determinism: constructed history: a stream log lost afte...
Opengraph URL: https://github.com/TanStack/oracles/issues/100
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"determinism: the stream-lost-after-note, completed history recorded different traces once (commit 9d71756)","articleBody":"**Tags:** determinism, oracle-gaps, #57 (`feat/gap-cli-stream-log`).\n\n**Commit:** `9d71756` (pool run `r57m-det`, two runs of one history, the same unit as `determinism: constructed history: a stream log lost after its note, then completed`). Run once; the same unit passed at `7a59640` and `92d7ab0`.\n\n**Observed:** the two runs of the history recorded different `unwritableLog` traces. The first 2,000 characters of each are identical (the difference is later, which #81 hides):\n\nFirst run (the 2,000-character prefix, 1986 characters):\n```\nunwritableLog {\"ending\":\"complete\",\"exit\":0,\"signal\":null,\"stdout\":\"oracle-gaps: note log \u003cout>/stream.log\\noracle-gaps: baseline pass tests/a.test.ts: 1 test\\noracle-gaps: baseline pass tests/b.test.ts: 0 tests, 1 skipped\\noracle-gaps: baseline pass tests/c.test.ts (ordinary): 0 tests, 1 skipped\\noracle-gaps: baseline all 2 oracle files pass\\noracle-gaps: summary 395076321439: 44 mutants, 1 killed, 18 gaps, 11 unowned (warnings). 11 source files, 2 oracle files, 1 ordinary test files, 0 authored mutants, seed 1, pool threads.\\noracle-gaps: legend unreached: Add an owner test that runs line N and asserts on its result.\\noracle-gaps: function fn e0 (..gen/extra.ts)\\noracle-gaps: gap unreached L2 ..gen/extra.ts:M1 ` out.push('s19'); ` → ` ; `\\noracle-gaps: function fn help (src/es-function.ts)\\noracle-gaps: gap unreached L2 es-function.ts:M1 ` out.push('s3'); ` → ` ; `\\noracle-gaps: function fn default (src/es-function.ts)\\noracle-gaps: gap unreached L5 es-function.ts:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/es-arrow.ts)\\noracle-gaps: gap unreached L2 es-arrow.ts:M1 ` out.push('s5'); ` → ` ; `\\noracle-gaps: function fn default (src/es-arrow.ts)\\noracle-gaps: gap unreached L5 es-arrow.ts:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/es-paren.ts)\\noracle-gaps: gap unreached L2 es-paren.ts:M1 ` out.push('s7'); ` → ` ; `\\noracle-gaps: function fn default (src/es-paren.ts)\\noracle-gaps: gap unreached L5 es-paren.ts:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/cjs.js)\\noracle-gaps: gap unreached L2 cjs.js:M1 ` out.push('s9'); ` → ` ; `\\noracle-gaps: function fn default (src/cjs.js)\\noracle-gaps: gap unreached L5 cjs.js:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/cjs-chained.js)\\noracle-gaps: gap unreached L2 cjs-chained.js:M1 ` out.push('s11'); ` → ` ; `\\noracle-gaps: function fn default (src/cjs-chained.js)\\noracle-gaps: gap unreached L5 cjs-chained.js:M2 ` help(out); ` → ` ; `\\noracle-gaps: function f\n```\n\nSecond run (prefix, 1986 characters, identical up to the truncation):\n```\nunwritableLog {\"ending\":\"complete\",\"exit\":0,\"signal\":null,\"stdout\":\"oracle-gaps: note log \u003cout>/stream.log\\noracle-gaps: baseline pass tests/a.test.ts: 1 test\\noracle-gaps: baseline pass tests/b.test.ts: 0 tests, 1 skipped\\noracle-gaps: baseline pass tests/c.test.ts (ordinary): 0 tests, 1 skipped\\noracle-gaps: baseline all 2 oracle files pass\\noracle-gaps: summary 395076321439: 44 mutants, 1 killed, 18 gaps, 11 unowned (warnings). 11 source files, 2 oracle files, 1 ordinary test files, 0 authored mutants, seed 1, pool threads.\\noracle-gaps: legend unreached: Add an owner test that runs line N and asserts on its result.\\noracle-gaps: function fn e0 (..gen/extra.ts)\\noracle-gaps: gap unreached L2 ..gen/extra.ts:M1 ` out.push('s19'); ` → ` ; `\\noracle-gaps: function fn help (src/es-function.ts)\\noracle-gaps: gap unreached L2 es-function.ts:M1 ` out.push('s3'); ` → ` ; `\\noracle-gaps: function fn default (src/es-function.ts)\\noracle-gaps: gap unreached L5 es-function.ts:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/es-arrow.ts)\\noracle-gaps: gap unreached L2 es-arrow.ts:M1 ` out.push('s5'); ` → ` ; `\\noracle-gaps: function fn default (src/es-arrow.ts)\\noracle-gaps: gap unreached L5 es-arrow.ts:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/es-paren.ts)\\noracle-gaps: gap unreached L2 es-paren.ts:M1 ` out.push('s7'); ` → ` ; `\\noracle-gaps: function fn default (src/es-paren.ts)\\noracle-gaps: gap unreached L5 es-paren.ts:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/cjs.js)\\noracle-gaps: gap unreached L2 cjs.js:M1 ` out.push('s9'); ` → ` ; `\\noracle-gaps: function fn default (src/cjs.js)\\noracle-gaps: gap unreached L5 cjs.js:M2 ` help(out); ` → ` ; `\\noracle-gaps: function fn help (src/cjs-chained.js)\\noracle-gaps: gap unreached L2 cjs-chained.js:M1 ` out.push('s11'); ` → ` ; `\\noracle-gaps: function fn default (src/cjs-chained.js)\\noracle-gaps: gap unreached L5 cjs-chained.js:M2 ` help(out); ` → ` ; `\\noracle-gaps: function f\n```\n\n**Suspected cause:** wall-clock timing in the CLI's output (#84's class). The difference cannot be seen until #81 is fixed. The full traces of a passing/failing pair would settle it; the run's log is not kept.\n\n**Links:** #81 (the 2,000-character truncation that hides the difference), #84 (wall-clock heartbeats, a suspected cause).\n\n**Not blocking:** this was one observed flake; the unit passed in two later runs. Filed under P4 (an observed counterexample is filed, not kept as a watch item).\n","author":{"url":"https://github.com/KyleAMathews","@type":"Person","name":"KyleAMathews"},"datePublished":"2026-11-15T06:15:34Z","url":"https://github.com/TanStack/oracles/issues/100"}
| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:b394bcac-3e72-9635-9154-19540314d86e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E754:2B0961:29D975A:3693788:6AF9A8A5 |
| html-safe-nonce | 3f02c3ec1b01a9ad3f71bfc2b252a13a684f398e80a9f1135feb8d493982a537 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNzU0OjJCMDk2MToyOUQ5NzVBOjM2OTM3ODg6NkFGOUE4QTUiLCJ2aXNpdG9yX2lkIjoiMTI5NjMwMDk0MDgwOTg0MDgwNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 6425aa7045b7a769a03f909ab88dc5c0b14a729c239de9464fd784267e7f793a |
| hovercard-subject-tag | issue:6400767227 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/TanStack/oracles/100/issue_layout |
| twitter:image | https://opengraph.githubassets.com/f09642a2cbc64b5238bc41bb2f8b1d3dfbe716a3c2e219b69a26f79da403fcf9/TanStack/oracles/issues/100 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/f09642a2cbc64b5238bc41bb2f8b1d3dfbe716a3c2e219b69a26f79da403fcf9/TanStack/oracles/issues/100 |
| og:image:alt | Tags: determinism, oracle-gaps, #57 (feat/gap-cli-stream-log). Commit: 9d71756 (pool run r57m-det, two runs of one history, the same unit as determinism: constructed history: a stream log lost afte... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | KyleAMathews |
| hostname | github.com |
| expected-hostname | github.com |
| None | 612d3e6ffd693e7ea8d9fcf452370995872baef31d825b1fedef704cd3d24ac7 |
| turbo-cache-control | no-preview |
| go-import | github.com/TanStack/oracles git https://github.com/TanStack/oracles.git |
| octolytics-dimension-user_id | 72518640 |
| octolytics-dimension-user_login | TanStack |
| octolytics-dimension-repository_id | 1443546044 |
| octolytics-dimension-repository_nwo | TanStack/oracles |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1443546044 |
| octolytics-dimension-repository_network_root_nwo | TanStack/oracles |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 072e34035c13c31543fba9f025cbbbda4210dae4 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| react-app-name | issues |
Links:
Viewport: width=device-width