Skip to content

feat(project): agent-accessible activity feed (pad project activity + MCP action)#877

Merged
xarmian merged 2 commits into
mainfrom
feat/task-2018-project-activity
Jul 8, 2026
Merged

feat(project): agent-accessible activity feed (pad project activity + MCP action)#877
xarmian merged 2 commits into
mainfrom
feat/task-2018-project-activity

Conversation

@xarmian

@xarmian xarmian commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

TASK-2018

GET /workspaces/{ws}/activity was web-UI-only, so agents couldn't ask what OTHER agents did since they last worked. This adds an agent-accessible, non-streaming query form.

Changes

  • CLI: pad project activity [--limit N] [--actor user|agent] [--since DATE] — bounded, non-streaming snapshot of the enriched activity feed (item refs, titles, field-level change details). The query counterpart to the live pad project watch SSE stream.
  • MCP: new pad_project.activity action (passThrough on local stdio) + cloud HTTP route in the route table.
  • Server-side since: extended GET /workspaces/{ws}/activity with a since=YYYY-MM-DD filter (handler parse + store SQL created_at >= clause, applied before LIMIT) so limit/actor/since behave identically across CLI, stdio MCP, and cloud HTTP. actor filters the stored actor category (user/agent), documented as such.
  • Version: ToolSurfaceVersion 0.110.12 — updated version.go, the drift guard, README, CLAUDE.md, instructions.md, and a SKILL.md querying line.

Tests

  • Store since-filter test (SQLite + Postgres).
  • HTTP dispatch test (forwards limit/actor/since, wraps bare array).
  • Catalog action + params test.

Gates

golangci-lint, go test ./..., go build ./cmd/pad, go test ./internal/mcp/... (drift guard), and make test-pg (store + server) all green. Two codex review rounds → CLEAN.

https://claude.ai/code/session_019knGmnHcx5rrgWXQ8V8DZS

xarmian added 2 commits July 8, 2026 20:21
… MCP action)

Add a non-streaming, bounded activity query so agents can catch up on
what other agents/users changed since they last worked — the query
counterpart to the live `pad project watch` SSE stream.

- CLI: `pad project activity [--limit N] [--actor user|agent] [--since DATE]`
  backed by the existing GET /workspaces/{ws}/activity feed.
- MCP: `pad_project.activity` action (passThrough) + cloud HTTP route.
- Extend the activity endpoint with a server-side `since` date filter
  (handler parse + store SQL clause) so limit/actor/since behave
  identically across CLI, stdio MCP, and cloud HTTP transports.
- Bump ToolSurfaceVersion 0.11 -> 0.12 (drift guard, README, CLAUDE.md,
  instructions.md) and add a SKILL.md querying-guidance line.

Tests: store since-filter test, HTTP dispatch test, catalog action test.

Claude-Session: https://claude.ai/code/session_019knGmnHcx5rrgWXQ8V8DZS
Add activity to readOnlyActions so the serialized MCP tool surface emits
read_only:true (missing entries default to write). Spot-check it in
tool_surface_test.go to guard against regression.

Claude-Session: https://claude.ai/code/session_019knGmnHcx5rrgWXQ8V8DZS
@xarmian xarmian merged commit c846cff into main Jul 8, 2026
3 of 4 checks passed
@xarmian xarmian deleted the feat/task-2018-project-activity branch July 8, 2026 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant