Changelog

223releases tagged fix

Every PAPI release carrying the fix tag. What shipped, when.

Get started free

September 202610 releases

v0.402.52

Backup restore checks can run repeatedly

  • Scheduled restore checks use the newest completed backup and clear publications left by the previous isolated restore.
  • Each drill uses fresh temporary storage, cleans up its own output, and preserves existing files in the parent directory.
  • Missing packaged skills and invalid release summaries are caught before compilation and in hosted checks.
Full detail
  • Isolate hosted MCP child from audit database settings
  • Enforce skill and changelog integrity before builds
  • Make scheduled drills safely repeatable
  • Clear publications before replay
  • Map vibetycoon-derive and prompts-ui-aesthetics in the test inventory
  • Rebuild /projects/vibetycoon as a visual build-in-public insights page
  • Require tracked source in test inventory
  • Recover legacy successful dependency stamps
  • Recover missing warm dependencies and check docs locally
  • Include ranked prior work from history search
  • Record runtime model evidence
  • Qualify final tag against prior release
  • Build artifact from published version tag
  • Make aesthetics a real acceptance criterion in plan and review
  • Collapse the design skills into one project-agnostic design skill
  • Genericize the shipped design-critique skill

v0.402.50

  • Fix Cycle 56 release board read and bump 0.402.50
  • Close cycles explicitly
  • Reduce duplicate release builds and record approval-to-live time
  • Orchestrate measured app-only VPS releases
  • Reuse release qualification and include proxy changelog in tag

v0.402.12

  • Launch release qualification on Windows
  • Batch the hub's 18 concurrent data fetches to cut peak memory
  • Admin OAuth login loop + hub blanking on one failed fetch
  • Scope admin redirect to getpapi.ai host, not admin.getpapi.ai
  • Hub 502s from unbounded queries + admin route 404

v0.402.11

  • Recognize durable build report evidence in health

v0.402.9

  • One shared Task-vocabulary normalizer module (priority/complexity/effort)
  • Move shared helpers out of tools/ to restore the dependency direction
  • Fail closed when cycle scope is unavailable
  • Scope health reads to selected cycle
  • Normalize worktree dependency marker paths
  • Project dashboard history reads
  • Remove redundant complete inventory counts

v0.402.1

  • Aggregate portfolio statistics in postgres
  • Reuse dashboard project read context
  • Page complete build-report history reads
  • Page complete tasks inventories by default

v0.402.0

  • Add evidence-backed hot-read indexes
  • Enforce hosted project context routing

v0.7.145

Your project is now portable, and the dashboard shows you more of how the work is going

  • Export a project as Markdown, JSON or CSV, straight from Settings.
  • See and edit the rules that govern your builds without leaving the dashboard.
  • The board now tells you when it is hiding tasks from you, and why.
  • A teammate's open cycle no longer blocks you from planning yours.
Full detail
  • UX-E6 · Per-user hub density preference — promote the density dial from browser-local to per-user
  • UX-I · Import and export UI — backlog_import shipped in C347 with zero dashboard surface
  • UX-J · In-app education — the methodology is the product and is taught nowhere inside the app
  • UX-P1-3 · Dashboard as a control surface — health surface, cycle planning in-dashboard, project timeline
  • Rework the free / pro / team tiers, pricing, and the feature-to-tier mapping end to end
  • Conventions dashboard surface — view/add/edit/remove, plus fold convention changes into the team digest
  • Dashboard surface for task visibility: a contributor's board still hides tasks with no explanation
  • Strategy_agenda dashboard surface — topics captured mid-build are invisible until the next strategy review
  • Scope the one-active-cycle guard to the caller's own cycle lineage

v0.7.144

  • Release Cycle 33 routing and QA work
  • Release Cycle 33 multi-user work
  • Release Cycle 33 MCP server work
  • Release Cycle 33 core work
  • Allow renaming a project after creation
  • Improve feedback triage and orient visibility

v0.7.125

  • Ignore unrelated orphan branches during release
  • Let release managers finalize merged main
  • Prevent cross-member task cycle assignment
  • Match HandoffC's anchor id to 's nav contract
  • Landing copy/layout trims per owner review
  • Flatten every landing beat to one background
  • Revert(marketing): drop the HandoffC screenshot supplement from v11.3
  • Match StrategyReviewC background to the merged LOOP+STRATEGY band
  • Merge LOOP and STRATEGY REVIEW into one beat
  • Tighter, higher-DPI crops for the landing screenshots
  • Swap discoveries screenshot for the Analytics > Reports > Discoveries chart set
  • Current dark-mode dashboard screenshots
  • Proof strip above the fold on the landing
  • Add /about page — founder, photo, origin story
  • Nav(marketing): rename Field Guide, add a "See it" entry
  • Copy(marketing): stop leading with "memory" as a descriptor

