Skip to content

Reduce opencode-skein downstream patch surface #26

Closed

Description

@androidand
Proposal

Context

Current manifest has 17 owned files and 7 patched files. Patch surface is acceptable but can be improved. After upstream sync, consolidate Skein capabilities behind narrow integration points.

Goals

  • Move fork-specific logic into fork-owned modules under packages/opencode/src/fork/*
  • Reduce number of patched upstream files
  • Consolidate overlapping capabilities: loop, scheduler, automation, auto-reply, hooks, pattern detection
  • Ensure each capability has explicit disposition: retained, adapted, consolidated, replaced, removed
  • Add behavioral verification beyond marker strings

Non-goals

  • Change Skein user-facing behavior without review
  • Rebase history

Success criteria

  • Patch surface reduced vs pre-sync
  • fork/manifest.json updated with capability metadata
  • Behavioral tests exist for critical capabilities
  • FORK_WORKFLOW.md updated

Disposition (2026-09-18)

Archived — superseded/obsolete. The real problem (silent feature loss on sync) is solved by fork/manifest.json + fork:verify; owned-module consolidation happens per feature, not as a project.

Design notes

Design

Architecture target

upstream code -> thin integration point -> fork adapter -> fork-owned implementation

Consolidation approach

Group capabilities:

  • ForkCommands registration via single patch
  • ForkDistribution via single patch
  • Provider discovery via mergeDiscoveredModel patch
  • TUI extensions via narrow patches

Avoid scattering Skein code throughout upstream files.

Verification enhancement

Extend manifest entries with capability and tests fields.

Hygiene

Remove graphify-out from tracking, add to .gitignore.

Tasks

  • Build capability matrix for all Skein features
  • Identify duplicate/overlapping implementations
  • Audit manifest for stale regressions: theme.tsx, cache_creation_tokens
  • Identify graphify-out generated state and clean .gitignore
  • Plan extension boundaries per capability
  • Move fork logic into owned modules, reduce patched files
  • Add behavioral verification tests
  • Update manifest with capability metadata and tests
  • Update FORK_WORKFLOW.md

Unchecked items above: see Disposition in proposal.md (2026-09-18).

Activity

  1. androidand commented on Sep 17, 2026

    @androidand
    OwnerAuthor

    Archived 2026-09-18 — see the change's Disposition section.

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions