@lssm-tech/example.app-submission-readiness-mobile-proofexample.app-submission-readiness-mobile-proof
Deterministic ReviewReady proof that audits the real brownfield Expo app packages/apps/mobile-monolith.
@lssm-tech/example.app-submission-readiness-mobile-proofSource, release and verification context
Source snapshot bcc79fcc · Declared package version 0.2.6. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.
See where this package fits.
Follow a declared connection, inspect an import, then open the source guide when you need the detail.
Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.
@lssm-tech/example.app-submission-readiness-mobile-proof
Deterministic ReviewReady proof that audits the real Expo app at
packages/apps/mobile-monolith and emits a stable readiness report.
This proves ReviewReady works on a real brownfield mobile app, not a toy fixture: the proof reads and parses the actual mobile-monolith source files from disk at run time, maps them into the runtime's audit input, and runs
@lssm-tech/lib.app-submission-readiness-runtime. If the real app config changes, the parsers pick it up and the inline expected values in the test will catch the drift.
Real files it reads
parse-mobile-monolith.ts reads these files via node:fs (no Expo execution, no mutation):
| Source file | Parsed signal |
|---|---|
app.config.js |
app name ContractSpec, version 0.1.1, native identifiers, legal URLs, encryption posture, and Expo ios.privacyManifests |
eas.json |
credential-free submit.production posture |
assets/{icon,adaptive-icon,splash-icon}.png |
asset presence detection |
The Expo config is parsed as source text without executing the application or requiring generated native projects.
Honest gaps surface as findings
Declared-in-repo items are pass; genuinely absent submission materials become real findings:
legal.account-deletion— no account-deletion URL in the Expo config.assets.screenshots.store—assets/holds only icon/adaptive-icon/splash.review.google.dataSafety— no Google Play Data Safety answers in repo.
Deterministic outcome
Fixed checkedAt = 2026-06-07T00:00:00.000Z, fixed ids, no Date.now() /
Math.random(). Current real audit outcome:
- decision:
blocked - score:
60 - findings:
3 - stores:
apple-app-store,google-play(store: "both")
Usage
import {
buildMobileMonolithReadinessReport,
describeMobileMonolithProof,
} from "@lssm-tech/example.app-submission-readiness-mobile-proof";
console.log(describeMobileMonolithProof());
const { report } = buildMobileMonolithReadinessReport();
console.log(report.decision, report.score);Verify
cd examples/app-submission-readiness-mobile-proof
tsgo --noEmit
bun testThe proof asserts: real parsed values, real findings for absent materials, deterministic deep-equality across two runs, no secret-like strings in the serialized report, and inline expected decision/score/finding ids.
Declared capabilities.
This manifest does not declare a capability catalogue. Use the guide, import map and source to assess the package.
Imports and export paths.
1 entriesThese are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.
1 import
No export paths match this search.
Dependencies and related packages.
Runtime dependencies 2
- @lssm-tech/lib.contracts-spec
- workspace:*
Development dependencies 4
- @lssm-tech/tool.bun
- workspace:*
- @lssm-tech/tool.typescript
- workspace:*
- @types/bun
- catalog:types
- typescript
- catalog:
Package scripts.
Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.
bun testtsgo --noEmitbun lint:fixnode ../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../scripts/biome.cjs check --write .node ../../scripts/biome.cjs check .