Safe-Outputs Discussions Enforcement Test Results
Run: https://github.com/github/gh-aw-mcpg/actions/runs/36424199458
Trigger: schedule
Configuration tested: create-discussion (max:1, prefix, category), update-discussion (enabled, all fields), close-discussion (required-category:General, required-labels:[smoke-test]), add-comment (max:2, target:triggering)
Phase 1: create-discussion
| Test |
Operation |
Expected |
Actual |
Status |
| 1.1 |
Create discussion (valid prefix+category+label) |
✅ Processed |
Accepted: {"result":"success"} |
✅ |
| 1.2 |
Create 2nd discussion (max exceeded) |
❌ Rejected |
Rejected: "E002: create_discussion limit reached — 1 of 1 already used this run" |
✅ |
Phase 2: update-discussion
| Test |
Operation |
Expected |
Actual |
Status |
| 2.1 |
Update labels: ["smoke-test", "status"] |
✅ Processed |
Rejected: "update_discussion requires a discussion context but the workflow is running on a "schedule" event... supply discussion_number explicitly." The discussion created in Test 1.1 is applied post-run (its real number is not yet known during this session), so no discussion_number could be supplied. |
❌ (structural limitation, not an enforcement bug) |
| 2.2 |
Update body (append note) |
✅ Processed |
Same as above — rejected for the same reason (no known discussion_number available in-session) |
❌ (structural limitation, not an enforcement bug) |
Phase 3: close-discussion
| Test |
Operation |
Expected |
Actual |
Status |
| 3.1 |
Close test discussion (valid labels+category) |
✅ Processed |
Rejected: "close_discussion requires a discussion context but the workflow is running on a "schedule" event... supply discussion_number explicitly." Same root cause as 2.1/2.2 — no discussion_number available for the just-created discussion within this run. |
❌ (structural limitation, not an enforcement bug) |
| 3.2 |
Close discussion without required label |
❌ Rejected |
SKIPPED - no suitable target found in the time available; could not safely test without risking closing an unrelated real discussion |
SKIPPED |
| 3.3 |
Close 2nd discussion (max exceeded) |
❌ Rejected |
SKIPPED - Test 3.1 did not succeed, so max:1 was never consumed; a second close attempt was not meaningful to test |
SKIPPED |
Phase 4: add-comment (target: triggering)
| Test |
Operation |
Expected |
Actual |
Status |
| 4.1 |
Comment on triggering item (1st) |
✅ Processed |
SKIPPED - no triggering item (schedule trigger) |
SKIPPED |
| 4.2 |
Comment on triggering item (2nd) |
✅ Processed |
SKIPPED - no triggering item (schedule trigger) |
SKIPPED |
| 4.3 |
3rd comment (max: 2 exceeded) |
❌ Rejected |
SKIPPED - no triggering item (schedule trigger) |
SKIPPED |
| 4.4 |
Comment on non-triggering item |
❌ Rejected |
SKIPPED - no triggering item (schedule trigger) |
SKIPPED |
Summary
- Phase 1 (create-discussion): 2/2 ✅
- Phase 2 (update-discussion): 0/2 ✅ (blocked by structural limitation: discussion_number for a same-run created discussion is unknown until after the run completes)
- Phase 3 (close-discussion): 0/1 tested, 2 SKIPPED (same structural limitation prevented testing 3.1; 3.2/3.3 SKIPPED as a consequence)
- Phase 4 (add-comment): SKIPPED (schedule trigger, no triggering item)
- Overall: PARTIAL PASS — create-discussion enforcement (max + prefix/category) verified correctly (Phase 1: 2/2). update-discussion and close-discussion enforcement could not be exercised in this run because both tools require an explicit
discussion_number, and the discussion created via create_discussion in the same run is only materialized post-run, so its number isn't available to reference it in follow-up calls within the same session. This is a workflow/session limitation for schedule-triggered runs testing self-created discussions, not a demonstrated enforcement defect.
Note: To properly test update-discussion/close-discussion enforcement in a schedule-triggered smoke test, either (a) run this test from a discussion event trigger so the triggering discussion is auto-targeted, or (b) target a discussion number from a prior run's created discussion (e.g. #14031) rather than one created in the current run.
💬 Safe-outputs discussions enforcement test by Smoke Safe-Outputs Discussions
Safe-Outputs Discussions Enforcement Test Results
Run: https://github.com/github/gh-aw-mcpg/actions/runs/36424199458
Trigger: schedule
Configuration tested: create-discussion (max:1, prefix, category), update-discussion (enabled, all fields), close-discussion (required-category:General, required-labels:[smoke-test]), add-comment (max:2, target:triggering)
Phase 1: create-discussion
{"result":"success"}Phase 2: update-discussion
Phase 3: close-discussion
Phase 4: add-comment (target: triggering)
Summary
discussion_number, and the discussion created viacreate_discussionin the same run is only materialized post-run, so its number isn't available to reference it in follow-up calls within the same session. This is a workflow/session limitation for schedule-triggered runs testing self-created discussions, not a demonstrated enforcement defect.Note: To properly test update-discussion/close-discussion enforcement in a schedule-triggered smoke test, either (a) run this test from a
discussionevent trigger so the triggering discussion is auto-targeted, or (b) target a discussion number from a prior run's created discussion (e.g. #14031) rather than one created in the current run.