Skip to content

feat(cli): add minimal trigger surface#605

Merged
AbirAbbas merged 4 commits into
mainfrom
feat/issue-576-cli-trigger-surface
Jun 1, 2026
Merged

feat(cli): add minimal trigger surface#605
AbirAbbas merged 4 commits into
mainfrom
feat/issue-576-cli-trigger-surface

Conversation

@santoshkumarradha
Copy link
Copy Markdown
Member

Closes #576

Summary

  • Add root-level af call, af ls, and af tail commands for the minimal human trigger surface.
  • Add reasoner catalog and execution event stream API routes used by the CLI.
  • Add focused CLI/handler unit tests and a functional Docker e2e covering call/schema/ls/async/tail.

Verification

  • go test ./cmd/af ./internal/cli ./internal/handlers ./internal/server -run 'Test(NewRoot|ResolveCall|ValidateInput|ExitCode|ListReasoners|StreamExecution|SetupRoutes|StartAdmin)'\n- go test ./cmd/af ./internal/cli ./internal/handlers\n- go build -tags "sqlite_fts5" -o /tmp/af-issue-576 ./cmd/af\n- python3 -m py_compile tests/functional/tests/test_af_trigger_cli.py\n- OPENROUTER_API_KEY=dummy PYTEST_ARGS='-q tests/test_af_trigger_cli.py' docker compose -f docker/docker-compose.local.yml -f <(printf 'services:\\n control-plane:\\n ports: !reset []\\n') up --build --abort-on-container-exit --exit-code-from test-runner\n\nNote: the functional Docker run used a transient compose override to remove the host 8080:8080 publish because port 8080 was already in use locally; service-to-service traffic still used control-plane:8080 inside Docker.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 31, 2026

📊 Coverage gate

Thresholds from .coverage-gate.toml: per-surface ≥ 86%, aggregate ≥ 88%, max per-surface regression ≤ 1.0 pp, max aggregate regression ≤ 0.50 pp.

Surface Current Baseline Δ
control-plane 87.40% 87.30% ↑ +0.10 pp 🟡
sdk-go 92.10% 90.70% ↑ +1.40 pp 🟢
sdk-python 93.73% 93.63% ↑ +0.10 pp 🟢
sdk-typescript 92.80% 92.56% ↑ +0.24 pp 🟢
web-ui 89.93% 90.01% ↓ -0.08 pp 🟡
aggregate 89.00% 89.01% ↓ -0.01 pp 🟡

✅ Gate passed

No surface regressed past the allowed threshold and the aggregate stayed above the floor.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 31, 2026

📐 Patch coverage gate

Threshold: 80% on lines this PR touches vs origin/main (from .coverage-gate.toml:thresholds.min_patch).

Surface Touched lines Patch coverage Status
control-plane 1053 80.00%
sdk-go 0 ➖ no changes
sdk-python 0 ➖ no changes
sdk-typescript 0 ➖ no changes
web-ui 0 ➖ no changes

✅ Patch gate passed

Every surface whose lines were touched by this PR has patch coverage at or above the threshold.

@santoshkumarradha santoshkumarradha marked this pull request as ready for review May 31, 2026 19:43
@santoshkumarradha santoshkumarradha requested review from a team and AbirAbbas as code owners May 31, 2026 19:43
@santoshkumarradha
Copy link
Copy Markdown
Member Author

@AbirAbbas once this is merged, can we update readme of *-af examples with cli as primary call method and curl as secondry one for ease of friction free first experience?

@AbirAbbas AbirAbbas merged commit 4d4cf02 into main Jun 1, 2026
24 checks passed
@AbirAbbas AbirAbbas deleted the feat/issue-576-cli-trigger-surface branch June 1, 2026 13:54
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.

feat(cli): add minimal trigger surface — af call, af ls, af tail

2 participants