Repository navigation
Adopt upstream ACP + opencode service, retire the fork (P1.7) #130
Copy link
Copy link
Open
Description
Proposal
Parent: Phase 1a item P1.7. Slots after the ports (P1.3–P1.6). This change is where
the fork boundary is crossed; the verification contract (charter §6.4, §7.6) governs
it.
Why
The v2 pivot exists because carrying a 241-file fork costs a restructure-port per
upstream release. After P1.3–P1.6 the remaining fork code is acp/ (superseded — we
adopt upstream's), context/ and fork/ residue. Cutting over is justified only if
upstream demonstrably covers the two verification contracts:
- §6.4 (ACP): the external-client test list. The unit-level migration on
skein2/acp-sdk-1.8proved the API shape; upstream adoption must prove the
behavior viaacp-external-verification(Scenario A). - §7.6 (lifecycle): the ten assertions (start without TUI, survive TUI close,
attach second client, dual observation, multi-worktree sessions in one project scope,
durable state across kill, restart reconciles process+repo truth, no re-owned task,
abandoned worktree preserved, acceptable long-run resource profile). The evaluation
said explicitly this was not check'd; it must be driven live before residues are
deleted.
What Changes
- Drive the §7.6 ten assertion against upstream
opencode servicelive, and the §6.4
list against upstream's ACP viaacp-external-verification. Failures become either
reasoned upstream PRs or documented gaps with mitigations — never a new fork. - Retire in-fork remnants per the decision (charter §19-revised): delete
acp/,
context/,fork/and the ported areas (local/,peer/,loop/-.Tree,
beads/) as recorded by the port changes' dispositions; the retained-delta list
(deliberate deviations, if any) shrinks to the recorded minimum, each with a
documented upstream route or justification. - Archive the
skein2/acp-sdk-1.8branch and its change artifacts; the often-cited
docs (01-acp-migration.md) remain as historical record, marked as sunk cost.
(Evaluation decision 3.) - Swap the operator's running opencode over: the fork binary installs
(1.18.18-dev in~/.local/bin/opencode) are replaced after the new-plugin stack is
proven; the migration-or-fresh decision for fork-era state dirs (from
v2-rebaseline's R-P1 inventory) is recorded before the swap. - Update ecosystem docs (AGENTS.md,
~/dev/skein/docs/ECOSYSTEM.mdsync-policy
section) to the new reality: plugin repo + retained delta, no--agentflag unless
it survives P1.7 review as an upstream-able patch.
Non-goals
- No reimplementation of anything §7.6/§6.4 confirms upstream covers.
- No upstream contribution obligations invented here beyond reasoned PRs for
demonstrable gaps.
Risks
- Deleting fork code before verification would strand autonomy behaviors; the order
above is enforce-only-after-evidence. --agentflag (src/cli/cmd/run.ts) is skein-ecosystem-critical (skein's supervisor
calls it); if upstream lacks it, it becomes a preserved-delta item with a PR attempt.
Removing it is unacceptable per AGENTS.md.
Impact
Fork retirement, a documented gap list, installer swap, dated residue inventory. The
platform's execution plane is upstream opencode + skein-plugin from here on.
Tasks
Ordering is enforced: verification before deletion; deletion before installer swap.
- 1.1 Drive the charter §7.6 ten lifecycle assertions against upstream
opencode service(start-without-TUI, survive-TUI-close, second-client attach, dual
observation, multi-worktree sessions in one project scope, durable state across
kill, restart reconciles process+repo truth, no re-owned task, abandoned worktree
preserved, long-run resource profile). Result: evidence doc, one row per
assertion. - 1.2 Confirm §6.4 coverage via
acp-external-verification(Scenario A on
upstream); if it is not yet run, this change's deletion steps wait for it. - 1.3 Gap ledger: every failed assertion becomes (a) a reasoned upstream PR or
(b) a documented gap with mitigation. Neither class may be skipped or merged. - 1.4 Record
--agentflag status: present in v2 run path or the preserved-delta
list; if missing, open the PR attempt and keep the preserved-delta entry until
resolved. - 1.5 Migrate-or-fresh decision for fork-era state dirs (input from
v2-rebaseline); migration test against a real snapshot (K13). - 1.6 Delete
acp/,context/,fork/and the ported areas per the recorded
dispositions; the retained-delta list shrinks to the recorded minimum. - 1.7 Archive
skein2/acp-sdk-1.8(branch + change artifacts) and mark
01-acp-migration.mdas historical/sunk-cost. - 1.8 Installer swap documented and gated on 1.1–1.6 green; the fork's
~/.local/bin/opencode(1.18.18-dev) path recorded as retired. - 1.9 Update AGENTS.md +
~/dev/skein/docs/ECOSYSTEM.mdsync policy: forward
changes target the plugin repo; upstream sync policy per the new delta reality.
Related
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity