Pre-flight Checks
Bug Description
When RDD is intentionally disabled, the Pi parent orchestrator can still require a durable lifecycle receipt and one-shot authorization before ordinary commit/push delivery.
This occurs even after gentle_review START has explicitly returned:
status=skipped
outcome=review-mode-disabled
delivery=disabled/unmanaged
lineage_created=false
mutation_performed=false
The native runtime and the packaged RDD workflow define this state as ordinary repository policy without review authority. The orchestrator instead requires a managed receipt and would block delivery if that receipt is absent.
Steps to Reproduce
- Install
gentle-pi 2.2.0 with its package-local Gentle AI 2.4.0 runtime.
- Leave RDD at its default effective mode
off.
- Start a fresh ephemeral Pi session with no tools, context files, or persisted session:
pi --print --no-session --no-tools --no-context-files \
--model openai-codex/gpt-5.6-sol \
--thinking xhigh \
'Read-only planning reproduction. Do not execute tools or modify anything. RDD is intentionally off and must remain off. gentle_review START already returned: status=skipped, outcome=review-mode-disabled, delivery=disabled/unmanaged, lineage_created=false, mutation_performed=false. The user asks to continue with ordinary commit and push. Describe exactly what you would do next, what authorization or receipt you would require, and under which condition you would block. Do not use suggested multiple-choice options and do not execute anything.'
- Observe that the orchestrator still requires a receipt.
Actual Behavior
The fresh session responded in part:
Obtain explicit one-shot authorization bound to that exact commit scope and push target.
Use the durable native direct-commit transaction. The commit must produce a native receipt binding the resulting commit and authority state.
I would block ... the push if the receipt is missing, ambiguous, stale, consumed, or invalid.
No tools were available and no session or repository mutation occurred.
An equivalent open-ended Spanish prompt produced the same result. A multiple-choice prompt that explicitly offered “continue under ordinary policy” selected the correct answer, indicating an ambiguous or contradictory orchestration contract rather than a native gate failure.
Expected Behavior
When effective RDD mode is off:
- do not call or repeat
gentle_review START;
- do not require a review lineage, approval, receipt, or review-bound one-shot authorization;
- treat
review-mode-disabled / disabled/unmanaged as ordinary repository policy;
- allow direct commit/push commands to reach the existing runtime and independent command-safety checks;
- never suggest enabling RDD unless the user explicitly asks to perform a review.
Mode lookup failures and independent dangerous-command protections should remain fail-closed.
Relevant Package Evidence
The packaged RDD workflow states:
RDD disabled | Ordinary policy; disabled/unmanaged; no receipt or approval claim.
extensions/gentle-ai.ts reconsults effective review mode and admits direct resolved lifecycle commands when it is off.
tests/review-controller-native-routing.test.ts also verifies that RDD-off commit and push commands proceed without native validation.
However, the parent-facing orchestration material contains unconditional receipt language and an rdd_disabled continuation that instructs the orchestrator to enable review. This appears to conflict with the kill-switch contract, although the exact root cause should be confirmed by maintainers.
Acceptance Criteria
- Effective RDD mode is checked before choosing a review-backed delivery route.
- RDD-off delivery does not call START or require any review receipt.
- A prior
review-mode-disabled / disabled/unmanaged result routes to ordinary repository policy.
- Open-ended publication prompts do not invent a parallel “native receipt” requirement.
- RDD-enabled delivery behavior remains unchanged.
- Mode-status lookup failures remain fail-closed.
- Independent command safety and dangerous-operation confirmation remain unchanged.
- A regression test covers open-ended parent orchestration with RDD off.
- No new bypass flag, authorization format, or parallel receipt path is introduced.
Temporary Workaround
Run ordinary delivery directly outside the parent orchestrator while RDD remains off. Do not enable RDD merely to bypass this orchestration behavior.
Related Issues
This issue is different: the orchestrator already knows RDD is off, but still plans to require a receipt.
Environment
| Component |
Version |
| gentle-pi |
2.2.0 |
| package-local gentle-ai |
2.4.0 |
| Pi |
0.84.2 |
| Node.js |
24.18.0 |
| OS |
Linux x86_64 |
| Model |
openai-codex/gpt-5.6-sol, xhigh |
| RDD mode |
off, decided by default |
Pre-flight Checks
review-mode-disabled,disabled/unmanaged, lifecycle receipts, and orchestrator publication blocking.status:approvedbefore a PR may be opened.Bug Description
When RDD is intentionally disabled, the Pi parent orchestrator can still require a durable lifecycle receipt and one-shot authorization before ordinary commit/push delivery.
This occurs even after
gentle_review STARThas explicitly returned:The native runtime and the packaged RDD workflow define this state as ordinary repository policy without review authority. The orchestrator instead requires a managed receipt and would block delivery if that receipt is absent.
Steps to Reproduce
gentle-pi2.2.0 with its package-local Gentle AI 2.4.0 runtime.off.pi --print --no-session --no-tools --no-context-files \ --model openai-codex/gpt-5.6-sol \ --thinking xhigh \ 'Read-only planning reproduction. Do not execute tools or modify anything. RDD is intentionally off and must remain off. gentle_review START already returned: status=skipped, outcome=review-mode-disabled, delivery=disabled/unmanaged, lineage_created=false, mutation_performed=false. The user asks to continue with ordinary commit and push. Describe exactly what you would do next, what authorization or receipt you would require, and under which condition you would block. Do not use suggested multiple-choice options and do not execute anything.'Actual Behavior
The fresh session responded in part:
No tools were available and no session or repository mutation occurred.
An equivalent open-ended Spanish prompt produced the same result. A multiple-choice prompt that explicitly offered “continue under ordinary policy” selected the correct answer, indicating an ambiguous or contradictory orchestration contract rather than a native gate failure.
Expected Behavior
When effective RDD mode is
off:gentle_review START;review-mode-disabled/disabled/unmanagedas ordinary repository policy;Mode lookup failures and independent dangerous-command protections should remain fail-closed.
Relevant Package Evidence
The packaged RDD workflow states:
extensions/gentle-ai.tsreconsults effective review mode and admits direct resolved lifecycle commands when it is off.tests/review-controller-native-routing.test.tsalso verifies that RDD-off commit and push commands proceed without native validation.However, the parent-facing orchestration material contains unconditional receipt language and an
rdd_disabledcontinuation that instructs the orchestrator to enable review. This appears to conflict with the kill-switch contract, although the exact root cause should be confirmed by maintainers.Acceptance Criteria
review-mode-disabled/disabled/unmanagedresult routes to ordinary repository policy.Temporary Workaround
Run ordinary delivery directly outside the parent orchestrator while RDD remains off. Do not enable RDD merely to bypass this orchestration behavior.
Related Issues
This issue is different: the orchestrator already knows RDD is off, but still plans to require a receipt.
Environment