Skip to content

Upgrade conflict on .upstream.json after migration squash #844

Description

@hekataion

Problem

After the migration squash (#837), test-upgrade is failing because volute mind upgrade conflicts on .claude/skills/volute-mind/.upstream.json.

The prior release (v0.55.0) installed skill volute-mind v1, which wrote .upstream.json with v1 metadata. HEAD has volute-mind v2 with different metadata. The upgrade merge conflicts on this file.

Root cause

.upstream.json files are runtime tracking files written by the skill sync system. They should not be part of the template merge comparison because:

  1. They are specific to when/how a skill was installed
  2. The skill sync will update them anyway after the upgrade

Suggested fix

Either:

  1. Add **/.upstream.json to the mind gitignore (changes existing behavior)
  2. Add **/.upstream.json merge=ours to .gitattributes so the mind version wins on conflict
  3. Explicitly exclude these files from the merge conflict list in upgrade.ts

Reproduction

Run npm run test:upgrade — the second test case fails.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions