Pacer engineering roadmap

What's shipping across core, pacer-site, pacer-portal, mcp. GitHub data refreshed: 2026-06-15 by scheduled task

Δ vs Jun 13 core 7d → 12 mcp ±0 → 2 open PRs ±0 → 10 7 scanner/docs PRs stale 14–18d Weekend window: 4 commits Saturday Jun 13, quiet Sunday and Monday morning (weekend baseline). Core 7d count is 12 as the early-June MC and design-system burst rolled out of the trailing window. Scanner/docs PR stack still unreviewed at 14–18 days.
Open eng tickets CU live
354
217 ready · 50 active · 87 in review
In review CU live
68
waiting for merge
In progress CU live
49
active work
Commits to main · 7d GH daily
14
core 12 · mcp 2 · site/portal 0
core active · last Jun 12 · sync, infra, captions mcp active · last Jun 10 · agent server pacer-site 1 PR open · master idle since Feb pacer-portal dormant · last May 8 · archive candidate
What's changing — by product surface
Data & Synccore/integration
Active · 3 / 7d
Reliability layer: KeyData/Attio pipelines and Postgres performance. The most active surface this week. Friday's commit swapped the portfolio-intel composer onto GCP Vertex AI and fixed a KeyData merge plan-cache regression. Earlier the merge-hang saga closed out — orphan backends + stale planner stats, now capped by a 10-min statement timeout.
  • Jun 12portfolio-intel composer → GCP Vertex AI + KeyData merge plan-cache regression fix
  • Jun 10KeyData merges bounded to 10-min statement_timeout + job stuck/kill/unlock triage
  • Jun 9Drop KeyData stay_type='hold' from sync — fixed ~16pt occ overstatement vs KD dashboard
  • Jun 4sync_resolve_staging_units two-pass index join
