Skip to content

fix(review): remove the pending consent response deadline - #1982

Merged
Alan-TheGentleman merged 2 commits into
mainfrom
fix/748-consent-no-deadline
Oct 9, 2026
Merged

Alan-TheGentleman merged 2 commits into
mainfrom
fix/748-consent-no-deadline

Conversation

@Alan-TheGentleman

@Alan-TheGentleman Alan-TheGentleman commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Linked issue

Closes #748

Type

  • Bug fix

Summary

  • Remove the 10-minute pending review consent deadline so unanswered prompts retain their candidate and delayed answers are not discarded.
  • Preserve repository/candidate validation, atomic single-use consumption, replacement, and session shutdown cleanup.
  • Update lifecycle documentation and cover delayed grants, next-day declines, and binding reuse.

Changes

File Change
extensions/gentle-ai.ts Remove consent expiry timers, pruning, diagnostics, and test seams
assets/orchestrator-prompts.md Document deadline-free pending consent
tests/native-review-parity.test.ts Pin delayed decline, binding reuse and one-shot concurrency
tests/review-session-standing-permission-controller.test.ts Accept late host grants without re-prompting
tests/provider-defect-handoff.test.ts Align lifecycle documentation assertion

Verification

  • Observed RED for a late consent answer before implementation.
  • Focused lifecycle suite: 162 passed, 0 failed, independently repeated with the same result.
  • Independent verifier found no change-caused blockers; candidate identity, one-shot claim, concurrency and shutdown protections remain intact.
  • Local typecheck reports four diagnostics in untouched tests; an isolated baseline with the same installed Pi 1.1.0 dependencies reproduces the identical diagnostics. CI uses the committed lockfile.
  • Reapplied the same five-file work unit cleanly onto current main in an isolated worktree. Focused suite is being rerun for that delivery candidate; full CI is required before merge.
  • Real interactive Pi session was not manually tested. No scripts or skills changed.

Checklist

  • Approved linked issue
  • One type label: type:bug
  • Behavior tests and documentation included
  • Conventional commit; no co-author trailers
  • CI passed

Summary by CodeRabbit

  • Behavior Changes
    • Pending consent requests no longer expire after a fixed time; they remain available until answered, replaced, or the session ends.
    • An unanswered request can still be used after a long delay. Once answered, it cannot be used again.
    • A late consent answer can still grant permission for the next matching candidate without another prompt.
    • Unknown consent requests remain distinct from requests that have already been consumed.

@Alan-TheGentleman Alan-TheGentleman added the type:bug Bug fix label Oct 9, 2026
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: feb6b4cf-648d-4850-b0e6-425fcfd8ca95

📥 Commits

Reviewing files that changed from the base of the PR and between 91a02f6 and 5ecf349.


📒 Files selected for processing (1)
  • tests/gentle-agents.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.



📝 Walkthrough

Walkthrough

Pending review-consent bindings no longer expire after ten minutes. Answer handling distinguishes already-consumed bindings from other missing bindings. The review controller and tests no longer use injected consent clocks or timer schedulers.

Changes

Review Consent Lifecycle

Layer / File(s) Summary
Pending binding lifecycle
extensions/gentle-ai.ts
Pending bindings no longer store expiry timestamps or timers. Registry cleanup and consent reuse no longer expire or prune bindings by time.
Answer handling and controller wiring
extensions/gentle-ai.ts
Answer handling no longer reports expired bindings. The review controller and runtime no longer accept or pass consent clock and timer dependencies.
Lifecycle contract and behavior tests
assets/orchestrator-prompts.md, tests/native-review-parity.test.ts, tests/provider-defect-handoff.test.ts, tests/review-session-standing-permission-controller.test.ts
The prompt contract and tests reflect the absence of a response deadline. Tests cover reuse after 24 hours, single-answer consumption, and acceptance of a late answer in the standing-permission flow.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix · Severity of issue fixed: Medium

Suggested reviewers: barbatdev, decode2


Merge Risk: ⚪ Minimal · up to 5ecf3

The incremental change replaces a fixed delay in a background-job test with polling for the expected events. It does not affect production behavior, and no concrete merge-blocking risk was found.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Out of Scope Changes check Warning The consent lifecycle changes, lifecycle documentation, and related tests stay within #748. The change in tests/gentle-agents.test.ts is unrelated. It changes a background-job exit-notice test to po… Remove the unrelated tests/gentle-agents.test.ts change from this pull request, or provide a directly linked coding requirement that requires this background-job test change.
Docstring Coverage Warning Docstring coverage is 13.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 15 functions across 5 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely identifies the main change: removing the pending consent response deadline.
Linked Issues check Passed For #748, pending consent no longer has a ten-minute expiry, timer cleanup, or pruning. A delayed answer can reuse the original candidate and binding. The tests cover a 24-hour delay, late host grants…

Full details: Out of Scope Changes check

Explanation

The consent lifecycle changes, lifecycle documentation, and related tests stay within #748. The change in tests/gentle-agents.test.ts is unrelated. It changes a background-job exit-notice test to poll for asynchronous delivery and parent wake-up. No link exists between that test behavior and pending review consent.



  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Alan-TheGentleman
Alan-TheGentleman merged commit 80f1713 into main Oct 9, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:bug Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(review): host consent prompt outlives its binding TTL, silently drops late answers, and loops START

1 participant