Pre-flight Checklist
📝 Bug Description
Gentle AI v2.2.0 can create a reviewing compact-v2 lineage with frozen candidate context required by a bound reviewer. If a later non-mutating authority recovery makes that lineage no longer apply to the live target, the historical lineage remains intact but the reviewer can no longer obtain its exact frozen context through a documented read-only command.
The transaction state preserves the relevant trees and paths, but it does not expose the native base64 context payload required by the reviewer. Reconstructing a diff with Git is not a safe substitute for the canonical frozen bytes.
This is distinct from #1710. That issue concerns bounded frozen-context transport across restart. This report concerns read-only recovery of the original frozen context after a historical lineage becomes unrelated to the live target.
🔄 Steps to Reproduce
-
On Windows with OpenCode and Gentle AI v2.2.0, create a compact-v2 review for a candidate.
-
Record the returned <lineage> and <target> while the review is in reviewing state.
-
Confirm that the reviewing lineage includes frozen candidate context required for a reviewer.
-
Perform a later non-mutating authority recovery that leaves the historical lineage intact but makes it no longer apply to the live target.
-
Run:
gentle-ai review status --lineage <lineage> --next-transition
-
Observe applicability: unrelated and that the response no longer includes candidate_diff or changed_path_manifest.
-
Attempt to obtain the original frozen candidate context through documented read-only review commands.
✅ Expected Behavior
A documented read-only command, such as the following or an equivalent, should export and verify the exact original frozen reviewer payload for an intact historical lineage:
gentle-ai review inspect --lineage <lineage> --export-context
The command should return the original canonical payload without restarting the review, mutating authority state, allocating a new lineage, or requiring reconstruction from the live target.
❌ Actual Behavior
After recovery, status reports the lineage as unrelated and omits candidate_diff and changed_path_manifest. No documented read-only command exports the original native base64 frozen context from the intact historical lineage.
The reviewer therefore cannot safely receive the required frozen bytes, and review cannot proceed. A plain Git diff cannot substitute because it is not the canonical frozen payload.
Gentle AI Version
v2.2.0
Operating System
Windows
AI Agent / Client
OpenCode
📋 Affected Area
CLI (commands, flags)
💡 Logs / Error Output
gentle-ai review status --lineage <lineage> --next-transition
lineage: <lineage>
target: <target>
state: reviewing
applicability: unrelated
candidate_diff: omitted
changed_path_manifest: omitted
Additional Context
Requested feature/bugfix: add a read-only review inspect/export-context --lineage <lineage> surface, or an equivalent verified export, for the original frozen context of an intact historical lineage.
The command must not restart or mutate authority state. It should preserve the distinction between the historical frozen candidate and the live target, so the reviewer receives only the exact original payload bound to <lineage> and <target>.
Shell: PowerShell.
Pre-flight Checklist
status:approved.📝 Bug Description
Gentle AI v2.2.0 can create a reviewing compact-v2 lineage with frozen candidate context required by a bound reviewer. If a later non-mutating authority recovery makes that lineage no longer apply to the live target, the historical lineage remains intact but the reviewer can no longer obtain its exact frozen context through a documented read-only command.
The transaction state preserves the relevant trees and paths, but it does not expose the native base64 context payload required by the reviewer. Reconstructing a diff with Git is not a safe substitute for the canonical frozen bytes.
This is distinct from #1710. That issue concerns bounded frozen-context transport across restart. This report concerns read-only recovery of the original frozen context after a historical lineage becomes unrelated to the live target.
🔄 Steps to Reproduce
On Windows with OpenCode and Gentle AI v2.2.0, create a compact-v2 review for a candidate.
Record the returned
<lineage>and<target>while the review is inreviewingstate.Confirm that the reviewing lineage includes frozen candidate context required for a reviewer.
Perform a later non-mutating authority recovery that leaves the historical lineage intact but makes it no longer apply to the live target.
Run:
Observe
applicability: unrelatedand that the response no longer includescandidate_difforchanged_path_manifest.Attempt to obtain the original frozen candidate context through documented read-only review commands.
✅ Expected Behavior
A documented read-only command, such as the following or an equivalent, should export and verify the exact original frozen reviewer payload for an intact historical lineage:
The command should return the original canonical payload without restarting the review, mutating authority state, allocating a new lineage, or requiring reconstruction from the live target.
❌ Actual Behavior
After recovery, status reports the lineage as unrelated and omits
candidate_diffandchanged_path_manifest. No documented read-only command exports the original native base64 frozen context from the intact historical lineage.The reviewer therefore cannot safely receive the required frozen bytes, and review cannot proceed. A plain Git diff cannot substitute because it is not the canonical frozen payload.
Gentle AI Version
v2.2.0
Operating System
Windows
AI Agent / Client
OpenCode
📋 Affected Area
CLI (commands, flags)
💡 Logs / Error Output
Additional Context
Requested feature/bugfix: add a read-only
review inspect/export-context --lineage <lineage>surface, or an equivalent verified export, for the original frozen context of an intact historical lineage.The command must not restart or mutate authority state. It should preserve the distinction between the historical frozen candidate and the live target, so the reviewer receives only the exact original payload bound to
<lineage>and<target>.Shell: PowerShell.