Commit graph

795 commits

Author SHA1 Message Date
85aa7b346d Import run_agent before bootstrap seals the tool registry
Some checks are pending
CI / lint-and-test (push) Waiting to run
run_agent's module-level imports trigger tool registration (browser_tool
etc.) which fails after the sealed registry is installed. Move the imports
before bootstrap._prepare() so registration completes first.
2026-07-25 10:51:22 -07:00
fec7705a42 Normalize managed container capabilities
Some checks are pending
CI / lint-and-test (push) Waiting to run
2026-07-25 10:35:41 -07:00
7af13e9929 Parse managed inspect array directly
Some checks are pending
CI / lint-and-test (push) Waiting to run
2026-07-25 10:30:24 -07:00
6d066d90bf Fix managed container inspect parsing
Some checks are pending
CI / lint-and-test (push) Waiting to run
2026-07-25 10:28:24 -07:00
Fawaz
38fb6faa49
Merge pull request #248 from living-ip/feat/gcp-nosend-prompt-ingress
Some checks are pending
CI / lint-and-test (push) Waiting to run
Fix provider secret stdout capture
2026-07-25 10:18:53 -07:00
7eeb75e648 Fix provider secret stdout capture 2026-07-25 10:12:06 -07:00
Fawaz
8145ce2d3e
Merge pull request #247 from living-ip/feat/gcp-nosend-prompt-ingress
Some checks are pending
CI / lint-and-test (push) Waiting to run
Add bounded GCP no-send prompt ingress
2026-07-24 20:03:06 -07:00
578fe81774 Refresh Cloud SQL permission test contracts 2026-07-24 19:55:29 -07:00
bdc2c0fc15 Add bounded GCP no-send prompt ingress 2026-07-24 19:27:13 -07:00
a1beca284b Accept Cloud SQL provider-owned large-object residual
Some checks are pending
CI / lint-and-test (push) Waiting to run
On Cloud SQL, large objects created via PUBLIC privilege are owned by
the provider role, not the creating user. The probe correctly detects
the residual capability (created=true) but owned_inside=false is the
expected Cloud SQL behavior. Report the actual value instead of
rejecting it.
2026-07-24 13:19:34 -07:00
674985181e Revoke creator execute before ownership transfer
Some checks are pending
CI / lint-and-test (push) Waiting to run
After CREATE FUNCTION, the creator (postgres) has an explicit EXECUTE
entry. ALTER FUNCTION OWNER does not remove it, leaving a stale ACL
that the verification rejects. Revoke from all principals before the
single runtime grant.
2026-07-24 12:20:26 -07:00
5c506b6ed1 Revoke default PUBLIC execute on staging function
Some checks are pending
CI / lint-and-test (push) Waiting to run
PostgreSQL grants EXECUTE to PUBLIC on every new function by default.
The verification block correctly rejects this, so revoke it before
granting the runtime role.
2026-07-24 12:15:50 -07:00
7e1d57ef6f Drop staging function before create instead of replace
Some checks are pending
CI / lint-and-test (push) Waiting to run
Cloud SQL's postgres (cloudsqlsuperuser) cannot CREATE OR REPLACE a
function owned by another role. Drop both overloads first so a plain
CREATE works regardless of prior ownership state.

Also removes the dynamic ACL normalization block — a freshly created
function has no stale ACLs to scan and revoke.
2026-07-24 10:25:48 -07:00
Fawaz
15219d7116
Merge pull request #244 from living-ip/fix/cloudsql-staging-function-provision-order
Some checks are pending
CI / lint-and-test (push) Waiting to run
Fix Cloud SQL staging-function provisioning order
2026-07-23 22:42:17 -07:00
eece69cd70 Fix Cloud SQL staging-function provisioning order
Cloud SQL's postgres role is cloudsqlsuperuser, not a true superuser.
After ALTER FUNCTION ... OWNER TO leoclean_kb_stage_owner, it can no
longer revoke ACLs on the transferred function:

  ERROR: permission denied for function stage_leoclean_proposal

Reorder so ACL normalization and the runtime GRANT happen while postgres
still owns the function, then transfer ownership. Identical end state.

