Commit Graph

20 Commits

Author SHA1 Message Date
Dustin Byrne
711b19740d fix(KB-148): fix triage concurrency and scheduler double-counting
- Add re-entrance guard to triage poll() to prevent overlapping poll cycles
- Move status update to 'specifying' inside semaphore callback so queued tasks don't appear active
- Fix scheduler double-counting specifying tasks when semaphore is present
- Add tests for poll re-entrance guard, semaphore-aware status transitions, and scheduler slot counting
- Add changeset for patch release
2026-03-28 16:30:23 -04:00
Dustin Byrne
85687be6a0 feat(KB-147): auto-pause engine on API usage limit errors
- Add UsageLimitPauser class and isUsageLimitError detector for rate limits, overloaded, and quota errors
- Integrate usage limit detection into executor, triage, and merger error handlers
- Wire shared UsageLimitPauser instance in dashboard startup across all agents
- Export UsageLimitPauser and isUsageLimitError from @kb/engine public API
- Add comprehensive tests for detector patterns and agent integration
2026-03-28 16:30:23 -04:00
Dustin Byrne
36873e57ca feat(KB-145): add global pause button to halt all AI engine activity
- Add globalPause setting to core Settings type with default false
- Guard scheduler, triage, and auto-merge queue to skip work when globalPause is active
- Add pause/play toggle button in dashboard Header with optimistic UI and rollback on failure
- Add tests for scheduler, triage, Header, and App global pause behavior
- Include minor changeset for the new feature
2026-03-28 16:30:23 -04:00
Dustin Byrne
a59fb5b857 fix(KB-144): exclude in-review worktrees from maxWorktrees limit
- Change activeWorktrees filter to only count in-progress tasks, not in-review with worktree
- Update existing scheduler test to reflect in-progress-only counting
- Add 3 new tests covering in-review tasks not blocking scheduling
- Update maxWorktrees JSDoc to reflect new semantics
- Add changeset for patch release
2026-03-28 16:30:23 -04:00
Dustin Byrne
5a851a714e feat(KB-138): add priority-based scheduling to AgentSemaphore
- Add priority levels (PRIORITY_MERGE=2, PRIORITY_EXECUTE=1, PRIORITY_SPECIFY=0) to AgentSemaphore
- Update acquire() and run() to accept a numeric priority parameter with FIFO ordering within same level
- Wire priority constants into executor (PRIORITY_EXECUTE) and triage (PRIORITY_SPECIFY) callers
- Add comprehensive tests for priority ordering, FIFO within same priority, and dynamic limit interaction
- Include changeset for the priority-based agent scheduling feature
2026-03-28 16:30:23 -04:00
Dustin Byrne
1812bf4310 feat(KB-137): add automatic port fallback when dashboard port is in use
- Handle EADDRINUSE by retrying with port 0 (OS-assigned random port)
- Print warning message showing original and fallback port
- Update banner and browser-open to use the actual bound port
- Add tests for successful listen, fallback, and warning behavior
- Add changeset for patch release
2026-03-28 16:30:23 -04:00
github-actions[bot]
a0005fc1e5 Version Packages (#5)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-27 20:33:41 -04:00
Dustin Byrne
5e3cc792bd feat(KB-134): exclude Bun-compiled binaries from npm publish tarball
- Refine files field in cli package.json to use specific globs instead of bare 'dist'
- Include only .js, .d.ts, .d.ts.map, .js.map, and dist/client/** in tarball
- Add tests verifying refined file globs are present
- Add tests ensuring Bun platform binaries are not matched by any glob
- Add changeset for patch release
2026-03-27 20:10:41 -04:00
Dustin Byrne
b4577994b4 feat(KB-131): bundle workspace dependencies into CLI for npm publish
- Replace tsc with tsup (esbuild) to inline @kb/* workspace code into a single dist/bin.js
- Move @kb/core, @kb/dashboard, @kb/engine from dependencies to devDependencies
- Add tsup.config.ts that copies dashboard client assets into dist/client/
- Add bundle output tests verifying shebang, inlined code, and no bare @kb/* imports
- Add changeset for the bundled CLI build fix
2026-03-27 20:10:41 -04:00
github-actions[bot]
30cf489749 Version Packages (#4)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-27 02:21:39 -04:00
Dustin Byrne
e0d1abbaa4 chore: add missing changesets for KB-125, KB-126, KB-130 2026-03-27 02:19:14 -04:00
Dustin Byrne
7170e5ba55 feat(KB-127): add --depends flag to task create CLI command
- Add --depends flag to task create command in bin.ts and task.ts
- Support setting task dependencies at creation time via CLI
- Add tests for --depends flag including single and multiple dependencies
- Include changeset for the new CLI feature
2026-03-27 01:53:30 -04:00
Dustin Byrne
7ec0417559 chore: add rollup changeset for all work since last release 2026-03-27 01:45:30 -04:00
Dustin Byrne
0d920e20ef chore: add changeset for readme updates 2026-03-27 00:45:30 -04:00
github-actions[bot]
d969db4edd Version Packages (#2)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-27 00:25:15 -04:00
Dustin Byrne
756fc3131d docs: clean up READMEs, mermaid diagram, quick start with kb CLI 2026-03-26 23:50:05 -04:00
github-actions[bot]
7bec1501e9 Version Packages (#1)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-26 23:30:57 -04:00
Dustin Byrne
c802108a02 refactor(HAI-116): rename kb to hai across all packages, CLI, and docs
- Rename npm packages from @kb/* to @hai/* and update all workspace references
- Rename CLI binary from kb to hai and config directory from .kb to .hai
- Update dashboard UI branding, titles, and references from kb to hai
- Update all test files, CI workflows, and documentation to reflect new naming
- Run comprehensive grep verification to ensure no stale kb references remain
2026-03-26 22:44:11 -04:00
Dustin Byrne
a7a9e985e2 feat(HAI-108): remove binary builds and configure npm publishing
- Remove binary build steps from CI and delete release/test-release workflows
- Replace release workflow with npm publish via version.yml and changesets
- Configure all packages (cli, core, dashboard, engine) for npm publishing
- Add package-config tests to verify publishConfig and package metadata
- Update README and documentation to reflect npm-based distribution
2026-03-26 22:44:11 -04:00
Dustin Byrne
b12d34010c feat(HAI-081): add changesets-based automated versioning and release workflow
- Install and configure @changesets/cli with commit/access settings
- Create version PR workflow (.github/workflows/version.yml) for automated version bumps
- Update existing release and test-release workflows with version validation
- Add example changeset and version tests for CI verification
- Add RELEASING.md guide and update README with versioning documentation
2026-03-26 00:53:13 -04:00