jig was-adnjig cbq-ic8jig wwf-lsu
Core / infracore
Active · 11 / 7d
Plumbing under everything: captions pipeline, portfolio-intel nightly, and the API surface MCP consumes. Jun 10 was the big day — portfolio-intel left the old automation VM for core's scheduled-job pattern, and PMS/RMS secret endpoints landed.
  • Jun 10portfolio-intel nightly migrated off VM → core scheduled jobs + Doppler→Cloud Run secrets
  • Jun 10Portfolio integration listing + PMS/RMS secret read/write endpoints
  • Jun 10#561 + #562 captions title discipline + push-guesty (open)
  • Jun 8Captions 'document' anomaly + auto-approve threshold 0.9 (#559)
jig w1v-3ijjig wib-22ljig ip6-7l9
MCP Servermcp
Active · 2 / 7d
Agent-facing MCP server wrapping core's API. Quiet since Wed's pair: new tools wrapping core's integration endpoints, plus a release-CI fix (goreleaser workaround). Last commit Jun 10.
  • Jun 10MCP tools wrapping new core integration endpoints (list/read/write PMS-RMS secrets)
  • Jun 10Fix release CI — skip goreleaser's broken GitHub release step
  • Jun 3handler-result + setOpt helpers; collapse 18 doGET sites
  • Jun 3list_portfolio_new_listings tool + Brandon /mcp feedback fixes
jig wib-22ljig syo-s7t
Pricing & Scannercore/scanner
Active · 1 / 7d
Min-rate floor inference + PriceLabs integration depth. The only commit on this surface in the last week is Thursday's nightly job mirroring PriceLabs-native config (notes, tags, overrides) into core. The scanner PR stack itself stays unreviewed at 13–16 days.
  • Jun 11Nightly mirror-pricelabs job — PL notes/tags/overrides into core (epic sz6-wha)
  • 16d#548 infer floor from PMS rate calendar STUCK
  • 15d#550 Guesty fallback for floor inference STUCK
  • 13d#555 Hostaway as 4th floor source STUCK
+ #553, #554 (floor cache, panel autofill) and docs #551, #552 — all stale 13–14d. Decision 1 (merge policy) unblocks these.
jig sz6-wha
Partner Portalcore + pacer-portal
Active · 1 / 7d
The in-core partner-facing portal re-skin landed Jun 8 (#557). The standalone pacer-portal repo stays dormant (last commit May 8, 36 days) and is the archive candidate from Decision 4.
  • Jun 8#557 Re-skin to Mission Control glass design (landed)
pacer-portal repo: no commits in 36d.
Design Systemcore/sitekit
Idle · 8d
UI primitives powering MC V1. The Jun 5 push (app shell, page wrap, design audit) was the last sitekit work — 8 days quiet while infra and Data & Sync took the foreground. No open design PRs, so this is paused rather than blocked; it resumes when MC V1 work restarts.
  • Jun 5Coach overlay wiring + accent-bar state mapping
  • Jun 5ui.AppShell replaces LeftNavScreen (slice B)
  • Jun 5component.Page + Breadcrumb page wrap (slice A)
  • Jun 5wry-cii audit vs DESIGN_SYSTEM.md — 15 gaps filed
jig lts-du3jig wry-ciijig 9qo-x5y
Mission Controlcore/app/mc
Idle · 8d
Recommendation-card action flows (apply / snooze / dismiss) and the in-portal coach walkthrough — the flagship surface RMs will live in. Last commit Jun 5; idle 8 days while the team finished the integration + secrets plumbing MC depends on. Decision 2 (Phase 1 scope lock) gates the restart.
  • Jun 5Per-card coach-walkthrough glow ring (pass 2)
  • Jun 4Cards-demo bulk-apply modal + 16 MiB Apify batch cap
  • Jun 4Dismiss confirmation + Undo result panel
  • Jun 4Apply flow with conservative/aggressive paths
jig d6g-8h2jig 2sx-kq0jig 0bm-fyf
Marketing Sitepacer-site
Stalled · 1 PR open
React/Vite marketing site. master untouched since the Feb v4 rebuild; the captions e-commerce flow has now sat in an open PR for 16 days.
  • 16d#1 Captions order form + Stripe checkout wiring STUCK
master last commit Feb 27 (v4 rebuild).
Jason commits to core — last 14 days (GH daily refresh) 68 commits over 14d · peak 6/19 (15 commits)
Last 48h — all repos (GH daily refresh · times MT) 68 commits over 14d · peak 6/19 (15 commits)
Today · Sat Jun 13
No commits or PR activity yet (as of ~7 AM refresh).
Yesterday · Fri Jun 12
core1:59pSwap portfolio-intel composer onto GCP Vertex AI + fix KeyData merge plan-cache regression
Thu Jun 11 · still inside 48h window
core4:17pNightly mirror-pricelabs job — PL notes/tags/group/overrides into core (jig sz6-wha epic)
Decision 1PR merge policy. Scanner PRs #548, #550, #553, #554, #555 (+docs #551, #552) stuck 13–16d.
Decision 2MC V1 Phase 1 scope lock with Jason — gates Mission Control + Design System restart (idle 8d).
Decision 32nd eng hire when Cap Eleven closes.
Decision 4Archive pacer-portal repo (dormant 36d, last May 8).
In flight8
Finish before opening new fronts
Sitekit primitives
Chart, Date, MultiPicker, Context, Table
Bookings SRF refactor
+ Booking Intelligence Suite scaffolding
MC V1 Phase 1 foundation
Recs queue, composeScore, health
Cloud Run cost guardrails
matview-drain inline drain
Captions Postgres-backed loader
PRs #539, #545 · anomaly detection live (#559) · LCP #560, title/push-guesty #561–562 open
Min-rate floor inference
7 PRs (#548–555) open, awaiting review 14–18d · PL-mirror nightly landed Jun 11
Open PR stack — 2026-06-26 (GH daily)
#551 docs: introduce docs/integrations/ shelf + Hospitable & PriceLabs API references — 28d
#552 docs: add Escapia integration reference (Gateway + HSAPI + EscapiaNET SOAP) — 28d
#555 scanner: add Hostaway as 4th floor source (unvalidated — awaiting creds) — 26d
MC pages ported to sitekit
portfolio, list, pacing
Portfolio dashboard + health composite
Pulse subsystem
event framework + in-portal alerts
Watch list
Filter dimension + URL-backed picker
Reservation board upgrades
VIP filter, share view YoY
LOS failure notifications
Cleaning fee analysis in MC
RM general unit notes
Done = 9/9 RMs use MC daily. NPS ≥40. RM hours per portfolio down.
AI consolidation — parallel
Lasso v2
sitekit port + unit lookup fix
Knowledge Engine integration
Gemini RAG → Slack, Portal
Pacing + Programmatic API
token auth, agent-ready · MCP server live
Booking Intelligence Suite prod-ready
Stabilization — as needed
Comfy Womfy Feather → Hostaway
UpdatedAt cursor sync (non-KeyData PMSes)
KeyData 90d YoY scoring fix
Monthly % rev invoice automation
Automated CI gates
replaces human PR review burden
After flagship15
Ships when MC V1 ships
Auto Decks — data foundation only
Confirm dim tables
unit-night, unit, portfolio
KPI definitions w/ SF + Justin
Snapshot schemas
KPI snapshot SQL
Market comparison SQL
Underperforming units SQL
Constraint classification SQL
Validate snapshots with RMs
Done = validated snapshots. Reusable by Forecasting + Knowledge Engine.
Forecasting Phase 1
Data access + infra
Feature design + market mapping
Backtest
Rollout to ≥5 portfolios
Pulsar — targeted only
Floor prices v2 w/ Ventur
Comp/compset management page
Live preview for rate %
Deferred — not this window
Auto Decks Phases 2–8
Polymarket signals
Projections Phase 2 NOI
Interaction Framework full
Automated Onboarding build
HTMX 4 analysis
Net-new Pulsar features
Pulsar AI
Mission Control V2
pacer-portal repo work
Flagship / MC V1 AI layer Stabilization / Pulsar Data foundation
Lifetime merged GH daily
33
since 2025-12-28 · core only
Net LOC shipped GH daily
+171k
+348k / -176k
Top contributor GH daily
Jason
22 PRs (67%)
Jun 2026 merges GH daily
0
Work goes direct-to-main
Merged PRs per month — core (GH daily refresh) PR-merge is only part of the story — most of Jason's output lands as direct commits to main. See Initiatives tab for live activity.
All merged PRs · STR-Consulting/core
#542ui: render minrate scan errors inline so HTMX shows themPacerRev · 2026-05-08 · +36/-3
#538ui: minrate impact redesign with Obsidian Green design systemPacerRev · 2026-05-08 · +529/-128
#535ui: minrate scan open by defaultPacerRev · 2026-05-07 · +1/-1
#525ui: move minrate scan above admin sections + units gridPacerRev · 2026-05-05 · +7/-7
#519fix(intel-brief): use markdown_description so brief body actually rend...PacerRev · 2026-05-04 · +30/-18
#522fix: default minrate scan dates inline (today → +90d)PacerRev · 2026-05-04 · +16/-0
#521ui: minrate scan tooltips explaining data sourcesPacerRev · 2026-05-04 · +11/-11
#517client-health: Mission Control dashboard (soft launch, Jon-only)PacerRev · 2026-05-02 · +2308/-0
#485Phase 8A: Intelligence ingestion pipelinePacerRev · 2026-03-09 · +2357/-7
#484Partner login redesign with brand hero, Google SSO, and multi-column f...PacerRev · 2026-03-06 · +481/-131
#483add automated performance deck pipeline with dual-mode Google Slides r...PacerRev · 2026-03-05 · +7206/-0
#481DevelopJason-Abbott · 2026-02-16 · +1614/-1175
#480DevelopJason-Abbott · 2026-02-15 · +118672/-38816
#26Just catchin' upJason-Abbott · 2026-01-15 · +37803/-38535
#25Funny thing: Claude gave up and just disabled the health checkJason-Abbott · 2026-01-11 · +1581/-187
#24Trying to figure out why account that pushes releases can't also run h...Jason-Abbott · 2026-01-11 · +3/-3
#23SameJason-Abbott · 2026-01-11 · +14/-6
#22Oh ClaudeJason-Abbott · 2026-01-11 · +14/-6
#21Claude is really really sure this timeJason-Abbott · 2026-01-11 · +32/-0
#20Claude says it's REALLY fixed this timeJason-Abbott · 2026-01-11 · +324/-23
#19CD fix attemptJason-Abbott · 2026-01-11 · +492/-5
#18A million things but this is to see if new CI/CD worksJason-Abbott · 2026-01-11 · +67019/-9778
#17Fix CIJason-Abbott · 2026-01-04 · +152/-99
#16DevelopJason-Abbott · 2026-01-04 · +75857/-70240
#15Release for job var fixJason-Abbott · 2025-12-31 · +46/-22
#14DeployJason-Abbott · 2025-12-31 · +3343/-2482
#13Basically just trying the deploy againJason-Abbott · 2025-12-30 · +18/-10
#12Initial schema migration and job; also just keep main from getting too...Jason-Abbott · 2025-12-30 · +11639/-5617
#9Standardized secrets name — confirm deploymentJason-Abbott · 2025-12-29 · +1639/-1009
#4Merge to test job running scenarioJason-Abbott · 2025-12-29 · +3050/-2871
#3Ongoing tweaks; keep prod updatedJason-Abbott · 2025-12-28 · +3440/-1657
#2Fix deploy hopefully and add more css comments so I can think about itJason-Abbott · 2025-12-28 · +97/-37
#1DevelopJason-Abbott · 2025-12-28 · +8018/-3610
Contributors — lifetime (core PRs)
Jason-Abbott22 PRs
PacerRev (Jon)11 PRs
Read this with the Initiatives tab Merged-PR count tracks Jon's workflow + Jason's occasional Develop merges. Jason's day-to-day lands as direct commits to main, so "0 June merges" understates output — core took 16 commits in the last 7 days. The Initiatives tab is the real shipping signal.