toga-ai 1.0.1021 → 1.0.1022

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@ project: Worker
6
6
  client: staples
7
7
  type: client-feature
8
8
  status: active
9
- updated: 2026-10-01
9
+ updated: 2026-10-14
10
10
  owners: [mhammontree]
11
11
  files:
12
12
  - worker/crons/sync/staples/staples_asn_netsuite.php
@@ -20,7 +20,7 @@ related:
20
20
  - ../../library/features/mvc-page-pattern-and-app-skeleton.md
21
21
  ---
22
22
 
23
- Hourly cron sending Staples 856 ASNs for shipped NetSuite item fulfillments, one row per fulfillment in `Common.StaplesAdvanceShipNotices`; open for the queue/retry/dedupe design, the 855 gate, statuses, manual SKIPPED, alerts, and how to test it locally.
23
+ Hourly cron sending Staples 856 ASNs for shipped NetSuite item fulfillments, one row per fulfillment in `Common.StaplesAdvanceShipNotices`; open for the queue/retry/dedupe design, the 855 gate, statuses, manual SKIPPED, alerts, how to test it locally, and how to check a "missing ASN" report.
24
24
 
25
25
  ## Summary
26
26
 
@@ -48,6 +48,14 @@ Each run (`cronInitialization(14400, false)` — must **not** use the read clust
48
48
 
49
49
  **Deploy order:** merge dbchanges first (`_production` applies on the next worker deploy), then deploy worker.
50
50
 
51
+ ## Checking a missing-ASN report
52
+
53
+ 1. **Table** (env `legacy`, 1.0 prod): `SELECT * FROM Common.StaplesAdvanceShipNotices WHERE poNumber IN (...)`. `SENT` + `dtSent` + `fileName` is the main proof. `dt*` columns are Central time (America/Chicago). The last part of `856_<PO>_<fulfillmentInternalId>_<n>` is the send's Unix timestamp — compare it to the SFTP file time.
54
+ 2. **NetSuite** `itemship.nl?id=<itemFulfillmentInternalId>`: Date (created), Shipped Date, SO. The job queues a fulfillment only once `shipStatus` is `_shipped`, so the row's `dtCreated` is the first run that saw it Shipped.
55
+ 3. **SFTP `/archive`** holds `855_<PO>_*` and `856_<PO>_*` once Staples picked them up.
56
+
57
+ Usual answer (TRUE-82655, 9 POs over 2 rounds): every ASN was sent; the client checked before the fulfillment was Shipped in NetSuite (shipping was 1-3 days after the 855). No code issue. Client proof reports were built from these 3 sources.
58
+
51
59
  ## Testing locally
52
60
 
53
61
  1. Load prod `Common` locally and run `dbchanges/Common/MH/2026-09-30.sql`.
@@ -65,3 +73,4 @@ Expected (2026-10-01 run): first run 101 rows, 90 matched as already sent by the
65
73
 
66
74
  ## Change history
67
75
  - 2026-10-01 — First doc. TRUE-82180 rewrite: `StaplesAdvanceShipNotices` queue with 7-day lookback, shipping-hash dedupe, per-row retry/FAILED, 24 h alert, test mode never uploads, old-job match for pre-go-live shipments. Committed worker `cf5198a27`, dbchanges `8b1f7cb` on branch TRUE-82180; not deployed as of 2026-10-01. (mhammontree)
76
+ - 2026-10-14 — Added "Checking a missing-ASN report" (TRUE-82655 investigation: all reported ASNs were sent, client checked before Shipped). (mhammontree)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toga-ai",
3
- "version": "1.0.1021",
3
+ "version": "1.0.1022",
4
4
  "description": "TOGA Technology Team Claude Knowledge System — shared AI coding harness with skills, knowledge base CLI, and project installer for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",