Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
b0702ef
feat: daily digest of contributor pull requests
Bilb Sep 24, 2026
2e7a162
fix: split a repository block that outgrows a Discord message
Bilb Sep 24, 2026
7e2c46e
fix: never report private repositories, and stop naming excluded repo…
Bilb Sep 24, 2026
ad2aa8d
refactor: drop the flags that widened which repositories the digest r…
Bilb Sep 24, 2026
156124a
Merge remote-tracking branch 'origin/main' into feat/contributor-pr-d…
Bilb Sep 24, 2026
9b59299
fix: name the CLI's reason when a zero exit still reports is_error
Bilb Sep 24, 2026
a2ad6c7
refactor: move the retry, Discord transport, dedup state and env help…
Bilb Sep 24, 2026
3c8d892
refactor: build the pull request digest on the shared helpers
Bilb Sep 24, 2026
061e608
feat: let the shared retry read an HTTP-date Retry-After and take a t…
Bilb Sep 24, 2026
8e30ddd
refactor: post the Crowdin report through the shared retry and webhoo…
Bilb Sep 24, 2026
da30f81
test: pin the digest and Crowdin outputs as goldens over recorded res…
Bilb Sep 25, 2026
c7aff0b
ci: run every unittest suite and ruff on pull requests
Bilb Sep 25, 2026
f0ca8c2
feat: alert when a scheduled job stops succeeding, not only when it f…
Bilb Sep 25, 2026
2f995e8
build: one session_ops package, one lockfile, one venv
Bilb Sep 25, 2026
331b16c
refactor: one HTTP transport under every job, and Crowdin on its SDK
Bilb Sep 25, 2026
7bc559f
feat: report Crowdin duplicate translations from webhooks, reconciled…
Bilb Sep 25, 2026
31fe984
docs: one page per job, and a token of its own for the one Crowdin write
Bilb Sep 25, 2026
092505f
feat: one job runner, one templated unit, and alerts that say what fa…
Bilb Sep 25, 2026
c690b4b
feat: run the Crowdin sync, the snode list and release stats on the host
Bilb Sep 25, 2026
6518314
fix: show a dry run's change, and quote git's own error in an alert
Bilb Sep 25, 2026
56938a1
feat: narrow the daily Crowdin reconciliation with CroQL
Bilb Sep 25, 2026
0aa7867
fix: alerts that quote the failed run and read as one line
Bilb Sep 25, 2026
8c2671f
refactor: word the CLI's out-of-tokens exit for every caller, not onl…
Bilb Sep 25, 2026
3e27afa
refactor: split the Zendesk API, the Claude CLI and the transcript ou…
Bilb Sep 25, 2026
ff60382
refactor: one comment fetcher for the three callers that each had the…
Bilb Sep 25, 2026
bfc2e25
fix: a model alias on a claude: note means the id the digest would use
Bilb Sep 25, 2026
70699dc
fix: retry GitHub's rate-limited 403, and wait for its reset only whe…
Bilb Sep 26, 2026
367efa2
fix: keep a PR the search repeats across pages once, and read an inco…
Bilb Sep 26, 2026
764f8b6
fix: remember a reported PR for a year, so a stalled one that moves r…
Bilb Sep 26, 2026
7a898b3
test: a digest run records only the PRs in messages Discord accepted
Bilb Sep 26, 2026
5082b19
docs: an example digest that names no real contributor
Bilb Sep 26, 2026
cb11d17
fix: resolve a duplicate slot whose string or locale left the Crowdin…
Bilb Sep 26, 2026
c88d8a8
fix: refuse to reconcile Crowdin duplicates before the state is seeded
Bilb Sep 26, 2026
bf4d4a1
fix: move crowdin-sync and snode-list to 13:00 Melbourne, off the wor…
Bilb Sep 26, 2026
9e2c2a9
test: run the real Crowdin generators into each sync target's checkout
Bilb Sep 26, 2026
c12ac33
refactor: remove crowdin-approve-strings and its proofreader token
Bilb Sep 26, 2026
0028edb
refactor: drop the Discord role mention from every alert
Bilb Sep 26, 2026
4baa241
fix: name a dead Claude Code login in a run's own alert
Bilb Sep 26, 2026
b61568b
fix: fail a run whose optional-target alert could not be posted
Bilb Sep 26, 2026
b7531af
fix: keep a webhook's token out of the journal and the backstop's alert
Bilb Sep 26, 2026
f908c86
fix: refuse to install from any clone but a root-owned /opt/session-ops
Bilb Sep 26, 2026
9b8321e
fix: stop the old units before copying their state, and unschedule st…
Bilb Sep 26, 2026
4402649
fix: warn loudly when alerts.env is empty after an install
Bilb Sep 26, 2026
4030647
docs: shorten deploy/README.md to what an operator acts on
Bilb Sep 26, 2026
1f8ab9b
fix: read a state file that is not UTF-8 as a cache miss, and drop a …
Bilb Sep 26, 2026
971241d
fix: keep line breaks when a customer reply loses its long dashes
Bilb Sep 26, 2026
affa809
fix: render English transcripts with the resolved model id, as the cl…
Bilb Sep 26, 2026
34166d8
fix: read a Zendesk user lookup that fails in transport as an unknown…
Bilb Sep 26, 2026
6faccfc
fix: point the note on an auto-solved review at the resolver's curren…
Bilb Sep 26, 2026
e61def7
docs: name the relay's app and the store-review check by their curren…
Bilb Sep 26, 2026
7d34cd7
docs: install python3-session-util from deb.session.foundation
Bilb Sep 26, 2026
9395906
fix: quote the server's refusal when a push is rejected, and name the…
Bilb Sep 26, 2026
5101d53
fix: hand back at once a rate limit the remaining retries cannot wait…
Bilb Sep 26, 2026
38a9069
feat: publish only as the GitHub App, and say exactly what is missing…
Bilb Sep 26, 2026
e37e388
fix: reach back to the last fully delivered search, so a PR digest ga…
Bilb Sep 26, 2026
b78efa4
docs: name only the two jobs that publish, and say the App key is req…
Bilb Sep 26, 2026
bd6378e
fix: keep a Zendesk command queued when its author cannot be looked up
Bilb Sep 27, 2026
e2deeeb
fix: let a crash-looping relay reach the start limit, so it alerts
Bilb Sep 27, 2026
c179739
fix: refuse an install tree any account but root can write to
Bilb Sep 27, 2026
b7e83e3
fix: keep the Crowdin webhook secret out of nginx's shared error log
Bilb Sep 27, 2026
dc89c88
fix: refuse a missing duplicates state in every writer, not only befo…
Bilb Sep 27, 2026
fe7af48
fix: keep each job's state private to its own account
Bilb Sep 27, 2026
015222a
fix: refuse to publish an empty or malformed snode list
Bilb Sep 27, 2026
744a873
fix: clone to a relative path where it names, not inside it twice
Bilb Sep 27, 2026
00d3b7d
docs: say what a bare PR digest run does, and fix a typo
Bilb Sep 27, 2026
aede503
docs: give the duplicates reconciliation its measured run time
Bilb Sep 27, 2026
c587878
fix: never let a digest message ping anyone
Bilb Sep 27, 2026
a8e8ed8
fix: show a PR title's links as their URL, never as masked text
Bilb Sep 27, 2026
2ed2741
feat: rehearse production on a spare host without writing over it
Bilb Sep 27, 2026
e4a8f7b
docs: use handles that belong to nobody, and drop two sections no one…
Bilb Sep 28, 2026
44ee932
refactor: take Discord's embed limits and packing from the Discord mo…
Bilb Sep 28, 2026
ea894b7
refactor: drop the Zendesk note author allowlist and model override
Bilb Sep 28, 2026
aeffc9c
test: give the duplicates tests their own recording, off the goldens
Bilb Sep 28, 2026
a5e0e80
test: drop the recorded-response goldens, keeping only the systemd dr…
Bilb Sep 28, 2026
40e0eda
feat: drop the Crowdin relay; the daily reconciliation keeps the dupl…
Bilb Sep 28, 2026
60d9d6c
fix: escape a PR title's own backslashes, so it cannot re-open a mask…
Bilb Sep 28, 2026
e78406c
fix: write no English transcripts to live tickets during a rehearsal
Bilb Sep 28, 2026
bfba06e
fix: stop a run that cannot tell whether its host rehearses, and say …
Bilb Sep 28, 2026
49ed2dc
test: a rehearsal with nothing to publish retires only its own branch
Bilb Sep 28, 2026
a6bab44
docs: end a rehearsal by stopping its timers, and keep the marker unl…
Bilb Sep 28, 2026
680f5ef
fix: leave claude-queued only on a command a retry can still serve
Bilb Sep 28, 2026
9fd804d
fix: let install.sh start a relay that hit its start limit
Bilb Sep 28, 2026
474dd44
docs: give the README's one-off runs the units' state permissions
Bilb Sep 28, 2026
0be3d07
docs: say what the snode guard checks, and give a narrowing check tha…
Bilb Sep 28, 2026
ff52e74
style: drop the blank lines the packer move left, and describe the re…
Bilb Sep 28, 2026
3d9ecf7
docs: cut the deploy README to what a person does, and put each env f…
Bilb Sep 28, 2026
199a7be
docs: disable the rehearsal timers by name, since systemctl disable t…
Bilb Sep 30, 2026
10295b0
fix: report each job's failures to its own channel, and post snode-li…
Bilb Oct 2, 2026
2389ea7
fix: point ZENDESK_HOUSE_ANSWERS at the house answers' new home when …
Bilb Oct 2, 2026
7d097fb
fix: refuse --seed over an existing duplicates state; --reseed does i…
Bilb Oct 2, 2026
d0f8a31
fix: clear only the generator's own strings.xml folders on Android
Bilb Oct 2, 2026
8d98672
fix: measure Discord budgets in UTF-16 code units
Bilb Oct 2, 2026
1871e64
fix: keep covered_until on a search that came back short
Bilb Oct 2, 2026
ab35995
fix: count a non-object digest state entry as new instead of crashing…
Bilb Oct 2, 2026
e4ede11
docs: say the silence checker alerts on a job left disabled
Bilb Oct 2, 2026
c786d15
fix: send the public Zendesk reply once, without retries
Bilb Oct 2, 2026
4eefe3d
feat: use the CLI's opus alias as the only Claude model
Bilb Oct 2, 2026
a35e23a
fix: recognise a dead Claude login on both failure paths, and an empt…
Bilb Oct 2, 2026
9cf9eed
docs: give release-stats' real output path
Bilb Oct 2, 2026
624bc2c
refactor: drop session-ops-alert's journal-unit argument
Bilb Oct 2, 2026
53ae6f1
fix: make an empty alerts.env really turn the backstop off
Bilb Oct 2, 2026
ec46be8
chore: remove the GitHub workflows and the duplicates report the host…
Bilb Oct 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
388 changes: 0 additions & 388 deletions .github/workflows/check_for_crowdin_updates.yml

This file was deleted.

Loading
Loading