Skip to content

Opencode/maintainer improvements 20261018 - #61

Merged
DannyBaanks merged 8 commits into
mainfrom
opencode/maintainer-improvements-20261018
Oct 18, 2026
Merged

DannyBaanks merged 8 commits into
mainfrom
opencode/maintainer-improvements-20261018

Conversation

@DannyBaanks

Copy link
Copy Markdown
Owner

Problema y resultado

Describe el problema concreto y el comportamiento que cambia para quien usa ISyCode.

Validación

Indica los comandos o flujos que ejecutaste y sus resultados. Distingue pruebas
con fixtures de integraciones reales. Añade capturas si cambia la TUI.

Límites pendientes

Documenta lo que no se verificó y cualquier condición necesaria para usar el cambio.

Consulta CONTRIBUTING.md antes de enviar el PR. No incluyas
secretos ni presentes un permiso, una captura o un test aislado como aprobación de release.

Multi Harness showed ~30 separate 'Prepare repair Compose' buttons, one per
gap row. Added a primary 'Repair all gaps' button at the top of the gap panel
that builds a single unified brief covering every ADD/WATCH row, skipping
DO_NOT_MERGE and ALIGNED entries. The per-row buttons remain available.

- harness_graph.py: repair_compose_all(rows) bundles actionable rows into one
  brief reusing repair_compose per row.
- tui_screens_harness.py: button + CSS + on_button_pressed handler
  (dismiss 'compose:all').
- tui_app_sessions.py: route 'compose:all' through repair_compose_all.
- tests: 2 new cases (bundle, empty-map message).

64 harness tests pass, 1 skipped.
The compose was only ever copied to the clipboard. Now the primary button
opens a scrollable Accept/Cancel window listing every cli:file the repair
will touch (from the seed option's isycode_target), and Accept spawns a
fresh conversation lane that runs the compose in the workspace's current
mode — Classic by default, so the answering model is bound by the same
Sentinel/Authority gates as any other turn.

- harness_graph.py: repair_targets(rows) → list of {semantic_id, title,
  harnesses, status, files} for ADD/WATCH rows only.
- tui_screens_harness.py: HarnessRepairConfirmScreen (scrollable body,
  Accept · Launch repair conversation / Cancel · Esc).
- tui_app_sessions.py: route compose:all and compose:<id> through the
  confirm screen; _launch_repair_conversation opens a lane and posts the
  brief via _post_user_text.
- tests: 3 new cases for repair_targets.

66 harness tests pass, 1 skipped.
Implements ISyCode Hive (mirroring isyco-worlds/src/main/hive.ts) as a native
Python module for multi-agent/multi-CLI orchestration:

- hive/types.py: core types (HiveMessage, HiveTask, AgentMeta, Registry, etc.)
- hive/guard.py: write guard (port of hiveGuard.ts) - denies writes outside
  agent's own memory.md/inbox/outbox/tasks.json (god: board.md/spawn-requests/)
- hive/router.py: async router drains outbox/ → inbox/ every 1s, hop limit 12
- hive/hook_shim.py: Python equivalent of cth-hook.cjs for PreToolUse/PostToolUse/Stop
- hive/hook_server.py: Unix domain socket server in main process
- hive/manager.py: HiveManager with registry, agent workspaces, git commits,
  spawn injection for providers (claude, codex, crush, grok, opencode, etc.)
- hive/spawn.py: async agent spawning (fire-and-forget, detached processes)

Integration with Multi Harness:
- HarnessRepairConfirmScreen now has 3 actions: Cancel / Launch repair conversation / Launch in Hive
- "Launch in Hive" spawns a hive agent with the compose as initial prompt
- User chooses provider (Claude, Codex, Crush, Grok, OpenCode) via ModelsScreen
- Agent runs in hive coordination (inbox/outbox, git-backed) with Sentinel/Authority gates

Tests: 10 new hive tests + 66 harness tests pass (1 skipped).

Signed-off-by: opencode_maintainer_1726899001
@DannyBaanks
DannyBaanks merged commit 594050e into main Oct 18, 2026
6 of 12 checks passed
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.

1 participant