Repository navigation
chore(release): link the EAS project and set version 0.0.1 - #76
Conversation
eas init cannot write to a dynamic app.config.ts, so the project id is set by hand. The Expo project's slug is uw-app and it belongs to the unfoldingword organization, so slug and owner change to match; without them EAS rejects the project id as mismatched. Refs #44 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The first release tag is v0.0.1; the config and package versions match it. Refs #44 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jag3773
left a comment
There was a problem hiding this comment.
QA review of PR #76. One low-priority documentation finding is attached inline.
Standards
Please record the EAS linkage in the proposal required for changes to app.config.ts. No other actionable standards or code-smell findings.
Spec
No functional defect found in the scoped project-linkage implementation. The README matches the configuration; the existing locale gate, deep-link scheme, native identifiers, permissions, and disabled OTA updates are preserved. The subsequent version-only commit 5f83e3 consistently sets app.config.ts, package.json, and both root package-lock.json version fields to 0.0.1.
Independent validation on e4ca30a: full npm run verify passed, including lint/format, all three TypeScript projects, 823 tests across 88 files, unused-code/repository checks, 63 simulation scenarios, traceability, content contracts, and Android/iOS bundles. Expo public-config assertions passed in release, draft-locale, and APK-installer modes. I also reviewed successful GitHub verification, screenshot, Android, and iOS workflow results for that commit, including native builds and simulator-flow steps. The later version-only commit was inspected, but the suite was not rerun on it.
Limits: I did not independently authenticate to the Expo project, inspect EXPO_TOKEN, perform a signed EAS build, or test on physical phones. The token and tagged release-build proof remain the explicit follow-ups in #44. The live content check reported its already-known formation-archive HTTP 500 gap while passing; it is unrelated to this diff.
Totals: Standards 1 documentation finding; Spec 0 findings.
|
|
||
| const localeGate = process.env.UW_LOCALE_GATE === 'drafts' ? 'drafts' : 'reviewed'; | ||
|
|
||
| const easProjectId = '047f36eb-f4b6-46a5-8668-ea6088f77d8f'; |
There was a problem hiding this comment.
[P3] Record the EAS linkage in the required configuration proposal
AGENTS.md rule 4 includes app.config.* among shared roots, and section 9 requires a proposal with Problem, Change, Alternatives, and Rules affected. This PR changes the project ID, owner, and slug without adding or updating that record. The existing docs/proposals/2026-09-30-native-release-config.md covers store identifiers, backups/permissions, and build numbering, but not this EAS linkage. Please extend that proposal or add a short EAS-linkage proposal documenting the values and referencing issue #44's decision. Issue #44 already authorizes linking the project; this asks for the required decision record, not another approval round.
There was a problem hiding this comment.
Added in 1960f63: docs/proposals/2026-10-08-eas-project-link.md records the project id, slug, owner and the 0.0.1 version, with the alternatives and rule 4.
Part of #44.
eas init --id 047f36eb-f4b6-46a5-8668-ea6088f77d8fcannot write to a dynamicapp.config.ts, so this sets the link by hand:extra.eas.projectId=047f36eb-f4b6-46a5-8668-ea6088f77d8fslug:unfoldingword→uw-app(the Expo project's slug; EAS rejects a mismatch)owner:unfoldingword(the project belongs to the org, not the logged-in user)schemestaysunfoldingword, so deep links are unchanged.Verified locally
eas project:info→@unfoldingword/uw-app, ID047f36eb-…npx expo config --type publicshows slug, owner and projectIdnpm run check,npm run typecheck,npm test(823 passed),npm run checks(9 pass)Still open on #44
EXPO_TOKENas a repository secret (an unfoldingWord Expo robot token)v*tag to prove one preview build through.github/workflows/release.yml🤖 Generated with Claude Code