Commit Graph

14 Commits

Author SHA1 Message Date
realmroot[bot] 96fdd70d2c feat(api)!: redesign task resource operations (#265)
* feat(api)!: redesign task resource operations

Publish the complete resource-oriented OpenAPI contract, enforce scope-based authorization at the HTTP boundary, and replace lifecycle command routes with Task PATCH and nested Claim/Event resources.

Add server-side Task CAS, migration coverage, updated Agent Skills, and browser/API regression tests.

BREAKING CHANGE: remove the legacy task lifecycle endpoints and move bounded waits to /tasks/{taskId}/events.

* refactor(tasks)!: make claims create-only

Remove Task Claim retrieval and deletion routes, the release scope, live deletion logic, and release workflow guidance.

Keep historical release records readable for migration and audit compatibility.

BREAKING CHANGE: remove GET and DELETE /tasks/{taskId}/claims/{claimId} and the task:release scope.

* test(ci): align actor and projection contracts

Cover machine and service Task Action writes and update Agent detail fixtures to the canonical assignedTo query and paged lowerCamelCase response.

* fix(api): preserve merge patch fields and consume browser pagination

* test(ui): include terminal pagination in agent task fixture

---------

Co-authored-by: jarvis <jarvis@agents.realmroot.dev>
2026-09-05 02:40:42 +00:00
saltbo df9cb3b3d1 docs(architecture): establish ADR and BDD baseline 2026-09-02 22:23:12 -04:00
jarvis 10f315930a fix(v2): harden boundaries and clean final artifacts 2026-09-02 09:50:29 -04:00
jarvis a2fa54a729 feat!: rebuild Agent Kanban for Realmroot Toolbox
Replace the v1 Agent/Machine runtime and CLI architecture with the v2 Resource Server, AMA-backed projections, task lifecycle, session observation, BDD specifications, and a single-package layered codebase.

BREAKING CHANGE: remove the v1 CLI, internal Agent/Machine runtime entities, workspace layout, and legacy runtime coordination APIs.
2026-09-02 00:17:52 -04:00
saltbo d2c6c6c5f6 fix(auth)!: restore AK-owned agent sessions
Use Realmroot only for human and machine authentication, authorize AMA through the browser user's multi-resource grant, and restore AK-managed Ed25519 Agent sessions.

Preserve Better Auth source tables while removing the mistaken Realmroot Agent binding and machine M2M paths.

BREAKING CHANGE: AK no longer accepts Realmroot Agent tokens or AMA machine credentials; active browser users must sign in again to authorize the AMA resource.
2026-08-21 01:55:28 -06:00
saltbo 972673aecd feat(auth)!: snapshot Realmroot native cutover
Replace Better Auth user, machine, and agent authentication with Realmroot native flows, migrate tenant ownership, and route AMA access through the cutover adapter. Preserve this deployed migration state as the baseline for the narrower user-auth-only redesign.
2026-08-21 00:44:07 -06:00
saltbo f288978a85 test: isolate long-running integration cases 2026-07-17 10:48:11 -04:00
saltbo eaa9587a8a fix(git-auth): scope clone token to repository bootstrap 2026-07-04 13:01:22 -04:00
saltbo 1dc2eb4de9 feat(maintainers): add scheduled heartbeat toggle
Add heartbeat_enabled persistence and enforce a 1 hour minimum heartbeat interval.

Keep webhook triggers active when scheduled heartbeat is disabled, and expose the toggle through the UI and CLI.
2026-06-26 14:58:31 -04:00
saltbo 5f07873c54 fix(github): accept app private key pem variants 2026-06-26 12:23:53 -04:00
saltbo 1b74518bc9 feat(maintainers): require maintainer agents 2026-06-26 02:02:10 -04:00
saltbo 6e2d7df208 feat(maintainers): show session activity 2026-06-25 22:54:07 -04:00
saltbo 32e16f5510 feat(maintainer): add board repository auth flow 2026-06-25 13:07:39 -04:00
saltbo 464cf87b51 feat(github): wire repository lifecycle to the platform GitHub App
Connect repo onboarding to the GitHub App and complete the installation
webhook, so per-repo App coverage is tracked and surfaced end to end.

- migration 0027: github_installations + github_installation_repositories
- githubInstallations.ts: owner-scoped install tracking; repoAppStatus
  coverage computed on read (single source of truth, no denormalization)
- webhook: handle installation + installation_repositories events (was
  pull_request only); githubApp.ts gains getInstallation /
  listInstallationRepositories / recordInstallationFromSetup
- routes: new /api/github-app config|setup|repositories endpoints; repo
  create/list/get return app_status; the authenticated config reports the
  owner install status + accounts
- UI: install/connected state on Repositories + Account pages, dual-tab
  Add dialog (browse-and-import from GitHub | manual URL), status badges
- drop the GITHUB_AGENT_TOKEN push-credential fallback: the App
  installation token is the sole credential; an uninstalled repo fails
  dispatch loudly instead of using a shared long-lived PAT
- env: add GITHUB_APP_SLUG; vite allowedHosts for a stable dev tunnel
2026-06-19 19:11:29 -04:00