| feat(always-on): map chat sessionIds to short aliases in discovery prompt
Complex sessionIds like web:s_ffdcc108 are error-prone for LLMs to
reproduce in tool calls. Replace them with chat_1, chat_2, ... in the
prompt and resolve back via aliasMap in the chat history tool.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 12 天前 |
| refactor: rename Polit/PolitDeck to Pilot/PilotDeck across entire codebase
Automated global rename covering all case variants:
- PolitDeck → PilotDeck, politdeck → pilotdeck, POLITDECK → PILOTDECK
- Polit → Pilot, polit → pilot, POLIT → PILOT, politDeck → pilotDeck
Includes:
- 648 content replacements across 200+ source files
- 24 file renames + 3 directory renames (src/polit→pilot, tests/polit→pilot, docs/polit-config→pilot-config)
- package.json name, bin, env vars updated
- package-lock.json regenerated
- "Politely" in server-manager.ts preserved via placeholder mechanism
- All 587 unit tests pass, tsc --noEmit clean
- E2E tests verified against real OpenRouter API (model, tool-use, context, lifecycle hooks)
Co-authored-by: Cursor <cursoragent@cursor.com>
| 24 天前 |
| feat(always-on): refactor discovery into 4-phase pipeline with bypassPermissions
Split the monolithic discovery fire into four distinct agent loops:
1. Discovery (bypassPermissions) — read project and produce a plan
2. Workspace — agent-driven isolated environment creation via new
always_on_prepare_workspace tool
3. Execution — run the plan in the isolated workspace
4. Report — dedicated phase to review changes and generate a work report
This resolves the permission deadlock that caused autonomous sessions to
hang indefinitely and the UI to show only the initial user message.
Co-authored-by: Cursor <cursoragent@cursor.com>
| 19 天前 |
| refactor(always-on): introduce Work Cycle as first-class entity for Apply/Archive
Workspace ownership moves from individual plans to Work Cycles. Apply and
Archive now operate at the cycle level, aligning the product model with the
underlying single-workspace-per-project constraint.
Key changes:
- New WorkCycleRecord type and WorkCycleStore (CRUD + lazy migration)
- DiscoveryFire: ensureAlwaysOnWorkspace → ensureActiveWorkCycle
- Gateway/CLI: applyPlan → applyCycle (workCycleId replaces planId)
- Web service: per-plan apply/archive replaced by cycle-level methods
- UI: plans grouped under cycle headers with cycle-level action buttons
- Tests updated across all affected modules (141 pass, 0 fail)
Co-authored-by: Cursor <cursoragent@cursor.com>
| 12 天前 |