CodeSnuffler Forgejo End-to-End historical review range codesnuffler-forgejo-live-20260715T100138902Z-7e327c5c-91c #70
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "change_forgejo_end_to_end"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Exercise the live Forgejo webhook review pipeline against a stable historical CodeSnuffler diff.
Run marker: codesnuffler-forgejo-live-20260715T100138902Z-7e327c5c-91c.
Run started at: 2026-07-15T10:01:38.902Z.
Fixture range: f9d210eccd0075b6b39b606cea9b1376719aa062..d8a3fc420b055e04df1d203706b89b1f1261a9c1.
This stable two-commit AI Harness range is expected to produce actionable findings.
CodeSnuffler Review Findings
Findings
1. Probe containers now receive controller profile instead of probe profile
container_image_controller/api.py:977Details for this finding were posted as an inline review comment on the changed line.
Open finding in CodeSnuffler
Fix via CodeSnuffler
2. Dev shell auth ignores selected plugin instance
app/dev_shell.py:320Details for this finding were posted as an inline review comment on the changed line.
Open finding in CodeSnuffler
Fix via CodeSnuffler
@ -949,3 +975,3 @@f"TOOL_AUTH_STORAGE_KEY={session.auth_storage_key}",f"TOOL_AUTH_HOST_PATH={host_dir}",f"TOOL_AUTH_PROFILE_JSON={json.dumps(profile.probe_config(), sort_keys=True, separators=(',', ':'))}",f"TOOL_AUTH_PROFILE_JSON={json.dumps(profile.controller_payload(), sort_keys=True, separators=(',', ':'))}",CodeSnuffler finding: Probe containers now receive controller profile instead of probe profile
Severity: High Category: Correctness
TOOL_AUTH_PROFILE_JSONis now populated withprofile.controller_payload(), but the embedded probe code still parses that environment value as the probe profile and expects keys such astool_container_pathsandtool_container_mount_paths.controller_payload()emitspathsandmountsinstead, so probe/login code paths that callauth_path()orharden_tool_mounts()can fail with a missing path error at runtime. Keep the launched tool environment onprofile.probe_config()or update the embedded probe code to consume the controller payload shape consistently.Commit: Open commit
d8a3fc420b05Open finding in CodeSnuffler
Fix via CodeSnuffler
Suggested fix: Use
profile.probe_config()forTOOL_AUTH_PROFILE_JSON, or introduce a separate env var for controller metadata if_harden_tool_profile_treeneeds the controller payload.@ -316,3 +318,3 @@async def dev_shell_websocket(websocket: WebSocket) -> None:command_id = websocket.query_params.get("command", "bash")persona_id = websocket.query_params.get("persona_id")instance_id = websocket.query_params.get("instance_id")CodeSnuffler finding: Dev shell auth ignores selected plugin instance
Severity: Medium Category: Correctness
The websocket now reads
instance_id, but the existing frontend terminal URL still sends the selected value aspersona_id. For non-primary AI tool instances, runner auth commands opened from the dev shell will fall back toprimaryand mount/login the wrong auth storage. Because this PR removes the old contract, update the frontend caller to sendinstance_idin the same change.Commit: Open commit
d8a3fc420b05Open finding in CodeSnuffler
Fix via CodeSnuffler
Suggested fix: Update
frontend/src/dev-shell/components/DevShellTerminal.vueto setinstance_idinstead ofpersona_idwhen building the dev-shell websocket URL.Pull request closed