From b5c088d639082e646b6e4005d8821356efcad56c Mon Sep 17 00:00:00 2001 From: Bujidao <3317431882@qq.com> Date: Fri, 12 Jun 2026 19:44:39 +0800 Subject: [PATCH] fix: address Vue review PR feedback --- README.md | 2 +- commands/vue-review.md | 2 +- scripts/ci/catalog.js | 20 -------------------- tests/ci/catalog.test.js | 3 +-- tests/ci/validators.test.js | 2 +- 5 files changed, 4 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 6cad95e1..b0a8ff17 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ Stable graduation of the 2.0 line: 261 skills, the control-pane substrate (sessi ### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026) - **Dashboard GUI** — New Tkinter-based desktop application (`ecc_dashboard.py` or `npm run dashboard`) with dark/light theme toggle, font customization, and project logo in header and taskbar. -- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 65 agents, 263 skills, and 85 legacy command shims. +- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 64 agents, 262 skills, and 84 legacy command shims. - **Operator and outbound workflow expansion** — `brand-voice`, `social-graph-ranker`, `connections-optimizer`, `customer-billing-ops`, `ecc-tools-cost-audit`, `google-workspace-ops`, `project-flow-ops`, and `workspace-surface-audit` round out the operator lane. - **Media and launch tooling** — `manim-video`, `remotion-video-creation`, and upgraded social publishing surfaces make technical explainers and launch content part of the same system. - **Framework and product surface growth** — `nestjs-patterns`, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond Claude Code alone. diff --git a/commands/vue-review.md b/commands/vue-review.md index 8a1223f9..0e60610d 100644 --- a/commands/vue-review.md +++ b/commands/vue-review.md @@ -48,7 +48,7 @@ On a `.vue` / Vue-related PR, invoke both `vue-reviewer` and `typescript-reviewe - Secret in client bundle (`VITE_*`, Nuxt `public` runtimeConfig) - Server endpoint without input validation (Nuxt Nitro) - `localStorage`/`sessionStorage` for session tokens -- Destructuring reactive props (breaks reactivity) +- Destructuring reactive props in Vue < 3.5 (breaks reactivity) - `reactive()` object replacement (breaks watchers) - Watcher source tracking a ref object instead of `.value` diff --git a/scripts/ci/catalog.js b/scripts/ci/catalog.js index a36df0a5..c9be440a 100644 --- a/scripts/ci/catalog.js +++ b/scripts/ci/catalog.js @@ -101,19 +101,6 @@ function parseReadmeExpectations(readmeContent) { { category: 'commands', mode: 'exact', expected: Number(quickStartMatch[3]), source: 'README.md quick-start summary' } ); - const releaseNoteMatch = readmeContent.match( - /actual OSS surface:\s+(\d+)\s+agents,\s+(\d+)\s+skills,\s+and\s+(\d+)\s+legacy command shims/i - ); - if (!releaseNoteMatch) { - throw new Error('README.md is missing the rc.1 release-note catalog summary'); - } - - expectations.push( - { category: 'agents', mode: 'exact', expected: Number(releaseNoteMatch[1]), source: 'README.md rc.1 release-note summary' }, - { category: 'skills', mode: 'exact', expected: Number(releaseNoteMatch[2]), source: 'README.md rc.1 release-note summary' }, - { category: 'commands', mode: 'exact', expected: Number(releaseNoteMatch[3]), source: 'README.md rc.1 release-note summary' } - ); - const projectTreeAgentsMatch = readmeContent.match(/^\|\s*--\s*agents\/\s*#\s*(\d+)\s+specialized subagents for delegation\s*$/im); if (!projectTreeAgentsMatch) { throw new Error('README.md project tree is missing the agents count'); @@ -428,13 +415,6 @@ function syncEnglishReadme(content, catalog) { `${prefix}${catalog.agents.count}${agentsSuffix}${catalog.skills.count}${skillsSuffix}${catalog.commands.count} legacy command shims`, 'README.md quick-start summary' ); - nextContent = replaceOrThrow( - nextContent, - /(actual OSS surface:\s+)(\d+)(\s+agents,\s+)(\d+)(\s+skills,\s+and\s+)(\d+)(\s+legacy command shims)/i, - (_, prefix, __, agentsSuffix, ___, skillsSuffix, ____, commandsSuffix) => - `${prefix}${catalog.agents.count}${agentsSuffix}${catalog.skills.count}${skillsSuffix}${catalog.commands.count}${commandsSuffix}`, - 'README.md rc.1 release-note summary' - ); nextContent = replaceOrThrow( nextContent, /^(\|\s*--\s*agents\/\s*#\s*)(\d+)(\s+specialized subagents for delegation\s*)$/im, diff --git a/tests/ci/catalog.test.js b/tests/ci/catalog.test.js index f5b05e1c..34a73275 100644 --- a/tests/ci/catalog.test.js +++ b/tests/ci/catalog.test.js @@ -222,7 +222,6 @@ function runTests() { .join('\n'); assert.ok(formatted.includes('README.md quick-start summary')); - assert.ok(formatted.includes('README.md rc.1 release-note summary')); assert.ok(formatted.includes('README.md project tree')); assert.ok(formatted.includes('AGENTS.md summary')); assert.ok(formatted.includes('.claude-plugin/plugin.json description')); @@ -257,7 +256,7 @@ function runTests() { const marketplaceJson = fs.readFileSync(path.join(testDir, '.claude-plugin', 'marketplace.json'), 'utf8'); assert.ok(readme.includes('Access to 1 agents, 1 skills, and 1 legacy command shims')); - assert.ok(readme.includes('actual OSS surface: 1 agents, 1 skills, and 1 legacy command shims')); + assert.ok(readme.includes('actual OSS surface: 7 agents, 7 skills, and 7 legacy command shims')); assert.ok(readme.includes('|-- agents/ # 1 specialized subagents for delegation')); assert.ok(readme.includes('| Skills | 42 | .agents/skills/ |')); assert.ok(agentsDoc.includes('providing 1 specialized agents, 1+ skills, 1 commands')); diff --git a/tests/ci/validators.test.js b/tests/ci/validators.test.js index 0a06fc8f..5d75ccbb 100644 --- a/tests/ci/validators.test.js +++ b/tests/ci/validators.test.js @@ -595,7 +595,7 @@ function runTests() { const marketplaceJson = fs.readFileSync(marketplaceJsonPath, 'utf8'); assert.ok(readme.includes('Access to 1 agents, 1 skills, and 1 legacy command shims'), 'Should sync README quick-start summary'); - assert.ok(readme.includes('actual OSS surface: 1 agents, 1 skills, and 1 legacy command shims'), 'Should sync README release-note summary'); + assert.ok(readme.includes('actual OSS surface: 9 agents, 9 skills, and 9 legacy command shims'), 'Should preserve historical README release-note summary'); assert.ok(readme.includes('|-- agents/ # 1 specialized subagents for delegation'), 'Should sync README project tree agents count'); assert.ok(readme.includes('| Agents | PASS: 1 agents |'), 'Should sync README comparison table'); assert.ok(readme.includes('| Skills | 16 | .agents/skills/ |'), 'Should not rewrite unrelated README tables');