The order was approved. Is it still safe to send?

Watch the current Delivery Lab demonstration, 2:35 · Open Delivery Lab · Five-slide pitch · Source and setup

The embedded video now demonstrates the working SQLite/HTTP Delivery Lab. The same reviewed recording is also available as a direct MP4. The earlier engine-workbench recording remains available as historical context, not the current demonstration.

A Web3 order can be valid when it enters a queue and disappear before the worker acts. A ticket receiver can also finish its work while the acknowledgement gets lost. Retrying blindly and rolling back a database are not the same as undoing that outside action.

Forkline gives ticketing, membership and fulfillment developers a runnable failure rehearsal: queue an order, change the observed chain, lose the response, restart the worker, and inspect what the receiver actually retained.

Two workers. The same waiting rule. A different outcome.

Delivery Lab connects the existing reorganization checker to real SQLite worker databases and a loopback HTTP receiver with its own ticket ledger. The comparison uses the same order and three-confirmation policy. The intentionally limited comparison consumer checks eligibility only when enqueueing. Forkline checks its latest observed head again before dispatch.

In the first executed case, the event disappears after queueing but before dispatch. The comparison consumer issues one orphan-backed fixture ticket. Forkline retains a held command and issues zero. Restarting the workers preserves those outcomes. This is a demonstrated failure case, not a benchmark against production indexers or protection against a later reorganization.

A missing acknowledgement is not a missing ticket

The second case commits a ticket at the receiver, then deliberately closes the HTTP connection before its response reaches the worker. Forkline marks the command uncertain and stops further guarded work. It does not label the action unsuccessful and send it again.

After reopening the worker databases and changing the observed branch, reconciliation reads the receiver's receipt with a GET. The completed action is retained, the now-orphaned supporting event latches an incident, and later guarded queueing is blocked. A replacement order or returning branch does not silently clear that incident. One receiver ticket remains one receiver ticket.

A separate regression exits an actual child worker process after receiver commit/response but before local acknowledgement persistence. Reopening that worker's SQLite file recovers the uncertain command and reconciles its receipt without another delivery POST. This is distinct from the browser demonstration's lost-response injection and database reopen.

Try the replay, then run the actual local lab

The public page explicitly replays the recorded local integration. It does not host live databases or issue usable tickets. Its two cases expose the queued command, receiver ticket, worker receipt and incident independently. Export the current snapshot to inspect both lanes. Public ?live=1 refuses to masquerade as a live receiver.

The source includes the same interface with active local controls:

git clone --branch forkline-outbox-20260908 --single-branch https://github.com/josepha-mayo/Joseph-Portfolio.git Forkline
cd Forkline
npm ci
npm run evm
npm test
npm run outbox:record
python3 tests/sqlite_oracle.py
npm run lab

Open the complete live URL printed by the last command. Node 22.16 or later is required. Set FORKLINE_DATA to the printed data directory to reopen the same lab after stopping it. The original policy workbench remains available separately.

What makes the integration useful

The Solidity fixture is compiled and deployed on an isolated local EVM. Transactions, mined blocks, snapshot/revert and a competing history produce block-hash-pinned observations. The unchanged eligibility engine feeds the outbox rather than replacing blockchain execution with a hand-drawn timeline.

Queue insertion and its audit record commit together. A sending intention is durable before HTTP; receipt and acknowledgement are persisted together afterwards. The receiver enforces its own idempotency key and rejects reuse with different payload bytes. Worker intent and receiver effect are deliberately separate.

Stack: Solidity 0.8.30, Ganache 7.9.2, ethers 6, Node 22.16, built-in SQLite, JavaScript/HTML/CSS, Python and Playwright; the public replay is statically hosted on Netlify.

Reorganization handling, outboxes and idempotency are established techniques. The contribution is their inspectable integration across approval, dispatch, lost response, restart and incident handling, with the same executed cases available in a no-install viewer.

Executed verification

The complete release passed 65 Node tests, 9 local-EVM checks, 8 independent Python SQLite checks and 39 local browser workflows. Those browser workflows include active local HTTP/SQLite use, not substituted replay results.

A separate anonymous public run passed 31 browser workflows: 18 original-workbench checks and 13 Delivery Lab replay checks. Source, runtime assets, presentation and media matched the verified release. Only precisely diagnosed internal anchor URL/attribute rewrites were allowed; their destinations were checked, with application security policies retained.

The 154.538-second demonstration records actual local application actions and fully decodes with non-silent audio. All five pitch slides and seven captured demo scenes were reviewed. The downloaded source and raw database files additionally passed the 65 Node and 8 Python checks in a separate environment. These are software/integration checks, not a developer pilot or security certification.

Release record · Public verification · Source and tests · Editable pitch

Boundaries and next use

This is a single-worker, same-host lab. It trusts supplied node observations; it does not establish canonicality, verify inclusion proofs or make blockchain reads and external effects atomic. A reorganization after dispatch can still leave an orphan-backed ticket. Receipt reconciliation depends on this receiver's protocol, not a universal exactly-once guarantee. Missing receipts keep work paused; compensation and manual incident resolution are not automated.

Ganache is an archived, pinned development fixture, not a recommended production node; Node 22's SQLite API is experimental. The next validation is an authorized developer pilot and a maintained node adapter. No real admission, transferred funds, customer adoption or financial loss prevented is claimed.

Original code, tests and interface were developed during 3rd-Web-Hack with substantial AI assistance; Delivery Lab was added September 8, 2026. Original code is MIT licensed and dependencies retain their licenses. Narration uses the disclosed stock Kokoro af_heart synthetic voice, not a cloned person's voice, at about 125 words per minute. Earlier immutable releases and the unrelated production portfolio remain unchanged. The release ZIP preserves the tested build; the branch also contains later public-verification tooling and results.

Built With

Share this project:

Updates

Submission history