Log in Register

Developer changelog

Last 50 commits. Not publicly indexed.

82b7251James Staines18 June 2026

S217: FAQ regulatory audit complete — all 12 trades, compliance engine v2.1

10a5aa0James Staines18 June 2026

S217: merge staging to production

2b99b06James Staines18 June 2026

fix: correct taxonomy doc to live DB (12 trade types, 339 categories); fix category 101 trade_type p

e9362eeJames Staines18 June 2026

S217: compliance rules v2.1 — all 12 trades, audit script v2, migration 035

2e72800James Staines17 June 2026

S217: complete gas_engineer and roofer FAQ compliance review

dffe0f6James Staines17 June 2026

S217: complete roofer regulatory FAQ compliance audit

f4dcd56James Staines17 June 2026

S217: PL-SEO-DOMAIN-001 — canonical domain redirect for SEO

5498ad4James Staines17 June 2026

S217: PL-CAT-IMG-001 and PL-CAT-IMG-002 raised

74ed42bJames Staines17 June 2026

S217: category hero images — migration 034, image generator, publicRoutes wire-up

ba5b8a1James Staines17 June 2026

S217: cleanup — image-gen-log and migration 034 committed

b6325d5James Staines16 June 2026

S217: category hero images — migration 034, image generator, publicRoutes wire-up

fb451cfJames Staines6 June 2026

feat: landing page scroll reveal system, lifecycle strip, smoke card stagger 200ms

ec75991James Staines6 June 2026

feat: add lifecycle strip section to landing page between How It Works and The Difference

0329599James Staines5 June 2026

fix: correct trade sign-off email copy for auto-invoice path; add trade invoice auto-generated notif

118b102James Staines31 May 2026

fix: S217 — pause system hardening, trade category NULL scope guards, ON CONFLICT customer_id repair

2cce451James Staines31 May 2026

fix: S217 — pause system hardening: admin pause writes paused_by, admin unpause route, defensive coe

1a5b634James Staines31 May 2026

docs: S216 handover — add resume bug note, smoke test status, railway up clarification

6925570James Staines31 May 2026

feat: S216 — pause/unpause UI, dispute UI, admin status fixes, branch workflow, inline assigned_trad

b24b3aeJames Staines31 May 2026

fix: clear pause columns on admin status override unless overriding to paused

1b5f17fJames Staines31 May 2026

fix: resolve tradeRoutes merge conflict — accept staging version

de0a9b0James Staines31 May 2026

feat: trade pause/unpause UI, dispute UI, admin status dropdown fixes, admin paused bilateral emails

bb07f91James Staines31 May 2026

fix: defensive paused_by comparison — guard against whitespace and null coercion

6f6161bJames Staines31 May 2026

feat: pause/unpause UI for trade and client scope detail pages

c1fee52James Staines31 May 2026

fix: add final_price input to mark-complete form — resolves ?error=invalid_price on in_progress scop

1abefe9James Staines31 May 2026

fix: credit balance chip on /trade/settings — add credit_balance subquery to settings trade fetch

f6c27bcJames Staines31 May 2026

chore: enforce staging→production→main workflow in session scripts

f1d4ac2James Staines31 May 2026

merge: resolve doc conflicts — accept staging versions

14c6abfJames Staines31 May 2026

S215: security hardening — rate limiting, UK phone validation, honeypot, bot cleanup script, chatLim

6e41986James Staines31 May 2026

fix: loginLimiter on /webhooks/reconcile — brute force hardening

063a1ceJames Staines31 May 2026

fix: chatLimiter on /chat, intakeLimiter on /scope-edit — API cost protection

a1cb751James Staines31 May 2026

fix: UK phone validation and honeypot on /apply — bot protection

e9b33b6James Staines31 May 2026

fix: UK phone validation and honeypot on /register — bot protection

b7273aeJames Staines31 May 2026

fix: signupLimiter on /register and /client/accept-invite — bot protection

e23ac6fJames Staines31 May 2026

docs: S214 handover — session complete, deployed to production 30 May 2026

35ab411James Staines30 May 2026

merge: resolve doc conflicts — accept staging versions

2c8f5d1James Staines30 May 2026

S214: Blocks 8–11 + pre-Block-12 — new email templates, amendment fixes, admin parity, platform copy

e3d127dJames Staines30 May 2026

S214 Block 10: admin status override bilateral emails — in_progress auto-start, signed_off bilateral

43e720dJames Staines30 May 2026

S214 Block 9: amendment route open to all tiers, client notification on submit, accept/decline canon

bf5e5a9James Staines30 May 2026

S214 Block 8: 11 Postmark templates and send functions — auto-start, sign-off nudge, auto-sign-off,

a57a84eJames Staines25 May 2026

docs: update Friday deploy checklist — add step 0 deploy list print

3d21a5fJames Staines25 May 2026

docs: add weekly release cadence and Friday deploy dates through 3 July 2026

7547d41James Staines25 May 2026

docs: handover 213 updated — DB audit system, production cleanup,

09d8f0fJames Staines25 May 2026

Fix: create job_contracts row for all subscription tiers on offering acceptance (was incorrectly gat

c43e1bfJames Staines25 May 2026

S213: Add cleanup-orphans.js — removes orphaned rows from deleted test trades

aec1382James Staines25 May 2026

S213: Add /admin/audit page — DB health checks, account/scope/trade lookups

3ab6ed5James Staines25 May 2026

docs: add DATABASE_AUDIT.md for audit toolkit usage

42af62bJames Staines25 May 2026

scripts: add read-only trade audit diagnostic

da2392eJames Staines25 May 2026

scripts: add read-only DB health audit

e8d14edJames Staines25 May 2026

scripts: add read-only scope audit diagnostic

de4a3b1James Staines25 May 2026

scripts: add read-only account audit diagnostic