August 20268 releases

v0.392.0

Teams can now run their own decision lifecycle without everything queuing on one person

  • Decisions are now typed and attributable, with per-project resolution modes, and you can propose, resolve or inspect any live decision right from your session.
  • Idea capture stops hijacking: titles containing ordinary engineering words now file to the backlog correctly, with an explicit override when you know better.
  • A passive status line shows your current cycle, work in flight, items awaiting review and actions waiting on you, rendered in your prompt bar at zero effort.
Full detail
  • Cycle 366 — Team Decisions epic + reliability sweep
  • Add decision type + authorship + per-project resolution mode (expand migration)
  • Decision authority by resolution mode + stop proposal events releasing gated tasks
  • MCP surface for typed, proposable decisions (strategy_change args, decision_resolve, ad_view, orient, build filter)
  • Decision-conflict gate must fire on ad_hoc and at build time, not only at idea intake
  • Owner Action Queue classifier hijacks plain build tasks and its advertised override does not work
  • Release readiness and orient cycle counts ignore assignee — one member's cycle includes another member's claimed tasks of the same number
  • Audit every task/cycle read path for single-operator assumptions — six per-user scoping bugs have been found reactively, one call site at a time
  • Prompt-line cycle indicator — cached peek endpoint plus a CLI renderer for MCP client status bars
  • Repair AD outcome vocabulary: illegal 'confirmed' write, unreachable branches, and the dropped action arg on hosted
  • Move project bootstrapping into the tools and shrink bootstrap-project to a thin shippable skill
  • Edge-function deploy was broken post-VPS-cutover — rebuilt for the self-hosted stack

v0.369.0

  • Authenticate logical operation proofs
  • Propagate logical rate-limit operations across proxy routes

v0.368.0

The cycle that made your work publishable, and hosted releases finish themselves

  • Public sharing goes live. Publish your brief and cycles from the dashboard with consent-gated toggles.
  • Hosted releases now end with exact git steps to finish locally, not vague prose.
  • Cycle updates can point at your own team Discord channel instead of a private one.
  • Fixed color tokens that could render without fallbacks on dashboard surfaces.
Full detail
  • Merge shared cycle branch — core
  • Cycle 365: public surfaces, sharing toggles, and the dead-Supabase cleanup
  • Rate-limit logical PAPI operations
  • Bind Vibe route to approved artifact
  • Add Vibe Tycoon project route

v0.362.0

The cycle that made starting a session fast again, and stopped hosted projects hitting dead ends

  • Opening a session is fast again. The first read of your project used to pull the whole board five times over and could time out; it now takes a single pass.
  • Hosted projects no longer hit dead ends on features that work locally. PAPI asks your connection what it genuinely supports instead of guessing.
  • Settings has one Connections tab: your tools, endpoint, keys, linked repo and connection health in one place, with a live status dot in the header.
  • Coming back after time away, PAPI tells you how long you have been gone and names the work waiting for you instead of showing an id.
