Source traceability
Every section of the cahier des charges mapped to requirement ids, screens and the pages that cover it, the list of team additions with their rationale, and how traceability is kept when the cahier is revised.
The source is the Cahier des charges — Écosystème B2B HOCO, version 1.0, July 2026 (40 pages, 16 reference screens). Each requirement in requirements.json carries a source field citing a cahier section (cahier §4.4), a reference screen, or a team decision. The table below reads the other way round: from each section of the cahier to what implements it. Requirement lists are generated from the source fields; screens are those whose requirements implement the section.
Section by section
Coverage
- Every requirement cites a source. All 194 requirements have a
source; 186 cite at least one cahier section or reference screen (6 of them together with a team decision) and 8 cite only a team decision — all listed below. - Every cahier section has an owner. Sections without a requirement of their own (cover, §1.1–§1.2, the validation sheet) are covered by the PRD, the scope and the change-control process.
- Every requirement is planned, except three: GEO-04 (geocoding,
COULD) and NOT-05 (automatic order notifications,MUST) have no task listing them — NOT-05 is delivered by the notification infrastructure and the orders module (SRV-08, SRV-16) and should be added to theirsrslists; CRM-13 (merge tool, V2COULD) is not planned.
Team additions
Items not literally in the cahier, added by the team and presented to HOCO with the baseline. They are not change requests while HOCO validates them at the cadrage; refused ones are removed.
| Addition | Requirements | Rationale |
|---|---|---|
| Reseller web app, in V1 and deployed before the pilot | RWA-01, RWA-02 | iPhone users and desk-based resellers can order without iOS apps; same API and rules, no extra backend |
| Guest browsing without prices | AUTH-10 | Prospects discover the catalog before signing up; prices stay private |
| Customer type and three prices per variant (replacing segment price lists and quantity tiers in V1) | AUTH-11, PRC-01, PRC-02 | Matches how HOCO sells (super-gros, demi-gros, détail); simpler than price lists; agreements in V2 |
| Advanced filters and attributes | CAT-12, CAT-13 | Hundreds of similar accessories need filtering by power, connector, length… |
| Availability only, never quantities | STK-07 | HOCO's choice among the cahier's options (§4.3) |
| Explicit confirmation of every order, with a queue | ORD-14 | Makes cahier §4.4 « Validation » explicit; no unattended order reaches the warehouse |
| Live order status for resellers | ORD-15 | Cahier §5.4 and §12 ask for dated, notified changes visible in the app |
| Returns, credit notes and after-sales in V1 | ORD-13, SUP-04, FIN-08 | Defective and wrong items are frequent with accessories; restocking must be exact |
| Regional WhatsApp support | SUP-05, ADM-08 | Resellers already use WhatsApp; regional teams answer faster |
| Account claim by phone | AUTH-05 | Mechanism behind cahier §6.5–§6.6: a field prospect becomes an account without a duplicate |
| Payment declaration with proof | FIN-03 | CCP and BaridiMob offer no confirmation API (cahier §4.7 lists the methods) |
| Server-side cart shared across devices | ORD-01 | Needed once the web and the app share an account |
| Minimum app version, maintenance mode | AUTH-09, ADM-07 | Keeps old app versions from breaking business rules |
| Real-time streams, idempotency, sync centre | SYN-05, SYN-07, DA-27 | Implementation of cahier §7.3 and « en temps réel » (§6.4) |
| Account deletion requests and anonymisation | BR-85 | Google Play policy for apps that create accounts, Law 18-07 |
Keeping traceability when the cahier changes
- Version the source. Each cahier version HOCO issues (v1.1, v2.0…) is stored with its text extraction in the project's shared folder and referenced here with its date;
requirements.jsonrecords it ingeneratedFrom. - Diff, section by section. Extract the text of the new version (one block per section, as for v1.0), compare it with the previous one and list the sections added, changed or removed.
- Assess each change. For every changed section: update this table; add, change or retire requirements — ids are never reused, a retired requirement is removed only through a change request and noted in its pull request; update the screens and operations that cite it; check the business rules and lifecycles that quote the cahier.
- Route scope changes through change control. Anything that adds or changes scope after the cadrage is a change request with its impact on the plan (process); a pure rewording only updates the citations.
- Re-run the checks. Every requirement keeps a source; every section keeps at least one owner; every screen, operation and task references existing requirement ids (the team runs this cross-reference check on the JSON files in CI).
- Bump the baseline. The
versionof the spec files moves (0.1.0 → 0.2.0…) and the SRS index states the new counts.
Glossary
French ↔ English glossary of the business, administrative, project and technical terms used in the cahier and across the HOCO docs.
Lifecycles and statuses
Every status machine of the platform — values, diagram, allowed transitions with actors, guards, side effects and the API operation that performs them.