Skip to content

feat(test): add QA workflow plugin with metersphere-sync and multi-agent test skills#49

Merged
Jun-Hex merged 48 commits intomainfrom
feat/add-metersphere-sync-skill
Apr 15, 2026
Merged

feat(test): add QA workflow plugin with metersphere-sync and multi-agent test skills#49
Jun-Hex merged 48 commits intomainfrom
feat/add-metersphere-sync-skill

Conversation

@Jun-Hex
Copy link
Copy Markdown
Collaborator

@Jun-Hex Jun-Hex commented Apr 14, 2026

Summary

Add the test QA workflow plugin (v0.0.3) with full test lifecycle management:

  • 15 skills covering requirement clarification, test case generation (with dual-reviewer + redundancy audit), test case review, change analysis, requirement traceability (with smoke-test mode), unit/integration test design, verification test generation, metersphere-sync, qa-workflow orchestrator, api-contract-validation, ui-fidelity-check, and test-failure-analyzer
  • metersphere-sync skill for importing AI-generated test cases to MeterSphere platform with hierarchical module structure, test plan management, and execution result bridging
  • qa-workflow orchestrator for end-to-end QA pipeline execution (requirement → case generation → MS sync → change analysis → traceability → code review)
  • Shared Python tools: fetch_feishu_doc.py, metersphere_helper.py, gitlab_helper.py, github_helper.py, search_mrs.py, search_prs.py, validate_contracts.py
  • Unified .env config for all Python scripts via python-dotenv
  • Multi-agent review pipeline with dual reviewers, sufficiency gate, and iterative re-entry support

Changes

New plugin: plugins/test/

  • 15 skill directories with SKILL.md, PHASES.md, contract.yaml
  • 10+ agent definitions (multi-perspective, redundant-pair, forward/reverse tracers)
  • Shared conventions (CONVENTIONS.md, PIPELINES.md, CONTRACT_SPEC.md)
  • Shared tools with 7 Python scripts and .env.example template

Root files

  • marketplace.json: register test plugin, bump metadata version to 0.1.33
  • .gitignore: add pycache, .env, workspace/output exclusions
  • CHANGELOG.md, README.md, README.en.md: add test plugin entries

Impact

  • New plugin only — no changes to existing spec/git/sync plugins
  • 105 files added, ~18K lines of documentation and Python scripts

🤖 Generated with Claude Code

Jun-Hex and others added 30 commits March 25, 2026 14:34
…st generation skills #TAP-6927590596

## 改动内容
- 新增 test 插件,从 skills-hub 迁移 6 个 QA 工作流 skill(requirement-clarification、test-design、test-review、requirement-traceability、bug-fix-review、shared-tools)
- 新增 unit-test-design skill(单元测试代码生成,支持从项目已有测试学习约定)
- 新增 integration-test-design skill(集成测试代码生成,支持 API/DB/消息队列/gRPC 测试)
- 新增测试质量防线(防硬编码过测、断言质量、防 Mock 滥用、变异测试思维、Property-Based Testing)
- Python 脚本安全加固(移除硬编码 URL/ID、路径穿越防护、token 过期、词边界正则、分页支持)

## 影响面
- 新增 plugins/test/ 目录(9 个 skill + shared-tools 脚本)
- marketplace.json 新增 test 插件注册(v0.0.6)
- .gitignore 新增 !plugins/test/skills/test-*/ 排除规则

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
…27590596

- Add 4 new skills: test-case-generation (with redundant-pair review),
  verification-test-gen, test-failure-analyzer, ui-fidelity-check
- Add 10 agent definitions under agents/ directory (multi-perspective,
  redundant-pair, forward/reverse tracers, failure classifier)
- Merge deprecated test-design + test-review into test-case-generation
- Enhance existing skills with dual-channel tracing, self-loop protocol,
  quantified confidence scoring, and model tiering strategy
- Fix 11 review findings: version sync, forward-tracer degradation
  format adaptation, R- prefix normalization, target_id in agent outputs,
  verification.confidence null type, final_cases.json consumption,
  orphaned agents/test-review cleanup, README dedup

Made-with: Cursor
…aversal and full rendering

