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

View file

@ -11,7 +11,13 @@ Running record of milestones. Ordered by dependency.
| M4 | Sphinx + PDF for every module + 10 models | M3 | done |
| M5 | Git checkin docs + lessons | M4 | this commit |
| M6 | Integration hardening (`/v1/add` on zappier, Add Numbers local) | M2 | done for activate-now |
| M7 | Ready-to-activate final checkin | M5 | this commit |
| M7 | Ready-to-activate final checkin | M5 | done `10c663c` |
| M8 | Phase 9 wait-via-NATS + tests | M7 | done |
| M9 | Phase 12 smoke | M8 | done |
| M10 | Hash idempotent register/lookup mock | M7 | done |
| M11 | Zappier /v1/timestamp + hash-lookup | M10 | done |
| M12 | NS1 NATS 70.88.205.138 via SSH tunnel | — | done |
| M13 | Echo action on activate app | M7 | done |
## Learned (M1)