• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

alexdesousa / planck / bda3eefd91a76826f1b2bae688372ea860b7f162
84%

Build:
DEFAULT BRANCH: main
Ran 19 Apr 2026 11:06PM UTC
Jobs 1
Files 17
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Apr 2026 11:05PM UTC coverage: 89.401% (-0.4%) from 89.815%
bda3eefd91a76826f1b2bae688372ea860b7f162

push

github

alexdesousa
:sparkles: Add planck_agent — OTP-based agent runtime

Introduces the second package in the monorepo: `planck_agent`, a
supervised multi-agent runtime built on top of `planck_ai`.

Core features:
- GenServer per agent driving the full LLM loop: stream → collect tool
  calls → execute concurrently (Task.async_stream) → append results →
  re-stream until the model stops
- Role derived from tool list: orchestrator (has `spawn_agent`) or
  worker; orchestrators own a team_id and terminate workers on exit
- Phoenix.PubSub broadcasting on `"agent:#{id}"` and
  `"session:#{session_id}"` topics; events cover streaming, tool
  execution, usage, rewind, and worker exit
- Real-time token usage: `:usage_delta` per LLM turn, accumulated
  total included in `:turn_end`
- Built-in inter-agent tools: `ask_agent`, `delegate_task`,
  `send_response`, `list_team` (all agents), plus `spawn_agent`,
  `destroy_agent`, `interrupt_agent`, `list_models` (orchestrators only)
- `Planck.Agent.Session` — SQLite-backed persistent store via Exqlite,
  registered globally via `:global`; checkpoint-based pagination anchored
  on `{:custom, :summary}` messages
- `Planck.Agent.Compactor` — pluggable LLM-based context compaction;
  inserts summary checkpoints into history; LLM context is always built
  from the latest checkpoint onward
- `Planck.Agent.TeamTemplate` — loads static agent definitions from JSON;
  system_prompt accepts inline string or `.md`/`.txt` file path
- `Planck.Agent.AgentSpec` — intermediate struct with `new/1` constructor
  and `to_start_opts/2` for merging runtime options before spawning
- `Planck.Agent.Config` — Skogsra-based config; `PLANCK_AGENT_SESSIONS_DIR`
  env var; relative paths resolved at runtime
- `rewind/2` — removes last n turns from in-memory history; syncs session
- Registry-based agent discovery by id, type, name, and team membership
- 109 tests, full dialyzer and credo compliance
- CI workflow for GitHub Actions

Also updates `planck_ai` with `Mo... (continued)

194 of 217 relevant lines covered (89.4%)

35.62 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
0.0
-100.0% lib/planck/ai/model.ex
Jobs
ID Job ID Ran Files Coverage
1 bda3eefd91a76826f1b2bae688372ea860b7f162.1 19 Apr 2026 11:06PM UTC 17
89.4
GitHub Action Run
Source Files on build bda3eefd91a76826f1b2bae688372ea860b7f162
  • Tree
  • List 17
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • bda3eefd on github
  • Prev Build on main (#20C8E127...)
  • Next Build on main (#4664CC62...)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc