文件最后提交记录最后更新时间
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 天前
chore(branding): rename PascalCase "PolitDeck" → "PilotDeck" Earlier rebrand commit (6003f14) standardized on "PolitDeck" to match the repository directory name. The intended brand is "PilotDeck" (Pilot+Deck) to align with the GitHub repo's new name. Lowercase forms (~/.pilotdeck/, pilotdeck server CLI, PILOTDECK_* env vars, politdeck.yaml watcher logs) were already correct and remain untouched. Touched surfaces: * ui/index.html: <title>PilotDeck</title> + apple-mobile-web-app-title. * ui/public/manifest.json: name / short_name / description. * ui/public/sw.js: comment header + push-notification fallback title. * ui/server/index.js: startup banner ("PilotDeck Server - Ready"). * ui/server/projects.js, routes/agent.js, services/notification- orchestrator.js: log strings + PR template + push titles. * ui/src React components (AuthLoadingScreen, AuthScreenLayout, LoginForm, SetupForm, ChatInterfaceV2, AppShellV2, MainAreaV2, PilotDeckConfigTab): every user-visible "PolitDeck" string. * ui/src/i18n/locales/{en,zh-CN}/{auth,chat,common,settings,sidebar}.json: loading / placeholder / breadcrumb / memory description text. * docs: 01-web-ui-replication-development-guide.md and old-ui-adaptation/README.md. * .cursor/skills/deploy-politdeck/SKILL.md: skill body references. * src/pilot/config/loadPilotConfig.ts: one inline comment. Deliberately untouched: * Repo directory name PolitDeck/ and skill filename deploy-politdeck/SKILL.md — those are filesystem artifacts that predate the brand change; renaming them requires coordination with every contributor's clone + GitHub repo rename (which already happened upstream and is served via the redirect remote). * artifacts/* historical logs and scripts/rename-polit-to-pilot.sh (someone's prior migration draft); both are outside the runtime surface and stay as-is. Co-authored-by: Cursor <cursoragent@cursor.com> 21 天前
feat: add PilotDeck support to onboarding and authentication flows - Updated cliProviders to include 'pilotdeck'. - Added PilotDeck provider details in AgentConnectionsStep. - Extended CliProvider type to include 'pilotdeck'. - Implemented PilotDeck specific command and title in ProviderLoginModal. 6 天前
fix(editor): never let a failed load overwrite the real file on save Previously, when /api/projects/:projectName/file returned a non-2xx (e.g. during a transient race right after a dev-stack restart), the useCodeEditorDocument hook caught the error and called setContent(// Error loading file: ${message}\n// File: ...) That placeholder text quietly became the editor's authoritative buffer. A subsequent Ctrl+S — or any other save trigger — then PUT the placeholder through to fsPromises.writeFile, destroying the real file on disk. Because writeFile follows symlinks, this also wiped out the target of any symlinked entry the user happened to be viewing. The fix decouples error state from buffer state: - useCodeEditorDocument now tracks loadError separately and leaves content empty on failure; it also exposes a reload() callback and cancels stale loads on unmount via a captured cancelled flag. - handleSave refuses to run while loading or loadError != null, surfacing the reason via saveError instead of writing stale buffer contents. - New CodeEditorLoadError subcomponent renders an error panel with Retry / Close — it intentionally does not mount a CodeMirror surface or a Save button, so the failure mode has no path to disk. - CodeEditor branches on loadError before isBinary; locale strings added for en + zh-CN. Co-authored-by: Cursor <cursoragent@cursor.com> 19 天前
refactor(always-on): remove legacy web execution path, rewire retry through DiscoveryFire The old web-driven Always-On path (discovery trigger → auto-poll → web chat execution) raced with the DiscoveryFire pipeline, causing duplicate plan executions. This commit removes the entire legacy path: - Add alwaysOnRerunPlan gateway RPC so the UI retry button triggers DiscoveryFire phases 2-4 (workspace → execution → report) directly - Remove MainContent auto-poll, discovery trigger handler, execution lifecycle tracking, and all associated refs/callbacks/useEffects - Delete queueExecution, updateExecution, buildExecutionPrompt from DiscoveryPlanService and the PATCH execution REST endpoint - Unregister /ao slash command; delete alwaysOnSlashActions.ts - Delete discovery-trigger-client.js and its WS handler in index.js - Delete old web discovery prompt and utility files - Remove approvalMode field from WebPlanRecord, UI types, i18n, tests Co-authored-by: Cursor <cursoragent@cursor.com> 7 天前
feat: improve attachment and tool result handling Co-authored-by: Cursor <cursoragent@cursor.com> 15 天前
feat: add PilotDeck support to onboarding and authentication flows - Updated cliProviders to include 'pilotdeck'. - Added PilotDeck provider details in AgentConnectionsStep. - Extended CliProvider type to include 'pilotdeck'. - Implemented PilotDeck specific command and title in ProviderLoginModal. 6 天前
chore(ui): remove Claude references from comments Drop legacy Claude wording from UI comments while leaving runtime identifiers, protocol strings, and real CLI/model references unchanged. 6 天前
chore: cleanup, fix Docker build, add URLs and skill acknowledgements - Remove 6 dead asset files (duplicates, old branding PNGs) - Replace "Claude Task Master" with "TaskMaster" in i18n, add zh-CN/tasks.json - Set README URLs to https://pilotdeck.openbmb.cn/ - Add skill source acknowledgements (Anthropic Skills, MiniMax-AI, Karpathy) - Fix Docker build: add pnpm-workspace.yaml, regenerate complete lockfile (2009→11033 lines), add pnpm.onlyBuiltDependencies for native modules Co-authored-by: Cursor <cursoragent@cursor.com> 7 天前