Repository navigation
Onboarding desk: a labelled, disposable production run through the live API - #1852
Conversation
…ve API scripts/onboarding_desk_production_run.py creates its own tenant (named and tagged as a disposable production run, no message senders, nothing automatic, no case on submission) and drives the desk through the public API: a signed lead with consents (unsigned refused, repeat idempotent), the contact rules, the applicant session with a synthetic certificate read and confirmed, a refused postal code, the submission, the evidence pack verified with the published key as built and as served, and the report with no contact attempt. It then switches the webhook source off and soft-deletes the tenant. The checks stay in CI: production refuses the mock provider and the example policies.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f94a9a5fb3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| 3. a signed link to the application, then the applicant's own session: a synthetic certificate is read | ||
| and its values confirmed, a wrong postal code is refused, the remaining answers are saved and the | ||
| application is submitted; | ||
| 4. no governed case is opened (``auto_open`` off): the checks need the verification partner's credential, |
There was a problem hiding this comment.
Use the required accredited-issuer terminology
The new script calls the credential holder a “verification partner” here and repeats that term in its runtime summary, changelog entry, and runbook. The root AGENTS.md explicitly requires “accredited issuer” instead of “verification partner”; replace these newly introduced occurrences consistently so the operational output and documentation follow the repository’s mandated terminology.
AGENTS.md reference: AGENTS.md:L41-L45
Useful? React with 👍 / 👎.
A one-off script that proves the onboarding desk in a production deployment, end to end but for the checks, with a tenant it creates and retires itself.
What it runs, through the public API
auto_contact/sms_conversationare off, so nothing can be sent.auto_openoff). Production refuses the mock provider and the example policies by design, and the checks need the verification partner's credential. The full flow with checks, decision and push stays inmake e2e-onboarding-deskin CI.The script prints one JSON summary with no secrets, tokens or contact values, and exits 0 only if every step passed. Runbook:
docs/onboarding-desk/production-run.md.Tests
tests/unit/test_onboarding_desk_production_run.py: 14 tests against a fake API and desk. They cover the full run,--keep, broken promises (a case opened, a contact attempt, an evidence mismatch) that still retire the tenant, the desk-off preflight, and the confirmation guard. They also check that the synthetic certificate is read by the real document reader.