Commit Graph

34 Commits

Author SHA1 Message Date
jarvis 7f78ca5cc2 feat(machines): show runtime usage by runner 2026-09-03 00:47:43 -04:00
jarvis 79cafa3f99 fix(agents): preserve unbound agent projections 2026-09-02 23:57:17 -04:00
jarvis b637132456 feat(agents): display public identity profiles 2026-09-02 23:10:56 -04:00
saltbo c874ecacd0 docs(auth): distinguish OIDC from Realmroot extensions 2026-09-02 22:43:26 -04:00
saltbo b00f7be468 fix(docs): remove erroneous Remote terminology 2026-09-02 22:34:25 -04:00
saltbo df9cb3b3d1 docs(architecture): establish ADR and BDD baseline 2026-09-02 22:23:12 -04:00
realmroot[bot] 7ed77d2295 fix: harden v2 service boundaries (#243)
* fix: harden v2 service boundaries

* fix(sessions): validate observation configuration first

---------

Co-authored-by: jarvis <jarvis@agents.realmroot.dev>
2026-09-02 16:50:47 -04:00
jarvis af9d9ada95 fix(api): align Toolbox idempotency contract 2026-09-02 12:21:04 -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 6239294da0 fix(auth): use Realmroot loopback PKCE 2026-08-21 08:56:40 -06: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 84520b75ea feat(runtime): support AMA 0.7 structured runtimes 2026-07-18 02:06:17 -04:00
saltbo f7c324f268 fix(runtime): refresh AMA tokens with resource
Agent-Profile: https://agent-kanban.dev/agents/05f3d68684e84e89
2026-07-03 23:36:35 -04:00
saltbo 0db4561482 chore(runtime): bump ama runner to 0.4.3 2026-06-27 11:44:14 -04:00
saltbo 425fa7df12 docs(design): record runner v0.2.1 closure — model enumeration, server model listing, local App-token PRs 2026-06-12 01:20:36 -04:00
saltbo 0472bbc206 docs(design): sandbox image ships gh; PRs created via gh pr create 2026-06-11 22:37:31 -04:00
saltbo 08283150b5 docs(design): record gap closure and final three-scenario regression 2026-06-11 20:32:32 -04:00
saltbo bb250f6209 feat(server): mint GitHub App installation tokens for cloud sessions
Cloud sandbox pushes/PRs now authenticate with a repository-scoped ~1h
installation access token from the AK GitHub App, minted per dispatch,
delivered via a per-session AMA vault credential and revoked at binding
teardown (tracked in the ama.ghCredentialId annotation). PRs are authored
by the App bot. GITHUB_AGENT_TOKEN stays as the fallback when the App is
unconfigured or not installed on the repository.

Also decouple the runner federation issuer from AK_API_URL
(AK_FEDERATED_ISSUER): the issuer is the AK instance's stable identity in
the OIDC provider's trusted-issuer registry, while AK_API_URL may be an
ephemeral dev tunnel.
2026-06-11 18:52:45 -04:00
saltbo cab216ff80 docs(design): record cloud placement design and three-scenario smoke evidence 2026-06-11 16:39:03 -04:00
saltbo aaff1a181b docs(design): record the daemon-parity gap closure and acceptance evidence 2026-06-11 12:06:41 -04:00
saltbo e2706a1802 fix(ama): align runtime availability with runners 2026-06-08 15:22:30 -04:00
saltbo da2589ea5e fix(runtime): scope AMA session commands to project 2026-06-08 02:00:16 -04:00
saltbo 19eef6f419 feat(runtime): integrate AMA runner onboarding 2026-06-07 19:19:42 -04:00
saltbo 3bd8ad366e feat(runtime): dispatch AK tasks through AMA 2026-06-07 17:13:42 -04:00
saltbo 71f7bcc606 docs(designs): add event bus migration plan (DRAFT)
Unify daemon HTTP poll + Worker-level SSE + single-instance TunnelRelay
WebSocket into a per-board Durable Object event bus. Specifies the
event protocol, per-phase done criteria for a 6-phase rollout with
rollback paths, and records the "why not SSE / why not Queue" analysis
for future reference.
2026-04-19 17:03:11 -04:00
saltbo 2a90bd3ae2 docs(designs): add landing page brief with human-out-of-loop thesis 2026-04-19 11:04:17 -04:00
saltbo d3f533e2eb fix(api): enforce one leader per runtime 2026-04-14 15:35:04 -04:00
saltbo 94403a4508 chore: remove ak link references and repo empty state hints
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 18:55:29 -04:00
saltbo 75d4c06b44 feat: Agent Kanban v1 completion — Machine daemon, chat, ak link
Machine daemon (ak start):
- Poll loop with exponential backoff, auto-assign todo tasks to agents
- Process manager: spawn agent CLI, monitor exit, crash recovery
- PID lock, graceful SIGINT/SIGTERM shutdown
- Chat relay: poll messages from platform, pipe to agent stdin

Chat (messages table + API):
- D1 messages table for human ↔ agent conversation
- POST/GET /api/tasks/:id/messages endpoints
- SSE extended with typed events (event: log | message)
- ChatPanel UI component in TaskDetail with Details/Chat tabs

ak link:
- Bind local repo to project via ~/.agent-kanban/links.json
- Auto-add git_repo resource to project

Agent identity cleanup:
- agent_id (UUID) = session ID, used everywhere consistently
- ensureAgent() replaces findOrCreateAgent() — auto-generates display name
- Removed agent_name from all API request parameters
- assign route used by daemon (not claim)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:13:28 -04:00
saltbo a911f922d7 docs: restructure vision — v1/v2/v3 versioning, Machine daemon, ak link, open marketplace
Consolidate version numbering: v1 (foundational + Machine daemon),
v2 (Role & Skill), v3 (open agent marketplace vision).
Machine daemon auto-claims tasks and spawns agents (replaces assign).
Add `ak link` for repo-project binding. Platform as pass-through relay
for agent behavior (no storage). Decentralized scheduling model.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:12:50 -04:00
saltbo 62b699a498 docs: refine Project vision — resource container model + industry examples
Project is a resource container, not 1:1 with a repo. Task only links to
Project, never to specific Resources — resource selection is the Agent's
decision. Added industry examples (game dev, self-media, finance, real estate)
and resource types (git_repo, credentials, database, storage, document, data_feed).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 15:35:50 -04:00
saltbo 79ecb56e77 feat: Agent Kanban v1 — full implementation
Monorepo with Hono API (Cloudflare Pages + D1), React SPA, CLI, and agent skill.

- API: boards CRUD, tasks CRUD, claim/complete, logs, auth (Machine-level API keys + auto-registered agents)
- Web UI: kanban board, inline task creation, slide-out detail with editing (title, description, project, priority, column move), filter bar, onboarding flow, dark mode, settings page
- CLI: config, task create/list/claim/log/complete, board view, smart project detection
- Skill: SKILL.md teaching agents the CLI workflow
- Design system: Geist + Geist Mono, cyan accent, industrial/utilitarian aesthetic

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 14:56:37 -04:00