Skip to content

portfolio: migrate open issues and reconcile Linear twins during repository consolidation #4

Description

@rmems

Parent

#3

Goal

Repository consolidation is not complete if active GitHub issues are stranded in repositories that are later archived. Define and execute a repeatable issue-tracker migration protocol for every consolidation in the portfolio cleanup wave while preserving the GitHub→Linear twin workflow and avoiding duplicate Linear tickets.

Planning attribution

This migration protocol was drafted with GPT-5.6 Sol (ChatGPT/OpenAI) in collaboration with @rmems on 2026-08-22.

Scope

Applies to source repositories currently planned for consolidation:

  • NeuroPulse.jl and SpikeStream.jlTemporalFocus.jl
  • limbic-criticLimen-Neural/plasticity-lab
  • thalamic-relay and corpus-ipcLimen-Neural/brainstem-daemon
  • DendriteTrader.jlLimen-Capital
  • spike-vizSpikenaut-SNN
  • combine-for-AIgrok-ozempic

hybrid-fusion is no longer a merge source; it remains an independent orchestration repository and continues its extraction program under rmems/hybrid-fusion#20.

corinth-canal is a thinning/upstreaming program rather than a repository merge, so its existing component issues remain in Corinth unless a specific implementation issue is intentionally re-homed.

Per-source issue inventory

Before archiving any source repository:

  • List every open GitHub issue.
  • Record title, URL, labels, milestone, assignee, blockers/related issues, and whether a Linear twin exists.
  • Classify each issue as move/re-home, merge/duplicate, close-not-planned, or keep-source provenance.
  • Do not bulk-copy closed historical issues; the archived source repository remains the historical record.

GitHub migration procedure

For move/re-home issues:

  1. Prefer native GitHub issue transfer when it preserves the required history/boundary.
  2. Otherwise create a destination issue with the original URL and Migrated from <repo>#<n> provenance.
  3. Preserve discussion history by linking to the original thread rather than fabricating comment authorship.
  4. Recreate only labels/milestones that still make sense.
  5. Update blocker/related links to canonical destination issues.
  6. Close the source issue only after the destination exists and is cross-linked.

For duplicates/superseded work, link the canonical destination and close only after verification. For obsolete work, record a concise consolidation-specific rationale.

Linear twin protocol

The existing GitHub→Linear automation should create destination twins.

Do not manually create a second Linear issue while automatic sync may still fire.

For every re-homed issue:

  1. Create/transfer the GitHub destination issue first.
  2. Verify the expected Linear twin appears and points to the correct GitHub issue/repository.
  3. If the source issue already had a Linear twin, reconcile/close/relate it only after the destination twin exists.
  4. Keep titles stable during initial sync verification.
  5. Treat missing twins as a sync configuration defect rather than papering over them with unlinked manual tickets.

Pull requests and branches

  • Do not migrate PR conversations as though they were ordinary issues.
  • Merge/close active source PRs before archive where practical, or preserve them in the archived source and open a destination implementation issue/PR if work must continue.
  • Preserve/import branches containing unique unmerged work before archive.

Per-consolidation definition of done

A source repository is archive-ready only when:

  • unique code/history has been imported or intentionally retained as provenance;
  • every open issue has a recorded disposition;
  • moved active work has a canonical destination GitHub issue;
  • destination Linear twins are verified where automatic sync is configured;
  • old twins are no longer competing active copies;
  • source issue threads link forward;
  • source README links to the canonical repository;
  • downstream docs no longer point to the source as the current implementation.

Current sync audit

Verified automatic twins from the consolidation wave:

  • Limen-Neural/plasticity-lab#54LIM-1052
  • rmems/grok-ozempic#88RM-676
  • rmems/corinth-canal#161RM-677

Needs verification after the latest architectural corrections:

  • Limen-Neural/brainstem-daemon#35 (canonical runtime consolidation issue)
  • rmems/TemporalFocus.jl#53
  • rmems/Limen-Capital#9
  • rmems/Spikenaut-SNN#19
  • rmems/.github#3
  • rmems/.github#4

rmems/cortex-tensor#35 and rmems/thalamic-relay#37 are now closed as superseded/not-planned and should not become active destination twins.

Deliverable

Track, per source repo: open issue count, moved, duplicate, closed-not-planned, kept as provenance, Linear twins verified, and archive-ready status.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions