Fri 03 Jul
Weekly roster cycleW29 (4–10 Jul) UPLOADED + verified — 0 mismatches (384 shifts, 22 PAs, 62 H-codes; PeriodId 96939). 11 over-cap hourly staff trimmed to ≤5 (H→OFF on their habitual day-off, applied by patching the bundle JSON — xlsx H-display kept as-is …
Arch vouchersKO_DISCOUNT voucher type added + deployed (@44): the WC Predictor knockout prize — €10 off, min spend €70 (staff eyeball, no till enforcement), 7-day expiry, one-scan/no-change. New prizeType branch in createPrizeVoucher (reuses …
Loaf'd HR dashboardROLLOUT-READY. Templates v2 after statutory pass (probation → S.I. 686/2022 six-month cap; public holidays 9→10; rolled-up holiday-pay wording removed; free-training particular added) — DRAFT watermark OFF; solicitor deferred to resale per …
Thu 02 Jul
Loaf'd contracts🟢 BUILT NATIVELY IN THE PLATFORM (#11) AND LIVE-VERIFIED. Decision settled: contracts are a module of the Next.js/Supabase platform (sellable "Hospitech" direction), NOT a wired-in Apps Script bridge — the finished Eat Social Apps Script …
Loaf'd HR dashboard🟢 PRODUCTION CUT OVER. Vercel production env swapped to hospitech-hr (7 vars incl. ENCRYPTION_KEY + Resend, NEXT_PUBLIC_SITE_URL=https://dashboard.loafd.ie so signing links are prod-correct); claude/contracts-module fast-forwarded to main …
Loaf'd HR dashboardPLATFORM RE-HOMED + CONTRACTS MODULE LANDED. The old Supabase project (xjzvtysvtaunsaaczpda, free tier, Frankfurt) auto-paused and hit the 2-free-project restore cap — forced the infrastructure decision: new Supabase org "Hospitech HR" on …
Hospitech Time (Timepoint replacement)Kicked off off the back of reverse-engineering Timepoint through the weekly roster-upload automation (SiteId 125; GetFilteredData / SaveRosterRecord / PlannedAbsence shapes; DepartmentId / PayRate / DayTypeGroup model; holiday two-step …
Loaf'd holiday planner (Eat Social)Project handed into Claude Code: zip extracted to loafd-holiday-planner/ (CLAUDE.md, Code.gs, staff.html, admin.html). Verified the recent normaliseDate() fix in getAllRequests() + openById() accessor are intact (do not revert). Fixed …
Loaf'd holiday planner (Eat Social)Mark confirmed: happy with the roster as-is — Robynne McDonnell, Parhad Keyim Idikut, and Mark himself stay OFF the planner (don't re-raise). Planner staff list is settled at 32.
Loaf'd holiday planner (Eat Social)Mark reviewed the full by-department list (widget) and named 7 for removal: ES-001 Abigail Hamilton, ES-010 Síofra McManus, ES-014 Eimear Monaghan, ES-016 Jan Irvin Fabian, ES-017 Kinney Dunne, ES-018 Liam Connell, ES-020 Silviana Maria …
Loaf'd holiday planner (Eat Social)Reconciled planner Staff tab vs Mark's staff directory HTML. Added 3 new starters directly to the live sheet (no deploy needed — dropdown reads the sheet): ES-037 Chloe Smith (Swords FOH), ES-038 Soraya Pirbazari (Ashbourne FOH), ES-039 …
Wed 01 Jul
Local Vouchers (directory platform)Mark revisited launch: pushed back on "generic national + cold merchant ads" (cold-start/density argument); new strategy = seed his own venue group as anchor tenants — Loaf'd (Swords/Ashbourne/Drogheda, +Artane soon), Breakroom (2 sites) …
Hiring platform (Loaf'd-first → Hospitech product)Mark added the Cloudflare CNAME careers→cname.vercel-dns.com (DNS-only) himself (Chrome MCP hung on CF's SPA loading screen; wrangler token is Arch-account + zone-read-only so Claude couldn't add DNS). DNS verified, no CAA block. SSL was …
Hiring platform (Loaf'd-first → Hospitech product)Built + shipped employer self-serve (invite-only). Auth: custom email magic-link + HMAC-signed cookie session (SESSION_SECRET; reuses crypto/Resend/cookie patterns rather than Supabase Auth — migrate later at self-serve signup). Migration …
Hiring platform (Loaf'd-first → Hospitech product)Mark's call: this is a Hospitech Solutions Ltd product, brand = Staff'd (Loaf'd = tenant #1 client, not owner). Domain staffd.ie registered (Mark). Built the Staff'd platform home (host-based routing: staffd.ie = platform landing + /jobs …
Mon 29 Jun
Social/Meta tooling (all sessions)SECOND Breakroom paid ad LIVE: Student Night (first evergreen). Recurring weekly offer (Student Night every Tue · €12/hr table · €2 BYOB) → always-on ad vs the per-event comp. Campaign 120245551309040137 "Student Night — Evergreen" …
Arch/OSH holiday planner + roster toolAdded 2 approved holidays for Mark (4 Jul; 27 Aug–1 Sep) + a Firm block on 19 Jul, written directly to the live sheet in the app's own format. Then a 19–20 Jul request still came in (Gabriel Esteban, OSH) after the block → root-caused: the …
Arch/OSH holiday planner + roster toolNew hard department-capacity lock built + deployed @38: a request is hard-blocked at submit when ≥cap OTHER staff are already Approved off (same venue+dept, overlapping). Caps: Waiting Staff = 2, all others = 1 (Senior/Bar Staff/Cellar …
Arch/OSH holiday planner + roster toolReconciled the planner with the roster-builder (sibling session) per its return prompt. Decision: two tools, one data source — planner = source of truth for HR core (names, dept, rotations, paired, blocked dates); roster builder consumes …
Arch/OSH holiday planner + roster toolRoster replied: it auths to Sheets API (tab reads), can't call Apps Script fns. So (1) created a read-only Patterns tab (Name|dept|location|days_off|rotationA|rotationB|anchorSat|anchorWeek, day-NAME strings, 23 rows) mirroring …
Arch/OSH holiday planner + roster toolMark's calls applied: Willie→William Mc Cormack (Staff sheet + 8 Requests rows + seed; his Sun,Mon rotation+lookup now resolve, Patterns dept filled); Rosaleen Byrne stays roster-only (not added); Keith Bell (fixed Mon,Wed), Pat Crosbie …
Arch/OSH holiday planner + roster toolQ: auto-add new starters to the planner. New hires land "both ways" (Staff DB v3 + rosters). Diffed the Staff DB v3 (1kB2QDW…, 107 rows) vs planner Staff (91 rows): added the 4 genuine recent 2026 starters manually → planner IDs 100–103 …
Sun 28 Jun
Weekly roster cycleW29 (4–10 Jul) generated. Then process hardening (4 features, all tested): (1) weekly_run.py auto-stages a missing T-14 source from the previous generated_<MMDD>/ folder — kills the weekly manual copy+merge; (2) planner_aliases map …
Sat 27 Jun
Loaf'd brand pack v1.0 + marketing advisorMark onboarded Claude as Loaf'd's social/marketing advisor + handed over a Claude Design brand pack. Handoff zip (~/Downloads/Loaf'd Brand Package-handoff.zip) extracted to loafd-brand-pack/loaf-d-brand-package/project/. Implemented …
Loaf'd brand pack v1.0 + marketing advisorMark confirmed the pack's raspberry (#9E2E5F DEEPER) + Bowlby One SC as-is (no token changes), and approved deploy. Built a clean 1.1MB deploy bundle (loafd-brand-pack/dist/ — brand-pack.html + index.html copy, brand-deck.html …
Hiring platform (Loaf'd-first → Hospitech product)Originated from Loaf'd recruitment (live FB/IG "Chefs & FOH" ad landing real emailed applications). Mark wants to own the funnel + productise it. Brainstormed the venture: the moat is social distribution (each client brings candidate …
Hiring platform (Loaf'd-first → Hospitech product)Mark confirmed email-only verification (no SMS), Resend, Cloudflare DNS (from HACCP), laptop left open. Built the full Phase 1 Next.js 16 app (mirrors LOAFD_STACK_HANDOFF): careers home (/), apply form per role (/apply/[slug], Turnstile + …
Hiring platform (Loaf'd-first → Hospitech product)Mark pasted Supabase service-role key → ran full local smoke test against live DB (createApplication → email-confirm → manager-ping all ✓, then cleaned test data). Deployed to Vercel via API + Vercel token (no CLI): pushed repo to …
Fri 26 Jun
Weekly roster cycleW28 (27 Jun–3 Jul) uploaded + verified (388 shifts, 28 PAs, 77 H-codes, 0 mismatches). 12 over-cap staff trimmed to ≤5 (Mark's per-staff calls). Two guards fired: (1) bare first-name token "Ava" falsely matched "Savage, Lorcan Doyle" via …
Loaf'd financial dashboardNew PdfInvoice.gs: extractPdfInvoice_ converts a PDF attachment to text via Drive OCR (throwaway Google Doc, then deleted), reads the total (parseInvoiceTotal_ — labelled total → "X.XX EUR" → max fallback) + the site (detectLocation_ on …
Loaf'd financial dashboardMark's call: all invoices to land at hello@ (he'll set forwarding/billing). Established the routing reality first: supplier invoices currently hit BOTH hello@loafd.ie AND kearnsam (Sysco/Conaty in each) — split. Deciphered the …
Loaf'd financial dashboardMark's UX idea: a "command-center" landing = a tile per café + a Group tile, each showing week-to-date Net Sales (hero) · GP% · Wage% · Purchases, GP%/Wage% colour-banded (green/amber/red). Tap a tile → drills into that site's existing …
WC final comps — footfall-engine pilot (Breakroom + OSH)Built + deployed in one session (Astro+CF+D1, cloned from breakroom-comp conventions; pure scoring engine w/ 8 unit tests; admin = teams/lock settings, result preview→confirm settle w/ random tie draw, CSV export; QR codes in qr/). Manual …
Thu 25 Jun
Weekly roster cycleW27 (20–26 Jun) uploaded + verified (376 shifts, 32 PAs, 73 H-codes, 0 mismatches). Wrong-week guard caught a fresh tab defaulting to W26 (JS can't move TP's period — must use Mark's picker-advanced tab). New starters Katie/Sarah surfaced …
Loaf'd Orders App + Menu/Allergen Phase 2Sync Phase 3 DEPLOYED (Project C 1FrUBneK…, owner hello@loafd.ie). Promo Handler: baseline cols K/L on Products; price moves classified vs baseline (band = max 3%/€0.05) → real increase (alert + baseline up) / promo (current only, "Active …
Breakroom Pool Comp — entry siteFixed "signup lands on last week's list" (Sam Boland signed up 25/06 → was in the 24/06 list). Lean archive model (engine/Stripe/register untouched): live tables = the UPCOMING comp; finished weeks snapshot into a new archived_comps table …
Arch/OSH holiday planner + roster toolMigrated to Claude Code. Bound Script ID 1twL1sub8PQp9FTkf8ZEcCevxpy1sQBDMtf89CJZ9nXteqIE4cC6lW1S6 located (bound scripts don't list via clasp/Drive — found by hooking window.open on the sheet's Extensions→Apps Script in the Chrome ext …
Wed 24 Jun
Social/Meta tooling (all sessions)⚠️ Postiz low-reach root cause FOUND + FIXED — affects ALL venues on the app. Postiz-published FB posts were reaching ~0 (OSH test: 1 person) because the "Postiz Scheduler" Meta app was in Development mode → Meta shows dev-mode-app FB …
Contracts + Automator (Arch/OSH)Real state captured. Build lives at C:\Users\kearn\Contract sender\ — live Apps Script web app @58 / v15.4 (clasp scriptId 1Z4U3lz…, sheet Arch_Schoolhouse_Staff_Database_v3, SignNow provider on kearnsam@gmail.com). This session: recovered …
Contracts + Automator (Arch/OSH)All signed contracts extracted from SignNow → Drive. Reconciliation found 18 fully-signed docs (17 current staff + 1 ex-staff, all signed since the May archive run) with no local copy; archiveRecentSigned() downloaded each (collapsed + …
Loaf'd financial dashboardMark confirmed Chloe Smith = Swords (set in Staff tab). Backfilled historical wages: downloaded all 91 Brophy audit-trail attachments from kearnsam, parsed (per-employee Gross + Employer PRSI), mapped→location via Staff tab, kept clean …
Loaf'd financial dashboardLocated the payroll source: Cindy@brophygillespie.ie, biweekly, in kearnsam@gmail.com; data is in a "Payroll Summary - Audit Trail" HTML attachment (per-employee Gross + Employer PRSI; windows-1252). New WagesIngest.gs: scanBrophyWages() …
Loaf'd financial dashboardNew ToastSales.gs: scanToastSales() reads from:toasttab.com "Daily Performance Summary" in hello@loafd.ie, parses per-location daily emails → Sales tab (Date·Week ID·Location·Gross·VAT·Net), dedupes per (location, day), labels …
Loaf'd financial dashboardIngestion.gs now threads Location through scan → write → review → confirm. New detectLocation_ matches site keywords (swords/plaza, ashbourne/killeglands/hunters court, drogheda, smithfield/grangegorman/ardcairn/breakroom/pool hall) …
Loaf'd financial dashboardRe-authed the bare gws (kearnsam@gmail.com — token had expired, invalid_grant) and pulled ~11.5 months of Toast daily-summary emails (1,301 found). Parsed each (HTML; two templates — snippet €gross €net vs bold-headline [Net,Gross,…]) …
Loaf'd financial dashboardWired the dashboard view to the multi-site schema. Location switcher (All sites · Group + each café + Admin), persisted, threaded through getDashboard/getMonthly. DashboardApi.gs rewritten location-aware — 'All' sums per-site summary rows …
Loaf'd financial dashboardclasp authed for the Loaf'd account (named user loafd; clasp 3.3.0 stores it inside ~/.clasprc.json, default user stays kearnsam). Created the Apps Script project under hello@loafd.ie (script …
Loaf'd financial dashboardBuilt the foundation in Eat Social Dashboard\: cloned the Arch .gs/.html baseline, removed dropped views (Agent/Menu/Specials/Operating). Location dimension threaded through the schema (Setup.gs) — Location col on …
Loaf'd financial dashboardPort KICKED OFF (build folder: C:\Users\kearn\Claude Code\Eat Social Dashboard\). Brainstormed the multi-site architecture, then wrote the spec (Eat_Social_Dashboard_SPEC.md) + a 6-phase implementation plan (IMPLEMENTATION_PLAN.md) — both …
Loaf'd contractsKICKED OFF. #1 (the Arch sender at C:\Users\kearn\Contract sender\) is now a feature-complete clone base: contract send/sign, reclassify, countersign queue, new-starter registration, notifications, Leavers module, and a template-recovery …
Breakroom Pool Comp — entry siteAdded admin "Add walk-in" for cash/door entries: POST /api/admin/walkin (isAdmin-gated) inserts/updates a player as paid €20, marketing_optin=0, generates a placeholder email when none given (schema email is NOT NULL UNIQUE); form sits …
Tue 23 Jun
Social/Meta tooling (all sessions)FIRST PAID META AD LIVE (Breakroom Pool Comp). Dedicated ad account The Breakroom Ads 848861341286327 (EUR, own card, under "The Break Room" portfolio 5639750366063500) so venue ad spend is ringfenced. Customer list (1,070 from booking …
Social/Meta tooling (all sessions)Campaign delivering well: €3.20 day-1 spend (billing flag was just API lag), 2.82% CTR, €0.09 CPC, reach 1,000, 23 link clicks; 2 paid comp entries (Brian 21/6, Casey 23/6 — Casey landed while ad live). Conversion tracking added to …
OSH brand packageBrainstorm + spec approved by Mark 22/06. Decisions: extend live identity; deliverables = brand book + social kit (no print/imagery-library); social beats = 4 daily specials + vouchers + Sunday roast + live music/trad + live sport (no …
OSH brand packageBuilt osh-brand/ (static brand-book site, Breakroom pattern; vanilla HTML/CSS/JS, index.html/styles.css/app.js). Crest redrawn to v2 from pixel-measured original (gable roof + slate courses + rafter ticks, arched gable window, fanlight …
OSH brand packageDeployed osh-brand/ to Cloudflare Pages → https://osh-brand.pages.dev (Arch CF account, project osh-brand, production branch main; own wrangler.jsonc shield, pages project create first then wrangler pages deploy . --branch=main). Verified …
OSH brand packageSpecials reworked to themed days (no prices: Mon steaks/ribs/stir-fries · Cheap Ass Tue Mexican+drinks · Wed fish deals · Thu steaks); Trad→Thu 9pm, Fri/Sat live music 10pm board added. First live OSH Facebook post PUBLISHED via Postiz …
Sun 21 Jun
Social/Meta tooling (all sessions)Postiz LIVE (see #20). Buffer MCP removed as primary scheduler — Postiz covers unlimited channels free. Stack: Postiz + Temporal + nginx SSL on Hetzner CX23. Next step for social tooling: create a Meta Facebook App with pages_manage_posts …
Social/Meta tooling (all sessions)IG connected for Break Room (@the___breakroom). Postiz public API wired for Claude-driven batch posting (key in memory project_postiz.md): upload artwork → create FB/IG posts via /api/public/v1/. First live test PUBLISHED to both Break …
Social/Meta tooling (all sessions)Meta FB App "Postiz Scheduler" CREATED + first channel CONNECTED. App ID 1314350540830227, owner = "Mark Kearns's Business" portfolio, dev mode (fine for Mark/admin posting to own pages). OAuth redirect URI whitelisted …
Sat 20 Jun
Social/Meta tooling (all sessions)Installed (one session). ⏳ Needs ONE Claude Code restart, then /mcp → Connect both MCPs (Meta = the Business acct that owns the pages; Buffer = a Buffer acct, free tier = 3 channels). ScrapeCreators is live on restart, no OAuth. Guards …
Thu 18 Jun
Breakroom Pool Comp — entry siteResearched Darts Atlas (dartsatlas.com) via Firecrawl per Mark's ask — it runs the exact group→knockout model (a live series = "4 groups of 6 → top 2 → QF → knockouts best of 5"), validating our build. Adopted 3 quick wins it does: (1) …
Breakroom Pool Comp — entry siteMark gave the sk_live_… key and launched. Executed: set live STRIPE_SECRET_KEY; created the LIVE Stripe webhook via API (we_1TjpS5…, checkout.session.completed, livemode=True, enabled) → its whsec_… into STRIPE_WEBHOOK_SECRET; wiped the …
Breakroom Pool Comp — entry siteMark chose to use the Loaf'd Resend account (Eat Social = same entity as the Breakroom; cleaner than the LV/Hospitech one). Found the Loaf'd key already on disk in the HACCP app (Loaf'd Directory/haccp/.env.local, re_…) — reused it (no new …
Arch food costing — recipes & dish GPBuilt the backbone: 16 prep recipes (4 dips, ~12 kitchen sauces, Crispy Onions) on Prep_Recipes (per-L / per-kg / per-serve + a Unit Cost €/ml,€/g column) and the dish builder → 3 composite dishes proven from those preps: Cheeseburger …
Arch equipment maintenance logBuilt end-to-end + verified offline (mock-data preview, all 3 views, desktop + mobile, zero console errors). 33 items seeded across 6 areas; Dashboard (status grid + summary tiles + red banner), QR Report-a-fault form (optional note …
Arch equipment maintenance logclasp reauthed to the Arch account (info@thearchbarswords.ie; personal creds backed up to ~/.clasprc.bak.kearnsam.json), project Arch Equipment Log created (scriptId 1_Ta9F4U8fVSzkOUgINcn3V0sFVwqVbazlxineOnAbUhJCSIBeHH4ZwAK), 3 files …
Arch equipment maintenance logMark's plan: he'll set the real equipment statuses via Admin (PIN 7475) FIRST, then turn emails on. Alerting model changed per Mark: faults email instantly; everything else is a WEEKLY digest (Mondays 08:00), not daily …
Arch equipment maintenance logTwo features added per Mark, built + verified offline + deployed live (@3). (1) Per-category service contacts — new Contacts tab (auto-created + seeded; Refrigeration → Premier Refrigeration), editable in Admin; when a fault is reported …
Arch equipment maintenance logPer Mark, replaced load-one-at-a-time status editing with an inline "Update equipment status" list at the top of Admin: every item grouped by area with a condition picker beside it + a note box below, colour-coded by status, saving inline …
Arch equipment maintenance logAdded a Wash Up area: Dishwasher (Warewashing, 6-monthly) + Grease Trap (Grease Trap, 3-monthly/quarterly — default, editable) → register now 35 items; 2 new categories flow into contacts + editor. ensureInit_ made idempotent (appends …
Tue 16 Jun
Breakroom brand packageProduced a Pool Competition social asset off the brand package (Floodlit direction): IG feed post (2160×2700) + story (2160×3840) at breakroom-brand/campaigns/pool-comp-2026/ (post.html/story.html + Chrome-headless render.sh → PNG). …
Breakroom brand packageFetched + extracted the handoff tarball from the api.anthropic.com/v1/design link, read the chat transcript for intent. The package is 2 complete visual directions — A · Rack (editorial, ink-first, full-colour graded photos, rack-triangle …
Breakroom Pool Comp — entry siteBuilt end-to-end and verified locally: npm run build clean; 10/10 engine unit tests; 51/51 full-flow checks against the live API + local D1 (admin auth, league gen + idempotency, 28 results, standings ordering, top-8 seed with correct …
Breakroom Pool Comp — entry siteDeployed to Cloudflare Workers: https://breakroom-comp.black-rain-9ab0.workers.dev (remote D1 f26981e1-27c1-4087-a628-ef54004b47bb, WEUR; worker name breakroom-comp). Added a gated DEMO_MODE=1 var (entry form confirms an entry WITHOUT …
Breakroom Pool Comp — entry siteMark supplied the Breakroom's Stripe TEST secret key. Set STRIPE_SECRET_KEY secret; created a test webhook endpoint in Stripe via API (we_1Tj2bR…, checkout.session.completed) and set STRIPE_WEBHOOK_SECRET; flipped DEMO_MODE→"0" and …
Breakroom Pool Comp — entry siteTwo additions Mark asked for, built + verified + redeployed. (1) Independent scoring links — every match gets an unguessable token; /score/<token> is a public capability page (no admin login) where an assigned scorer enters just that …
Breakroom Pool Comp — entry siteMark (aiming 32 players) wanted a 2nd format option. Built + verified + deployed: admin now picks format per comp — Single league (existing) or Groups of 4. Groups: random crypto draw into 8 groups of 4 (each plays 3), with a redraw button …
Sat 13 Jun
Arch vouchers#9 DONE: both orphan 2-Jun connected accounts removed from Hospitech Connect (the mis-named "The Arch Bar" acct_1Te1ZQ + unused "Riverwood Investments"). Pre-removal forensics: the €21 test was already customer-refunded 3 Jun, its €19.40 …
Arch vouchers#2 DONE (Mark's spec: keep 4-digit PIN, add lockout): 5 consecutive PIN failures → all PIN auth locked 15 min (script-wide, CacheService), correct PIN resets counter; wired into verify_pin, today_redemptions and redeem. #11 DONE: qty cap …
Arch vouchers#5 CONFIRMED: expireOverdueVouchers daily trigger installed + running (last run 12/06 02:08, 0% errors) — no action needed. #12 DONE: arch-smoke-test.js built (root of Claude Code dir, clone of OSH harness + Arch extras: live no-money …
Arch vouchersMarked LIVE by Mark. Final state: Stripe Connect fee split proven in production (€2.73/€50 sale to Hospitech), Hospitech on dedicated "Vouchers Arch" key, WC pint wire live (104+ pints, Complimentary display everywhere, 72h expiry), PIN …
Loaf'd HACCP systemSubstantially BUILT & LIVE — and NOT Apps Script: it's a full Next.js + Supabase + Vercel app at https://haccp.loafd.ie. Repo lives at C:\Users\kearn\Loaf'd Directory\haccp (branch claude/reverent-colden-f1567e → merged to main; replaces …
Loaf'd employee database🟢 BUILT & LIVE as part of the HR dashboard build (#11) — repo at C:\Users\kearn\Loaf'd HR Dashboard\eat-social-hr\. Supabase project xjzvtysvtaunsaaczpda (eu-central-1). Tables: tenants, profiles, sites (5: Loaf'd Swords/Ashbourne/Drogheda …
Loaf'd HR dashboard🟡 Substantially BUILT & LIVE at https://dashboard.loafd.ie — repo at C:\Users\kearn\Loaf'd HR Dashboard\eat-social-hr\ (private GitHub kearnsam-svg/eat-social-hr). Stack matches HACCP siblings: Next.js 16 + Tailwind v4 + shadcn/ui + …
Hospitech — billing & VAT setupProject created on closing #5. Items moved here from the Arch voucher polish list (#10) + the €21-test settlement finding.
Local Vouchers (directory platform)Added to board (build folder: C:\Users\kearn\swords-voucher-directory). Infrastructure built & hardened: hosted-checkout buy flow, live Stripe webhook (checkout.session.completed → voucher), 3-channel voucher email (inline + PDF + web/QR) …
Fri 12 Jun
Weekly roster cycleW26 (13–19 Jun) uploaded + verified (375 shifts, 26 PAs, 73 H-codes, 0 mismatches). New holiday rule from Mark baked into build_tp_bundle.py: H only on would-have-worked days (salary pattern OFF days auto-converted H→OFF) + max 5 marked …
Arch vouchersPint "€6.50" display fixed everywhere (WC fix request, 104 live pints): scanner shows FREE PINT/Complimentary/1×Pint (gist 4ba0767), public balance checker shows "Complimentary — 1 Pint" (gist c9e0daf), BCC subject pint-aware (@26). All …
Arch vouchers⚠️ WP paste CANCELLED — discovered the live site moved off WordPress to Cloudflare Pages (archbar-site, project archbar-site); live pages load /scripts/redeem.js + /scripts/vouchers.js, NOT the gists. Fixed scripts copied into …
Arch vouchersReview item #3 DONE: GET create_prize route removed (@27), pint minting is POST-only; verified GET dead + POST/idempotency intact. Item #1 in progress: Mark creating dedicated "Vouchers Arch" Hospitech key (decouples Arch from the shared …
Arch vouchers#1 DONE: dedicated standard key "Vouchers Arch" created on Hospitech, swapped into Arch HOSPITECH_SK, Connect checkout verified live (no-money session create OK). Arch + OSH keys now independent — each venue's key can be rolled without …
Thu 11 Jun
Contracts + Automator (Arch/OSH)Tracker created. SignNow automation marked "in progress" per CLAUDE.md. Owning session: please update with the real current state of the job + Automator.
Arch/OSH employee database → financial dashboardTracker created. Owning session: update with DB completeness % and what the dashboard link needs.
OSH vouchersFULLY LIVE. Hospitech Connect fee split verified with real production sale (€1.70 collected on €10 test). Fee model locked: venue pays Stripe processing. Smoke harness: osh-vouchers/smoke-test.js. Remaining: monitor early sales only.
OSH website handoverRedesign spec + 14-step plan approved 2026-06-10 (Warm Stout palette, builds on osh-site scaffold — see docs/superpowers/plans/). Vouchers side already live (#3). Next: execute the build plan.
Arch vouchersSystem live; WC Predictor pint vouchers wire into it (72h pint expiry set @25). Owning session: list the actual remaining polish items here.
OSH financial dashboardKickoff doc ready (OSH Dashboard/KICKOFF.md). Blocked on Workspace mail migration. Unblock path: complete the migration, then start the port.
Loaf'd HACCP systemNot started in any session yet. First step: scope (digital checklists? fridge temps? supplier records?) — likely an Apps Script build on the Orders App pattern.
Loaf'd financial dashboardNot started. Sensible order: after Arch/OSH dashboards prove the model (#2, #6). Data source question to resolve: Toast API still 403-blocked → CSV pipeline.
Loaf'd contractsNot started. Depends on #1 Automator working, then #10 employee database as the feed.
Loaf'd employee databaseNot started. Source: Eat_Social_Staff_Database.xlsx (35 staff, ES-001–ES-035). Mirror whatever structure #2 lands on so dashboards/contracts port cleanly.
Loaf'd HR dashboardNot started. Depends on #10. Holiday planner web app already live and feeds this.
Loaf'd payroll systemNot started as a *system*. Current pipeline: Toast CSV export → Python/openpyxl → wages sheet → Brophy Gillespie. Known traps documented in CLAUDE.md payroll rules.
Loaf'd daily emailsNot started. Needs scoping: contents, source data (Toast CSV?), send-from account (hello@loafd.ie via gws-loafd).