Replace simplified 409-line version with full-featured 1017-line implementation
that supports --with-children / --max-children for wiki sub-document fetching,
recursive block rendering via MarkdownRenderer class, table/sheet/board content
extraction, and FEISHU_HOST backward compatibility.

Made-with: Cursor
…ive Q&A cards

Skill docs only described ask_question as a natural language concept without
specifying an output schema. Agent produced plain markdown Q&A that the platform
could not parse into interactive cards. Added a formal AskUserQuestion + JSON
code fence format in CONVENTIONS.md with field schema, constraints and examples.
Updated requirement-clarification (3.3) and test-case-generation (6.2) PHASES.md
to reference and demonstrate the new format.

Made-with: Cursor
The test-*/ pattern in .gitignore was unintentionally excluding
agents/test-case-generation/ (containing review-agent-1.md and
review-agent-2.md), causing review tool degradation in the
test-case-generation workflow. Add an exception for the agents
directory matching the existing skills exception.

Made-with: Cursor
Strengthen title field constraints to explicitly ban redundant prefixes
like "P1 等价类-有效类:" since priority and test_method are separate fields.

Made-with: Cursor
…alidation skills

New skills:
- change-analysis: Story 7-phase impact analysis + Bug 5-phase root cause
  with coverage assessment and supplementary case generation
- test-case-review: independent 4-dimension review (coverage, completeness,
  correctness, quality) with supplementary case generation
- api-contract-validation: deep frontend-backend API contract consistency
  validation with breaking change detection

Enhancements to existing skills:
- requirement-clarification: design-draft and joint doc+design modes,
  implementation_brief.json output, platform_scope, API contract dimension
- bug-fix-review: local diff input support, rename output to
  bug_fix_analysis.json, move code change fields to any_of
- CONTRACT_SPEC: add any_of input category
- verification-test-gen: add story_link shortcut input

Code review fixes:
- Sync marketplace.json version with plugin.json (0.0.28)
- Fix api-contract-validation contract: required -> one_of for frontend inputs
- Rename change-analysis Bug output to change_fix_analysis.json
- Add .claude/settings.json to .gitignore
- Add v0.0.17 changelog and complete v0.0.18 entries in README

Made-with: Cursor
…inciples and fixture best practices

- Add 5 business-scenario-driven design principles (independent truth source,
  value assessment by behavior layer, user-story naming, fixture-driven testing,
  historical bug-driven strategy)