Full detail
  • Collapse orient's 5 full-board pulls to 1 compact read
  • Build C9 and C13 — the tour is reachable again, and the demo that already existed is now pointed at
  • Rebuild light mode — close the token island, fix the toggle, invert the canon's default
  • Hub restyle round 2 — density, colour reduction, one stage map, no ambient pulse, ledger surfaced
  • Re-entry — say how long they were away, and name the work not its id
  • Connections as one surface — client, endpoint, keys, repo and health
  • Detect orphaned components in ci:local
  • Per-user release notes, rendered from the cycle log
  • Empty and error states name the next action instead of apologising
  • Close the dead data paths — 9 routes, 6 endpoints, 1 table
  • Mount HubMomentumStrip — the lifetime stats had no reader
  • Stop review_submit rolling back an accept whose branch was folded into a cycle branch
  • Stop /api/actions/* returning raw error text, and start logging it
  • Claim the device-flow API key atomically instead of read-then-write
  • Apply the Origin allow-list to /auth/collision and /oauth/revoke-all
  • LPAD truncation made br-/rv- allocation deterministically collide past 999
  • UX-O · Perceived performance — consistent skeletons, optimistic board updates, kill the 30s cache surprise
  • Br- and rv- display_id allocation is read-then-insert, and edge writeReview orders rv-NN lexicographically
  • A migration exists on production that is on no branch in this repo — reconcile or capture it
  • Assignee_id/reviewer_id on task update are not validated against project membership
  • EnsureDocDurable reports a false "NOT durable" for a doc committed on a different branch
  • Make PapiAdapter non-optional — kill the 45 capability-sniff sites that fork behaviour between owner and paying customers
  • Weekly Active Builders cannot be computed from tool_runs — re-key it on build_reports and move the bucketing into @papi-ai/shared
  • ClassifyIcp defaults every unrecognised signup to 'dev' — classify on positive signal, add an 'unknown' bucket

v0.361.0

  • Record GOTRUE_DISABLE_SIGNUP=true as config-as-code for the VPS
  • Strip the run-setup card to the command and one signal
  • Collapse onboarding to four steps, referral moves after setup
  • Widen the connect step, cut the chatty copy, split the manual path
  • Actually compress the hub fold, and clear the board chrome
  • Connect step becomes a 2-stepper, and stops narrating
  • Invert the hub fold — the next move becomes the hero
  • Bulk task actions on the board
  • Connect panel: "This is your project / this is your prompt" — project id + connection token first-class under the copy block, one auth story
  • MCPConnectBanner: name setup as the pre-setup next step and poll so it clears without navigation
  • Build_execute reports a successful auto-commit over a PARTIAL commit when the pre-commit hook fails
  • Stop the autostash sweeping a concurrent session's tracked-dirty files
  • Stop the auto-stash eating untracked work, and the review dispatch showing the wrong task's diff
  • Worktree ci:local blocked by Turbopack node_modules symlink-boundary check
  • Worktree:setup accepts a stray/broken node_modules dir instead of symlinking
  • Close two injection gaps found in pre-merge review
  • A build can propose a Decision or a Convention
  • Conventions — per-project build rules that ride every handoff
  • Pair the AD rejection guard with an admission rule
  • Tool descriptions sell the what/why at selection time
  • Orient's missing-.papi/ error is a Promise.all race — an unset-up user gets an arbitrary one of three "not found" messages
  • Secret-filter client-supplied codebase_scan server-side + make hosted "no filesystem scan" messaging match what the agent is then asked to read
  • Setup AD-seed failure handling misblames the LLM: any error reported as "invalid JSON", partial seeds reported as zero
  • Fix stale .impeccable.md pointer in planner prompts — it directs every external user to a file the skill stopped reading
  • Verify-project.test.ts's INTERNAL_IDENTIFIER regex is narrower than its own comment claims — hardcodes 2 tables, only catches 3-digit cycle refs
  • Hosted 403 minting Active Decisions: add allocateActiveDecision + applyActiveDecisionUpdates to proxy-adapter NO_FORWARD
  • Clear the two gates that were red on main

v0.359.0

  • Stop the exit-criteria evaluators crashing on a missing project id
  • Rebuild HubSkeleton out of the hub's own classes, measured to zero jump
  • Give the connect step an in-flight state, and finish 3236's sweep
  • Make the hub command an inset value, and put the rule in canon
  • UX-B12 Surface owner actions to non-owner users
  • Make the agent-directed band the one primary action on connect
  • Take the OAuth browser hop off the critical install path
  • Hosted setup merges mcp__papi__* into an existing settings.json
  • Stop the hosted manifest depending on the server's own filesystem
  • Mark the OAuth sign-in as human-only at the command, not 12 lines upstream
  • Sync the shipped skill bundle and the plugin version after the C359 merges
  • Resolve project slugs per-user, and stop one null telemetry row killing /admin
  • One unattributed telemetry row no longer takes down the whole admin page
  • Resolve project slugs per-user, and stop asking for a singular row
  • Stop handing a GitHub token to an npm namesquat
  • Content section — build-in-public drafts per release and review
  • Wire the dead attention panel, cut the duplicate roadsigns, collapse the caught fold
  • AD contradiction surfaces as a decision, never a silent shelve
  • UX-B1 Invite button in the Hub → Team empty state

v0.358.1

  • Scope dashboard slug lookup to accessible projects
  • Cycle 358: integrated release — core, auth, distribution, dashboard
  • Cross-tenant read on horizons/stages, and the unwrapped hosted adapter
  • Close the three auth/data gaps held back from the P2 sweep
  • Give warning its own hue and clear the held contrast failures
  • 26 live P2 defects recovered from the auto-cleared ledger
  • Md_adapter_pings policy named service_role applied to PUBLIC
  • Make burn-watch blindness visible instead of silent
  • Sweep the live defects hiding in auto-cleared discovered-issues
  • Normalise created_at to ISO in the pg adapter
  • Close two ci:local gate failures surfaced by the sweep
  • Sweep 36 live discovered-issues found by full ledger triage

v0.358.0

  • Make VPS deployment atomic and rollback-safe
  • Bypass hosted project quotas