Repository navigation
Conversation
…): skill covers the no-portal setup and native app attestation Draft: merge only after CLI#101 is merged and the CLI 0.3.0 pin is exported; the pinned 0.2.9 launcher does not have the account tools this text names.
…velopment mode, Android policy, hosted app_status
Member
Author
|
Round 2 of this change set (development mode, degraded Android phones, real-device chain checks, hosted MCP status) is on developer-service-api#85, auth-service#35, api-gateway#23 and CLI#101. Updated merge and deploy order for all PRs:
Rollback: revert the service's deploy. Migration 047 only adds a table; nothing else changes data. Reverting auth-service restores refusals for degraded devices; reverting the gateway restores today's 401 for native code requests. |
Member
Author
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.
What
Export of Offline-Protocol/CLI@4076fc4 (branch feat/agent-project-setup, CLI#101) with
scripts/export-agent-plugins.mjs: the plugin skillbuild-with-offline-protocolgains a section on setting up the developer's application without the portal (local MCP account toolsapp_status,detect_native_apps,register_native_app,remove_native_app,set_development_builds,set_allowed_origins,set_features,apply_project_setup, and the matchingoffline apps …/offline applycommands) and on native app attestation (register every iOS/Android app, pass attestation providers,@offline-protocol/id-react-native0.4.0+, never send an Origin header from a native app).Why
A coding agent got stuck on Offline ID sign-in in an Expo app because these steps were portal-only and undocumented for agents. Post-mortem: api-gateway
docs/postmortems/2026-11-04-native-code-requests.md.How tested
node scripts/export-agent-plugins.mjs --checkagainst this branch: identical to a fresh export of the CLI branch.Merge order
Draft on purpose. The launcher here still pins
@offline-protocol/cli@0.2.9, which does not have the account tools this text names. Merge after: CLI#101 merged → CLI 0.3.0 released → the pin PR exported (that export will contain this change too, so this PR can simply be closed in favour of it).Rollout (the whole change set, in order)
Shipped apps must never break, so the servers go first, then the SDK, CLI and MCP, then the portal and docs:
E2E_CHECKOUT_TOKEN(read-only Contents on api-gateway, developer-service-api, auth-service, CLI)UNATTESTED_CODE_REQUESTS_PER_APP_PER_HOUR(default 300).ATTESTATION_TEST_ANDROID_ROOTS_FILEmust stay unset in production (the service refuses to start with it there)code_requestalways meets the per-app capcode_request, actionable refusals, journey workflow, CI)APP_AUTH_MODE=enforcestays)offline apps native/origins/features/status,offline apply,login --code, MCP account tools)@expo/app-integrityneeds step 2 deployedRollback: revert the deploy of the service in question (no migrations, no data changes). Reverting the gateway restores today's behaviour (native code requests without a credential refused).
Production smoke test (after step 3, no email or text message to anyone)
An attested sign-in needs a real device (the test device's root is never trusted in production); test it from a release build after step 5.