Skip to main content

arkweb-security-patch-conflict

Resolve ArkWeb patch merge conflicts while preserving upstream security fix intent.

ソース情報

リポジトリ
openharmonyinsight/openharmony-skills
ソースの最終更新活動
2026年6月3日 05:24
検出された SKILL.md の言語
中国語
スター
34
フォーク
7

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
arkweb-security-patch-conflict
description
Resolve ArkWeb patch merge conflicts while preserving upstream security fix intent.
descriptionZH
ArkWeb 冲突解决技能。git apply 失败或上下文漂移后,在允许文件范围内执行最小等价手工写入,并保持上游安全修复语义一致。
tags
["ArkWeb","conflict","merge"]
# ArkWeb Conflict Resolution 用于 `arkweb-security-patch-conflict-resolver`。 遇到手工落地、`manual_attempted` / `manual_applied`、旧 blocker 清理和 issue 过滤 diff 裁决时,先读本 skill 内的 [references/manual-landing-contract.md](references/manual-landing-contract.md)。不要引用其它 skill 的脚本或 md。 ## 输出 单 issue 模式写入 `.ace-outputs/{runId}/07_conflict_resolution.md`。 批量模式必须逐个 issue 处理,读取 `.ace-outputs/{runId}/issues/{issue_id}/06_merge_result.md/json` 中记录的目标子仓、`patch_normalization[]`、`modified_files[]` 和 blockers,并在当前工程目标 git 子仓内执行最小等价手工写入;每个 issue 写入 `.ace-outputs/{runId}/issues/{issue_id}/07_conflict_resolution.md`,总览写入 `.ace-outputs/{runId}/07_conflict_resolution.md`。 必须包含: 1. apply 失败/冲突文件和根因。 2. 上游修复意图。 3. ArkWeb 本地差异和适配决策。 4. 最小等价手工写入方案。 5. 与上游 patch 的偏差说明。 ## 规则 - 先理解安全修复意图,再改代码。 - 本工作流里的“冲突解决”就是最小手工写入:读取规范化 patch hunks 和当前目标文件,在 `modified_files[]` 范围内做最小等价改动。 - 对 `patch does not apply`、三方合并缺 blob、上下文漂移和空 diff,不能只复述 git apply 失败;必须尝试最小手工写入,除非能证明不可在允许范围内完成。 - 若未执行手工写入,必须写明 `manual_attempted=false` 和 `manual_skip_reason`。 - 手工写入成功后必须写回 `manual_attempted=true`、`manual_rewrite=true`、最终变更文件、关键语义对应关系,并清除旧的 `patch_apply_failed:*`、`no_real_file_change`;旧 `worktree_add_failed` 只作为历史失败记录,不参与当前裁决。 - 手工修复成功就是合入成功:只要最小手工写入真实落地了上游 patch 的安全/功能语义,并且按 issue 过滤后的 diff 包含允许文件,就必须写回 `manual_applied=true`、`semantic_landed=true`,清空当前合入 blocker,并允许该 issue 进入 `ready_for_next`。 - 不能把“尝试过手工”误当成成功。若进入过手工路径但没有实际写入 issue 允许文件,或语义无法确认,必须写 `manual_attempted=true`、`manual_applied=false`,保留最新 blocker,不能进入 `ready_for_next`。 - `final_changed_files` 必须只列出当前 issue 的允许文件和已登记本地适配文件。全局 worktree diff 只能作为诊断输入,不能原样写入该 issue 的结果。 - 只允许修改上游 patch 明确涉及的冲突文件,以及合入/适配报告中明确列出的本次 patch 必需文件。 - 工程中其它未提交代码、未跟踪文件、历史脏改、构建产物和无关删除必须忽略。 - 批量模式禁止使用 git worktree;必须在当前工程目标子仓解决冲突。 - 如果多个 issue 修改同一文件,自动合入阶段应先按 issue_id 数值升序选择最小 issue_id 作为 winner 进入 active batch,其它 issue 标记 `duplicate_file_overlap` 和 `deferred_for_archive`;非 winner issue 不进入冲突解决。不得把非 winner 的重叠文件强行写入 winner issue 的结果。 - 不得清理、暂存、格式化、重写或顺手修复本次 patch 范围外的任何文件。 - 如果冲突需要改动范围外文件才能继续,停止并输出阻塞项,不得自动扩大处理范围。 - 无法确认语义时,不要强行通过,输出阻塞项。 - 批量模式每轮必须记录本轮前后的 fail/pass/blocker 变化和 final diff 变化;如果没有任何 issue 的 blocker 减少、`manual_attempted` 状态变化或 diff 变化,必须输出 `no_progress` 并停止继续空转。
GitHubで見る