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
325
208 not started
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) 50 commits over 14d · 10 active days · 4 zero days
Last 48h — all repos (GH daily refresh · times MT) Two commits in the window — Friday's Vertex AI/KeyData fix and Thursday's PriceLabs-mirror job. Quiet Saturday morning.
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
7 open PRs on core ≥7d old (oldest 18d)
#548 18d · scanner: infer min-rate floor from PMS rate calendar
#552 16d · docs: add Escapia integration reference (Gateway)
#551 16d · docs: introduce docs/integrations/ shelf + Hospitable
#550 16d · scanner: add Guesty fallback for min-rate floor infer
#554 15d · scanner: auto-fill unit-level minrate panel
#553 15d · scanner: cache resolved floors + data-hygiene chips
#555 14d · scanner: add Hostaway as 4th floor source
Next18
Ship in priority order
MC V1 + Pulse — flagship
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.