July 202615 releases
A calmer cycle view
- The cycle view gains two density modes, so a busy board stays readable.
- Session summaries name tasks by their title, not just a number.
- The velocity stat books work actually delivered, not what was planned.
- A sweep of small copy and colour fixes across the dashboard.
Full detail
- Simplify edge urgent filter — drop redundant not-null guard
- Replace em-dash in TeamProjectView solo-team empty state
- Delete retired landing-v3 dead draft
- Define --amber-border under .lvc
- Converge /docs/tools to the AD-46 v3 dark canon
- Add INSERT-style axis to hosted behavioural-parity ledger
- Reduce Cycle-view overload — two-mode density, roadsign header, module surfacing
- Landing velocity books delivered effort, not planned
- Orient Carry-Forward must re-read current task status so it can't quote already-resolved (Done/Cancelled) tasks as still-blocked
- Orient must print the task TITLE inline, not just the ID, in stalled-task warnings and the Carry-Forward block
- Fix zero-duration cycle bug: cycle 327 has start_date == end_date to the microsecond — cycle duration is uncomputable
- Guard against Mac-pruned lockfile + linux regen path
- Restore linux-complete lockfile — unbreaks Railway (C328 regression)
- Read plan_runs into an owner planner-diagnostics surface
- Federate the Team roster by normalized repo_url
- Write real quick-start and troubleshooting docs
- Page the board fetch so tasks are never silently truncated
- Detect dead realtime socket, reconcile on recovery
- Converge deriveLoopSteps onto currentStageFromWork
- AnalyticsPreview data surface off plum onto sky
- Remove periwinkle token, repoint consumers to canon
- Implement Weekly Active Builders (the North Star headline)
- Tool_call_metrics project-less + user FK + unswallow catch
- Edge updateTask writes the 9 dropped columns (hosted data loss)
- Wire createOwnerAction producer to the hosted proxy+edge
- Churn/recovery emails classify activation via the funnel
- Cold-verify probe leaks memberships on failure
- Converge owner-action scope server-side (include_global)
- Behavioural (column-set) axis on hosted parity ledger
- Gate discovered_issue auto-intake to P0-P2
- Run from-scratch migration gate in ci:local + gate the stamp
- Bound build-report context in formatBuildReports + handoff
- The baseline left search_path empty, breaking every from-scratch build
- A freshly-planned cycle lit an EMPTY build lane
- Velocity booked planned effort, discarding every est-vs-actual surprise
- A tool call before project_create recorded nothing
- Cockpit ran a second activation definition, and a false caveat
- The owner-action surface matched 0 of 18 rows and never rendered
- Cycles.user_id was NULL on 60% of rows, undercounting per-user reads
- REVOKE ... FROM PUBLIC does not strip anon/authenticated
- ActivationRail — SegmentTrack dropped captionMode in PR #1162
- Landing round — the hero is the real product, and every control works
- /docs/guide + /docs/handbook are legible on the dark canon
- C328 feedback round — Released, branch state, centred checkpoints, denser loop
- Data surfaces render --color-papi-data (blue), not the plum voice colour
- Planned and delivered effort are two metrics, never one
- Plan writes as it works, bounds its payload, and survives a crash
- Hosted parity — wire the typed-blocker owner-action methods (user-scoped)
- Hosted parity Batch A — wire 3 planner-context reads through data-proxy
- Hosted parity Batch B — wire 5 project-scoped writes through data-proxy
- The outreach queue could not see the users worth calling
- Instrument THE FTUE - landing to first release
- Stop the hub lying about the cycle it is showing
- Stop locking returning users out of their own project
- The FTUE asked users who they are and threw the answer away
- The cold harness's own stranger-check was a false green
- Pay off the first tool call — setup gets a live spine
- Cold-verification harness — prove the front door opens for a stranger
- Backfill must not treat dashboard-seeded tasks as MCP evidence
- Make first-mcp-tool-call the authoritative activation event
- Dark-first PAPI app icon refresh + purge banned thread motif from brand book
- Stop promising a browser tab that never opens
- Restore linux-complete lockfile — unbreaks Railway auto-deploy
- Revert: remove nixpacks.toml — Railway builds with Railpack, not Nixpacks
- Use npm install, not npm ci, on Railway
- Full lockfile regen — add missing @emnapi optional deps
- Sync package-lock to server 0.7.51 — unbreaks Railway deploy
- Measure the connect step; stop the admin badge lying
- Declare openWorldHint on all tool annotations
- Serve full tool manifest when no project is configured
- Point published package metadata at public repo, not private
- Dark-mode legibility on Time Machine + StartupBar landing scoping/gap
- C325 altitude restructure — one live Cycle view + Projects view (8 tasks)
- Purge dead /sse install claims from live docs + regression guard
- Cycle 324 — merge feat/cycle-324-dashboard
- Cycle 324 — merge feat/cycle-324-marketing
- Cycle 324 — merge feat/cycle-324-core
- Cycle 324 — merge feat/cycle-324-mcp-server
- Marketing sub-pages sweep onto dark brand tokens + Cursor CTA fix + repo link
- Landing — Lee feedback bundle (hero wedge, carousel pause/play, pain-first cards, FAQ)
- Make MCP directory installs attributable in funnel_events
- Dirty-tree guard on the review/merge path
- Scope-drift signal — restart-proof task-tagged commit range
- Dark-first relaunch: landing on hub tokens + hub dark default
- Cycle 323 — core: 2523 + release version bumps
- Remove stale HubFrontDoor doc-comment references
- Cycle 323 — dashboard: 2446, 2511, 2520, 2526, 2523(UI), openhands audit
- Onboarding: add a 'join Discord for help' CTA in the in-product onboarding flow
- Cycle 323 — docs: 2515
- Cycle 323 — core: 2524, 2516, 2508
- F8: Double-encoded build_handoff rows STILL being written — regression/gap after +
- Drop em-dash from the member empty-state line (public-copy rule)
- Singular 'tool call' receipt label
- Rail rebuild — type floor, full handoff, receipts, review history
- Z4 archive shelf — Activity folds in, duplicate tabs die
- Z1 identity strip + Z2 fused loop with protagonist card
- One container system — radius/shadow/padding tokens, dark wash overrides, gold unified
- Phase A truth layer — honest beats, real health, handoff parse fix
- Rename Install band class .in -> .inst — collided with Reveal 'in' state
- Edge/data-proxy diffs verified at release, not build-complete
- Exempt leave-in-review completions from the production_verification gate
- Demo-safe dirty-tree guard — don't block build_execute on your own branch
- Count cycle tasks + effort from cycle_tasks, not only build_reports
- Plan-progress bar climbs from 0% during plan, no reload
- Honest stage-weighted progress + verdict/next-action/plan-dump fixes
- Migration determinism test with postgres service container
- Landing Install section (connector URL-only) + fix dead How-it-works link
- Release/review execution layer + hosted parity (mcp-server)
- Authenticate Realtime socket BEFORE subscribing
- Each task in ONE stage grid — no cross-stage duplication
- Stage grids show reached tasks + no duplicate cycle-stage pips
- Checkpoints ON the stage rows, wired to real MCP steps
- Merge shared cycle branch — mcp-server
- Merge shared cycle branch — dashboard
- Verify-before-claim gate in reviewer prompt []
- Correct cycles stat undercount in metrics hero
- Stop getPlanContextSummary parity test flapping
- Return logged-out "Go Pro" buyer into checkout after sign-in
- Merge shared cycle branch — core
- Recompose My-view — analytics hero + Next Move, unified This-cycle block, progress-matrix pips
- Page through all task-% rows when allocating display_id
- Add /pricing + full docs guide/handbook to sitemap; SEO foundation audit
- First-touch signup attribution — capture UTM+referrer, write to signup event, surface signups-by-source
- Reconcile activation funnel to one canonical source of truth
- Emit activation lifecycle funnel events — signup/setup-complete/first-plan/first-release
- Unify onto one OAuth connector path + add landing connector CTA
- Gate new-user surface on cycle history, not current-cycle Done count
- Correct steady-state resolution, project scoping, and wrong-project flash
- Wire dead updating state in TaskCard
- Stdio repo↔project mismatch guard at orient
- Research/design: adopt a single write-path + append-only event log as v1's system of record (architecture-decision-gated)
- Route post-setup users into the redesigned hub, not the bloom
- Velocity band + new-user backlog-forward state
- Checkpoint board + task detail
- Top zone — gradient cycle-progress bar + unified guidance strip
- Sync OG + Twitter share cards to live "works where you work" hero
- Add Team link to project cards on settings page
- De-PAPI the Cursor-rule identity leak
- First-time coach — dim + one-line explainer, once per space
- Clickable cycle cross-references via reusable CycleRef
- Make the "What PAPI did" value-show live-earned
- Review next-action is command-only with a concrete command
- IA + visual-quality reflow of the My-view
- Stream-grade "What PAPI did" value-show
- Restore single next-move card on live My-view
- Allow StartupBar widget on landing (/) only
- Render StartupBar widget as plain async <script> so it hoists to <head>
- Promote LandingC to canonical landing + startupbar attribution
- Demote empty-state LIVE band to a quiet status line — hero only when activity is flowing
- Design(agent+critique): prefer visual/motion steering over text; make hero conditional not mandatory
- Make silent MCP/proxy emit failures observable — response.ok check + structured logging + blackout marker
- Inject live task status into review prepare context + drop recs targeting Done/Cancelled tasks
- Dopamine motion layer — live pulse orb, ticking counters, stage-slide, promoted activity feed
- Reactive L0 — patch-in-place Realtime for MCP task-status changes
- Stop project-less new users dead-ending on 403
June 20263 releases
- Frontend-design-engineer agent + server design-bundle
- Idea: — Some idea
- Idea: — New idea
- Idea: — Share reports via link
- Idea: — Add analytics tracking
- Unblock local CI gate on Windows
- Wrap /dev/cz useSearchParams in Suspense for prod build
- Taskmaster → PAPI import skill
- Round-2 owner review — inline connect, tighter tools, copy
- Dev preview wizard is a pure mock — no real writes
- Streamlined pre-hub wizard funnelling to "run setup"
- Restore the CONNECT step in Cycle Zero — no fake "Connected ✓"
- Per-task model-tier recommendation
- Expose PAPI read surface as MCP resources
- Cross-project task move via task_move
- Wire +N more toggle in MemberBoard (was a dead span)
- Flag In-Progress tasks already merged to the default branch
- Make hosted COMPLETE recompute the build branch deterministically
- De-time/task-count the new-conversation skill guidance
- Instruction-text git steps for sandboxed harnesses
- Stop pushing users to start a new chat
- Populate MCP instructions field with universal cycle frame
- Affirmative connect-only role framing
- Capability-branched next-action guidance
- Capability registry — clientInfo.name → {build}
- Remove duplicate deploy:edge key (later raw cmd shadowed the script)
- Hard-block at 7 cycles, not 5 (offer stays at 5)
- Onboarding connect-step cleanup + install docs (C309)
- Proxy parity + feedback loop + telemetry + client-neutral setup (C309)
- Production rebuild — getpapi.ai homepage
- Unify Hub + Team into one tabbed /hub surface
- Don't switch branches under a parallel session (multi-session guard)
- Legibility + review gate + clickable activity on Project view
- Boost contrast/pop on the Project view — stronger boxes + legible text
- Simplify Project view — board hero, top tabs, contextual detail push
- Team Project View — orchestration rebuild
- Route tool_call + milestone emission through the proxy adapter
- Surface contributor release PRs on the owner attention feed
- Owner-review queue for contributor release PRs
- Capture the unblocking human step → linked owner_action
- Cycle 308 (Core): role-gated release + telemetry blackout canary
- Grant /admin to ADMIN_USER_IDS beyond owner
- Stop CPU-pinning papi-refresh loop + unstick Connect step
- Coalesce missing epic to '' so starter-backlog seed stops tripping 23502
- Purge deprecated SSE transport from user-facing install surfaces + CI guard
- Team Project View — orchestration rebuild
- Route tool_call + milestone emission through the proxy adapter
- Surface contributor release PRs on the owner attention feed
- Owner-review queue for contributor release PRs
- Capture the unblocking human step → linked owner_action
- Cycle 308 (Core): role-gated release + telemetry blackout canary
- Grant /admin to ADMIN_USER_IDS beyond owner
- Stop CPU-pinning papi-refresh loop + unstick Connect step
- Coalesce missing epic to '' so starter-backlog seed stops tripping 23502
- Purge deprecated SSE transport from user-facing install surfaces + CI guard