Skip to content
Ritesh FirodiyaGet in touch

Work / Imposter / Wiki / Decisions

2026-10-02-context-migrated-to-the-ten-folder-standard

Decisioncanonicalverified 2026-10-02

DECISION.2026-10-02.CONTEXT-MIGRATED-TO-THE-TEN-FOLDER-STANDARD

Decision

.context/ follows the estate standard in ~/git/products/CLAUDE.md: ten folders, one job each, with README.md and tasks.md the only files at its root. documents/, the root STATUS.md and SETUP.md, and store.config.json are gone.

Why

imposter was the last of the store apps still on the old layout. It shares play-upload.mjs and release-android.mjs with charades, askcal, tic-tac-toe and aakalan, and a shared file only pays off once every copy matches — its uploader was three weeks behind and still read the old paths.

Three things the old layout was hiding:

  • STATUS.md was twelve days stale. It said iOS was TestFlight-only on build 8 and Play was on bundle 3. The stores said 1.0.1 build 10 was in review and Play alpha was on bundle 4.
  • The App Store listing had two sources. store.config.json held the text and the live listing had been corrected past it: the privacy and support URLs point at ritvi-apps.github.io live and at ritesh-firodiya.github.io in the file. Nothing could show that until fastlane deliver download_metadata made it a diff.
  • Nothing said what the next action was. The blockers were prose in a status file, with no order and no date to check them again.

Impact

  • The Apple listing has one source, .context/listing/ios/, and fastlane/Deliverfile now pushes text as well as screenshots. The live URLs were kept; eas metadata:push is no longer used.
  • Both long descriptions come from one block in .context/listing/listing.md.
  • scripts/asc-submit.mjs reads the purchase's review screenshot from .context/listing/ios/iap/.
  • The age rating is .context/listing/ios/metadata/app_rating_config.json, written from the live record. It matched the old advisory block on every key the two share.
  • scripts/check-ota-safe.mjs stays imposter's own copy: it blocks an OTA from an untagged repo, which charades' copy does not do yet.
  • pnpm check:listing and pnpm check:designs run in pr-check.yml. The design check is advisory until its last failure is decided.
  • What is sold is recorded in pro-purchase.

Not done by this change: the goldie store capture. The sixteen store screenshots are still hand-captured.

Status

Active

Sources

  • ~/git/products/CONTEXT-MIGRATION.md
  • The root STATUS.md and SETUP.md as they stood on main before the move

Every project of mine is written down like this.

Read the résumé