Repository navigation
Releases: qiyuhuating/faultline-lab
Release list
Faultline v1.2.5 — Recovery, made visible
v1.2.5 corrects numeric summaries that lose small values between large cancelling numbers.
On v1.2.4, 1e12,0.000001,-1e12 produced zero while a different ordering produced a nonzero result. Summation now accumulates the parsed binary64 values exactly and rounds once to nearest, ties to even. Existing count, extrema, hash, numeric parsing and input limits remain unchanged; mean is the rounded sum divided by count. This is not arbitrary-precision decimal arithmetic and existing results/receipts are not rewritten.
Five failing-before regressions cover permutations, subnormal values, rounding ties, the 2,000-value boundary, an independent fixed-grid integer oracle and a real HTTP worker's durable result and receipt after restart. An optional Python Fraction cross-check of 256 cases is retained without adding a runtime dependency. Publication requires 116 core tests on Linux and Windows (one Linux descriptor-only assertion is skipped on Windows), 12 negative compile contracts, 32,768 independent model transitions, seven real-process HTTP fault scenarios with four supporting checks, and 84 checks across Chromium, Firefox and WebKit. The extracted source also starts and recovers a real worker crash. Failure history remains in the independent test archive.
The 500-task benchmark now prepares its backlog before starting four workers after Windows CI encountered a writer lock during overlapping submission. Counts, WAL/FULL, total deadline and integrity checks remain unchanged. Reports label the new submission mode; timings are not directly comparable to the previous workload.
Recorded replay: https://qiyuhuating.github.io/faultline-lab/
- faultline-source-v1.2.5.zip — frontend, strict TypeScript backend, Doctor, live HTTP verification tool and documentation. Node 24.15+ (24.x):
npm start, without runtime dependencies. Compiler checks neednpm ci --ignore-scripts. - faultline-tests-v1.2.5.zip — independent model, core/process/HTTP/browser/type tests and all retained local/CI evidence. Extract alongside source to merge
faultline/tests/, then runnpm test. - faultline-web-v1.2.5.zip — seven deployable static replay files.
- SHA256SUMS.txt, manifest.json — archive checksums, verified commit and file inventories.
Database schema v1 and historical recordings remain compatible. Doctor checks consistency without repair or authenticity claims; internal receipts do not guarantee arbitrary external exactly-once effects. MIT License.
Faultline v1.2.4 — Recovery, made visible
v1.2.4 prevents new task labels from changing during Unicode persistence.
On v1.2.3, an HTTP request with an unpaired UTF-16 surrogate in its label returned 201, but SQLite stored a replacement character while JSON retained the original surrogate. The newly created task then failed consistency diagnosis. New insertions now return VALIDATION before changing any record or reserving the request key.
Four regressions cover six malformed patterns through Queue and actual HTTP, reuse of a rejected request key, valid supplementary characters and the 80-code-unit limit, normalization/deduplication/reopen, and continued processing of a previously accepted legacy record followed by healthy work. Existing mismatched records still report FAIL without repair. Publication requires 111 core tests on Linux and Windows (one Linux descriptor-only assertion is skipped on Windows), 12 negative compile contracts, 32,768 independent model transitions, seven real-process HTTP fault scenarios with four supporting checks, and 84 checks across Chromium, Firefox and WebKit. The extracted source package also starts and recovers a real worker crash. Failure history remains in the independent test archive.
Recorded replay: https://qiyuhuating.github.io/faultline-lab/
- faultline-source-v1.2.4.zip — frontend, strict TypeScript backend, Doctor, live HTTP verification tool and documentation. Node 24.15+ (24.x):
npm start, without runtime dependencies. Compiler checks neednpm ci --ignore-scripts. - faultline-tests-v1.2.4.zip — independent model, core/process/HTTP/browser/type tests and all retained local/CI evidence. Extract alongside source to merge
faultline/tests/, then runnpm test. - faultline-web-v1.2.4.zip — seven deployable static replay files.
- SHA256SUMS.txt, manifest.json — archive checksums, verified commit and file inventories.
Database schema v1 and historical recordings remain compatible. Doctor checks consistency without repair or authenticity claims; internal receipts do not guarantee arbitrary external exactly-once effects. MIT License.
Faultline v1.2.3 — Recovery, made visible
v1.2.3 keeps private malformed event content out of diagnostics.
On v1.2.2, an event containing invalid JSON could expose its private contents through JavaScript's parser exception in Doctor and the HTTP diagnostic endpoint. Unreadable events still produce FAIL, with a fixed diagnostic message that contains no parser input. Reports remain read-only and retain their existing shape.
Two regressions fail before the fix and pass afterward, covering direct/CLI diagnosis and real HTTP responses without logical database writes. Publication requires 107 core tests on Linux and Windows (one Linux descriptor-only assertion is skipped on Windows), 12 negative compile contracts, 32,768 independent model transitions, seven real-process HTTP fault scenarios with four supporting checks, and 84 checks across Chromium, Firefox and WebKit. The four-process workload still checks all 240 results, complete lease histories and unique winning receipts. The extracted source package also starts and recovers a real worker crash. Failure history remains in the independent test archive.
Recorded replay: https://qiyuhuating.github.io/faultline-lab/
- faultline-source-v1.2.3.zip — frontend, strict TypeScript backend, Doctor, live HTTP verification tool and documentation. Node 24.15+ (24.x):
npm start, without runtime dependencies. Compiler checks neednpm ci --ignore-scripts. - faultline-tests-v1.2.3.zip — independent model, core/process/HTTP/browser/type tests and all retained local/CI evidence. Extract alongside source to merge
faultline/tests/, then runnpm test. - faultline-web-v1.2.3.zip — seven deployable static replay files.
- SHA256SUMS.txt, manifest.json — archive checksums, verified commit and file inventories.
Database schema v1 and historical recordings remain compatible. Doctor checks consistency without repair or authenticity claims; internal receipts do not guarantee arbitrary external exactly-once effects. MIT License.
Faultline v1.2.2 — Recovery, made visible
v1.2.2 rejects task metadata that disagrees with its persisted definition.
On v1.2.1, changing a task's kind, label, priority or retry budget could leave read-only Doctor at PASS even though the normalized JSON definition still described the original task. Doctor now checks all four relationships in its existing read snapshot. It samples only affected IDs, leaves every logical record unchanged and retains its response shape.
Four regressions fail before the fix and pass afterward. The four-process workload validates all 240 results and complete winning receipt/lease histories, allowing legitimate expired attempts. A real SQLite writer-lock regression proves ordinary work recovers with one correct receipt and rejects the old token. Publication requires 105 core tests on Linux and Windows (one Linux descriptor-only assertion is skipped on Windows), 12 negative compile contracts, 32,768 independent model transitions, seven real-process HTTP fault scenarios with four supporting checks, and 84 checks across Chromium, Firefox and WebKit. The extracted source package also starts and recovers a real worker crash. Failure history remains in the independent test archive.
Recorded replay: https://qiyuhuating.github.io/faultline-lab/
- faultline-source-v1.2.2.zip — frontend, strict TypeScript backend, Doctor, live HTTP verification tool and documentation. Node 24.15+ (24.x):
npm start, without runtime dependencies. Compiler checks neednpm ci --ignore-scripts. - faultline-tests-v1.2.2.zip — independent model, core/process/HTTP/browser/type tests and all retained local/CI evidence. Extract alongside source to merge
faultline/tests/, then runnpm test. - faultline-web-v1.2.2.zip — seven deployable static replay files.
- SHA256SUMS.txt, manifest.json — archive checksums, verified commit and file inventories.
Database schema v1 and historical recordings remain compatible. Doctor checks consistency without repair or authenticity claims; internal receipts do not guarantee arbitrary external exactly-once effects. MIT License.
Faultline v1.2.1 — Recovery, made visible
v1.2.1 fixes false verification results and browser recovery failures, with Linux and Windows core acceptance.
Experiment reports now invalidate after eventless writes on either SQLite connection and never cache uncommitted outer-transaction data. Doctor detects invalid persisted definitions and attempt history. Portable reports require the expected job IDs and current receipt token. These cases have failing-before, passing-after regressions.
The dashboard keeps its request deadline through JSON consumption, so incomplete bootstrap, snapshot and committed POST bodies recover. A lost write response is confirmed by its durable request key without a duplicate POST. Reopening the same report or detail rejects older responses; static event selection preserves keyboard focus.
Windows crash evidence requires an actual controller-observed exit and a matching earlier crash-request record. Linux SIGKILL and six historical public recordings remain compatible. CI runs core tests on both operating systems, three browser engines, compiler/type/architecture/format gates, 32,768 model transitions and seven real-process HTTP faults with four supporting checks. Publication additionally starts and crash-tests the extracted source package. Raw failures and final counts are in docs/VERIFICATION.md and tests/evidence/batch-08.
Try the recorded replay: https://qiyuhuating.github.io/faultline-lab/
The local application runs independent workers; the public site replays the original labeled evidence. Database schema v1 is unchanged.
Assets have separate purposes:
- faultline-source-v1.2.1.zip — frontend, strict TypeScript backend, read-only Doctor, real HTTP verification tool, locked compiler tools and documentation. No test set. Node 24.15+ (24.x):
npm startwithout installation or runtime dependencies. Compiler checks neednpm ci --ignore-scripts. - faultline-tests-v1.2.1.zip — independent model, core/process/HTTP/browser tests, negative compile contracts and historical local/CI evidence. Extract alongside source to merge
faultline/tests/, then runnpm test. Source implementation stays in the source package. - faultline-web-v1.2.1.zip — seven deployable static replay files.
- SHA256SUMS.txt — archive checksums.
- manifest.json — verified commit and per-package file inventories.
MIT License. Atomic internal receipts do not guarantee arbitrary external exactly-once effects. The bounded model is not formal verification; the event chain establishes consistency, not third-party authenticity.
Faultline v1.2.0 — Recovery, made visible
v1.2.0 turns reliability claims into executable specifications and operator diagnostics.
An independent policy model checks 16 command types against actual SQLite jobs, attempts and receipts across two connections. Seeded traces are reproducible; mutation self-tests require the checker to detect invalid lease and revision behavior. A read-only Doctor inspects physical and semantic integrity without recovery or repair. Its CLI, HTTP report and accessible dialog share one contract.
This iteration also reproduces and fixes a v1.1.0 false pass after deleting the complete event tail. Exact retained-prefix and durable-head boundaries now detect missing history, while schema v1 and original public recordings remain compatible. Legacy uncertainty is explicit; the chain is a consistency check, not an authenticity signature.
Publication requires the exact commit to pass 87 core tests, 12 negative compile contracts, 32,768 model transitions, seven real HTTP/process fault scenarios with four supporting checks, and 66 browser checks across Chromium, Firefox and WebKit. A source-only extraction separately starts and recovers a real crashed worker. Full failure history and limits are in docs/VERIFICATION.md and ADR 006.
Try the recorded replay: https://qiyuhuating.github.io/faultline-lab/
The local application runs real independent workers; the public site replays the original labeled evidence. Faultline remains completely independent of yihe-health.
Assets have separate purposes:
- faultline-source-v1.2.0.zip — frontend, strict TypeScript backend, read-only Doctor, runnable live HTTP verification tool, locked compiler tools, API/design/ADR documentation and resume/interview material. No test set. Node 24.15+ (24.x):
npm start, without installation or runtime dependencies.npm run verify:labruns an isolated real fault campaign;npm run doctor -- data/faultline.sqlite --jsoninspects an existing database. Compiler checks neednpm ci --ignore-scripts. - faultline-tests-v1.2.0.zip — independent model/oracle, core, HTTP, multi-process, browser and negative compile tests, plus all collected historical batches and unsuccessful attempts together. Repeated files stay under their own batch directories. Extract alongside source to merge
faultline/tests/; runnpm testor the documented seeded campaign. No application source is substituted into this test package. - faultline-web-v1.2.0.zip — seven deployable static replay files only. No backend, compiler or test set; use the source package to run new experiments.
- SHA256SUMS.txt — SHA-256 archive checksums.
- manifest.json — exact verified commit and per-package file inventories.
MIT License. Atomic internal receipts do not guarantee arbitrary external exactly-once effects. The bounded model is not formal verification; cross-host HA, physical disk faults and production deployment remain outside acceptance.
Faultline v1.1.0 — Recovery, made visible
v1.1.0 makes the reliable engine easier to maintain: Queue is now a 5.1 KB composition facade (down from 24.7 KB), and the entire backend is strict TypeScript.
Job persistence, transaction ownership, leases, experiments, event chaining, idempotent requests, queries, worker metadata and retention have explicit owners. All still share one connection and transaction boundary. Job state and write outcomes use discriminated unions; 12 negative compile contracts and an AST architecture gate guard future changes. Runtime database records remain validated separately.
Acceptance: 65 core tests plus 57 browser checks across Chromium, Firefox and WebKit; strict compilation, type contracts and formatting also pass before publication. Four new regressions cover v1.0.1 database compatibility, audit failure after receipt/state mutation, nested experiment rollback and invalid persisted leases. Original fault tests, older releases and historical evidence remain intact. See docs/VERIFICATION.md and ADR 005.
Try the public recorded replay: https://qiyuhuating.github.io/faultline-lab/
The local application runs real independent workers against SQLite WAL. The public page replays labeled original evidence. Faultline is independent of yihe-health.
Assets have distinct purposes:
- faultline-source-v1.1.0.zip — frontend and typed backend source, locked development tools, API/design/ADR documentation, real screenshots and resume/interview material. No test set. Node 24.15+ (24.x): run
npm startwithout installing dependencies. For compiler/architecture checks,npm ci --ignore-scripts && npm run check. - faultline-tests-v1.1.0.zip — core, HTTP, multi-process, three-browser and compile-only contract tests, plus all collected historical test batches together. Extract alongside source to merge
faultline/tests/. Runnpm test; install locked development tools fornpm run test:types. - faultline-web-v1.1.0.zip — seven deployable static replay files only. No backend, compiler or test set.
- SHA256SUMS.txt — SHA-256 archive checksums.
- manifest.json — the exact verified commit and per-package file inventory.
No runtime package dependencies. MIT License. Internal result receipts are atomic with successful state; arbitrary external side effects are outside this guarantee.
Faultline v1.0.1 — Recovery, made visible
v1.0.1 fixes storage and shutdown boundaries found by real destructive regression. Existing v1.0.0 databases remain compatible; the previous release is preserved.
New acceptance covers leases expiring behind an actual writer lock, native SQLITE_FULL recovery, consistent task details, cache invalidation, observable-content ETags, storage error codes, shutdown writes and process/file-handle cleanup. The test ZIP adds all original CI job logs and digest-verified artifacts from completed batches.
Faultline makes failure recovery visible: a real multi-process task engine plus an interactive, chain-verified trace player. This project is independent of yihe-health.
Try the public replay: https://qiyuhuating.github.io/faultline-lab/
The local application runs actual workers against SQLite WAL. Experiments cover SIGKILL recovery, bounded retries, durable deduplication, dead-letter replay, a stale worker actually attempting to commit, and an HTTP response deliberately lost after a durable write. The public page replays recorded evidence and labels it as recorded.
Acceptance: 61 core tests plus 57 browser checks across Chromium, Firefox and WebKit. This release is created only after its exact commit passes verification; the independent test ZIP preserves completed verification batches, including earlier failed runs. See docs/VERIFICATION.md for scope, failure history and screenshot-harness details.
Choose the appropriate asset:
- faultline-source-v1.0.1.zip — frontend and backend source, design decisions, API documentation, actual screenshots and resume/interview material. Contains no test set. Requires Node 24.x; run
npm start. - faultline-tests-v1.0.1.zip — test code, locked browser dependency and all collected test batches together. Extract alongside the source ZIP to merge
faultline/tests/; runnpm test. - faultline-web-v1.0.1.zip — only the seven static player files, ready for static hosting. No backend or test set.
- SHA256SUMS.txt — archive checksums.
- manifest.json — exact verified commit and per-package file inventory.
Runtime dependencies: none. License: MIT. The transactional receipt guarantee applies to internal results, not arbitrary external side effects. Resume wording and a three-minute presentation are in docs/PORTFOLIO.md; technical discussion exercises are in docs/INTERVIEW.md.
Faultline v1.0.0 — Recovery, made visible
Faultline makes failure recovery visible: a real multi-process task engine plus an interactive, chain-verified trace player. This project is independent of yihe-health.
Try the public replay: https://qiyuhuating.github.io/faultline-lab/
The local application runs actual workers against SQLite WAL. Experiments cover SIGKILL recovery, bounded retries, durable deduplication, dead-letter replay, a stale worker actually attempting to commit, and an HTTP response deliberately lost after a durable write. The public page replays recorded evidence and labels it as recorded.
Acceptance: 48 core tests plus 57 browser checks across Chromium, Firefox and WebKit. This release is created only after its exact commit passes verification; the independent test ZIP preserves completed verification batches, including earlier failed runs. See docs/VERIFICATION.md for scope, failure history and screenshot-harness details.
Choose the appropriate asset:
- faultline-source-v1.0.0.zip — frontend and backend source, design decisions, API documentation, actual screenshots and resume/interview material. Contains no test set. Requires Node 24.x; run
npm start. - faultline-tests-v1.0.0.zip — test code, locked browser dependency and all collected test batches together. Extract alongside the source ZIP to merge
faultline/tests/; runnpm test. - faultline-web-v1.0.0.zip — only the seven static player files, ready for static hosting. No backend or test set.
- SHA256SUMS.txt — archive checksums.
- manifest.json — exact verified commit and per-package file inventory.
Runtime dependencies: none. License: MIT. The transactional receipt guarantee applies to internal results, not arbitrary external side effects. Resume wording and a three-minute presentation are in docs/PORTFOLIO.md; technical discussion exercises are in docs/INTERVIEW.md.