chore(task-board): disable feature during refactor

This commit is contained in:
shiyue
2026-08-21 16:59:37 +08:00
parent d234189a86
commit 6c565f0ffe
10 changed files with 305 additions and 12 deletions

View File

@@ -813,6 +813,13 @@ function assertTaskBoardIntegrationContract() {
/@media \(prefers-reduced-motion: reduce\)[\s\S]*?\.ccweb-task-board__card\[data-runtime-state='running'\]::after\s*\{[^}]*animation:\s*none;/.test(taskBoardStyleSource),
'Wasteland edge tracer should retain a static reduced-motion treatment'
);
assert(
serverSource.includes("const TASK_BOARD_ENABLED = /^(1|true|yes|on)$/i.test(String(process.env.CC_WEB_TASK_BOARD_ENABLED || ''));"),
'Task board must have an explicit opt-in runtime gate during refactor'
);
assert(indexSource.includes('id="task-board-open"') && /id="task-board-open"[^>]*hidden/.test(indexSource), 'Task board page entry should be hidden by default');
assert(frontendSource.includes('setTaskBoardFeatureEnabled(msg.features?.taskBoard === true)'), 'Frontend task board entry should follow the server feature gate');
assert(serverSource.includes("return mcpToolError('task_board_disabled'"), 'Direct task update calls must fail closed while disabled');
}
function assertFrontendGenerationControlsContract() {
@@ -4243,6 +4250,7 @@ async function runCodexAppRuntimeImageSteerRegression() {
CC_WEB_CONFIG_DIR: configDir,
CC_WEB_SESSIONS_DIR: sessionsDir,
CC_WEB_LOGS_DIR: logsDir,
CC_WEB_TASK_BOARD_ENABLED: '1',
HOME: homeDir,
CLAUDE_PATH: MOCK_CLAUDE,
CODEX_PATH: MOCK_CODEX_APP_SERVER,
@@ -4377,6 +4385,7 @@ async function runCodexAppStaleRunningRegression(options = {}) {
CC_WEB_CONFIG_DIR: configDir,
CC_WEB_SESSIONS_DIR: sessionsDir,
CC_WEB_LOGS_DIR: logsDir,
CC_WEB_TASK_BOARD_ENABLED: '1',
HOME: homeDir,
CLAUDE_PATH: MOCK_CLAUDE,
CODEX_PATH: MOCK_CODEX_APP_SERVER,
@@ -5370,7 +5379,8 @@ function assertUsageStatisticsContract() {
assert(serverSource.includes("case 'usage_stats_query':")
&& serverSource.includes("type: 'usage_stats_result'")
&& serverSource.includes("type: 'usage_stats_error'")
&& serverSource.includes('features: { usageStatistics: USAGE_STATISTICS_ENABLED }'),
&& serverSource.includes('usageStatistics: USAGE_STATISTICS_ENABLED')
&& serverSource.includes('taskBoard: TASK_BOARD_ENABLED'),
'Server should expose the versioned usage query protocol and authenticated feature flag');
assert(!queryHandler.includes('sendSessionList') && !queryHandler.includes('broadcastSessionList'),
'Usage queries must not refresh or replace session_list');
@@ -6325,6 +6335,7 @@ async function main() {
CC_WEB_CONFIG_DIR: configDir,
CC_WEB_SESSIONS_DIR: sessionsDir,
CC_WEB_LOGS_DIR: logsDir,
CC_WEB_TASK_BOARD_ENABLED: '1',
HOME: homeDir,
CLAUDE_PATH: MOCK_CLAUDE,
CODEX_PATH: MOCK_CODEX_APP_SERVER,