Command Dependency Matrix
Complete dependency map for all 24 G-Cloud Kit workflow commands (26 total including init and pages), showing what each command reads, writes, and requires.
Files Read by Each Command
R = Required (command will error without it) | o = Optional (reads if present, proceeds without)
| Command | supplier-profile | service-design | sdd | pricing | security | declaration | sfia-skills | compliance-fw | spend-data | urns | merges | tender-intel | template |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| supplier-profile | supplier-profile-template | ||||||||||||
| service-design | R | service-design-template | |||||||||||
| sdd-lot1 | R | R | sdd-lot1-template | ||||||||||
| sdd-lot2 | R | R | sdd-lot2-template | ||||||||||
| sdd-lot3 | R | R | R | sdd-lot3-template | |||||||||
| pricing | R | o | pricing-template | ||||||||||
| security | R | R | o | security-template | |||||||||
| declaration | R | declaration-template | |||||||||||
| review | R | R | R | o | o | o | |||||||
| compare | R | o | o | o | |||||||||
| tenders | o | R | o | tenders-template | |||||||||
| submission-pack | R | R | R | R | R | R | |||||||
| story | R | o | o | o | o | o | story-template | ||||||
| sales | R | sales-analysis-template | |||||||||||
| marketplace-data | |||||||||||||
| customer | R | R | |||||||||||
| targets | R | R | o | o | |||||||||
| marketing | R | R | o | marketing-template | |||||||||
| customize | |||||||||||||
| plan | o | o | o | o | o | o | plan-template | ||||||
| health | o | o | o | o | o | o | |||||||
| diagram | o | R | o | ||||||||||
| dpia | R | R | R | o | R | dpia-template | |||||||
| presentation | R | o | R | o | o | presentation-template |
tender-intel = services/{NNN}-{name}/tender-intel.md, produced by /gcloud-kit:tenders. Every consumer reads it as a soft dependency — it enriches the output when present and is silently skipped when absent.
Files Written by Each Command
| Command | Output |
|---|---|
| supplier-profile | services/supplier/supplier-profile.md |
| service-design | services/{NNN}-{name}/service-design.md |
| sdd-lot1 | services/{name}/sdd.md |
| sdd-lot2 | services/{name}/sdd.md |
| sdd-lot3 | services/{name}/sdd.md |
| pricing | services/{name}/pricing.md |
| security | services/{name}/security.md |
| declaration | services/supplier/declaration.md |
| review | services/{name}/review-report.md |
| compare | services/{name}/competitor-analysis.md |
| tenders | services/{name}/tender-intel.md |
| submission-pack | services/{name}/submission/{checklist,guide,answers-export}.md |
| story | SUBMISSION-STORY.md |
| sales | .gcloud/market-analysis/sales-analysis.md |
| marketplace-data | .gcloud/market-analysis/marketplace-stats.md, services/{name}/market-analysis/{competitors,keywords}.md |
| customer | Console output only |
| targets | Console/file output |
| marketing | services/{name}/marketing/{press-release,social-media,blog-post,email-templates,content-calendar}.md |
| customize | .gcloud/templates/{name}-template.md |
| plan | SUBMISSION-PLAN.md |
| health | Console + docs/health.json |
| diagram | services/{name}/diagrams.md |
| dpia | services/{name}/dpia.md |
| presentation | PRESENTATION.md (portfolio) or services/{name}/presentation.md (per-service) |
Command Dependency Chain
supplier-profile ──┬──→ service-design ──┬──→ sdd-lot1/2/3 ──┬──→ pricing
│ │ ├──→ security
│ │ ├──→ compare (optional SDD + tender-intel)
│ │ ├──→ tenders (optional SDD) ┄┄→ feeds pricing/compare/targets
│ │ ├──→ marketing (optional SDD)
│ │ ├──→ dpia (requires SDD + security optional)
│ │ └──→ presentation (requires SDD)
│ │
│ ├──→ diagram (requires design, optional SDD)
│ │
├──→ declaration │
│ │
└──→ story └──→ review ──→ submission-pack
(scans all) (reads all) (requires all)
Scans existing (no hard requirements):
plan ──────────── scans all artifacts, generates timeline
health ────────── scans all artifacts, checks completeness
Independent (no project file dependencies):
customize ─────── copies plugin templates to .gcloud/templates/
sales ─────────── uses spend-data CSV only
marketplace-data ─ uses external marketplace dataset
customer ───────── uses URN + merge CSVs only
targets ────────── uses URN + spend-data CSVs (optionally enriched by tender-intel)
Key Observations
- supplier-profile is the root dependency — 13 of 24 workflow commands read it.
- service-design is the second gate — all per-service commands require it.
- submission-pack is the strictest — it requires all 6 documents (profile, declaration, design, SDD, pricing, security).
- Six commands are fully independent (customize, sales, marketplace-data, customer, targets) or scan-only (plan, health) — they can run at any time.
- security reads the SDD but doesn't hard-fail without it (uses
2>/dev/null), making it optional. - sdd-lot3 is the only SDD command that also reads reference data (sfia-skills.md).
- dpia is the most context-rich per-service command — reads 4 artifacts plus compliance-frameworks.md reference.
- presentation works at both portfolio and per-service level.
- All commands now consistently use
services/supplier/supplier-profile.mdfor the supplier profile path. - tenders is a producer whose
tender-intel.mdartefact is a soft input to pricing (awarded-value price anchor), compare (real competitor award evidence), and targets (live award-active buyers) — each degrades gracefully when it is absent.