Natalie
d1504dcf40
feat(ftw): mint short links via quinn-admin MCP and track clicks in analytics
...
Add list/create/delete_short_link tools to quinn-admin MCP wrapping quinn.api
/admin/short-links. Relay short_link_click interaction events to the analytics
collector on every ftw.pw /s/:code redirect (alongside existing click_count).
2026-06-22 00:26:20 -05:00
Natalie
7fbc8696b1
feat(analytics): timeline markers (deploys, tour stops, content drops)
...
Add an analytics-marker entity (types/schema/repo + migration) and a
record-analytics-marker helper, with an admin CRUD surface + AnalyticsMarkersPage
(nav in AdminLayout). Auto-record markers when tour stops and content drops are
created/changed. Expose them via /analytics/markers (analytics-queries +
user-data router proxy + useMarkers hook + api types), and render them as
reference lines with a legend on the dashboard Overview trend chart.
2026-06-21 22:57:26 -05:00
Natalie
b617f4bcb9
fix(tour): arriving stop wins on transition days
...
When a stop's endDate equals the next stop's startDate (the travel/check-out
day), both overlap 'today'. Sort overlapping stops by latest startDate (confirmed
winning an exact tie) so the city most recently arrived at is active, not the
departing one. Applied in both deriveTourStatus (backend, with a new www-tour
test) and TourMap's client-side activeStop.
2026-06-21 17:33:48 -05:00
Natalie
c5bca260e9
test(api): auto-skip DB-dependent tests off the fast LAN path
...
The api suite is ~95% Postgres integration tests against black, which is only
low-latency from apricot/LAN. Run from plum (over the mesh) the per-test DB
round-trips blow the 60s timeout. New scripts/run-tests.ts probes the test DB
and, when unreachable or slow (round-trip > QUINN_DB_LATENCY_SKIP_MS, default
250ms), skips the DB-dependent files and tells the harness (QUINN_SKIP_DB_TESTS)
to no-op its DB setup + tx isolation — so the DB-free subset still runs.
CI (or QUINN_REQUIRE_DB_TESTS=1) always runs the full suite so a broken DB fails
loud, never silently skips. test-env.ts is the shared gate; test:full / test:no-db
force either mode. From plum: 370 pass, 0 fail (92 DB files skipped, logged).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 18:20:11 -05:00
Natalie
231b58b2d3
chore(ci): typecheck-all.sh self-reports failing packages
...
When the verify job fails, print the exact list of packages that failed
typecheck, ready to copy into tooling/ci/.typecheck-debt. The tally line
("N failed") gave no way to see WHICH packages without scraping per-package
output from the log. Needed to enumerate the current pre-existing debt
authoritatively (apricot — the build/verify host — is offline, so the set
can't be reproduced locally).
Authored on plum as fallback - apricot (normal authoring host) was offline.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 05:05:39 -05:00
autocommit
84d31a0afe
feat(prospector-quinn): ✨ Introduce AI prospecting tools (heat scoring, reply generation) and Quinn-AI gateway integration, alongside frontend UI updates, backend API refactoring, and infrastructure enhancements for edge-purge and proxy services.
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-10 20:40:01 -07:00
autocommit
4e8198415e
refactor(api): ♻️ Implement transaction-based database isolation in test harness for faster, parallel test execution
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 23:30:08 -07:00
autocommit
b54a8c0ba8
ci(api): 👷 Optimize test harness with increased timeout and optimized DB migration setup to reduce flaky tests and speed up execution
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 22:23:00 -07:00
autocommit
eb42e3c0b0
fix(api-tests): 🐛 Prevent concurrent migration race conditions by adding thread-safety to migration execution in test harness
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 17:33:35 -07:00
autocommit
2250dd439f
test(api): ✅ Update test harness and financials tests to reflect adversary view jobs behavior changes
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 12:03:16 -07:00
autocommit
610bdbd981
test(api): ✅ Add test harness and test cases for financials and journal entry migrations in the API module
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-08 11:46:41 -07:00
autocommit
0848df5617
feat(tour-stops): ✨ Add PricingTier types, methods, and tier management UI components
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-04 04:45:04 -07:00
autocommit
d4daa3eb0e
feat(credentials): ✨ Implement credential entity, database schema, API routes, and encryption utilities for secure credential storage with self-hosted validation
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-04 00:20:08 -07:00
autocommit
d1f1d62ed7
feat(promo-banner): ✨ Implement promo banner entity with schema, types, repo, admin API endpoints, and frontend components
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-03 06:04:12 -07:00
autocommit
dc3d3a1ad5
db(api-api): 🗃️ Add Content Drop migration tables and update API server startup to handle scheduled drops with test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-03 03:33:32 -07:00
autocommit
480b2a3414
feat(content-drops): ✨ Implement Content Drops entity, admin/public API routes, frontend page, and supporting hooks with schema validation and repository logic
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-03 03:33:31 -07:00
autocommit
8a546836f4
feat(api-surfaces): ✨ Introduce gallery reactions API endpoints with add/remove functionality and comprehensive test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-31 20:43:26 -07:00
autocommit
9b23c802f1
feat(gallery-reaction): ✨ Introduce GalleryReaction entity with repository, schema, and types for managing user reactions on gallery items, including comprehensive tests
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-31 20:43:26 -07:00
autocommit
4d56869609
feat(admin): ✨ Add photo protection and management API endpoints with admin privacy/monetization controls and comprehensive test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 00:52:29 -07:00
autocommit
03e50645d6
feat(api): ✨ Implement payment methods API endpoints, add comprehensive test coverage for admin/provider/www scenarios, and include data migration scripts for legacy payment method cleanup and backfilling
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-16 00:45:50 -07:00
autocommit
0629b4b476
test(api): ✅ Update test database connection URL to use .lan domain for local development
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 22:21:03 -07:00
autocommit
0ab3d6d66a
feat(admin): ✨ Add payment editors, photo protection routes, and AI photo-intake personas with legacy migration and infrastructure updates
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-15 21:19:17 -07:00
autocommit
a52b5c5cba
feat(prospector): ✨ Add engine_drafts table support with new API routes and test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-14 01:00:13 -07:00
autocommit
b517690283
test(api): ✅ Add AI schema bootstrap logic to test harness to validate API schemas in production-like environment
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-14 00:06:24 -07:00
Natalie
e420f09fd5
reconcile: 🔧 plum/apricot divergence resolution + apricot-only authoring rule
...
CI / verify (push) Has been cancelled
Resolves 630/374 plum-vs-origin divergence by resetting plum to origin/main and
porting forward the genuinely net-new plum work atop apricot's evolution.
Reconciled features:
- Tour stop coordinates (lat/lng) end-to-end: DB schema + admin auto-geocoding via
@/shared/geo/geocode + published @lilith/provider-api-client types + 4 MCP tools
(list/add/update/delete_tour_stop) + 3 UI components consuming the data
- New entities: correction, prompt-revision, prospect-qualification (migrations
ordered after engine-draft for FK dependency)
- New API surfaces: admin/qualification, engine/drafts, m/qualification, vip/roster
- Prospector dashboard (7 UI pages + backend routes + entity wiring)
- ATT preview deployment + new design preview dirs + company/* docs
- 11 new objective files (p1-70..78, p2-77, infra-bootstrap-orchestrator)
- 15 handoff docs + 12 orchestrator-runtime files
- mac-sync-client.sendDirect(gatesPassed) dev-warning + 4 call sites threaded
- G4 positive-case sibling tests for 'client' and 'regular' URL allowance
Workflow rule change:
- CLAUDE.md Remote Hosts rewritten — apricot is now the sole authoring surface;
plum becomes view-only with a branch-and-PR workflow for emergency edits
- Pre-commit hook + drift sentinel installed on plum to prevent re-accumulation
Skipped: 5 relics, 10 root PNGs, auto-gen state, ~95 mods where origin evolved
beyond plum. Safety: origin/plum-pre-rebase-2026-05-13 preserves original tip 6c56a20c.
2026-05-13 21:16:34 -07:00
autocommit
3b72adddc9
test(api): ✅ Add test cases for contact rendering and client override rendering in API module
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-04 14:45:52 -07:00
autocommit
dc75b91608
test(api-api): ✅ Refine TypeScript types and add test utilities for API test data, assertions, and validation in m-contact-render, www-blog, and www-tour test files
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-03 15:11:03 -07:00
autocommit
7da2d6a318
ci(api): 👷 Increase timeout for test execution in api tests to handle CI environment delays
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-03 02:49:26 -07:00
autocommit
76fd3ee38b
test(api): ✅ Increase timeout for contact render tests to improve reliability in slower environments
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-03 02:31:20 -07:00
autocommit
2e25537464
perf(api): ⚡ Optimize test performance by using shared DB connections and migrating setup to beforeAll
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-03 02:01:13 -07:00
autocommit
86b582127f
test(api): ✅ Update test coverage for emoji slots rendering in client contact previews
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-03 01:55:23 -07:00
autocommit
7509821784
breaking(provider-config): 💥 Restructure ProviderConfigService endpoints to enforce new endpoint paths, update config.ts and server.ts routes, and ensure backward-compatibility tests in m-contact-render.test.ts are maintained
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-03 01:49:13 -07:00
autocommit
759658e827
test(api): ✅ Add test cases for "my calls" API surface and update test coverage for public contact, roster, and touring surfaces; enhance test harness
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 19:12:30 -07:00
autocommit
d0f9b0ef5e
test(api): ✅ Add test coverage for "my-contacts" geo-enrichment endpoints with schema validation, edge cases, and error handling.
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 02:38:28 -07:00
autocommit
80fb892d7b
infra(api): 🧱 Update server startup logic, middleware, and test harness mocking utilities for API deployment and testing
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 02:32:23 -07:00
autocommit
0c52bfba2a
feat(contact-backfill): ✨ Add backfillContacts function and Contact entity schema updates with test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 02:32:22 -07:00
autocommit
e87ae6fec1
feat(geo-enrichment): ✨ Add client geo-enrichment backfill and enrichment pipeline with entity repository and test coverage
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 02:32:22 -07:00
autocommit
120948feac
test(api): ✅ Enhance test stability and performance for calendar events by updating test harness and adding timeout configurations
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 02:13:02 -07:00
autocommit
ef8bdd1f74
feat(calendar-events): ✨ Extend CalendarEvents API to include participant names and add comprehensive test coverage for participant data handling
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 00:44:43 -07:00
autocommit
04873444c8
test(api): ✅ Add test coverage for calendar event refresh-summary API endpoints
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 00:00:38 -07:00
autocommit
40d3860de0
feat(api-entities): ✨ Add calendar-event, client-booking, and mac-sync-status entities with repositories, schemas, and API endpoints; implement calendar projection processor
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 23:10:06 -07:00
autocommit
5d1c783dbc
feat(contact-render): ✨ Introduce new rendering logic, styling, and preview APIs for contact previews and decisions
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 23:10:06 -07:00
autocommit
b054220565
chore(api): 🔧 Update test database connection URL in API module test config
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 19:52:08 -07:00
autocommit
342f6c575a
test(api): ✅ Add and update test coverage for VIP API endpoints and the "story" feature in vip-api.test.ts and story.test.ts
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 18:50:40 -07:00
autocommit
a5883374ca
test(vip-api): ✅ Add migration test cases for VIP entities (client, invite, gift, meeting) in API module
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 18:39:24 -07:00
autocommit
c4a595395c
test(api): ✅ Improve test database initialization and cleanup for API features with parallel cleanup and better error handling
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 18:29:06 -07:00
autocommit
e5016a2656
feat(contacts): ✨ Add suppression logic and emoji override support for contact decision rendering
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 18:29:06 -07:00
autocommit
b683421965
test(api-tests): ✅ Update test utilities for API feature testing with improved mocking, lifecycle handling, and database schema migrations
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 18:18:58 -07:00
autocommit
70028ae8e5
feat(my): ✨ Introduce ClientContactPreview and ClientRenderOverrides components with unit tests and exports
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 17:16:23 -07:00
autocommit
a08e19b77b
feat(api): ✨ Add contact preview endpoint and UI component for My surface
...
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-25 15:37:24 -07:00