Commit Graph

943 Commits

Author SHA1 Message Date
kshitijk4poor 2edc1249f9 chore: map ywatanabe@scitex.ai -> @ywatanabe1989 (PR #110480 salvage) 2026-09-14 20:35:28 +05:30
kshitijk4poor b9da06af4b chore: map contributor email for frozen 2026-09-14 19:49:12 +05:30
kshitijk4poor 5d810f318b chore: map contributor email for ennheng 2026-09-14 19:47:09 +05:30
yoniebans 12f730ba06 chore: map contributor emails for B0on and samalone 2026-09-14 05:28:46 -07:00
teknium1 ef698baa2a chore(contributors): map noequal666@gmail.com -> ymybxx (#104758 salvage) 2026-09-13 21:31:57 -07:00
Teknium 19bc8cf3a5 chore: map contributor email for #71370 salvage 2026-09-13 21:30:40 -07:00
Teknium c79acecd31 chore: add contributor email mapping for DreamyMoonMouse 2026-09-13 20:58:39 -07:00
Teknium 4c4ca042d3 chore: map contributor email for #74893 salvage 2026-09-13 20:57:40 -07:00
Teknium b8a5b378c2 chore: map contributor email for attribution (#95162) 2026-09-13 20:56:26 -07:00
Professor Dombili 73a9c34529 fix(gateway): WHATSAPP_ENABLED=true no longer overrides an explicit platforms.whatsapp.enabled: false (#73289, salvage #73303)
Twelve credential-driven env branches were routed through _enable_from_env on
main (867e4158f0, #48820), which honors the loader's `_enabled_explicit`
marker. The flag-driven WhatsApp step was the one survivor: `_whatsapp` still
set `wa_cfg.enabled = True` on WHATSAPP_ENABLED=true regardless of an explicit
YAML disable. The dashboard's disable action writes only
`platforms.whatsapp.enabled: false` and leaves the env flag on disk, so the
Baileys bridge reconnected to real contacts on the next full restart
(reported live on #73289).

Route the truthy branch through _enable_from_env like every other platform;
WHATSAPP_ENABLED=false still forces a disable. Register the flag in
_ENV_ENABLE_CREDENTIALS so the one-time explicit-disable WARNING can name it.

Remaining scope of #96557 (the other ~20 sites) landed on main in 867e4158f0
and the config_env.py extraction; this is the delta. Fix direction from
@CryptoDombili in #73303.

Co-authored-by: Professor Dombili <Cryptodombili@gmail.com>
2026-09-13 20:53:54 -07:00
teknium1 6ba92758bc chore: map contributor email for @higgs1729 2026-09-13 19:19:32 -07:00
teknium1 ee4452991d chore: map salvage contributors (jflemieux, Jaiminp007) 2026-09-13 16:46:45 -07:00
teknium1 303510a15b chore: map tutan0558@users.noreply.github.com to @tutan0558 for contributor attribution 2026-09-13 14:46:38 -07:00
teknium1 05a40c51c2 chore(contributors): map EloquentBrush0x, benjamin-rousseau-shift, Mengchee118 emails 2026-09-13 14:43:19 -07:00
teknium1 3f86ed75da chore: map juliancruzet@users.noreply.github.com to @JulianCruzet for contributor attribution 2026-09-13 12:52:43 -07:00
teknium1 b9271bcb34 chore: map steveahlstrom@gmail.com to @sjahlstrom for contributor attribution 2026-09-13 11:22:08 -07:00
teknium1 6c27a289c3 chore: map contributor email for samfoy 2026-09-13 09:18:54 -07:00
kshitijk4poor c3901f7611 chore(contributors): map itnkr's email for the #83981 salvage 2026-09-13 19:05:39 +05:30
kshitijk4poor 8e1a3b1d95 chore(contributors): map the three adopted authors' emails for the #103889 salvage 2026-09-13 19:05:39 +05:30
kshitijk4poor 3aa0db1713 chore(contributors): map FestoneX's email for the #97364 salvage 2026-09-13 19:05:28 +05:30
Teknium 0c2e66ea8b test(auth): OpenRouter PKCE invariants, fake-authority A/B harness, docs, contributor map
Two invariant tests (red on main): the PKCE key lands as an api_key pool row that
resolve_provider("auto") picks up while the bare --api-key path keeps its default, and a forged
callback path is a 404 while the genuine nonce path yields the code. evals/openrouter_pkce_ab
drives the real auth_add_command against a local fake /api/v1/auth/keys (verifier check,
single-use codes) for legit / wrong-state / replayed-code / malformed-response / api-key-path.
2026-09-12 22:07:41 -07:00
teknium1 d4f2ffa3a6 chore: map contributor email for dajiaohuang 2026-09-12 22:03:19 -07:00
Teknium cccaca6b42 fix(cli): tolerate partial prompt_toolkit stubs; map saforem2 attribution
test_prompt_stash_cli.py stubs prompt_toolkit with a bare module, so the
module-level 'from prompt_toolkit.enums import EditingMode' crashed every
test importing cli. Import it with the same ImportError fallback as
CursorShape and pass editing_mode via extra_kw only when available.
2026-09-12 22:00:02 -07:00
Teknium bef5b7c2c3 chore: map asaxinw@gmail.com -> PINKIIILQWQ (salvage #42858) 2026-09-12 21:45:15 -07:00
Teknium 1f855ec2a0 chore: map contributor email for #80648 salvage 2026-09-12 20:57:21 -07:00
teknium1 d21913b09c fix(state): let sqlite raise the canonical error for a directory db_path
The owner-only pre-create helper ran before sqlite3.connect() and turned
a directory-as-state.db misconfiguration into IsADirectoryError instead
of the sqlite OperationalError the open path (and its lock-patience
classifier) expects. A directory leaks no row data, so skip it and let
sqlite fail canonically. Also map the salvage carry-commit author email
for the attribution gate.
2026-09-12 20:43:42 -07:00
Paul Robertson 560b6d2e81 fix(cron): degrade gracefully when systemd user scopes are unavailable
A systemd-supervised gateway (INVOCATION_ID set) with no user D-Bus
session (containers, minimal LXCs, supervisors without linger) fails
EVERY scheduled job at dispatch: restart_safe_gateway_child_argv()
raises, run_one_job() records a failure, and the only symptom is
silently skipped executions (a missed nightly backup, dead watchdogs,
no alert).

Cron now degrades to a direct external subprocess with a
once-per-process warning instead of raising, unless
cron.require_restart_safe_scope=true (config.yaml, default false)
restores fail-closed. Degraded jobs keep process separation and the
full #101940 ownership handoff - only cgroup isolation is lost, so a
mid-job gateway restart kills the worker and the execution ledger
records exactly that.

The dispatch is a GatewayChildDispatch NamedTuple (in_process /
scoped / degraded) so the degraded case can never collapse into the
"not managed, stay in-process" sentinel - the failure mode that would
recreate the restart-interruption edge #101940 closed.

Kanban stays fail-closed (require_restart_safe_scope=True at its call
sites): its workers are long-lived agentic runs, so the degrade policy
is limited to bounded cron jobs in this PR.

Addresses the #102431 review: the env-var flag became a config key per
AGENTS.md (no new HERMES_* non-secret vars), Kanban keeps fail-closed
instead of updating its tests to a degraded contract, main's
enable-linger remedy message is preserved, and the degrade warning
fires once per process.
2026-09-12 23:17:12 +05:30
kshitijk4poor 3b8071dad4 chore: map Julientalbot and trnorga contributor emails 2026-09-12 22:40:28 +05:30
teknium1 53ab77d07d chore: map contributor emails for docs/tests salvage batch
admin@hankookdnt.com -> jslee-gif, 4578560@qq.com -> ColrWei,
bca491935@gmail.com -> xjsns346, robert.l.mosher@gmail.com -> RobbyMo81
2026-09-12 08:30:27 -07:00
teknium1 5053e92243 chore: map contributor emails for salvaged UI CSS fixes
maximusttt@gmail.com -> lawcheck, marynych.ivan@icloud.com -> loqimean,
zohuyhieuzo03@gmail.com -> zohuyhieuzo03 (each confirmed via gh api users/<login>).
2026-09-12 08:28:35 -07:00
teknium1 353cf2d055 chore: map contributor email harrison@succession.bio -> successionbio 2026-09-12 08:26:39 -07:00
teknium1 477e8a631a chore: contributor mapping for bixycler 2026-09-12 08:25:54 -07:00
teknium1 428cdbff52 chore: map contributor email mrwanstudio@gmail.com -> mrwanstudio 2026-09-12 08:25:49 -07:00
teknium1 392c6221a3 chore(contributors): map zjc-enigma (salvage #12522) 2026-09-12 08:25:36 -07:00
teknium1 9c614484b3 chore(contributors): map shafdev (salvage #12685) 2026-09-12 08:25:14 -07:00
teknium1 1dce69be4e chore: contributor mapping for ggascoigne 2026-09-12 08:23:58 -07:00
teknium1 dfa84e4a84 chore: map contributor email d.hermsmeier@mittwald.de -> Hermsi1337 2026-09-12 08:23:28 -07:00
teknium1 b5b697e91d chore: contributor mapping for MonkeyLeeT 2026-09-12 08:23:13 -07:00
teknium1 f8f16b5e7f chore: contributor mapping for zhouhe-xydt 2026-09-12 08:22:57 -07:00
teknium1 64edb8a9ce chore: map contributor email ycy1990@gmail.com -> metricano 2026-09-12 08:21:08 -07:00
teknium1 dc67f00e0b chore: map contributor email bill3wits@gmail.com -> bill3wits 2026-09-12 08:12:38 -07:00
teknium1 c7c86a7dc6 chore: map contributor email ada.a0uew@56.pt -> Arguably1341 2026-09-12 08:06:48 -07:00
teknium1 335c3f8843 chore: map contributor email hongzhennan@outlook.com -> Decent9967 2026-09-12 08:04:30 -07:00
teknium1 28bf67b176 chore: map contributor emails for jinliyl and teddychenfeiyang-png 2026-09-12 07:57:13 -07:00
Francesco Carucci 8a5617f02c chore: map contributor email francesco@carucci.org -> fcarucci 2026-09-12 07:46:36 -07:00
kshitijk4poor 24699e07a6 chore: map huklaa's contributor email 2026-09-12 12:15:07 +05:30
Teknium 8134d941be chore: map contributor email for ishangodawatta 2026-09-11 19:04:38 -07:00
Teknium fa425c942e test: stub the safe.directory pre-read by default; map privacydied's email
noninteractive_git_env() now spawns `git config --get-all safe.directory` before
building the env. Eight tests fake subprocess.run/Popen with a fixed sequence of
expected git calls (update check, plugin pull, MCP install, bounded probe) and the
extra spawn tripped them in CI. An autouse fixture stubs the read to "no entries";
the two carve-out invariant tests opt back in with @pytest.mark.real_safe_directory
(and were confirmed to still exercise the real read: the ordering test would fail
against the stub).

contributors/emails: pry@privacydied.net -> privacydied (check-attribution).
2026-09-11 19:01:47 -07:00
Teknium 1021a03256 chore: map contributor email for jakobdylanc 2026-09-11 16:50:20 -07:00
Teknium d198082172 chore(contributors): map see-k's commit email for release credit 2026-09-11 15:29:15 -07:00