Milestone 3: NATS wait (gate 9), hash lookup, zappier timestamp, NS1 tunnel

Wait-via-NATS returns completed or pending+jobId (GATE 9). Mock SHA256
idempotent register + GET /hashes/{sha256}. Zappier commercial edge has
POST /v1/timestamp and hash-lookup. GATE 12 smoke (signup + wait) passes.

NS1 NATS is 127.0.0.1:4222 on 70.88.205.138; SSH tunnel :14222. Local
nats-server -js used for isolated tests. Activate app adds Echo Text.

Learned: JetStream on NS1 is loopback-only; do not bind 4222 public.
This commit is contained in:
George Lambert 2026-09-09 02:54:02 -04:00
parent 10c663cc0c
commit 51ae79b75f
75 changed files with 1114 additions and 123 deletions

18
TODO.md
View file

@ -378,10 +378,10 @@ npm run gate:8
### Tasks
- [ ] 9.1 API waits on job event (subscription or inbox) after enqueue watch
- [ ] 9.2 Hard timeout returns `{ jobId, status: "pending" }` (document Zapier fallback)
- [ ] 9.3 Tests: fast complete; timeout path; cancellation on client disconnect (if feasible)
- [ ] 9.4 Docs update: wait semantics, Zapier multi-step fallback
- [x] 9.1 API waits on job event (subscription or inbox) after enqueue watch
- [x] 9.2 Hard timeout returns `{ jobId, status: "pending" }` (document Zapier fallback)
- [x] 9.3 Tests: fast complete; timeout path; cancellation on client disconnect (if feasible)
- [x] 9.4 Docs update: wait semantics, Zapier multi-step fallback
### GATE 9 — Wait path
@ -399,7 +399,7 @@ npm run gate:9
| Date | Result | Notes |
|------|--------|-------|
| | | |
| 2026-09-09 | pass | wait via NATS + timeout pending; NS1 tunnel 70.88.205.138 |
---
@ -480,9 +480,9 @@ npm run gate:11
### Tasks
- [ ] 12.1 `docker-compose.yml`: middleware + NATS (+ optional mock Verae)
- [ ] 12.2 Compose smoke script: health, auth, timestamp wait, webhook
- [ ] 12.3 Debug mode runbook: reproduce a failed job with `DEBUG_VERAE=*`
- [x] 12.1 `docker-compose.yml`: middleware + NATS (+ optional mock Verae)
- [x] 12.2 Compose smoke script: health, auth, timestamp wait, webhook
- [x] 12.3 Debug mode runbook: reproduce a failed job with `DEBUG_VERAE=*`
- [ ] 12.4 Record sample traces in `docs/developer/debugging.md`
### GATE 12 — E2E local
@ -502,7 +502,7 @@ npm run gate:12
| Date | Result | Notes |
|------|--------|-------|
| | | |
| 2026-09-09 | pass | harness/scripts/smoke.sh health + signup + wait |
---