Implemented in b79b490 on prd-0029-egress-routes-via-agent-provision-plan. Summary of what changed:
EgressRoutegainstls_passthrough: bool.egress_manifest_routeslifts the manifest…
RE: didericis/bot-bottle#110 (comment)
Agreed on the direction. Concrete shape I have in mind:
- Add
egress_routes: tuple[EgressRoute, ...]to `AgentProvi…
Fair — this is the same provider-specific branching the rest of the PR moved out of the backends.
The root cause is that EgressRoute has no tls_passthrough field, so `pipelock_effective_tls_p…
Replying to didericis/bot-bottle#114 (comment):
git http-backend is the built-in — the Python class is a CGI adapter around it, not a custom git…
Good question — two parts: why it scans everything today, and whether scoping it is safe.
Why it scans all today
gitleaks isn't defaulting to anything — it scans whatever revision range…
Proposed solution: deploy_key_provisioner
Rather than SSH CA certificates (also considered — see below), the cleanest approach is to generate a fresh SSH keypair at spin-up, register the…
Good call — addressed in 847baa8. manifest.py now raises a ManifestError (a plain Exception) for every validation failure instead of calling die(). The CLI dispatcher catches it and…
extends: (PRD 0025, issue #88)
Weighing the design here. The proposal makes sense ergonomically — single-use agents shouldn't need a whole separate bottle file just to add one env var or egress route — but I think it…
scan_env sees EGRESS_TOKEN_*)
Right — collapsed in b3c6d66 to a one-liner pointing at _STARTUP_SYNC_DELAY_SEC plus the daemon=True operational note. The libkrun-race + warm-VM-timing explanation now lives only on the constant.
Both addressed in follow-up b3c6d66 (direct to main).
Fair call. The tmux-pane-cwd hypothesis was just a guess that turned out not to be the actual bug (libkrun's bringup race was), and I never went back to verify it. Rewrote the comment in b3c6d66 to drop the speculation and just state the operative reason: the wrapper is self-contained (no claude_bottle.* imports), so an absolute-path invocation works regardless of cwd. Same one-line _PTY_RESIZE_SCRIPT = _pty_resize.__file__ line, leaner justification.
Measured on my box against a running claude-bottle smolvm machine:
At rest (no resize): zero CPU. The wrapper Python process just blocks on proc.wait() — no signal arrives, no syscalls…