kshitijk4poor
cedf4a3d78
fix(secret-scope): compose the managed .env into every profile secret scope
...
Answers the P1 review on #111187 : build_profile_secret_scope() held only
<profile>/.env plus that profile's external-source snapshot, never the
administrator-managed .env. The launch process applies that file LAST with
override (_apply_managed_env), so a managed key beats the user's own value in
os.environ. Under multiplex semantics get_secret() stops falling back to
os.environ on a scope miss, so inside a routed cron fire (and equally inside a
real multiplex gateway turn, which builds its scope through the same function
via gateway/run.py::_load_profile_secret_scope) a managed-only credential
resolved as absent and a managed-vs-user collision resolved to the USER value:
reversed precedence.
Fix at the source: build_profile_secret_scope() overlays load_managed_env()
last, after the profile .env and external sources, skipping process-global
names exactly as it does for the other two layers. Every multiplex-authoritative
scope (gateway turn, routed desktop fire, external worker env build) is built
here, so managed authority is composed once instead of restored per consumer.
No generic ambient-env fallback is reintroduced: only the managed file's own
keys enter the scope, and only with the managed file's values.
Regression (parametrized, two invariants): inside a routed fire a managed-only
key resolves through get_secret(); a managed-vs-user collision yields the
managed value.
2026-09-15 11:03:39 +05:30
..
2026-09-12 05:09:11 -07:00
2026-09-13 05:07:50 -07:00
2026-09-03 17:13:22 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 05:07:11 -07:00
2026-09-15 10:49:19 +05:30
2026-09-10 11:48:01 -07:00
2026-09-06 20:50:02 +05:30
2026-09-03 13:16:47 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 00:41:13 +05:30
2026-09-15 00:41:13 +05:30
2026-09-13 05:20:26 -07:00
2026-09-14 20:01:19 +05:30
2026-09-13 05:07:11 -07:00
2026-09-06 05:37:03 -07:00
2026-09-06 05:37:03 -07:00
2026-09-14 20:01:19 +05:30
2026-09-02 20:10:26 -07:00
2026-09-02 21:38:20 -07:00
2026-09-03 17:13:22 -07:00
2026-09-15 10:49:19 +05:30
2026-09-11 19:39:12 -07:00
2026-09-07 06:02:22 -07:00
2026-09-13 05:19:48 -07:00
2026-09-07 07:06:58 -07:00
2026-09-14 06:55:54 -07:00
2026-09-12 01:35:05 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 00:15:16 -07:00
2026-09-05 10:54:19 +05:30
2026-09-14 20:35:28 +05:30
2026-09-07 05:24:15 -07:00
2026-09-07 05:24:15 -07:00
2026-09-10 18:08:16 -07:00
2026-09-15 10:49:19 +05:30
2026-09-10 15:13:02 -04:00
2026-09-06 22:45:31 +05:30
2026-09-07 21:22:49 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 05:09:43 -07:00
2026-09-07 05:59:08 -07:00
2026-09-13 05:09:43 -07:00
2026-09-11 02:07:48 -07:00
2026-09-05 16:44:23 +05:30
2026-09-13 05:20:26 -07:00
2026-09-14 07:21:18 -07:00
2026-09-11 03:45:33 +05:30
2026-09-13 19:30:48 +05:30
2026-09-07 08:06:48 -07:00
2026-09-13 05:09:43 -07:00
2026-09-03 22:00:01 -07:00
2026-09-11 03:45:33 +05:30
2026-09-03 09:44:26 -07:00
2026-09-12 05:56:15 -07:00
2026-09-07 08:19:32 -07:00
2026-09-07 07:10:28 -07:00
2026-09-12 08:23:42 -07:00
2026-09-03 04:31:46 -07:00
2026-09-15 10:49:19 +05:30
2026-09-09 16:30:24 -07:00
2026-09-03 17:13:22 -07:00
2026-09-09 11:29:56 -07:00
2026-09-10 10:35:07 -07:00
2026-09-14 06:44:54 -07:00
2026-09-14 06:44:54 -07:00
2026-09-11 15:26:46 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 00:15:16 -07:00
2026-09-07 08:08:04 -07:00
2026-09-12 01:35:05 -07:00
2026-09-15 00:41:14 +05:30
2026-09-12 08:23:13 -07:00
2026-09-09 13:08:25 +05:30
2026-09-09 10:58:16 -07:00
2026-09-07 08:28:43 -07:00
2026-09-11 11:54:49 -07:00
2026-09-03 22:00:01 -07:00
2026-09-03 09:44:26 -07:00
2026-09-02 22:21:06 -07:00
2026-09-13 05:19:48 -07:00
2026-09-13 05:19:48 -07:00
2026-09-14 20:35:28 +05:30
2026-09-03 09:44:26 -07:00
2026-09-10 18:11:25 -07:00
2026-09-13 20:50:10 -07:00
2026-09-11 16:50:20 -07:00
2026-09-13 05:09:43 -07:00
2026-09-13 05:09:43 -07:00
2026-09-06 09:11:04 -07:00
2026-09-13 05:09:06 -07:00
2026-09-03 09:44:26 -07:00
2026-09-11 15:26:46 -07:00
2026-09-09 12:17:57 +05:30
2026-09-03 09:44:26 -07:00
2026-09-03 15:07:39 -07:00
2026-09-13 05:09:43 -07:00
2026-09-13 05:09:43 -07:00
2026-09-03 17:13:22 -07:00
2026-09-14 06:55:54 -07:00
2026-09-03 09:44:26 -07:00
2026-09-12 13:44:52 -07:00
2026-09-13 05:09:43 -07:00
2026-09-11 03:45:33 +05:30
2026-09-13 05:19:48 -07:00
2026-09-14 20:35:28 +05:30
2026-09-13 21:27:35 -07:00
2026-09-10 09:22:31 -07:00
2026-09-13 21:30:40 -07:00
2026-09-03 17:13:22 -07:00
2026-09-10 13:23:24 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-13 19:23:09 +05:30
2026-09-13 05:09:43 -07:00
2026-09-08 04:38:47 -07:00
2026-09-03 17:13:22 -07:00
2026-09-15 11:03:39 +05:30
2026-09-06 05:35:12 -07:00
2026-09-09 10:32:01 +05:30
2026-09-13 05:07:11 -07:00
2026-09-03 17:13:22 -07:00
2026-09-12 08:25:36 -07:00
2026-09-07 07:10:28 -07:00
2026-09-12 08:25:59 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 03:31:03 -07:00
2026-09-03 10:40:25 -07:00
2026-09-03 12:29:52 -07:00
2026-09-03 13:29:35 -07:00
2026-09-03 03:31:03 -07:00
2026-09-12 08:34:07 -07:00
2026-09-09 10:31:26 +05:30
2026-09-09 10:31:26 +05:30
2026-09-03 13:24:04 -07:00
2026-09-04 00:15:16 -07:00
2026-09-13 05:20:26 -07:00
2026-09-13 21:08:32 -07:00
2026-09-10 02:21:16 +05:30
2026-09-15 00:41:14 +05:30
2026-09-12 21:07:46 -07:00
2026-09-06 22:56:51 +05:30
2026-09-12 08:25:14 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 00:15:16 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 09:44:26 -07:00
2026-09-04 00:15:16 -07:00
2026-09-11 03:45:33 +05:30
2026-09-12 08:27:11 -07:00
2026-09-14 20:35:28 +05:30
2026-09-10 10:45:57 -07:00
2026-09-06 13:21:17 -07:00
2026-09-13 19:23:09 +05:30
2026-09-03 13:12:23 -07:00
2026-09-11 06:37:27 -07:00
2026-09-09 12:17:57 +05:30
2026-09-10 13:23:24 -07:00
2026-09-13 14:46:42 -07:00
2026-09-15 10:48:49 +05:30
2026-09-09 09:51:31 -07:00
2026-09-09 12:17:57 +05:30
2026-09-03 09:44:26 -07:00
2026-09-03 13:12:23 -07:00
2026-09-06 13:21:17 -07:00
2026-09-06 13:21:17 -07:00
2026-09-12 10:00:06 +05:30
2026-09-07 06:15:43 -07:00
2026-09-11 01:37:22 -07:00
2026-09-03 17:13:22 -07:00
2026-09-03 09:44:26 -07:00
2026-09-09 11:42:43 -07:00
2026-09-06 14:19:42 -07:00
2026-09-06 13:21:17 -07:00
2026-09-10 02:44:26 -07:00
2026-09-10 11:48:01 -07:00
2026-09-13 05:07:11 -07:00
2026-09-13 05:08:29 -07:00
2026-09-12 13:44:52 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 09:44:26 -07:00
2026-09-03 17:13:22 -07:00
2026-09-04 07:17:00 -07:00