Skip to content

feat(agent): add the feedback and bug-report recipes, and rename the invited survey's recipe to rule-feedback - #480

Merged
theCodeDrift merged 2 commits into
feedback-channels/sendfrom
feedback-channels/recipes
Oct 9, 2026
Merged

theCodeDrift merged 2 commits into
feedback-channels/sendfrom
feedback-channels/recipes

Conversation

@theCodeDrift

@theCodeDrift theCodeDrift commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Stack (root → tip):

  • agent/feedback.md is renamed to agent/rule-feedback.md (topic v4), carrying main's review flow, and the invite points to agent rule-feedback.
  • New agent feedback and agent bug-report recipes. Each tells the agent to keep secrets, paths and unshared code out of the payload, to show the user the full payload and send only on an explicit yes, and to relay the issues URL when telemetry is off. Each embeds only its own schema branch.
  • taskless agent gains a "Feedback recipes" section listing feedback and bug-report. The feedback command itself and rule-feedback stay unlisted.

This stack lands with gh stack merge, which merges every PR to main in one all-or-nothing operation, so no layer reaches main on its own. That matters because the layers only work together. For example, #478 requires kind on the payload while the recipe the invite names still describes a single survey, and #480 lists bug-report in the index before the skill routes to it.

@theCodeDrift

Copy link
Copy Markdown
Member Author

@claude /review

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @theCodeDrift's task in 4m 8s —— View job


Review complete

Review mode: incremental — read 0 prior review thread(s) before reviewing (.prior-review.json had no reviews, review threads, or comments beyond the trigger comment itself — this is the first review of this PR).

  • Read .prior-review.json (empty — first review)
  • Fetched PR diff, metadata, changed files (gh pr diff, gh pr view)
  • Read all changed files in full, plus related files the diff interacts with but doesn't show (commands/feedback.ts, schemas/feedback.ts, survey/constants.ts, survey/invite.ts, prompts/recipes.ts, prompts/index.ts, commands/agent.ts, openspec/changes/feedback-channels/design.md)
  • Reviewed for correctness, security, performance, test adequacy, clarity
  • Posted inline comments
  • Posted this summary

Overall: The three-channel split (rule-feedback / feedback / bug-report) is implemented consistently across the schema (schemas/feedback.ts), the survey registry (survey/constants.ts), the command (commands/feedback.ts), the recipe→schema wiring (prompts/recipes.ts), and the agent index (commands/agent.ts). Cross-references between the three recipes and feedback-invite.md are all updated correctly (verified every agent feedback → agent rule-feedback replacement landed, no stragglers). SURVEYED_TOPICS correctly excludes feedback/bug-report so they never carry the invite. This matches the stated design in openspec/changes/feedback-channels/design.md, and the tasks.md checklist is fully checked off and matches what's implemented.

Two findings, both [New]:

  1. packages/cli/src/agent/rule-feedback.md (telemetry-off note is stale) — carried over verbatim from the old feedback.md, it still says a disabled-telemetry send just "exits 0 with nothing sent," but feedback send now redirects every kind (including rule) to https://github.com/taskless/cli/issues when telemetry is off — confirmed by this change's own design.md ("for every kind") and by the actual SEND_DISABLED string in commands/feedback.ts. The sibling feedback.md/bug-report.md recipes added in this same PR correctly describe the redirect (and are tested for it); rule-feedback.md isn't.
  2. packages/cli/test/feedback-recipes.test.ts:187-192 — the "carries no survey invite, even with the gate open" test doesn't actually test with the gate open: the suite runs with telemetry disabled, which short-circuits surveyGateIsOpen before the SURVEYED_TOPICS check the test claims to be verifying. It would pass for any topic regardless of survey membership, so it wouldn't catch a future regression that accidentally surveyed feedback/bug-report.

Nothing else stood out — the zod strictObject/discriminated-union design, the per-kind TOPIC_INPUT_SCHEMAS embedding (verified each recipe only gets its own branch's keys via the new describe.each test), and the bug survey's CLI-filled version-information handling (bugVersionInformation, no network call, no identity-revealing fields) all look correct.

Comment thread packages/cli/src/agent/rule-feedback.md Outdated
Comment thread packages/cli/test/feedback-recipes.test.ts Outdated
@theCodeDrift
theCodeDrift force-pushed the feedback-channels/recipes branch from 9a4c7af to 613a6dd Compare October 9, 2026 00:23
@theCodeDrift

Copy link
Copy Markdown
Member Author

Re: @github-actions — "Claude finished @theCodeDrift's task in 4m 8s"…
#480 (comment)

Both findings are addressed in b48d57b; see the replies on their threads.

— AI Coding Agent

…e, and test the unsurveyed topics with the gate open

The rule-feedback recipe still said a disabled-telemetry send just exits,
but feedback send now points every kind at the GitHub issues page. The
no-invite test for feedback and bug-report ran with telemetry off, which
closes the gate before the topic set is consulted, so it moves to the
survey-gate suite where telemetry is mocked on.
@theCodeDrift
theCodeDrift force-pushed the feedback-channels/recipes branch from b48d57b to 730665a Compare October 9, 2026 00:32
@theCodeDrift
theCodeDrift merged commit 088d7bf into main Oct 9, 2026
8 checks passed
@theCodeDrift
theCodeDrift deleted the feedback-channels/recipes branch October 9, 2026 00:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Open OpenSpec Contains unresolved OpenSpec changes. All openspec changes must eventually reach an archive state.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant