Skip to content

fix: make silent job and peer failures visible and actionable - #9497

Merged
koenvanderveen merged 20 commits into
devfrom
pjwerneck/fix-silent-failures
Oct 9, 2026
Merged

koenvanderveen merged 20 commits into
devfrom
pjwerneck/fix-silent-failures

Conversation

@pjwerneck

@pjwerneck pjwerneck commented Sep 1, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Make silent job and peer failures visible and actionable

Changes

  • jobs[N] now matches the [N] shown in the table; jobs["name"] raises on an ambiguous name instead of returning the wrong job
  • process_approved_jobs reports every approved job it skipped, and skips on (job_name, ds_email) so same-named jobs from other submitters still run
  • syft_job, syft_rds, syft_enclaves and syft_bg configure their own loggers
  • "No public encryption bundle" names the cause and remedy per peer state
  • approve_job checks for the approval file first; JobInfo file listings catch OSError; approve/reject errors name both parties

Testing

Asana Task

https://app.asana.com/1/1185126988600652/project/1210542925864934/task/1217980407095929?focus=true

- jobs[N] now matches the [N] shown in the table; jobs["name"] raises on an  ambiguous name instead of returning the wrong job
- process_approved_jobs reports every approved job it skipped, and skips on  (job_name, ds_email) so same-named jobs from other submitters still run
- syft_job, syft_rds, syft_enclaves and syft_bg configure their own loggers
- "No public encryption bundle" names the cause and remedy per peer state
- approve_job checks for the approval file first; JobInfo file listings catch OSError; approve/reject errors name both parties
chore: land syft-pr-review skill update on this branch for testing
chore: land prefetch.sh .claude exclusion on this branch
chore: land naming/duplication standard update on this branch
chore: land naming/duplication corrections on this branch
@koenvanderveen
koenvanderveen marked this pull request as ready for review September 2, 2026 15:15

@koenvanderveen koenvanderveen left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread .claude/skills/syft-pr-review/SKILL.md Outdated
Comment thread packages/syft-job/src/syft_job/client.py
Comment thread packages/syft-enclave/src/syft_enclaves/client.py Outdated
Comment thread packages/syft-job/src/syft_job/job.py Outdated
Comment thread packages/syft-job/tests/test_job_flow.py Outdated
Comment thread packages/syft-enclave/tests/test_enclave_jobs.py Outdated
Comment thread packages/syft-job/tests/test_job_flow.py Outdated
Comment thread packages/syft-enclave/tests/test_enclave_jobs.py Outdated
pjwerneck and others added 5 commits September 3, 2026 18:51
…ailures

# Conflicts:
#	packages/syft-enclave/src/syft_enclaves/client.py
#	packages/syft-enclave/src/syft_enclaves/enclave_job_info.py
#	packages/syft-job/src/syft_job/job_runner.py
#	packages/syft-job/tests/test_job_flow.py
#	packages/syft-rds/src/syft_rds/__init__.py
#	syft/sync/peers/peer_store.py
@pjwerneck
pjwerneck requested a review from rasswanth-s October 7, 2026 16:49
Comment thread packages/syft-enclave/pyproject.toml Outdated
Comment thread packages/syft-job/src/syft_job/job.py Outdated
usually the other party — a data scientist names the data owner, a data
owner names the submitter — but naming yourself keeps your own. So
``jobs["do@x.org"]["analysis"]`` reads as one job, and chaining both —
``jobs["do@x.org"]["ds@y.org"]["analysis"]`` — pins the datasite and the

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This says chaining both emails "pins the datasite and the submitter", but _with_party() matches an email in either role, so the two keys don't fix direction. Repro: a dual-role user has analysis on their own datasite from a peer, and an analysis they submitted to that peer. jobs[me][peer]["analysis"] raises "Multiple jobs are named 'analysis'", and the only chains offered are bare positions. Maybe we can make first email key filter by datasite and the second by submitter ?

@rasswanth-s rasswanth-s left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had only minor suggestions, LGTM

@pjwerneck pjwerneck changed the title fix: make silent job and peer failures visible and actionable fix: make silent job and peer errors visible and actionable Oct 9, 2026
@pjwerneck pjwerneck changed the title fix: make silent job and peer errors visible and actionable fix: make silent job and peer failures visible and actionable Oct 9, 2026
@koenvanderveen
koenvanderveen merged commit 33cad0c into dev Oct 9, 2026
24 checks passed
@koenvanderveen
koenvanderveen deleted the pjwerneck/fix-silent-failures branch October 9, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants