إنتقل إلى المحتوى الرئيسي

ADR 0010 — CCF tree is inventory, not a package cut

Status: accepted
Date: 2026-09-20
Completes: WP-10

Context​

AFIA-resources/arborescence.pdf lists 15 CCF modules and hundreds of screens. Stitch zips for the five priority modules are in AFIA-resources. ADR 0002 already mapped those five Stitch projects to four backend packages plus identity. A later agent could treat each CCF module as a Java package or a Flutter app.

Decision​

The CCF tree is a screen catalog. It does not change bounded contexts.

  • Modules 01 through 05 are horizon=now. Their screens live in manifest/ccf-tree.tsv.
  • Modules 06 through 15 are horizon=later. They have no work package and no Java package.
  • Imaging and lab stay health.afia.app.diagnostics with kind. The client is one afia-app diagnostics shell.
  • Hubs and international screens that sit under Admin in the PDF stay Admin IA. They do not create a Hubs package.
  • A zip folder is recorded only when that folder exists and contains screen.png. A CCF name with no zip match stays empty. Do not invent screens.

F-01 (consult a clinician) is no longer stitch-blocked. The Patient zip contains recherche_de_m_decin_mobile_afia.

Consequences​

  • Product pages stay situation guides for the five roles plus account.
  • Later modules appear under Tech and Agent only.
  • python3 ai-agent/scripts/list-ccf-zips.py --write refreshes the TSV. The pack checker fails if a now-row is missing or a later-row claims a zip or a work package.
  • Feature code still waits for an explicit ask and for WP-00.
  • Jira release labels for this inventory cut are defined in ADR 0014 (Now ↔ v1, Later ↔ v2).