feat: refine upgrade mechanism; minor tweaks; docs - #24
Merged
Conversation
Let developers plan multiple board tasks from a regular session without opening the board for each ticket, and restart intake or review helpers after success or mid-run—not only on auto-detected failure. New tasks route the worktree through the v1 session-create query so they stay isolated; the create-task orchestration is shared between the board and the server tool, with pure task-metadata helpers living in the domain layer. Co-authored-by: Cursor <cursoragent@cursor.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Make the maintainability gate real back-pressure: raise complexity --threshold from 1 (a no-op) to 27, the true floor. Split the files that set it — create-task, findings-review, settings, and the board commands/store — into cohesive modules by moving nested closures to module scope with explicit context and extracting presentational views. Behavior is unchanged; existing tests pass. Restore format auto-fix in the fast loop (verify:format / verify:format:fix via oxfmt), and expand oxlint coverage to test, scripts, and docs with scoped overrides (no-console off for CLI scripts, no-non-null-assertion off for tests). Use --pushback rather than --block-new-comments for the comments gate: every .tsx file must open with the @jsxImportSource pragma the host's Solid transform requires, and that pragma is not a recognized machine directive, so --block-new-comments would reject every new .tsx file on the commit that introduces it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rd permission queue Read-only helpers (intake/validator) could spawn subagents, which run as fresh sessions that don't inherit the parent's read-only auto-approval. A nested subagent's out-of-worktree read then blocked on a permission that never bubbled to the board, wedging the task in "reviewing…" forever. - Disable the subagent (task) tool for intake and validator so they stay single-session and read-only; they retain full direct read access. - Resolve a permission's owning board task by walking the full parent chain, so worker subagents at any depth surface on the board. - Replace the single awaitingInput marker with an awaitingPermissions list; add/remove entries on permission.updated/replied via a read-modify-write metadata mutator. Read-only helper asks are kept out of the queue. - Board: press `p` to open the waiting-permission queue (list + jump to session), with toasts, a `needs you` count badge, and a footer hint. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tall Discovery and installation are now separate and approval-gated. At launch Kagan only checks npm's stable latest dist-tag for global npm installs and records an available version; nothing downloads or changes config. The kagan.update command (board `u`, palette, /kagan-update) confirms the target, stages the exact release via api.plugins.add (host owns the compat check), then runs the current OpenCode executable's `plugin <exact> --global --force` with no shell. Success requires a restart to load the new version. Removes all OpenCode private-cache coupling: wrapper path validation, promotion, backups, markers, disposal-time promotion, interrupted-update recovery, and manifest/engine-range classification, plus their tests. No migration of legacy updater artifacts (early alpha). engines.opencode drops the moving upper bound for a minimum-only floor (>=1.17.13); a pins guard rejects reintroducing an upper bound. Bumps @opencode-ai/plugin and @opencode-ai/sdk to 1.17.20. Docs, README, troubleshooting, AGENTS.md, CONTRIBUTING, and the authoritative supervision-board Requirement 18 + design updated for global-only install, local-alpha migration, confirmation, exact staging, restart, and rollback. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Greptile SummaryThis PR refines task creation, helper handling, and plugin updates. The main changes are:
Confidence Score: 5/5This looks safe to merge. No blocking issues found in the changed code.
What T-Rex did
|
| Filename | Overview |
|---|---|
| src/task/create.ts | Centralizes board-task setup and cleans up worktree artifacts after downstream creation failures. |
| src/server/permissions.ts | Validates the parent task’s recorded helper session before automatically allowing read-only helper requests. |
| src/tui/updates/action.ts | Keeps update execution serialized through confirmation, staging, and global installation. |
Reviews (3): Last reviewed commit: "fix: address PR #24 review — task-creati..." | Re-trigger Greptile
The circular-deps check passed `src/**/*.{ts,tsx}` to skott, relying on
shell glob expansion. CI's bash (no globstar) left the literal glob, so
skott failed with "Entrypoint not found". Local zsh expanded it and only
handed skott the first file as an entrypoint, so most of the graph was
never scanned.
Switch to `-w src` so skott walks all of src regardless of shell. That
surfaced a genuine cycle: task-details.tsx imported the dialog value from
task-details-view.tsx, which imported the TaskDetails type back. Move
openTaskDetailsView into the view file so the value edge is gone; the
view now only depends on task-details for the type.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- serialize bulk task creation per project so overlapping runs can't mint duplicate task numbers - roll back the worktree and branch when board-task setup or session creation fails, leaving no orphans - hold the update guard across confirm+install so a second update request can't race a concurrent global install - verify read-only helper ownership (parent back-pointer + owning board task) before auto-allowing permissions, closing a forged-role bypass Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.