merge-diff-arc-agi-task
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMerge-Diff ARC-AGI Task
Merge-Diff ARC-AGI 任务
This skill provides guidance for tasks that combine git operations with ARC-AGI style pattern recognition problems. These tasks typically involve fetching git bundles, merging branches with conflicting implementations, analyzing example input-output pairs to discover transformation patterns, and implementing correct algorithmic solutions.
本技能为结合Git操作与ARC-AGI风格模式识别问题的任务提供指导。这类任务通常包括获取Git bundle、合并存在实现冲突的分支、分析输入输出示例对以发现转换模式,以及实现正确的算法解决方案。
When to Use This Skill
适用场景
Apply this skill when the task involves:
- Fetching and merging git bundles containing different code implementations
- Analyzing grid-based input-output examples to discover transformation rules
- Implementing algorithms that transform 2D grids based on discovered patterns
- Resolving merge conflicts between competing implementations
当任务涉及以下内容时,可应用本技能:
- 获取并合并包含不同代码实现的Git bundle
- 分析基于网格的输入输出示例以发现转换规则
- 实现基于已发现模式转换2D网格的算法
- 解决不同实现之间的合并冲突
Recommended Workflow
推荐工作流程
Phase 1: Environment Setup
第一阶段:环境配置
Before starting the main workflow, complete all environment configuration:
- Configure git identity - Set user.name and user.email before any merge operations to avoid "Committer identity unknown" errors
- Verify Python availability - Check whether or
pythonis the correct commandpython3 - Initialize git repository if not already done
- Fetch all required bundles before analyzing any code
开始主要工作流程前,完成所有环境配置:
- 配置Git身份 - 在进行任何合并操作前设置user.name和user.email,以避免“提交者身份未知”错误
- 验证Python可用性 - 确认或
python哪个是正确的命令python3 - 初始化Git仓库(如果尚未初始化)
- 获取所有所需bundle后再分析任何代码
Phase 2: Analysis Before Implementation
第二阶段:实现前的分析
Analyze thoroughly before writing any code:
- Test existing implementations first - Before merging or writing new code, test what each branch's implementation actually does
- Parse and examine all examples - Read the examples.json (or equivalent) file once and analyze all input-output pairs systematically
- Document the pattern formally - Write out the mathematical relationship explicitly (e.g., "For each cell (i,j), output[i][j] = sequence[(i+j) mod n]")
- Verify the pattern against ALL examples - Confirm the discovered pattern holds for every example, not just a subset
在编写任何代码前进行全面分析:
- 先测试现有实现 - 在合并或编写新代码前,测试每个分支的实际功能
- 解析并检查所有示例 - 一次性读取examples.json(或等效文件)并系统分析所有输入输出对
- 正式记录模式 - 明确写出数学关系(例如:“对于每个单元格(i,j),output[i][j] = sequence[(i+j) mod n]”)
- 验证模式是否适用于所有示例 - 确认发现的模式适用于每个示例,而非仅部分示例
Phase 3: Pattern Recognition Strategies
第三阶段:模式识别策略
When analyzing grid transformation patterns:
- Identify unique values - Extract non-zero or distinct values from the input
- Look for positional relationships - Check if output depends on row index, column index, or combinations like (i+j), (i-j), etc.
- Check for tiling or repetition - Determine if the output is a tiled or repeated version of a smaller pattern
- Consider modular arithmetic - Many patterns use modulo operations based on grid dimensions or sequence lengths
- Test edge cases mentally - What happens with all zeros? Single values? Non-square grids?
分析网格转换模式时:
- 识别唯一值 - 从输入中提取非零或不同的值
- 寻找位置关系 - 检查输出是否依赖于行索引、列索引或(i+j)、(i-j)等组合
- 检查平铺或重复 - 判断输出是否是某个小模式的平铺或重复版本
- 考虑模运算 - 许多模式会基于网格尺寸或序列长度使用模运算
- 在脑中测试边缘情况 - 全零输入会怎样?单一值?非正方形网格?
Phase 4: Implementation
第四阶段:实现
- Create a reusable test harness early - Write a single comprehensive test function that can be called repeatedly instead of writing test code multiple times
- Implement with clear variable names - Make the algorithm's intent obvious
- Add input validation at boundaries - Handle empty grids, all-zero inputs, and edge cases
- Handle potential collisions - If using dictionary or position-based mapping, consider what happens if two values map to the same key
- 尽早创建可复用的测试工具 - 编写一个可重复调用的综合测试函数,而非多次编写测试代码
- 使用清晰的变量名 - 明确体现算法的意图
- 在边界处添加输入验证 - 处理空网格、全零输入和边缘情况
- 处理潜在冲突 - 如果使用字典或基于位置的映射,考虑多个值映射到同一键时的情况
Phase 5: Merge and Verify
第五阶段:合并与验证
- Only start the merge after understanding the required implementation - Avoid starting a merge prematurely and needing to abort
- Use a complete verification script - Test with all provided examples and check expected outputs
- Run the official test suite - Ensure all tests pass before considering the task complete
- 仅在理解所需实现后再开始合并 - 避免过早开始合并导致需要中止操作
- 使用完整的验证脚本 - 用所有提供的示例进行测试并检查预期输出
- 运行官方测试套件 - 在认为任务完成前确保所有测试通过
Common Pitfalls to Avoid
需避免的常见陷阱
Git-Related Mistakes
Git相关错误
- Starting a merge before configuring git user identity
- Beginning the merge before understanding what implementation is needed
- Forgetting to stage and commit after resolving conflicts
- 在配置Git用户身份前就开始合并
- 在理解所需实现前就开始合并
- 解决冲突后忘记暂存并提交
Python-Related Mistakes
Python相关错误
- Using when
pythonis required (or vice versa)python3 - Not testing the existing implementations before writing new code
- 当需要时使用
python3(反之亦然)python - 在编写新代码前未测试现有实现
Pattern Analysis Mistakes
模式分析错误
- Stream-of-consciousness reasoning instead of formal pattern documentation
- Spot-checking only a few examples instead of verifying all
- Missing edge cases like empty sequences or all-zero inputs
- Not considering what happens when multiple values map to the same position
- 用随意的推理代替正式的模式记录
- 仅抽查部分示例而非验证所有示例
- 忽略空序列或全零输入等边缘情况
- 未考虑多个值映射到同一位置时的情况
Code Organization Mistakes
代码组织错误
- Writing test code multiple times in different forms instead of creating a reusable function
- Reading data files multiple times instead of parsing once
- Incomplete or truncated verification scripts
- 多次以不同形式编写测试代码,而非创建可复用函数
- 多次读取数据文件而非仅解析一次
- 验证脚本不完整或被截断
Verification Checklist
验证清单
Before marking the task complete, verify:
- Git user identity configured
- All bundles fetched successfully
- Pattern documented with explicit mathematical formula
- Pattern verified against ALL examples (not just some)
- Edge cases handled (empty input, all zeros, etc.)
- All tests pass
- Merge committed successfully
在标记任务完成前,需验证:
- Git用户身份已配置
- 所有bundle已成功获取
- 模式已通过明确的数学公式记录
- 模式已在所有示例中验证通过(而非仅部分)
- 已处理边缘情况(空输入、全零等)
- 所有测试通过
- 合并已成功提交