Skip to content

docs: add CLAUDE.md#2

Merged
govindkavaturi-art merged 3 commits into
mainfrom
docs/add-claude-md
Mar 31, 2026
Merged

docs: add CLAUDE.md#2
govindkavaturi-art merged 3 commits into
mainfrom
docs/add-claude-md

Conversation

@govindkavaturi-art
Copy link
Copy Markdown
Member

Adds guardrails for AI agents working on this repo

Gk and others added 3 commits March 31, 2026 09:26
- actions/checkout@v4 -> @b4ffde65 (v4.1.7)
- actions/setup-python@v5 -> @f677139b (v5.3.0)
- pypa/gh-action-pypi-publish@release/v1 -> @ec4db0b4 (v1.12.3)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@govindkavaturi-art govindkavaturi-art merged commit 66239c7 into main Mar 31, 2026
1 check passed
mikemolinet added a commit that referenced this pull request May 11, 2026
…#50)

Adds two top-level command groups for the event-emit primitive
(cueapi-core PR #71, OSS counterpart of cueapi/cueapi#731):

- `cueapi events list <ref>` — pull events for an agent
- `cueapi subscriptions create <ref>` — create a subscription
- `cueapi subscriptions list <ref>` — list active subscriptions
- `cueapi subscriptions delete <ref> <subscription-id>` — soft-detach

Top-level groups per primary's kickoff doc suggestion (vs nesting
under `agents`) — events/subscriptions are conceptually distinct
primitives, not agent metadata. Same pattern as the top-level
`messages` and `executions` groups (which are also user-scoped
operations on a sub-resource).

## CLI architecture note

This port uses cueapi-cli's own httpx-based client (CueAPIClient),
NOT the cueapi-python SDK. The kickoff doc said the cli port "uses
cueapi-python SDK so blocked on #2 landing" — that's incorrect re:
the actual cli architecture (cli has its own client.py + no
runtime dependency on cueapi-python). cli port is INDEPENDENT of
python SDK timing. Flagged to PM.

## Wire format pinned

- `events list`: GET `/v1/agents/{ref}/events` with `limit` (default
  100) + optional `since` cursor + optional `event_type` filter.
- `subscriptions create`: POST body `{event_type, delivery_target,
  webhook_url?}` to `/v1/agents/{ref}/subscriptions`. Client-side
  guard: `--webhook-url` required when `--delivery-target=webhook`
  (surface at parse time vs server 400).
- `subscriptions list`: GET `/v1/agents/{ref}/subscriptions`.
- `subscriptions delete`: DELETE on `/subscriptions/{id}` (idempotent).

## Tests

12 new tests in `tests/test_cli.py`:

- events list: basic, with since+event_type, defaults only limit,
  404 agent not found
- subscriptions create: pull minimal, webhook with url, webhook
  without url errors client-side
- subscriptions list: basic, empty
- subscriptions delete: basic
- help: events lists `list` subcommand, subscriptions lists
  create/list/delete

12/12 pass. Full suite: 191 tests collected, all events/subscriptions
pass; no regressions.

## One-shot webhook secret discipline

When `subscriptions create --delivery-target=webhook` returns a
`webhook_secret`, the cli surfaces it with the "save now — only
shown once" label. Same pattern as `agents webhook-secret regenerate`.

Depends on cueapi-core PR #71 (merged 03:53Z, commit 50d2b2c2).

Closes Backlog row: cmp0h2nzd000204l8acl5j6w0
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