- Add iOS/Swift fixture loading best practices (#filePath relative path)
- Add batch framework consistency rule for Swift Testing vs XCTest
- Extract detailed phase steps to PHASES.md, keep SKILL.md as summary
- Add test_plan.md lifecycle and content update rules
- Add helper scoping conventions to avoid cross-module naming conflicts

Made-with: Cursor
## 改动内容
- 将 test_plan.md 模板中的 HTML 注释改为可见的加粗标题分隔(Go/Swift 示例)
- 统一 PHASES.md 与 CONVENTIONS.md 中子代理术语为「Task 工具(子代理机制)」
- Helper 命名规范补充多语言示例(Go/Python/TS)
- 合并 Swift/Go 重复的注释语法描述
- Phase 2 生命周期表补充「需求关联」产出项
- Phase 2 价值评估步骤明确要求记录分层标签,供 Phase 3 参数化评估消费
- 参数化测试模板中的 Go 特定函数名改为语言无关占位
- METHODS.md 的 Bundle.module 加载补充 XCTest 框架示例

## 影响面
- 仅文档变更,不影响代码逻辑
- 提升 SKILL.md / PHASES.md / METHODS.md 三文件间的一致性
- 向后兼容

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
Made-with: Cursor
…test defect judgment

MR merge status (opened/draft), merge conflicts, pipeline status, and review
status are CI/CD workflow concerns, not code implementation defects. Add
exclusion rules to prevent false P0s when MRs are legitimately unmerged.

Made-with: Cursor
Replace single get_figma_data alias with graduated figma_metadata /
figma_context / figma_screenshot / figma_extract aliases in shared-tools
and all 5 workflow skills. Add use_figma JS script templates for
text extraction, component structure, interactive state, and layout.

Made-with: Cursor
… #TAP-6927590596

## 改动内容
- CONVENTIONS.md: 新增"条件触发章节的数据充分性门控"通用约定,定义三级判定(sufficient/partial/none)
- PHASES.md 3.2.4: 插入 Step 1.5 数据充分性检查,扫描源材料中 API 技术证据,无证据则跳过契约提取
- PHASES.md 4.4: 整合 API 契约前增加 evidence level 前置检查
- PHASES.md 4.5: 新增报告章节输出规则,evidence 为 none 时省略该章节
- SKILL.md: 注意事项新增跳过规则引用,输出格式说明补充 none 场景
- CHECKLIST.md: API 契约检查项增加 api_evidence_level 前提条件
- contract.yaml: 新增 api_evidence_level 结构化输出字段

## 影响面
- requirement-clarification skill: 当参考信息不含代码或技术文档时,不再凭推测生成 API 契约章节
- 下游 skill: api_evidence_level 字段可用于程序化判断是否跳过了 API 契约
- 通用约定: 其他 skill 的条件触发章节可复用此门控模式

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
## Changes
- Add requirement-review skill (SKILL.md, PHASES.md, CHECKLIST.md, TEMPLATES.md, contract.yaml)
- Upgrade from 6 to 12 review dimensions with QA checklist integration
- Add document-design cross-validation (conditional on design artifact availability)
- Add multi-perspective parallel analysis for complex requirements (>=5 FPs)
- Add structured ask_question format for blocking item confirmation
- Add concrete report format examples for consistent LLM output
- Update plugin description to include both review and clarification
- Bump test plugin version 0.0.29 -> 0.0.30, metadata 0.1.38 -> 0.1.39

## Impact
- New skill directory: plugins/test/skills/requirement-review/
- Plugin description updated in plugin.json and marketplace.json

Co-Authored-By: Claude <noreply@anthropic.com>
…essment module #TAP-6927590596

## 改动内容
- 新增 EXTERNAL-IMPACT.md:定义 Android 三方交互命中判断规则和评估流程
- 新增 taptap-android-third-party-interaction-capabilities.md:主站侧交互能力参考
- 新增 taptap-sdk-android-to-main-app-calls.md:SDK 侧调用参考
- PHASES.md 增加阶段 3A 命中检测、阶段 4 外部影响评估、阶段 6 测试评估
- SKILL.md 增加按需扩展模块说明和约束规则

## 影响面
- change-analysis skill:Android 项目 MR 分析时自动执行命中检测
- 适配本地版本:generated_cases.json → supplementary_cases.json,report.md → change_analysis.json

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
## 改动内容
- 中间产出文件消歧重命名:analysis_checklist.md → 各 skill 专属名(change_checklist / traceability_checklist / verification_checklist / bug_fix_checklist);coverage_report.json → 带前缀名(change_coverage_report / traceability_coverage_report);review_result.md → tc_gen_review / tc_review_detail
- CONVENTIONS.md 拆分:断言审计、Agent 定义规范、需求追溯协议等大段内容提取到 _shared/ 共享目录(ASSERTION_AUDIT / AGENT_PROTOCOL / TRACEABILITY_PROTOCOL / REVIEW_4_DIMENSIONS / REQUIREMENT_DIMENSIONS)
- bug-fix-review 标记废弃,能力合并到 change-analysis Bug 场景(新增 risk_assessment.json 输出)
- verification-test-gen 重命名为 verification-test-generation
- requirement-clarification / requirement-review CHECKLIST.md 提取共享评审维度到 _shared/

## 影响面
- 所有引用旧文件名的 skill(change-analysis / requirement-traceability / test-case-generation / test-case-review / verification-test-gen / api-contract-validation)均已同步更新
- CONVENTIONS.md 从 ~800 行精简到 ~250 行,内容移入 _shared/ 子目录
- 插件版本 0.0.31 → 0.0.32,marketplace 0.1.40 → 0.1.41

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
## 改动内容
- 13 个 SKILL.md 移除模型分层重复介绍行,合并共享工具引用为单行
- 新建 PIPELINES.md 正式定义 8 条链路的 skill 序列和输出→输入文件名映射
- 新建 validate_contracts.py 校验 contract.yaml 一致性(name/冲突/from_upstream)
- README.md 目录结构同步更新(_shared 目录、废弃标注、PIPELINES.md)
- 修正 verification-test-generation/contract.yaml name 字段(重命名遗漏)

## 影响面
- 所有 test plugin skills 的 SKILL.md 文档瘦身
- 新增 PIPELINES.md 供编排层实现跨 session 数据传递参考
- 新增 validate_contracts.py 可作为 CI 校验步骤

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
…S, improve triggers #TAP-6927590596

## 改动内容
- Slim deprecated bug-fix-review: 113→12 line SKILL.md, delete PHASES.md, mark contract deprecated
- Split METHODS.md into language-specific files: integration (1099→30 index + 5 files), unit (921→38 index + 7 files)
- Add Chinese trigger keywords to 4 skill descriptions (verification-test-gen, api-contract, ui-fidelity, test-failure)
- Move review principles + 4-dimension table from test-case-generation SKILL.md to CHECKLIST.md
- Shorten reference chains: CONVENTIONS.md#断言审计 → direct _shared/ASSERTION_AUDIT.md links
- Strengthen requirement-review vs requirement-clarification boundary in descriptions
- Add duplicate review detection to test-case-review init phase
- Fix PIPELINES.md missing code_change_analysis.md in change-analysis output
- Expand terminology table (+5 entries) and add contract validation tool guide

## 影响面
- test plugin skills: 26 files modified, 12 new files (methods/), 1 deleted
- Net reduction: ~2000 lines from main skill files (content moved to methods/ subdirectories)
- No logic changes — pure documentation restructuring and description optimization

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
审计发现所有 test skill 缺少最终阶段的输出文件验证步骤,中间阶段完成后
可能直接终止导致产物文件丢失。本次修复:
- CONVENTIONS.md 新增「阶段执行保障」通用约定
- 13 个 SKILL.md 统一添加 Closing Checklist(CRITICAL)节
- requirement-clarification 添加 clarify→consolidate 强制衔接和输出验证
- test-case-review 标注 review_result.md 为中间文件消除命名歧义

Made-with: Cursor
- fix stderr mixing progress logs with JSON metadata in fetch_feishu_doc.py (add [LOG] prefix to log messages)
- fix diff_stats.additions semantic error in gitlab_helper.py (rename to changed_files_count)
- fix table rendering misalignment for merged cells in fetch_feishu_doc.py (append empty string instead of skipping)
- change default ref from master to main in gitlab_helper.py file-content subcommand
- align env var documentation: FEISHU_BASE_URL as primary (FEISHU_HOST as alias) in SKILL.md and contract.yaml

- shared-tools scripts: fetch_feishu_doc.py, gitlab_helper.py
- shared-tools documentation: SKILL.md, contract.yaml
- downstream consumers of stderr metadata and diff_stats output

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
…ifact organization #TAP-6927590596

- CONVENTIONS.md 新增「输出工作区」约定,定义 $TEST_WORKSPACE 环境变量
- .gitignore 添加 plugins/test/workspace/ 和 plugins/test/skills/*/output/ 规则
- 版本升级 test 插件 0.0.30 → 0.0.31

- test 插件:本地 AI 工作流调用多个 skill 时,可通过 $TEST_WORKSPACE 将产物按需求维度组织
- 向后兼容:未设置环境变量时行为不变

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
…claration #TAP-6927590596

- fix search_prs.py to use is:open+is:merged qualifiers instead of state:open+state:closed, excluding abandoned/rejected PRs from traceability results
- extract merged_at from GitHub Search API pull_request object instead of hardcoding empty string
- add missing env_vars (GITLAB_URL, GITLAB_TOKEN, GITLAB_PROJECT_MAPPING, GITHUB_TOKEN, GITHUB_REPO_MAPPING) to api-contract-validation/contract.yaml
- bump test plugin version 0.0.31 → 0.0.32, marketplace 0.1.40 → 0.1.41

- shared-tools/scripts/search_prs.py: downstream skills (requirement-traceability, change-analysis, bug-fix-review) will no longer receive false positive PR matches
- api-contract-validation/contract.yaml: env var consistency with other skills using the same script dependencies

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
Keep HEAD version (0.1.43) and retain new quality/test plugin entries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Reset versions to production+1, update CHANGELOG, README, and plugin
version history. Remove orphaned quality plugin entry from marketplace.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add new metersphere-sync skill and metersphere_helper.py shared script
to sync AI-generated test cases to MeterSphere platform.

Key capabilities:
- Import test cases to MS with auto module creation and "AI 用例生成" tag
- Find-or-create test plans (idempotent, scoped to AI 工作流 category)
- Associate cases to plans
- Auto-mark execution results based on verification confidence scores
  - confidence >= 90 + pass → Pass
  - confidence >= 70 + fail → Failure
  - others → Prepare (manual needed) with comment

All MS API endpoints verified against live instance. Default config
values built into script for zero-configuration usage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add metersphere-sync to skills table, directory structure, environment
variables, and version history sections.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add end-to-end QA workflow orchestrator that automatically chains
skills from requirement clarification through code review:

- Phase 1: requirement-clarification → test-case-generation → metersphere-sync
- Phase 2: change-analysis + verification-test-generation (parallel) →
  conditional ui-fidelity-check / api-contract-validation →
  requirement-traceability → metersphere-sync(execute)
- Phase 3: git:code-reviewing → git:commit-push-pr (optional)

Key features:
- Conditional branches based on requirement characteristics
  (design_link → UI check, coordination_needed → API contract)
- Multiple code change sources (MR link, local git diff, auto-PR)
- 3 workflow templates: qa-full, qa-lite (no MS), verify-only
- File-based state persistence with interrupt recovery
- Parallel execution for independent verification steps

Also adds confirm_policy parameter to test-case-generation for
automated orchestration (accept_all mode skips user confirmation).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add concurrent case import with ThreadPoolExecutor(max_workers=5)
  instead of sequential HTTP calls (5x faster for bulk imports)
- Add concurrent batch result updates
- Fix modules_created counter bug (was always 0 due to TOCTOU check
  after ensure_module already created the module)
- Add is_new flag to _ensure_module return value
- Move AES import to module level for early failure detection
- Fix quadratic bytes concatenation in multipart body construction

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Support plain text requirement descriptions as input, in addition
to story links and local documents.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added scope:docs Changes documentation or contributor guidance. scope:plugins Changes one or more plugins. and removed scope:git Touches the git plugin. scope:spec Touches the spec plugin. scope:sync Touches the sync plugin. scope:docs Changes documentation or contributor guidance. labels Apr 14, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added scope:docs Changes documentation or contributor guidance. and removed scope:docs Changes documentation or contributor guidance. labels Apr 14, 2026
Merge main's feedback skill and Urhox binary analysis additions into
the combined 0.1.33 changelog and test plugin version history.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added scope:docs Changes documentation or contributor guidance. and removed scope:docs Changes documentation or contributor guidance. labels Apr 15, 2026
… truncation

- Add global "large file write rules" section at top of PHASES.md
- Add truncation guard for tc_gen_review.md in phase 5.6 (max 200 lines, summary only)
- Add truncation guard for final_cases.json in phase 7.2 (use Bash+Python when >50 cases)
- Bump test plugin version to 0.0.8

- test-case-generation skill: prevents LLM output token limit from truncating Write tool calls
- Fixes observed "JSON Parse error: Expected '}'" when writing large review/case files

Generated-By: Claude Code <https://claude.ai/code>

Co-Authored-By: Claude <noreply@anthropic.com>
@Jun-Hex Jun-Hex force-pushed the feat/add-metersphere-sync-skill branch from 8175c34 to 27c65b4 Compare April 15, 2026 03:47
@github-actions github-actions bot added scope:docs Changes documentation or contributor guidance. and removed scope:docs Changes documentation or contributor guidance. labels Apr 15, 2026
@Jun-Hex
Copy link
Copy Markdown
Collaborator Author

Jun-Hex commented Apr 15, 2026

Automated Code Review

概要:新增 test QA 工作流插件的 metersphere-sync skill、qa-workflow 编排器、统一 .env 配置,以及多个 skill 文档更新。45 files, +2337/-137。

检查清单

类别 状态 备注
安全性 无硬编码密钥;.env 模板含内部域名但非密钥
逻辑正确性 ⚠️ 文档声称凭证"已内置"但代码中为必填;批量更新缺少 status 校验
资源管理 ThreadPoolExecutor 正确使用 with 语句;文件句柄有 with 保护
API 与兼容性 ⚠️ contract.yaml 环境变量注释"有默认值"与实际行为矛盾
代码质量 __pycache__/*.pyc 二进制文件被提交;requirements.txt 声明不准确

说明:✅ 通过 | ⚠️ 警告 | ❌ 未通过 | ➖ 不适用

🚫 阻塞问题

  • plugins/test/skills/shared-tools/scripts/__pycache__/*.pyc (6 files) — 二进制 .pyc 文件被提交到仓库.gitignore 缺少 __pycache__/ 规则,导致 6 个 cpython-314.pyc 文件进入版本控制。会造成仓库膨胀且跨 Python 版本产生冲突。需删除并添加 gitignore 规则。[Claude+Codex confirmed]

⚠️ 警告

  • metersphere-sync/SKILL.md:69-71 — 文档声称 MS_ACCESS_KEYMS_SECRET_KEYMS_PROJECT_ID 默认值为"已内置",但 metersphere_helper.py:77-82 中 ACCESS_KEY/SECRET_KEY 为必填(缺失直接 sys.exit(1)),PROJECT_ID 缺失则为空字符串。可能误导 agent 在未配置 .env 时直接调用。[Claude+Codex confirmed]

  • shared-tools/contract.yaml:30-36 — 注释标记 MS_ACCESS_KEY/MS_SECRET_KEY 为"有默认值",与代码行为矛盾。contract.yaml 作为接口契约,错误描述会影响编排层判断。[Claude+Codex confirmed]

  • metersphere_helper.py:741-774cmd_batch_update_results 不验证 status 字段,而单条 cmd_update_case_result(line 729)校验了 {Pass, Failure, Blocked, Skip, Prepare}。一致性问题,批量路径可能向 API 发送无效 status。[Claude+Codex confirmed]

  • metersphere_helper.py:102-120 — AES-CBC 要求 key 16/24/32 字节、IV 16 字节。MS_ACCESS_KEYMS_SECRET_KEY 长度未做前置校验,配置错误时会得到 pycryptodome 原始异常而非友好提示。[Claude+Codex confirmed]

  • requirements.txt:1-4 — 声称"No third-party packages required",但代码依赖 pycryptodome(必须,缺失直接退出)和 python-dotenv(可选)。应列出真实依赖。[Codex confirmed]

💡 建议

  • metersphere_helper.py:133MS_BASE_URL 缺失时返回空字符串,URL 变成无 host 的相对路径。建议加入 _REQUIRED_ENV 或提供默认值。
  • metersphere_helper.py:793,809,819,840 — CLI --parent-id 等参数解析使用 args[idx+1],末尾缺值时 IndexError 无友好提示。AI agent 调用场景下风险低。
  • .env.example:19,47 — 含内部域名 metersphere.tapsvc.comgit.tapsvc.com。如果仓库公开,建议改为占位符。
  • metersphere_helper.py:77-82 — 模块级 sys.exit(1) 导致无法作为 module import 测试。CLI 脚本可接受但不利于未来扩展。

状态:待处理(1 个阻塞问题 + 5 个警告)


Powered by Claude Code (Opus 4.6) — dual-agent review (Claude Reviewer + Codex Reviewer)
回复 忽略: [问题关键词] 可标记为已忽略,re-review 时自动识别。已修复的问题会自动检测。

Remove 6 .pyc binary files from git tracking and add __pycache__/
and *.pyc rules to .gitignore to prevent future accidental commits.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added scope:docs Changes documentation or contributor guidance. and removed scope:docs Changes documentation or contributor guidance. labels Apr 15, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added scope:docs Changes documentation or contributor guidance. and removed scope:docs Changes documentation or contributor guidance. labels Apr 15, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added scope:docs Changes documentation or contributor guidance. and removed scope:docs Changes documentation or contributor guidance. labels Apr 15, 2026
@Jun-Hex Jun-Hex merged commit a6c76d2 into main Apr 15, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind:feature Adds a feature or expands behavior. scope:plugins Changes one or more plugins. size:xl Very large PR, expect slower review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants