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

36 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.