Commit Graph

187 Commits

Author SHA1 Message Date
3e0144ea7c Merge pull request 'feat(kugetsu): implement issue-driven session management' (#15) from feat/issue-14-session-management into main 2026-03-30 05:13:10 +02:00
shokollm
b422b33aa6 fix(kugetsu): use before/after session list to detect forked session
Compare session list before and after fork to reliably detect which
session is the newly created one. Avoids relying on parsing output
that may not contain session ID.
2026-03-29 20:25:41 +00:00
shokollm
636a41f41b fix(kugetsu): create session file before opencode fork
Create placeholder session file and add to index BEFORE running
opencode. This ensures we have a record even if opencode takes
long time or times out. Update with real session ID after fork.
2026-03-29 20:19:38 +00:00
shokollm
c51a886aa6 fix(kugetsu): capture forked session ID from opencode output
The --fork flag outputs the new session ID. Parse that instead of
relying on session list which may return wrong session when multiple
exist. Added fallback to session list parsing.
2026-03-29 20:16:51 +00:00
shokollm
7f3952ff9d test(kugetsu): add v2.0 test suite for issue-driven session management 2026-03-29 20:01:16 +00:00
shokollm
f2ab637d1f fix(kugetsu): update install script with new commands 2026-03-29 20:00:17 +00:00
shokollm
e014d7bfb9 fix(kugetsu): fix bash substitution error in cmd_start
The function call inside ${} syntax was invalid. Changed to use
command substitution $(...) instead.
2026-03-29 19:53:42 +00:00
shokollm
7146e3bd92 feat(kugetsu): implement issue-driven session management
- Add kugetsu init to create base session via TUI
- Add kugetsu start/continue for issue-based task handling
- Add kugetsu list/prune/destroy for session lifecycle
- Implement directory files + index.json storage pattern
- Use issue ref format: instance/user/repo#number
- Fork from base session enables headless operation

Solves: opencode headless CLI limitation discovered in issue #14
2026-03-29 19:51:51 +00:00
542f1e27c1 Merge pull request 'feat(kugetsu): add --debug flag for real-time output capture' (#13) from feat/kugetsu-debug-flag into main 2026-03-29 18:26:54 +02:00
shokollm
e397a64d27 feat(kugetsu): add --debug flag for real-time output capture
- Add --debug flag to start/resume for verbose opencode output
- Use stdbuf -oL to unbuffer stdout for real-time display
- Capture debug logs to ~/.kugetsu/sessions/<id>/debug.log
- Add --debug to stop/destroy for viewing logs before actions
- Position-agnostic flag parsing (--debug can appear anywhere in args)
2026-03-29 16:23:10 +00:00
shokollm
b3930aad51 Merge #12 feat/kugetsu-wrapper: add kugetsu session manager with destroy command 2026-03-29 14:37:43 +00:00
shokollm
dd9a444920 feat: add destroy command and session_id validation
- Add destroy subcommand for deleting sessions
- Add destroy --all for fresh start with confirmation
- Add -y flag to skip confirmation prompts
- Add validate_session_id() to reject empty session_ids
- Remove misleading force resume error message
- Update SKILL.md to v1.1 with destroy documentation
2026-03-29 14:34:56 +00:00
shokollm
b992949314 fix: resolve test failures - all 12 tests pass
- Fix bash pipe/exit status issue with set -euo pipefail
- Change from: if ! cmd | grep -q pattern
- Change to: OUTPUT=$(cmd || true); if echo "$OUTPUT" | grep -q pattern
- Add test isolation cleanup (rm specific session, not all)
- Add 'Using provided message:' output to kugetsu resume
- Fix grep pattern: 'cannot be resumed' not 'not resumable'
2026-03-29 14:10:45 +00:00
shokollm
5a9c3a87a9 test: add kugetsu test suite 2026-03-29 11:12:19 +00:00
shokollm
7edb54cd3f feat: add kugetsu session manager skill
- skills/kugetsu/SKILL.md: Agent skill documentation following agentskills.io spec
- skills/kugetsu/scripts/kugetsu: Shell wrapper for opencode session management
  - Commands: start, list [--all], resume, stop, help
  - State tracking: used → idle (graceful) or left (interrupted)
  - Auto-fill message on resume
  - Confirmation prompt when resuming used session
- skills/kugetsu/scripts/kugetsu-install.sh: Installation script for users

Implements Phase 1 of issue #11 - basic session management layer
for remote agent control without Hermes dependency.
2026-03-29 10:50:14 +00:00
aba9d5321f Merge pull request 'test: PR merge workflow verification' (#10) from test/pr-merge-workflow into main 2026-03-27 16:14:04 +01:00
shokollm
e6e628dc88 test: trivial edit to verify PR merge workflow 2026-03-27 15:11:49 +00:00
56da2a2fe8 Merge pull request 'docs: add hermes-setup.md from issue #1 research' (#8) from docs/hermes-setup into main 2026-03-27 16:06:19 +01:00
shokollm
a3ac3490d2 docs: add hermes-setup.md from issue #1 research
- Installation via curl script (with --skip-setup for CI)
- API key configuration for 9+ LLM providers
- OpenCode delegation via terminal() wrapper pattern
- Git worktree isolation per-issue workflow
- Reference to existing opencode-worktree skill

Related to issue #1
2026-03-27 15:05:52 +00:00
5828485534 Merge pull request 'Docs: Add subagent workflow documentation' (#6) from docs/subagent-workflow into main 2026-03-27 15:01:19 +01:00
shokollm
9cb39a1779 Update agent-workflows skill with error reduction patterns and sanitize hermes-setup.md 2026-03-27 14:00:36 +00:00
shokollm
3a841716fc docs: sanitize domain and token in SUBAGENT_WORKFLOW.md 2026-03-27 14:00:36 +00:00
shokollm
2b60ec1acd skill(agent-workflows): add branch hygiene and known pitfalls from experience 2026-03-27 14:00:36 +00:00
shokollm
bb11d665a3 Add Branch Hygiene workflow section to SUBAGENT_WORKFLOW.md
Document:
- How to detect contamination via git log and branch --contains
- Prevention with explicit base: git checkout -b new-branch main
- Fix using git rebase --onto
- Force push with --force-with-lease for safety

Addresses Issue #1 comment 281
2026-03-27 14:00:36 +00:00
shokollm
dc26098918 Add agent-workflows skill for Gitea-based subagent delegation 2026-03-27 14:00:36 +00:00
shokollm
1b51229f88 docs: add subagent workflow documentation 2026-03-27 14:00:36 +00:00
shokollm
7eb83454ba fix: exec opencode.real directly to avoid re-invoking wrapper 2026-03-27 13:43:13 +00:00
shokollm
94f08c1b8d fix: use realpath -m instead of cd to get absolute path for worktree base 2026-03-27 13:37:51 +00:00
shokollm
2010275dda fix: use absolute path for worktree to prevent nested worktrees 2026-03-27 13:24:25 +00:00
6102022be0 Merge pull request 'feat: add opencode-worktree skill for isolated sessions' (#7) from feat/opencode-worktree-skill into main 2026-03-27 14:06:45 +01:00
shokollm
b1dc002b09 refactor: remove duplicate script from SKILL.md, use reference instead 2026-03-27 13:05:09 +00:00
shokollm
63b89eed6d feat: add opencode-worktree skill for isolated sessions
- Adds skills/opencode-worktree/ with SKILL.md and opencode-worktree.sh
- Creates unique git worktree per session (e.g. session-20260327-a1b2c3-refactor-auth)
- Cleans up stale worktrees on every launch
- Branch always based on main
- User can source directly or copy to PATH
2026-03-27 12:59:41 +00:00
shokollm
e9583f92ee fix: change --workdir to --dir for opencode run command 2026-03-27 11:54:20 +00:00
shokollm
74424c1f82 Add parallel capacity test tool for Hermes/OpenCode
This tool tests the practical limits of parallel agent execution
by spawning N concurrent opencode run tasks and measuring:
- Response time
- CPU and memory usage
- Success/failure rates

Includes both bash (run_test.sh) and Python (parallel_capacity_test.py)
implementations with full metrics collection and reporting.

Fixes #3
2026-03-27 10:29:34 +00:00
shokollm
3cf7380417 docs: add initial Kugetsu architecture and update README 2026-03-27 09:57:58 +00:00
shokollm
d023b6258d docs: add OpenCode usage & parallelization research note 2026-03-27 08:27:26 +00:00
shokollm
19989f7384 Initial: add README, CONTRIBUTING, LICENSE, and research template 2026-03-27 08:27:21 +00:00