Observed on teleo-pgvector-standby during M2 Step 4 provisioning
(BOOTSTRAP_EXIT=3 at SQL line 800).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-07-23 22:41:24 -07:00
Fawaz
5d9eefb8a0
Merge pull request #243 from living-ip/fix/cloudsql-identity-address-normalization
Some checks are pending
CI / lint-and-test (push) Waiting to run
2026-07-23 19:19:52 -07:00
5a945ac4ec Refresh reviewed runtime source bindings 2026-07-23 19:09:30 -07:00
75ee585814 Normalize Cloud SQL identity addresses 2026-07-23 18:56:39 -07:00
Fawaz
f3a7650a2d
Merge pull request #242 from living-ip/fix/leoclean-install-convergence
Some checks are pending
CI / lint-and-test (push) Waiting to run
Converge leoclean no-send installation state
2026-07-23 16:44:10 -07:00
e5a5cc0ca2 Converge leoclean no-send installation state 2026-07-23 16:25:17 -07:00
Fawaz
6696f3adc0
Merge pull request #241 from living-ip/fix/iap-missing-receipt
Some checks are pending
CI / lint-and-test (push) Waiting to run
Preserve no-send IAP failure receipts
2026-07-23 15:07:13 -07:00
445ffdc9fc Preserve no-send IAP failure receipts 2026-07-23 14:29:47 -07:00
Fawaz
0312209c2d
Merge pull request #240 from living-ip/fix/docker-capability-readback
Some checks are pending
CI / lint-and-test (push) Waiting to run
Handle canonical Docker capability readback
2026-07-23 13:43:20 -07:00
d0e8286636 Handle canonical Docker capability names 2026-07-23 13:27:38 -07:00
Fawaz
2d0f10bb56
Merge pull request #239 from living-ip/fix/nosend-container-contract-receipt
Some checks are pending
CI / lint-and-test (push) Waiting to run
Expose bounded container contract failures
2026-07-23 13:17:24 -07:00
4df77c7c6e Expose bounded container contract failures 2026-07-23 13:01:55 -07:00
Fawaz
ac6a4d25cf
Merge pull request #238 from living-ip/fix/nosend-verifier-failure-receipt
Some checks are pending
CI / lint-and-test (push) Waiting to run
Report and defer early no-send verifier failures
2026-07-23 12:33:10 -07:00
d6d4844421 Restore verifier test process umask 2026-07-23 12:24:49 -07:00
a1a1aea16f Report no-send verifier startup failures 2026-07-23 12:06:35 -07:00
Fawaz
4911c4e726
Merge pull request #237 from living-ip/fix/leoclean-first-start-readiness
Some checks are pending
CI / lint-and-test (push) Waiting to run
Harden leoclean first-start readiness
2026-07-23 11:01:48 -07:00
f0719613b6 Harden leoclean first-start readiness 2026-07-23 10:41:40 -07:00
Fawaz
0701db4aa5
Merge pull request #236 from living-ip/fix/systemd-252-first-install
Some checks are pending
CI / lint-and-test (push) Waiting to run
Handle systemd 252 first-install omissions
2026-07-23 09:04:28 -07:00
73d0e30175 Handle systemd 252 absent command properties 2026-07-23 00:52:00 -07:00
Fawaz
eee1e90a89
Merge pull request #235 from living-ip/fix/systemd252-environmentfiles-readback
Some checks are pending
CI / lint-and-test (push) Waiting to run
Handle systemd 252 EnvironmentFiles readback
2026-07-23 00:15:18 -07:00
77ab46b956 Handle systemd 252 EnvironmentFiles readback 2026-07-22 23:19:13 -07:00
Fawaz
508e60edfb
Merge pull request #234 from living-ip/fix/iap-extracted-member-modes
Some checks are pending
CI / lint-and-test (push) Waiting to run
Preserve IAP request member modes
2026-07-22 22:37:28 -07:00
605aa6c36d Preserve IAP request member modes 2026-07-22 22:26:45 -07:00
Fawaz
5ba6c56aba
Merge pull request #233 from living-ip/fix/leoclean-runtime-authority-guard
Some checks are pending
CI / lint-and-test (push) Waiting to run
Harden leoclean runtime authority checks
2026-07-22 21:01:43 -07:00
963ab34584 Harden leoclean runtime authority checks 2026-07-22 20:15:53 -07:00
Fawaz
ce559253bd
Merge pull request #232 from living-ip/feat/leoclean-iap-installer-runner
Some checks are pending
CI / lint-and-test (push) Waiting to run
Add fail-closed GCP no-send IAP runner
2026-07-22 19:17:56 -07:00
b9081a537c Add fail-closed GCP no-send IAP runner 2026-07-22 18:24:17 -07:00
Fawaz
3d35a7fafb
Merge pull request #231 from living-ip/feat/leoclean-container-db-proof
Some checks are pending
CI / lint-and-test (push) Waiting to run
Owner security review completed for exact head 6d7ea14bfb. I reviewed and accept the scoped credential, Secret Manager, container identity, fail-closed database verification, and non-production boundaries. Authorized to merge with a merge commit.
2026-07-22 16:23:21 -07:00
6d7ea14bfb Bind no-send database proof to container identity 2026-07-22 15:24:54 -07:00
Fawaz
3f09bb2b6c
Merge pull request #230 from living-ip/fix/nosend-empty-directory-normalization
Some checks are pending
CI / lint-and-test (push) Waiting to run
Normalize empty no-send release directories
2026-07-22 14:36:14 -07:00
be002d67b0 Normalize empty release context directories 2026-07-22 14:06:38 -07:00
Fawaz
f04956ce7c
Merge pull request #229 from living-ip/fix/cloudsql-prereq-composability
Some checks are pending
CI / lint-and-test (push) Waiting to run
Preserve scoped runtime ACLs across prerequisite reruns
2026-07-22 13:17:17 -07:00
e03488ba0b Preserve scoped runtime ACLs across prerequisite reruns 2026-07-22 12:52:52 -07:00
twentyOne2x
3569f4f2fb
Merge pull request #228 from living-ip/codex/gcp-nosend-wif-publish-20260722
Some checks are pending
CI / lint-and-test (push) Waiting to run
Publish exact Leoclean no-send release through WIF
2026-07-22 06:17:43 +02:00
twentyOne2x
7aabfa4ab8 fix: make no-send release publication repeatable 2026-07-22 06:07:24 +02:00
twentyOne2x
d36a6d8cc1 ci: publish exact no-send candidate through WIF 2026-07-22 04:51:57 +02:00