sync fork with upstream (2026-08-18) - #19
Merged
Merged
Conversation
* feat: proxy slack channel listing * fix: harden slack channel enrichment
fix(sandbox): support gpt-5.6-sol Co-authored-by: ecejas <15933097+ecejas@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* fix: proxy Slack file listing * feat: add direct Slack file search command * fix: correct Slack files list pagination * fix: require channel for Slack file proxy * fix: require channel for Slack file search * fix: update Slack file search callers
* feat: expose Slack file info proxy * refactor: share Slack file info helpers * fix: authorize Slack file info before config * feat: proxy Slack channel members
* fix: use host Slack team for principals * fix: stop scoping Slack channel principals by requester team The prior approach threaded the host Slack team through a request context so channel principals would use it. That is unnecessary: a Slack channel id is globally unique, so channel principals never need a team in scope. Scoping them by the message-derived team (introduced in paradigmxyz#882) let a Slack Connect requester's external workspace fork a separate principal from the host channel's. Derive channel principals without any team scope, keeping the DM metadata-team folding from paradigmxyz#882 intact, and revert the request-context plumbing. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Perry Dime <260989497+svc-paradigm@users.noreply.github.com> Co-authored-by: Matthew Slipper <me@matthewslipper.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* feat: configure default sandbox capabilities * feat: manage sandbox defaults in console * feat: manage sandbox defaults in console * refactor: simplify sandbox default application * refactor: rely on sandbox setting validation * refactor: remove redundant sandbox default constants * fix: preserve explicit sandbox repo-cache labels * refactor: store sandbox repo cache as enum * refactor: require repo cache label for principals * fix: prefer principal repo cache setting over label * fix: reject sandbox repo cache label input * fix: validate sandbox repo cache label consistency * refactor: always project sandbox repo cache label
* fix: gate otlp egress on observability * chore: bump helm chart version * fix: always label api-rs for observability
* fix(slackbotv2): resolve trigger bot identities * fix(slackbotv2): match webhook bots by app identity * refactor(slackbotv2): allowlist bot members only
…le (paradigmxyz#984) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
fix(slackbotv2): support scoped trigger bot ids Co-authored-by: Perry Dime <260989497+svc-paradigm@users.noreply.github.com>
* fix: allow hosted MCP OAuth redirects * test: update MCP redirect rejection case
* feat: sync Granola via user OAuth * fix: satisfy Granola sync CI checks
* feat: expose sandbox permission query * fix: expose console URL to sandboxes * refactor: clarify sandbox console URL wiring * fix: require explicit API server proxy hosts * chore: bump chart version to 0.1.99 * fix: require configured sandbox entitlement host
…igmxyz#1320) The example's create-secret command lists OP_SERVICE_ACCOUNT_TOKEN and OP_VAULT without saying which ironProxy.secretSource they belong to. They match the chart default, but a reader running secretSource: env copies two keys that have no effect and no way to tell from the example. Name the source each key belongs to, using the same pairings as the infra secret table in the production guide.
Both overlay mount paths are served by repo-cache, but the dependency is not stated anywhere. Record the requirement and point clusters that cannot use writable hostPath volumes at repoCache.storage.type=persistentVolumeClaim instead of disabling the cache.
* feat: add collaborative skill editors * feat: manage skill editors through API * fix: expose editors for shared skills
* fix: prevent task phrasing from selecting amp * fix: generalize amp classifier guidance
Co-authored-by: Perry Dime <260989497+svc-paradigm@users.noreply.github.com>
…digmxyz#1324) sessions.harness_type is written when the session is created, and a later request for a different harness raises HarnessConflict and falls back to the session's existing harness. So sandbox.harnessEngine only affects new sessions. The reference tables say this for SLACKBOTV2_DEFAULT_HARNESS and TEAMS_DEFAULT_HARNESS_TYPE, but not where operators actually choose a harness. State it next to the harness table.
…z#991) * fix(mcp): validate tool arguments before sandbox dispatch * test(mcp): update unready app state setup --------- Co-authored-by: Matthew Slipper <me@matthewslipper.com>
* ci: close inactive draft pull requests * ci: clarify stale draft comment * ci: make stale draft comment friendlier
* feat: add sandbox API JWT capabilities * refactor: route sandbox API access through proxies * chore: bump chart version to 0.1.118 * fix: check sandbox API permissions in prompt * test: remove brittle prompt assertion
* fix: resolve OAuth identity before credential upsert * fix: handle OAuth identity network failures
* feat: add optional Console Sentry reporting * chore: add Sentry dependency and bump chart
…z#1392) * fix: enqueue session executions before processing * fix: claim persisted executions by id * fix: preserve queued executions during shutdown * refactor: simplify shutdown execution recovery
…adigmxyz#1363) * fix: do not terminalize Codex error notifications with willRetry Codex emits intermediate error notifications with willRetry=true while reconnecting a dropped model stream. Treat those as non-terminal so the turn can finish, and persist nested params.error text when it does fail. Co-authored-by: Cursor <cursoragent@cursor.com> * style(api-rs): rustfmt retryable Codex error guard Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(slack): use MCP user token for message search * test(slack): remove obsolete resource namespaces
oponder
force-pushed
the
sync-upstream-2026-08-18
branch
from
August 18, 2026 11:01
f695010 to
9867a00
Compare
oponder
marked this pull request as ready for review
August 18, 2026 11:04
0xdiid
approved these changes
Aug 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the fork up to date with upstream
b985a365(2026-08-18) — 113 upstream commits since the Jul 31 sync (#15).Same recipe as #15: take upstream as-is and re-apply the fork's genuine changes on top. Fork main's content matched upstream
5b78273a(Jul 31) exactly except one patch, so this branch is upstream main + one commit re-applying the sentry read-only client commands fix (#13).#15 said the same thing and was squash-merged anyway, which severed the shared history again (that's why a plain
git merge upstream/mainshows phantom conflicts, and why this PR exists in replace-form). The repo allows merge commits — use "Create a merge commit". Squashing this one condemns the next sync to the same wall.What rides along
/api/*router), workflow durability changes, githubbot/test expansions — the full upstream 2.5 weeks.Why now
Testing our upstream PRs (paradigmxyz#1414, paradigmxyz#1415) in this deployment requires the fork to be at upstream parity: paradigmxyz#1415 ships migration 0053, which presumes 0049–0052 are applied. After this merges,
upstream-status-command/upstream-review-ackare deployable here essentially 1:1.Validation
tools/infra/sentry/test_cli.pypasses (the only fork-patched code).b985a365, which upstream CI validates.git diff origin/main HEAD= exactly upstream's post-Jul-31 delta;git diff upstream/main HEAD= the 2 sentry files only.🤖 Generated with Claude Code