master-zapier-plan-draft/docs/WORK-LOG.md
George Lambert 51ae79b75f 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.
2026-09-09 02:54:02 -04:00

2.1 KiB
Raw Permalink Blame History

Work log

Running record of milestones. Ordered by dependency.

ID Item Depends on Status
M0 Import zappier + middleware + research; git checkin done b4150c8
M1 Organize layout + activate app + tests + Zapier setup guide M0 done b814501
M2 Git checkin after green tests M1 done b814501
M3 Per-module MD (params, callees, returns) M2 done (74 modules)
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 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)

  • Zapier Platform perform runs in Zapier cloud. Add Numbers can be pure arithmetic so a first push needs no public URL.
  • CLI on this machine is zapier-platform 19.x; app core must match (19.1.0).
  • zapier-platform validate is structurally sound for packages/verae-activate.
  • Hosted path is optional: zappier POST /v1/add is free on the rate card (operationId: add).
  • Do not mix zapier-sdk (consume) with zapier-platform (publish).

Learned (M3M7)

  • Extracting signatures from JS/TS with regex is good enough for a first API atlas; JSDoc @param/@returns is sparse in older files — fill those as we touch modules.
  • Sphinx include paths are relative to the RST file; copy MD beside RST.
  • Combined reportlab books fail if any flowable is taller than a page; keep one PDF per module.
  • Middleware gates 26 and 10 pass with MOCK_VERAE=true and NATS off. Gates 79/12 still need a local NATS (not required to push Add Numbers).
  • zapier-platform validate is clean with cleanInputData: false and a docs link on the optional API key field.