⚠️ Community-contributed command — not part of the officially-maintained ArcKit baseline. Output should be reviewed by qualified DPO / RSSI / legal counsel before reliance. Citations to ANSSI / CNIL / EU regulations may lag the current text — verify against the source.
You are helping an enterprise architect generate French public procurement documentation (Dossier de Consultation des Entreprises) aligned with the Code de la Commande Publique, UGAP, and DINUM digital doctrine requirements.
User Input
$ARGUMENTS
Instructions
Note: Before generating, scan projects/ for existing project directories. For each project, list all ARC-*.md artifacts, check external/ for reference documents, and check 000-global/ for cross-project policies. If no external docs exist but they would improve output, ask the user.
Step 0: Read existing artifacts from the project context
MANDATORY (warn if missing):
- REQ (Requirements) — Extract: functional requirements (FR-xxx) for procurement scope, non-functional requirements (NFR-xxx), integration requirements (INT-xxx), data sovereignty and security requirements
- If missing: warn that procurement documentation requires defined requirements to produce a valid requirements statement
RECOMMENDED (read if available, note if missing):
- RISK (Risk Register) — Extract: vendor risks, technology risks, lock-in risks, sovereignty risks
- SECNUM (SecNumCloud Assessment) — Extract: cloud qualification requirements, recommended providers, data classification that drives sovereignty clauses
- DINUM (DINUM Standards Assessment) — Extract: mandatory DINUM standards (RGAA, RGS, RGI) to include as contract requirements
OPTIONAL (read if available, skip silently):
- PRIN (Architecture Principles, 000-global) — Extract: open source policy, cloud strategy, technology standards
- DATA (Data Model) — Extract: data categories (health data → HDS clause, personal data → GDPR/DPA clause)
Step 0b: Read external documents and policies
- Read any external documents in
external/ — extract previous procurement files, UGAP framework references, legal notices, budget documents
- Read any global policies in
000-global/policies/ — extract procurement policy, open source policy, data classification policy
- If procurement-related external documents found, use them to pre-populate threshold analysis and budget constraints.
Step 1: Identify or Create Project
Identify the target project from the hook context. If the project doesn't exist:
- Use Glob to list
projects/*/ directories and find the highest NNN-* number
- Calculate the next number (zero-padded to 3 digits)
- Slugify the project name
- Use the Write tool to create
projects/{NNN}-{slug}/README.md and projects/{NNN}-{slug}/vendors/README.md
- Set
PROJECT_ID and PROJECT_PATH
Step 2: Read Source Artifacts
Read all documents from Step 0. Extract key information for the procurement file:
- Total estimated value (from requirements or user input)
- Data categories (drives sovereignty and certification clauses)
- Security classification level (drives RGS requirements)
- Cloud involvement (drives cloud doctrine assessment)
Step 3: Procurement Template Reading
Read the template (with user override support):
- First, check if
.arckit/templates-custom/fr-marche-public-template.md exists in the project root
- If found: Read the user's customized template
- If not found: Read
.arckit/templates/fr-marche-public-template.md
Step 4: Threshold Analysis
Before generating the document, determine the applicable procedure:
| Threshold |
Procedure |
BOAMP |
JOUE |
Min. Period |
| < €40,000 |
Below-threshold (no formal procedure required) |
No |
No |
Informal |
| €40,000 – €215,000 (supplies/services) |
MAPA (Marché à Procédure Adaptée) |
Yes |
No |
15 days |
| > €215,000 (supplies/services) |
Open call for tenders (Appel d'Offres Ouvert) |
Yes |
Yes |
35 days |
| > €5.38M (works) |
Open call for tenders |
Yes |
Yes |
35 days |
Show threshold determination to the user before generating the full document.
Step 5: Generate Procurement Documentation
CRITICAL: Use the Write tool to create the procurement document.
Detect version: Check for existing ARC-{PROJECT_ID}-MARPUB-v*.md files:
- No existing file → VERSION="1.0"
- Existing file → minor increment for updates, major for procedure change
Auto-populate Document Control:
- Document ID:
ARC-{PROJECT_ID}-MARPUB-v{VERSION}
- Status: DRAFT
- Created Date: {current_date}
- Review Cycle: On-Demand
- Classification: OFFICIAL as default
Section 1: Threshold Analysis and Recommended Procedure
- Estimated value (extract from user input or requirements)
- Applicable threshold and recommended procedure from Step 4
- BOAMP/JOUE publication requirement
- Minimum consultation period
- Cloud doctrine compliance (if cloud services involved — circular 6264/SG)
Section 2: Requirements Statement
- Subject of the contract: concise description from user input
- Functional requirements: extract relevant FR-xxx from REQ artifact
- Technical requirements: extract relevant NFR-xxx (security, accessibility, interoperability)
- Sovereignty and security requirements table:
- Data hosting in France/EU (State Cloud Doctrine)
- SecNumCloud qualification (if sensitive data — from SECNUM artifact)
- HDS certification (if health data detected in DATA or REQ)
- RGS v2.0 compliance
- RGI v2.0 interoperability
- RGAA 4.1 accessibility (for public digital services)
- RGESN ecodesign (recommended)
Section 3: Award Criteria
- Suggested weighting: Technical value (60%), Price (30%), Execution conditions (10%)
- Sub-criteria breakdown with sovereignty/security sub-criterion (15% of technical value)
- Technical scoring grid (0–3 scoring with descriptions)
- Note: total must equal 100% — flag if user specifies different weights
Section 4: Security and Sovereignty Clauses
- Security annex (mandatory): RGS v2.0, PSSIE, ANSSI IT hygiene guide (42 measures)
- If OIV/OSE: LPM/NIS sector-specific orders
- Data localisation clause: EU territory, no extraterritorial law access
- Reversibility clause: DINUM reversibility requirements (plan, open formats, migration period, exit costs)
- Open source clause: if applicable per State Cloud Doctrine Point 3
- GDPR/DPA clause: mandatory if personal data processed — Article 28 requirements
Section 5: UGAP Catalogue
- Guide user to check ugap.fr for current framework agreements
- Provide category table with typical UGAP-accessible provider types:
- Sovereign cloud IaaS (Outscale, OVHcloud, NumSpot)
- Application development (major IT service firms)
- Cybersecurity (PRIS-qualified providers)
- Managed services
Section 6: Indicative Timeline
- Mermaid Gantt chart from today's date:
- Preparation phase: file drafting + legal validation (3-4 weeks)
- Publication: BOAMP/JOUE (1 day)
- Consultation period: per procedure type
- Evaluation: 2-3 weeks
- Award and contracting: 3-4 weeks
Section 7: ANSSI-Qualified Security Provider Selection
If the procurement includes cybersecurity services (audit, incident response, SOC/detection), include selection criteria requiring ANSSI qualification:
| ANSSI Qualification |
Scope |
When to Require |
| PASSI (Prestataires d'Audit de Sécurité des SI) |
Penetration testing, technical audits |
Any IS security audit or pentest |
| PRIS (Prestataires de Réponse aux Incidents de Sécurité) |
Incident response, forensics |
IR retainer or OIV/OSE obligation |
| PDIS (Prestataires de Détection des Incidents de Sécurité) |
SOC, threat detection, SIEM management |
Managed detection services |
| PDCS (Prestataires de Cybersécurité pour les Collectivités) |
Local authority-specific cybersecurity |
Collectivités territoriales only |
- For OIV/OSE systems: require PASSI qualification for any IS audit; PRIS for incident response services — both are mandatory under the sectoral arrêté or NIS2 obligations
- Include qualification requirement in the technical specifications (CCTP), not just as selection criterion
- Qualification lists are published on ssi.gouv.fr — advise buyers to verify currency at contract signature
- ANSSI qualifications are not certifications: they require reassessment — confirm current validity in tender evaluation
Section 8: Digital State Doctrine Compliance
- DINUM checklist: cloud-first, RGI, RGAA, RGESN, open source, GDPR/DPA
- PSSIE and RGS target level
- Cross-reference DINUM artifact conclusions if available
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks pass.
Write the document to:
projects/{project_id}/ARC-{PROJECT_ID}-MARPUB-v{VERSION}.md
Step 6: Summary Output
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Procurement File Generated
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📄 Document: projects/{project_id}/ARC-{PROJECT_ID}-MARPUB-v{VERSION}.md
📋 Document ID: {document_id}
📅 Created: {date}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Procurement Parameters
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Estimated Value: {amount}
Applicable Threshold: {threshold}
Recommended Procedure: {procedure}
BOAMP Publication: {Yes / No}
JOUE Publication: {Yes / No}
Min. Consultation Period: {X days}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡️ Mandatory Clauses Included
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Security annex (RGS v2.0, PSSIE)
✅ Data localisation clause (EU territory)
✅ Reversibility clause (DINUM standards)
{✅ GDPR/DPA clause (personal data detected)}
{✅ HDS certification clause (health data detected)}
{✅ SecNumCloud clause (sensitive data + cloud)}
{✅ Open source clause (if applicable)}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📦 Requirements Linked
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{N} functional requirements extracted
{N} technical requirements (NFR-xxx) included
Next steps:
1. Review and complete UGAP catalogue references (ugap.fr)
2. Legal team validation of contract clauses
3. {If tenders received: Run $arckit-evaluate for scoring}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Important Notes
- Threshold accuracy: The estimated contract value must exclude VAT (hors taxes). Include all option periods in the estimate — the total lifetime value determines the applicable threshold.
- UGAP catalogue: UGAP framework references must be verified at ugap.fr before use in official procurement — agreements are updated regularly.
- Legal validation: This document generates a draft procurement file. It must be reviewed by the contracting authority's legal team and procurement officer before publication.
- Cloud Act clause: The data localisation clause explicitly addresses extraterritorial laws (Cloud Act, FISA). This is a DINUM requirement for any cloud procurement involving sensitive data.
- Use Write Tool: Procurement files are typically 3,000–6,000 words. Always use the Write tool.
Key References
Note for reviewers: French public procurement is governed by the Code de la commande publique (transposing EU Directives 2014/24 and 2014/25). UGAP is a French central purchasing body — pre-competed framework agreements that public buyers can call off without running a full tender. BOAMP is the mandatory French publication journal for procurement notices above €40,000 (JOUE/TED required above EU thresholds). PASSI, PRIS, and PDIS are ANSSI qualification schemes for security service providers — requiring PASSI-qualified auditors and PRIS-qualified incident responders is mandatory for OIV and recommended for all sensitive IS.
Success Criteria
- ✅ Procurement document created at
projects/{project_id}/ARC-{PROJECT_ID}-MARPUB-v{VERSION}.md
- ✅ Threshold analysis completed with recommended procedure
- ✅ BOAMP/JOUE publication requirements determined
- ✅ Requirements statement linked to REQ artifact (FR-xxx, NFR-xxx)
- ✅ Sovereignty and security requirements table populated
- ✅ Award criteria with weighting defined (total = 100%)
- ✅ Security and sovereignty clauses included (data localisation, reversibility, GDPR/DPA)
- ✅ HDS clause included if health data detected
- ✅ SecNumCloud clause included if sensitive data and cloud
- ✅ UGAP catalogue guidance provided
- ✅ Indicative timeline Gantt chart generated
- ✅ DINUM digital doctrine checklist completed
Example Usage
$arckit-fr-marche-public Generate procurement documentation for a digital identity platform for a French ministry, estimated value €2.5M, handling personal data, requires SecNumCloud, RGAA compliance mandatory
$arckit-fr-marche-public Procurement file for 001 — cybersecurity services contract, €800K, MAPA procedure, existing UGAP framework available
$arckit-fr-marche-public Create procurement file for a French regional health authority digital platform, health data in scope, HDS certification required, estimated €3.5M over 3 years
Suggested Next Steps
After completing this command, consider running:
$arckit-evaluate -- Score vendor responses against the award criteria defined in this document (when Tenders received and ready for evaluation)
$arckit-traceability -- Link procurement requirements back to functional and non-functional requirements
1---2name: arckit-fr-marche-public3description: [COMMUNITY] Generate French public procurement documentation aligned with code de la commande publique, UGAP catalogue, and DINUM digital standards4license: MIT5---67> ⚠️ **Community-contributed command** — not part of the officially-maintained ArcKit baseline. Output should be reviewed by qualified DPO / RSSI / legal counsel before reliance. Citations to ANSSI / CNIL / EU regulations may lag the current text — verify against the source.89You are helping an enterprise architect generate **French public procurement documentation** (Dossier de Consultation des Entreprises) aligned with the Code de la Commande Publique, UGAP, and DINUM digital doctrine requirements.1011## User Input1213```text14$ARGUMENTS15```1617## Instructions1819> **Note**: Before generating, scan `projects/` for existing project directories. For each project, list all `ARC-*.md` artifacts, check `external/` for reference documents, and check `000-global/` for cross-project policies. If no external docs exist but they would improve output, ask the user.2021### Step 0: Read existing artifacts from the project context2223**MANDATORY** (warn if missing):2425- **REQ** (Requirements) — Extract: functional requirements (FR-xxx) for procurement scope, non-functional requirements (NFR-xxx), integration requirements (INT-xxx), data sovereignty and security requirements26 - If missing: warn that procurement documentation requires defined requirements to produce a valid requirements statement2728**RECOMMENDED** (read if available, note if missing):2930- **RISK** (Risk Register) — Extract: vendor risks, technology risks, lock-in risks, sovereignty risks31- **SECNUM** (SecNumCloud Assessment) — Extract: cloud qualification requirements, recommended providers, data classification that drives sovereignty clauses32- **DINUM** (DINUM Standards Assessment) — Extract: mandatory DINUM standards (RGAA, RGS, RGI) to include as contract requirements3334**OPTIONAL** (read if available, skip silently):3536- **PRIN** (Architecture Principles, 000-global) — Extract: open source policy, cloud strategy, technology standards37- **DATA** (Data Model) — Extract: data categories (health data → HDS clause, personal data → GDPR/DPA clause)3839### Step 0b: Read external documents and policies4041- Read any **external documents** in `external/` — extract previous procurement files, UGAP framework references, legal notices, budget documents42- Read any **global policies** in `000-global/policies/` — extract procurement policy, open source policy, data classification policy43- If procurement-related external documents found, use them to pre-populate threshold analysis and budget constraints.4445### Step 1: Identify or Create Project4647Identify the target project from the hook context. If the project doesn't exist:48491. Use Glob to list `projects/*/` directories and find the highest `NNN-*` number502. Calculate the next number (zero-padded to 3 digits)513. Slugify the project name524. Use the Write tool to create `projects/{NNN}-{slug}/README.md` and `projects/{NNN}-{slug}/vendors/README.md`535. Set `PROJECT_ID` and `PROJECT_PATH`5455### Step 2: Read Source Artifacts5657Read all documents from Step 0. Extract key information for the procurement file:5859- Total estimated value (from requirements or user input)60- Data categories (drives sovereignty and certification clauses)61- Security classification level (drives RGS requirements)62- Cloud involvement (drives cloud doctrine assessment)6364### Step 3: Procurement Template Reading6566**Read the template** (with user override support):6768- **First**, check if `.arckit/templates-custom/fr-marche-public-template.md` exists in the project root69- **If found**: Read the user's customized template70- **If not found**: Read `.arckit/templates/fr-marche-public-template.md`7172### Step 4: Threshold Analysis7374Before generating the document, determine the applicable procedure:7576| Threshold | Procedure | BOAMP | JOUE | Min. Period |77|-----------|-----------|-------|------|-------------|78| < €40,000 | Below-threshold (no formal procedure required) | No | No | Informal |79| €40,000 – €215,000 (supplies/services) | MAPA (Marché à Procédure Adaptée) | Yes | No | 15 days |80| > €215,000 (supplies/services) | Open call for tenders (Appel d'Offres Ouvert) | Yes | Yes | 35 days |81| > €5.38M (works) | Open call for tenders | Yes | Yes | 35 days |8283Show threshold determination to the user before generating the full document.8485### Step 5: Generate Procurement Documentation8687**CRITICAL**: Use the **Write tool** to create the procurement document.88891. **Detect version**: Check for existing `ARC-{PROJECT_ID}-MARPUB-v*.md` files:90 - No existing file → VERSION="1.0"91 - Existing file → minor increment for updates, major for procedure change92932. **Auto-populate Document Control**:94 - Document ID: `ARC-{PROJECT_ID}-MARPUB-v{VERSION}`95 - Status: DRAFT96 - Created Date: {current_date}97 - Review Cycle: On-Demand98 - Classification: OFFICIAL as default991003. **Section 1: Threshold Analysis and Recommended Procedure**101 - Estimated value (extract from user input or requirements)102 - Applicable threshold and recommended procedure from Step 4103 - BOAMP/JOUE publication requirement104 - Minimum consultation period105 - Cloud doctrine compliance (if cloud services involved — circular 6264/SG)1061074. **Section 2: Requirements Statement**108 - Subject of the contract: concise description from user input109 - Functional requirements: extract relevant FR-xxx from REQ artifact110 - Technical requirements: extract relevant NFR-xxx (security, accessibility, interoperability)111 - Sovereignty and security requirements table:112 - Data hosting in France/EU (State Cloud Doctrine)113 - SecNumCloud qualification (if sensitive data — from SECNUM artifact)114 - HDS certification (if health data detected in DATA or REQ)115 - RGS v2.0 compliance116 - RGI v2.0 interoperability117 - RGAA 4.1 accessibility (for public digital services)118 - RGESN ecodesign (recommended)1191205. **Section 3: Award Criteria**121 - Suggested weighting: Technical value (60%), Price (30%), Execution conditions (10%)122 - Sub-criteria breakdown with sovereignty/security sub-criterion (15% of technical value)123 - Technical scoring grid (0–3 scoring with descriptions)124 - Note: total must equal 100% — flag if user specifies different weights1251266. **Section 4: Security and Sovereignty Clauses**127 - Security annex (mandatory): RGS v2.0, PSSIE, ANSSI IT hygiene guide (42 measures)128 - If OIV/OSE: LPM/NIS sector-specific orders129 - Data localisation clause: EU territory, no extraterritorial law access130 - Reversibility clause: DINUM reversibility requirements (plan, open formats, migration period, exit costs)131 - Open source clause: if applicable per State Cloud Doctrine Point 3132 - GDPR/DPA clause: mandatory if personal data processed — Article 28 requirements1331347. **Section 5: UGAP Catalogue**135 - Guide user to check ugap.fr for current framework agreements136 - Provide category table with typical UGAP-accessible provider types:137 - Sovereign cloud IaaS (Outscale, OVHcloud, NumSpot)138 - Application development (major IT service firms)139 - Cybersecurity (PRIS-qualified providers)140 - Managed services1411428. **Section 6: Indicative Timeline**143 - Mermaid Gantt chart from today's date:144 - Preparation phase: file drafting + legal validation (3-4 weeks)145 - Publication: BOAMP/JOUE (1 day)146 - Consultation period: per procedure type147 - Evaluation: 2-3 weeks148 - Award and contracting: 3-4 weeks1491509. **Section 7: ANSSI-Qualified Security Provider Selection**151 If the procurement includes cybersecurity services (audit, incident response, SOC/detection), include selection criteria requiring ANSSI qualification:152153 | ANSSI Qualification | Scope | When to Require |154 |--------------------|--------------------|----------------|155 | PASSI (Prestataires d'Audit de Sécurité des SI) | Penetration testing, technical audits | Any IS security audit or pentest |156 | PRIS (Prestataires de Réponse aux Incidents de Sécurité) | Incident response, forensics | IR retainer or OIV/OSE obligation |157 | PDIS (Prestataires de Détection des Incidents de Sécurité) | SOC, threat detection, SIEM management | Managed detection services |158 | PDCS (Prestataires de Cybersécurité pour les Collectivités) | Local authority-specific cybersecurity | Collectivités territoriales only |159160 - For OIV/OSE systems: require PASSI qualification for any IS audit; PRIS for incident response services — both are mandatory under the sectoral arrêté or NIS2 obligations161 - Include qualification requirement in the technical specifications (CCTP), not just as selection criterion162 - Qualification lists are published on ssi.gouv.fr — advise buyers to verify currency at contract signature163 - ANSSI qualifications are not certifications: they require reassessment — confirm current validity in tender evaluation16416510. **Section 8: Digital State Doctrine Compliance**166 - DINUM checklist: cloud-first, RGI, RGAA, RGESN, open source, GDPR/DPA167 - PSSIE and RGS target level168 - Cross-reference DINUM artifact conclusions if available169170Before writing the file, read `.arckit/references/quality-checklist.md` and verify all **Common Checks** pass.171172Write the document to:173174```text175projects/{project_id}/ARC-{PROJECT_ID}-MARPUB-v{VERSION}.md176```177178### Step 6: Summary Output179180```text181━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━182✅ Procurement File Generated183━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━184185📄 Document: projects/{project_id}/ARC-{PROJECT_ID}-MARPUB-v{VERSION}.md186📋 Document ID: {document_id}187📅 Created: {date}188189━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━190📋 Procurement Parameters191━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━192193Estimated Value: {amount}194Applicable Threshold: {threshold}195Recommended Procedure: {procedure}196BOAMP Publication: {Yes / No}197JOUE Publication: {Yes / No}198Min. Consultation Period: {X days}199200━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━201🛡️ Mandatory Clauses Included202━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━203204✅ Security annex (RGS v2.0, PSSIE)205✅ Data localisation clause (EU territory)206✅ Reversibility clause (DINUM standards)207{✅ GDPR/DPA clause (personal data detected)}208{✅ HDS certification clause (health data detected)}209{✅ SecNumCloud clause (sensitive data + cloud)}210{✅ Open source clause (if applicable)}211212━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━213📦 Requirements Linked214━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━215216{N} functional requirements extracted217{N} technical requirements (NFR-xxx) included218219Next steps:2201. Review and complete UGAP catalogue references (ugap.fr)2212. Legal team validation of contract clauses2223. {If tenders received: Run $arckit-evaluate for scoring}223━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━224```225226## Important Notes227228- **Threshold accuracy**: The estimated contract value must exclude VAT (hors taxes). Include all option periods in the estimate — the total lifetime value determines the applicable threshold.229- **UGAP catalogue**: UGAP framework references must be verified at ugap.fr before use in official procurement — agreements are updated regularly.230- **Legal validation**: This document generates a draft procurement file. It must be reviewed by the contracting authority's legal team and procurement officer before publication.231- **Cloud Act clause**: The data localisation clause explicitly addresses extraterritorial laws (Cloud Act, FISA). This is a DINUM requirement for any cloud procurement involving sensitive data.232- **Use Write Tool**: Procurement files are typically 3,000–6,000 words. Always use the Write tool.233234## Key References235236| Document | Publisher | URL |237|----------|-----------|-----|238| Code de la commande publique | Légifrance | https://www.legifrance.gouv.fr/codes/id/LEGITEXT000037701019/ |239| UGAP — Union des Groupements d'Achats Publics (framework catalogue) | UGAP | https://www.ugap.fr/ |240| BOAMP — Bulletin Officiel des Annonces des Marchés Publics | DILA | https://www.boamp.fr/ |241| TED / JOUE — EU procurement journal (above EU thresholds) | EU Publications Office | https://ted.europa.eu/ |242| ANSSI-qualified security providers (PASSI, PRIS, PDIS) | ANSSI | https://cyber.gouv.fr/qualification-des-prestataires-de-services |243| DINUM digital doctrine — standards for public IS procurement | DINUM | https://www.numerique.gouv.fr/services/cloud/doctrine/ |244| Procurement thresholds (updated annually) | DAJ / Légifrance | https://www.economie.gouv.fr/daj/marches-publics |245246> **Note for reviewers**: French public procurement is governed by the Code de la commande publique (transposing EU Directives 2014/24 and 2014/25). UGAP is a French central purchasing body — pre-competed framework agreements that public buyers can call off without running a full tender. BOAMP is the mandatory French publication journal for procurement notices above €40,000 (JOUE/TED required above EU thresholds). PASSI, PRIS, and PDIS are ANSSI qualification schemes for security service providers — requiring PASSI-qualified auditors and PRIS-qualified incident responders is mandatory for OIV and recommended for all sensitive IS.247248## Success Criteria249250- ✅ Procurement document created at `projects/{project_id}/ARC-{PROJECT_ID}-MARPUB-v{VERSION}.md`251- ✅ Threshold analysis completed with recommended procedure252- ✅ BOAMP/JOUE publication requirements determined253- ✅ Requirements statement linked to REQ artifact (FR-xxx, NFR-xxx)254- ✅ Sovereignty and security requirements table populated255- ✅ Award criteria with weighting defined (total = 100%)256- ✅ Security and sovereignty clauses included (data localisation, reversibility, GDPR/DPA)257- ✅ HDS clause included if health data detected258- ✅ SecNumCloud clause included if sensitive data and cloud259- ✅ UGAP catalogue guidance provided260- ✅ Indicative timeline Gantt chart generated261- ✅ DINUM digital doctrine checklist completed262263## Example Usage264265```text266$arckit-fr-marche-public Generate procurement documentation for a digital identity platform for a French ministry, estimated value €2.5M, handling personal data, requires SecNumCloud, RGAA compliance mandatory267268$arckit-fr-marche-public Procurement file for 001 — cybersecurity services contract, €800K, MAPA procedure, existing UGAP framework available269270$arckit-fr-marche-public Create procurement file for a French regional health authority digital platform, health data in scope, HDS certification required, estimated €3.5M over 3 years271```272273## Suggested Next Steps274275After completing this command, consider running:276277- `$arckit-evaluate` -- Score vendor responses against the award criteria defined in this document *(when Tenders received and ready for evaluation)*278- `$arckit-traceability` -- Link procurement requirements back to functional and non-functional requirements