Skip to content

feat(civilization): add managed OpenCode 2 support - #1

Closed
Errantial wants to merge 3 commits into
civilization/v1-livefrom
civilization/opencode2-support
Closed

Errantial wants to merge 3 commits into
civilization/v1-livefrom
civilization/opencode2-support

Conversation

@Errantial

Copy link
Copy Markdown
Owner

Scope

Stacked post-v1 review for managed/local OpenCode 2 Civilization support. This intentionally depends on the v1 Civilization branch (civilization/v1-live) and does not modify upstream PR pingdotgg#20587.

Capability truth

  • Managed/local OpenCode 2: full Civilization support only after a successful authoritative generation probe establishes V2.
  • OpenCode 1.x: metadata-only.
  • Externally configured OpenCode 2: metadata-only.
  • Probe failure/unprobed generation: fail closed.

Transport and lifecycle

  • Civilization context remains ordinary untrusted session.prompt(...) user content.
  • Explicit end-of-untrusted-data separator protects the actual user request.
  • Provider continuation/command/steer/compact paths do not receive fresh Civilization packets.
  • Fork child gets its own fresh packet; parent packet is not inherited as current context.
  • Passive mail stays database-only: no wake, steer, polling, broadcast, or automatic reply behavior.

Persistence

  • Migration 070 widens provider suppression reasons while preserving legacy Claude values and migration-069 reference-sync indexes/triggers.
  • Rollback remains functional disable or full pre-070 snapshot restore; no hand downgrade.

Qualification

Provider-specific live qualification used OpenCode 2.0.32 with the authorized free opencode/mimo-v2.6-flash-free model.

  • Final separator-format quality matrix: 30/30 invocation success, 30/30 deterministic correctness markers.
  • Changed-packet + real tool-history + fork proof: passed.
  • Managed Civilization MCP census/mail gate: passed; mail remained passive (offer_count=0, no ack/terminal state).
  • Continuation/background boundary evidence: passed.

Post-integration validation

The complete seven-commit Civilization + OpenCode2 stack was replayed onto current upstream main (c0fda31e3e) in an isolated integration worktree with no conflicts; git range-diff reports all seven patches equivalent.

  • Focused OpenCode2/Civilization suite: 170 passed, 2 skipped, 0 failed.
  • Affected typechecks: contracts, provider-core, provider-opencode, server, client-runtime, web - all pass.
  • Server pack: pass.
  • Web build: pass.
  • OpenCode2 delta lint: 0 warnings, 0 errors.
  • Full-stack lint: 0 errors; 5 pre-existing v1 warnings.
  • git diff --check: pass.
  • Web keybinding reconciliation: 142/142 tests pass.
  • G7 performance acceptance: pass at unchanged 10 ms budget when run alone.
  • Final read-only production audit: no blockers.

Release state

This PR is a focused stacked review surface only. Managed/local OpenCode 2 is qualified and promoted in this branch, but it is not claimed as merged or released upstream until the v1 dependency and this follow-up review land.

@Errantial
Errantial force-pushed the civilization/v1-live branch from 2fde693 to 0ec5386 Compare October 17, 2026 19:06
@Errantial
Errantial force-pushed the civilization/opencode2-support branch from aff43f8 to 02e94f9 Compare October 17, 2026 22:21
@Errantial Errantial closed this Oct 17, 2026
@Errantial
Errantial deleted the civilization/opencode2-support branch October 17, 2026 22:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants