PostgreSQL / Local evaluation
Recover a restaurant action with PostgreSQL
Run one sample reservation through submission, recovery from a saved record after graceful host restart, and authorized result replay. The local test makes one original provider write and no recovery redispatch. This is a source-local evaluation example, not a production storage package.
Download and run
Download the Apache 2.0 source, then obtain Core 1.0.0-rc.1, Runtime 0.2.0-preview.5 and Actions 0.2.0-preview.8 separately through Package access. The source archive includes QUICKSTART.md, the journal, bridge, local demo, LICENSE and NOTICE; it contains no private SDK archives.
Use Linux as a non-root user, Bash, Node 22 and PostgreSQL 16 server and client tools. The accepted run used Node 22.23.2, npm 10.9.8 and PostgreSQL 16.15. From the download folder, set ANSWERUP_SDK_DIR to your authorized SDK archive directory:
sha256sum -c postgresql-source.sha256
mkdir postgres-quickstart
tar -xzf postgresql-source.tar.gz -C postgres-quickstart
cd postgres-quickstart
export ANSWERUP_SDK_DIR=/path/to/authorized/sdk-archives
mkdir -p packages
cp "$ANSWERUP_SDK_DIR/answerup-core-1.0.0-rc.1.tgz" packages/
cp "$ANSWERUP_SDK_DIR/answerup-runtime-0.2.0-preview.5.tgz" packages/
cp "$ANSWERUP_SDK_DIR/answerup-actions-0.2.0-preview.8.tgz" packages/
node quickstart/verify.mjs
npm ci --ignore-scripts --no-audit --no-fund
node quickstart/verify.mjsThe included verifier checks the source and exact SDK pins before and after installation. Locked public dependencies may require registry access; the accepted clean-extraction run used cached dependencies. Read the included QUICKSTART.md for prerequisites, expected output and troubleshooting.
Run the disposable demo
bash quickstart/database.sh start
bash quickstart/database.sh install
node quickstart/demo.mjs
bash quickstart/database.sh stop
bash quickstart/database.sh cleanupThe helper creates a private, local PostgreSQL fixture with no TCP listener and explicitly installs its two-table test schema. Cleanup stops and removes only that fixture. Do not point this demo at a production database.
What the accepted run showed
The six-process local run moved from UNKNOWN through fresh-host verification to COMMITTED and a complete permitted replay. It recorded one provider write, three authoritative reads, zero recovery redispatches and no unauthorized confirmation. Revoked result-read access withheld delivery without erasing the saved result.
The journal and bridge coordinate admission, saved V2 recovery, terminal persistence and replay. The application still supplies trusted identity, current authorization, provider access, authoritative business verification, protected storage policy and customer delivery. See the persistence and recovery guidance for the wider host responsibility.
Evaluation boundaries
Experimental transaction-local recovery contract: a recovery callback accepts a change within a transaction. It does not itself establish durable completion or authorize a response. The host physically commits the complete result and then checks current result access before release.
One designated trusted writer and graceful host restart are supported by this example. Gap A remains: an effect can occur before its eligible V2 recovery record is saved; the host quarantines that uncertainty instead of sending the write again. Incomplete historical terminal records remain UNKNOWN.
The example does not establish production multi-writer operation, arbitrary-crash safety, restore or failover safety, or exactly-once external execution. Schema lifecycle, tenant controls, connection security, monitoring and backup design remain application-owned.