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.

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