ToolNaka · Resume & Handoff

Everything is live, and here is the verified trail.

A resumable snapshot of the ToolNaka workstream: what was already delivered, what is still open, how each claim is proven, and the one page you need to pick the work up again.

Live sitetoolsnaka.store
StackVercel + Neon Postgres
Ledger2026-09-22
Verification13 of 13 live checks

Status at a glance

19
Delivered & verified
2
Awaiting your go-ahead
0
Blocked
AreaStatusProof
Hosting moved off the laptop to Vercel + Neon; domain cut over; laptop retiredDONEgo-live report · retire notes
Rider/delivery flows, service-request bug, uploads, monthly-bill cronDONEgo-live report
Indent approval chain (Dept Manager → Plant Head) + emergency bypassDONE16/16 end-to-end
“Nothing works” root cause: seller record + hidden import UIDONE17/17 journey
Automatic stock sync from a spreadsheet linkDONE14/14 + 9/9 live
Payment reminders three times a week, real email deliveryDONElive sent=true
PIN code decides area / city / state (India)DONEtap: 411001 · 302001 · 110001
Third-party (“Moglix”) name removed everywhereDONE0 occurrences in live bundle
Delivery: factory chooses; ToolNaka choice locked to the sellerDONE11/11 + 9/9 live
Delivery fee billed inside the order totalCONFIRMchanges checkout pricing
Rider login (status updates from a phone)CONFIRMadds a role back

Resume report

What was already completed before this pass

The ToolNaka site was migrated off a laptop-hosted setup (Windows + Cloudflare tunnel + SQLite) to Vercel with a Neon Postgres database, and toolsnaka.store now resolves directly to Vercel with a valid certificate. The local server, tunnel and auto-restart watchdog are stopped, so the site stays up with the laptop off.

On top of the migration, the product was fixed and extended: the rider/delivery app was removed, the vendor service-request panel bug was fixed, uploads became database-backed, billing moved to a scheduled job, the indent approval chain was built (department manager, then plant head, with a department scope and an emergency bypass), and the root cause of “all features not working” was eliminated — sign-up never created the seller record the catalog APIs required.

What was left open when work stopped

Four requests from the last active stretch were finished and verified live: PIN-code location, removal of the third-party category brand, a direct catalog import entry, and the delivery feature. Two optional items were explicitly parked pending your decision: billing the delivery fee inside the order total and a rider login. No work-in-progress code was left uncommitted or half-deployed.

Reconstructed current state

Checked live on 2026-09-22: the app answers with {"status":"ok","db":"ok"}, the landing page renders, the three newest endpoints exist and reject unauthenticated writes with 401, PIN codes resolve to real cities, and the JavaScript the site serves contains the new screens and no trace of the removed brand. One earlier snapshot claim — “the health endpoint is served by Vercel” — is re-confirmed by the Server: Vercel header and by fresh serverless uptimes.

Verification log

Re-runnable by anyone, no credentials needed:

$ node DELIVERY/verification/verify-live.cjs PASS api/health returns db ok status=200 db=ok PASS landing page renders status=200 bytes=60514 PASS /api/deliveries is protected status=401 PASS /api/payment-reminders is protected status=401 PASS /api/inventory/sync is protected status=401 PASS pincode 411001 resolves to Pune city=Pune City state=Maharashtra PASS pincode 302001 resolves to Jaipur city=Jaipur state=Rajasthan PASS pincode 110001 resolves to Delhi city=New Delhi state=Delhi PASS no "moglix" in the served bundle occurrences=0 PASS new UI shipped in the served bundle 6/6 PASS delivery updates require auth status=401 PASS /delivery/toolnaka-resume-handoff.html status=200 PASS /delivery/stock-template.csv status=200 === 13/13 live checks passed ===

Earlier suites, same system

SuiteResultWhat it proves
Buyer→seller journey (OTP → register → product → order+approval → indent+chain)17/17sign-up creates the seller record; the catalog, ordering and approval paths work end to end
New features (spreadsheet sync + reminders)14/14stock of 5000 → 4200 after a sheet edit; a new row is added; reminders record the right amount
Approval chain16/16level 1 advances to level 2; the indent is released to sellers only after final approval
Live pull executed by production9/9the deployed site really fetches a vendor’s sheet and updates the catalog
Delivery rules11/11ToolNaka delivery is locked (seller gets 403); ops assigns a rider; a hand-off locks the seller too
Production checks for the latest four changes9/9PIN lookups, zero brand occurrences, both new UI screens, order + lock + rider assignment

Work ledger

Full ledger with evidence paths: DELIVERY/toolnaka-checkpoint-ledger.md. Nineteen items are done, each tied to a file, a report or a live check; two are parked for your confirmation; three were dropped deliberately with reasons (the rider role, local self-hosting, and Turso).

Handoff

Gaps & risks
  • Reminder emails send from your Gmail SMTP account — fine now, but a transactional provider is the next step at volume.
  • Sign-up OTPs use the built-in mock provider (the code is returned to the client and logged). Add a real SMS key in Vercel to switch over; no code change.
  • PIN lookup calls the free India Post service on first use, then caches in PincodeCoverage. No bulk offline dataset is bundled.
  • Order approvals (cart checkout) remain single-tier by amount — deliberate, to preserve existing checkout behaviour.
Recommended next milestone
  • Charge delivery at checkout — add a per-zone fee so a ToolNaka delivery is billed on the order, not just recorded. Needs your confirmation because it changes pricing.
  • Rider login — let riders update status from their phones. Needs your confirmation because it reintroduces a role.
  • Real OTP keys — the smallest change with the largest real-world effect.
Rollback

Every change sits in the toolnaka-ai project behind a Vercel deployment. To roll back, promote the previous production deployment (Vercel Dashboard → Deployments → the prior one → Promote to Production); the domain follows the alias, so the site returns to the earlier build in under a minute. Database changes are additive (new tables and nullable columns) — no destructive migration was run, so rolling the app back does not break stored data. The retired laptop stack can be restarted from the retire notes if it is ever needed as a fallback.