Skip to content

feat(uk-gcloud)!: port the arckit-uk-gcloud overlay to G-Cloud 15 - #919

Merged
tractorjuice merged 20 commits into
mainfrom
feat/uk-gcloud-g15
Oct 8, 2026
Merged

tractorjuice merged 20 commits into
mainfrom
feat/uk-gcloud-g15

Conversation

@tractorjuice

Copy link
Copy Markdown
Owner

Summary

The arckit-uk-gcloud overlay was a port of G-Cloud Kit's G-Cloud 14 commands. G-Cloud 15 (RM1557.15) went live on 6 August 2026 under the Procurement Act 2023, run by the Government Commercial Agency (GCA, formerly CCS), and the Digital Marketplace now lists only G-Cloud 15 services. This PR ports G-Cloud Kit's G-Cloud 15 rewrite (gcloud-kit v0.8.0) into the overlay, adapted to ArcKit's projects, document IDs, Document Control, citations and quality checks. G-Cloud 14 is dropped.

The overlay goes from 11 commands to 15:

Before (G-Cloud 14) After (G-Cloud 15)
sdd-lot1 sdd-lot1a, sdd-lot1b (shared template)
sdd-lot2 sdd-lot2a, sdd-lot2b (shared template)
sdd-lot3 (SFIA rate card) sdd-lot3 (DDaT rate card)
— social-value (new, SOCV)
— lot-questions (new, LOTQ)
sfia-skills skill ddat-rate-card skill

What changed

Overlay (plugins/arckit-uk-gcloud/)

  • skills/gcloud-framework: G-Cloud 15 overview plus references/g-cloud-15/ (per-lot service questions, lot questions, declaration, social value model, category trees), generated from GCA's question export.
  • skills/ddat-rate-card (was sfia-skills): GCA's Lot 3 rate card (9 families, 58 roles, 222 levels), pricing rules, market rates for common levels. SFIA is kept as a supporting reference only.
  • skills/cloud-security: G-Cloud 15 certifications by lot, new questions (post-quantum cryptography, Software Security Code of Practice, AI chatbot, FOCUS), current NCSC principle names.
  • service-design: five-lot picker with category roots, records **G-Cloud Lot**: Lot <code> — <name>, handoffs to each SDD command by lot.
  • sdd-lot1a/1b/2a/2b/3 and their templates: rebuilt from GCA's export, section by section, with GCA's option wording.
  • social-value, lot-questions (new): supplier-wide in projects/000-global/supplier/. Lot questions are one ARC-000-LOTQ document with a Part per lot group bid for.
  • declaration: Procurement Act 2023 (CDP, PPON, exclusions declared on the CDP, debarment list, supply chain payments, modern slavery, bid-writer question shown but never answered for the supplier).
  • pricing: 1a/1b price formula and minimum discount, 2a/2b discount bands, Lot 3 DDaT rate card and average day rate, forbidden-pricing check.
  • security, review, submission-pack, supplier-profile, gcloud-competitors: G-Cloud 15 lots, limits and documents.
  • Recipe uk-gcloud-submission: adds SOCV and LOTQ, defaults to sdd-lot2b. plugin.json description and keywords.

Core and site

  • doc-types.mjs, pages.md, _partials/RENDERING.md: SOCV and LOTQ registered (UK, Procurement, HIGH).
  • references/quality-checklist.md: G-Cloud sections rewritten for G-Cloud 15; SOCV and LOTQ added. Synced into every plugin.
  • Guides (both trees), guide-groups.mjs, guides.html, commands.html, index.html, README.md, docs/README.md, llms.txt, manifest.json, DEPENDENCY-MATRIX.md, both marketplace manifests, both changelogs (Unreleased).
  • Nested overlay mirror regenerated.

Deliberate differences from G-Cloud Kit

  • No bundled benchmark data. The overlay bundled no data files, so G-Cloud Kit's gcloud15-rate-benchmarks / gcloud15-discount-benchmarks CSVs are not ported. Lot 3 rates are compared with the market table in the ddat-rate-card skill (12 common role levels) or rival listings from /arckit:gcloud-competitors; Lot 2a/2b discounts have no benchmark.
  • No marketplace MCP. WebSearch/WebFetch only, as before.
  • One LOTQ document instead of lot-questions-{1,2,3}.md.
  • Lot recorded on a **G-Cloud Lot** header line rather than a Document Control row (Document Control is the shared partial).
  • No session hook (gcloud-session.sh): the overlay has no hooks, and core ArcKit's health/navigator cover it.

Tests

  • All lint-markdown.yml checks pass (references, recipes, doc-type collisions and registry, shared-asset and guide parity, customize table, site links, llms.txt, quality-checklist refs and ladders, citation sections, doc-control resolution, colon style, agent frontmatter, orchestrator leaks, action pins, overlay layout).
  • markdownlint: 0 issues on the 193 changed Markdown files.
  • node --test tests/plugin/*.test.mjs tests/plugin/test_*.mjs: 537 passed; handoff validators and scripts/tests/*.mjs pass.
  • python scripts/converter.py then pytest -q: 2287 passed, 228 skipped (pre-existing core-command skips).
  • claude plugin validate --strict on both marketplaces and the overlay manifest, and claude plugin validate on the overlay's commands and skills: passed.
  • Not done: a live smoke run of the commands (claude --plugin-dir) or the eval suite.

🤖 Generated with Claude Code

https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn

tractorjuice and others added 20 commits October 7, 2026 20:38
G-Cloud 15 adds two supplier-wide bid documents to the arckit-uk-gcloud
overlay: social value commitments and the lot questions. Register them as
SOCV and LOTQ (regime UK, Procurement, HIGH severity) in doc-types.mjs and
the /arckit:pages allow-list, and add them to the UK row of RENDERING.md.

The G-Cloud sections of the quality checklist (SUPP, DECL, SVCD, SDD, PRIC,
SECA, GCMP, GCRV) described G-Cloud 14: three lots, a 50-word description,
100-character features, an SFIA rate card and the PCR 2015 exclusion
grounds. They now check the G-Cloud 15 rules, and SOCV and LOTQ get their
own sections. Synced into every plugin and the CLI partials.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
The overlay's skill references were G-Cloud 14 (and, for the question list,
G-Cloud 13). Bring across G-Cloud Kit's G-Cloud 15 references:

- gcloud-framework: framework-questions.md is now the G-Cloud 15 overview
  (lots, limits, evaluation, pricing rules, declaration, what changed), and
  references/g-cloud-15/ holds the per-lot service questions, lot
  questions, the declaration, the social value model and every lot's
  category tree, generated from GCA's question export. The generated files
  are unchanged apart from a markdownlint-disable for their heading levels.
- sfia-skills is renamed ddat-rate-card, with GCA's Lot 3 rate card (9 job
  families, 58 roles, 222 role levels) and the pricing rules. SFIA stays as
  a supporting reference for describing a team, not for pricing it.
- cloud-security: G-Cloud 15 certification requirements by lot, the new
  service questions, and NCSC principles 3 and 13 under their current names.

The overlay bundles no data, so the benchmark CSV lookups are left out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
…d 15

The arckit-uk-gcloud overlay was a port of G-Cloud Kit's G-Cloud 14
commands. G-Cloud 15 (RM1557.15) went live on 6 August 2026 under the
Procurement Act 2023, run by the Government Commercial Agency (GCA,
formerly CCS), and the Digital Marketplace lists nothing else. Port G-Cloud
Kit's G-Cloud 15 rewrite (v0.8.0), keeping the overlay's ArcKit projects,
document IDs, Document Control, citations and quality checks:

- service-design chooses one of five lots (1a, 1b, 2a, 2b, 3), records it
  on a **G-Cloud Lot** line and names the matching SDD command.
- sdd-lot1 and sdd-lot2 become sdd-lot1a/1b and sdd-lot2a/2b; sdd-lot3 is
  rewritten around the DDaT rate card. Templates are rebuilt from GCA's
  question export, and lots with the same questions share one.
- New social-value (SOCV) and lot-questions (LOTQ) commands. The lot
  questions are one supplier-wide document with a Part per lot group.
- declaration follows the Procurement Act 2023 (CDP, PPON, exclusions on
  the CDP, debarment list, supply chain payments) and never answers the
  bid-writer question for the supplier.
- pricing, security, review, submission-pack, supplier-profile and
  gcloud-competitors follow each lot's G-Cloud 15 rules and limits.
- The recipe adds SOCV and LOTQ and defaults to sdd-lot2b.

BREAKING CHANGE: /arckit:sdd-lot1 and /arckit:sdd-lot2 are removed; use
sdd-lot1a or sdd-lot1b, and sdd-lot2a or sdd-lot2b. The sfia-skills skill
is now ddat-rate-card. G-Cloud 14 is no longer supported.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
- Guides: new sdd-lot1a, sdd-lot1b, sdd-lot2a, sdd-lot2b, social-value and
  lot-questions guides; sdd-lot1 and sdd-lot2 removed; the other nine
  overlay guides rewritten for G-Cloud 15. Synced to the plugin guide tree.
- guides.html, commands.html, docs/README.md, llms.txt, manifest.json and
  guide-groups.mjs list the 15 commands; index.html and the root README
  describe the overlay as G-Cloud 15 with 15 commands.
- DEPENDENCY-MATRIX.md gets a changelog entry with the new supplier path.
- Both changelogs record the change under Unreleased.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Regenerated with scripts/sync-claude-plugin-layout.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
…ell zsh-safe

Ports two G-Cloud Kit v0.8.2 fixes (8f46d1d, f6a5b6b).

service-design ran create-project.sh straight away and only then said to
reuse an existing project, but the helper always allocates a new number, so
a re-run under another name left two projects for one service. It now lists
the projects first, matches the input by number, name or path, and asks
when an existing project looks like the same offer.

Claude Code runs a command's shell in the user's shell, zsh on macOS, where
a path glob that matches nothing aborts the block with "no matches found".
service-design, supplier-profile, submission-pack, lot-questions and
declaration listed documents with bare globs such as
`ls projects/000-global/supplier/ARC-000-SOCV-v*.md`, which failed in
exactly the projects that lack the document. They now use find, and a test
rejects an unquoted path glob in any of the overlay's shell blocks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Ports G-Cloud Kit v0.8.2's placeholder check (d17f4d5).

review and submission-pack looked only for a bare `[PENDING]`, so the
`[PENDING: …]` and `[PENDING — …]` forms the overlay's own commands write
passed as finished, and so did older markers and template fields nobody
filled in. G-Cloud Kit moved the rule into plugin/scripts/placeholders.py.
ArcKit overlays ship no scripts of their own (every `scripts/` path an
overlay command names is the core plugin's), so both commands now run the
same inline awk scan instead: `[PENDING]` in every form, `[TODO]`, `[TBD]`,
`[TBC]`, `[CONFIRM]`, `*[TO BE ADDED]*` and the like, and any field the
overlay's templates use. Like the script it skips code spans, links, ticks
and comments, and it also skips the Document Control Reviewed By and
Approved By rows and the Revision History, which ArcKit leaves `[PENDING]`
until approval and which are not bid answers.

A test keeps the two copies identical and runs the scan on a sample
document. The GCRV checklist and both guides describe the same rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Ports G-Cloud Kit v0.8.2's category fix (3eff0a6).

The overlay let a service tick categories across roots and second-level
groups. None of the 42,893 live G-Cloud 15 listings scraped on 7 October
2026 has categories in more than one Root > Group, though GCA's question
export states no rule, so the listings are the evidence.

The service design and every SDD template now record the one category group
on a Category group line. service-design asks which group a listing covers
and designs an offer that spans groups as one service per group, the five
SDD commands enforce it, and review blocks on a service whose categories
span groups. The framework reference and skill state the rule with its
source, and the SVCD and SDD quality checks and the guides say the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Ports G-Cloud Kit v0.8.2's word limits (651824d, e974960).

GCA's question export states word limits only for features, benefits,
system requirements, backed-up items and the Lot 1a/1b scored answers, but
the Digital Platform enforces a 50, 100 or 200-word limit on the other
free-text questions. framework-questions.md now carries G-Cloud Kit's
per-lot table of those limits, inferred from the 42,893 live listings with
the evidence for each (580 Lot 2b answers to "Information security policies
and processes" sit within 2 words of 200, for example).

The SDD templates show each limit on a `**Words:** [X]/N` line, and the
lot questions and pricing templates state theirs. G-Cloud Kit recounts the
answers with plugin/scripts/word-limits.py; the overlay ships no scripts,
so the five SDD commands and review run the same count as inline awk: each
SDD command recounts what it wrote and rewrites anything over, and review
reports every answer over its limit as blocking, a counter that disagrees
with the recount, and an SDD written before the counters existed.

Tests check every limit in the table reaches its template, keep the six
copies of the count identical, and run it on a sample SDD and the templates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Ports G-Cloud Kit v0.8.2's rate card fix (40a9c19).

The SDD, service design and DDaT skill told suppliers to offer only the
role levels each service needs, while pricing said one card covers all
Lot 3 services. The listings settle it: every Lot 3 listing shows the
supplier's whole card, only 2 of the 1,135 suppliers with more than one
live Lot 3 service show different cards, and the median Lot 3 service shows
all 222 role levels. sdd-lot3 also copied its rates from the pricing
document while pricing took its levels from the SDD, a circle with no
starting point.

The card is now one supplier-wide document, registered as a new doc-type,
RATE (G-Cloud Lot 3 Rate Card, regime UK, Procurement): pricing writes it
once to projects/000-global/supplier/ARC-000-RATE-v*.md from the new
rate-card-template.md, and each Lot 3 pricing document summarises it.
sdd-lot3 lists the role levels that deliver the service and checks they are
on the card without copying any rates. Roles outside DDaT (procurement and
commercial advisers, trainers) are priced at the nearest DDaT role and
level, recorded on the card and stated in the service definition document.
review checks the card, submission-pack bundles it for a Lot 3 service, and
the placeholder scan covers it.

RATE is registered in doc-types.mjs, the /arckit:pages allow-list, the
RENDERING.md regime index (synced to every plugin and the CLI partial),
docs/manifest.json and the quality checklist, which gains a RATE section.
G-Cloud Kit's per-level benchmark columns are not ported: the overlay
bundles no benchmark data, so the card compares rates with the DDaT skill's
market table or rival listings, as the PR's pricing already did.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
…l-off warning

Ports G-Cloud Kit v0.8.2's Cyber Essentials fix (b18e5a0).

lot-questions, security and review listed Cyber Essentials (Lots 2a, 2b and
3) and Cyber Essentials Plus (Lots 1a/1b) under "would fail". Framework
Schedule 1 v2.1 makes them mandatory for call-off contracts, Attachment 2
v5.0 doesn't make them conditions of the tender, and 769 Lot 2b and 1,977
Lot 3 listings are live with "Cyber essentials: No" and "None of the
criteria". The commands, templates, skills, guides and quality checklist now
report a missing certificate as a call-off warning, and lot-questions has a
Call-off Warnings section beside Would Fail as Written.

The alternatives use the live listings' exact wording: on Lots 2a, 2b and 3
they say "within 12 months of the date of award", where the overlay
(following the question export) said "by the date of framework award". Lot
1a listings keep the export's wording.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
…us-framework designs

Ports G-Cloud Kit v0.8.2's workflow order fix (ddf4283).

The recommended order ran lot-questions before the service designs, but its
Lot 2a/2b and Lot 3 award criteria repeat each service's SDD and security
answers, and the Lot 1a/1b quality answers draw on them. The order is now
supplier-profile → social-value → service-design → sdd-lot* → pricing and
security → lot-questions → declaration → review → submission-pack, in the
commands' next steps and handoffs, the uk-gcloud-submission recipe (LOTQ now
depends on the SDD, pricing and security), the dependency matrix, the
README and the guides. lot-questions lists each service with whether its
SDD and security evidence exist, warns when one is missing, and marks any
answer that rests on a design alone for checking against the SDD.

lot-questions and declaration listed only the designs with a G-Cloud Lot
line, so a G-Cloud 14 design (no such line, or one saying "Lot 2") was
skipped without a word, and lot-questions asked the user to guess its new
lot. Both now share one listing that flags such a design as NOT A G-CLOUD 15
LOT and points to /arckit:service-design. Tests keep the listing identical in
both commands, run it on a sample project, and check every lot lookup reads
the G-Cloud Lot line. pricing's Lot 3 lookup now reads only each project's
latest design.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Ports G-Cloud Kit v0.8.2's previous-framework check (977b9bd).

review checked only that each document existed and what the design's lot
line said, so a security document or supplier profile left over from
G-Cloud 14 passed (both of G-Cloud Kit's test repositories had one). G-Cloud
Kit added plugin/scripts/previous-framework.py; the overlay ships no scripts,
so review and submission-pack run the same rules as one inline awk check. It
recognises such a document by its structure: a title or opening quote naming
an earlier G-Cloud, a Framework row or agreement number from one, a
three-lot Lot value or a "1.3 Target Lot" checkbox, an SFIA rate card, the
old minimum/maximum price fields, a supplier profile with no Central Digital
Platform or PPON section, or a Public Contracts Regulations declaration. A
G-Cloud 15 document that only mentions what changed isn't flagged.

review blocks on every document it reports, submission-pack warns, and
social-value, lot-questions and declaration warn when the profile they build
on has no CDP or PPON section. Tests keep the two copies identical, flag
sample G-Cloud 14 documents and pass every overlay template.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
… Lot 3 criteria

Ports G-Cloud Kit v0.8.2's disqualification fix (e51ce2b).

security said a tender is disqualified only when it marks under 33 on all
four award criteria, while lot-questions, its template and guide said a zero
on any one disqualifies. Attachment 2d v4.0 and Attachment 2 v5.0 both state
the all-four rule for these lots (Attachment 2's general quality-threshold
paragraph says any zero), and the listings fit it: 1,159 live Lot 2b
services from 207 suppliers answer "Data sanitisation process: No". Every
file now says a single zero loses that criterion's 2.5% and all four under
33 disqualifies. Lots 1a/1b are unchanged: a zero on either quality
question disqualifies, as the question export says.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
…w does

Ports G-Cloud Kit v0.8.2's review cross-checks (631a7b2).

pricing says review checks its document against the SDD, but review only
compared the pricing model, features and support levels. It now checks the
education discount, the free trial answer, description and link, the Lot
1a/1b deployment models priced, that the Lot 2a/2b SDD holds no prices, the
Lot 3 role levels against the supplier's rate card (ARC-000-RATE), and the
lot-wide figures across the supplier's services in the lot. The review
report gains a table for them, and each mismatch names both ARC- IDs and
which one to change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
…tch them to the checkboxes

Ports G-Cloud Kit v0.8.2's social value fix (c4c4645, 357ee1c).

social-value, its template and guide said the measures were worded exactly
as the declaration's checkboxes. The model is built from the live listings,
and comparing it with GCA's question export shows 17 of its 76 measures
differ: the export's checkbox adds illustrative examples or a trailing
clause, and one Outcome 6 checkbox adds a second measure. The overlay now
records the listing wording (what buyers see), tells the user to tick the
checkbox with the same opening words, notes the three checkboxes that share
one listing text under Outcomes 6, 7 and 8, and never offers the three
export fragments under Outcome 4. social-value now reads Section B of the
declaration reference too, since it holds the checkboxes' full wording.

social-value-model.md is G-Cloud Kit's regenerated copy, whose header no
longer makes the old claim; the file is otherwise unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Ports G-Cloud Kit v0.8.2's option wording fix (3af61aa).

The SDD templates said their option wording, taken from GCA's question
export, "is what buyers filter on", but live listings word some options
differently. Checked against all 42,893 listings, the SDD, service design
and security templates now use the listing wording, with the Digital
Platform's wording in a comment so the supplier ticks the right option: "Not
a reseller", "Reseller providing extra features and support", "Reseller
providing extra support", "Reseller (no extras)"; "Conforms to BS7858:2019"
and "Other security clearance"; "Developed Vetting (DV)", "Security
Clearance (SC)" and "Baseline Personnel Security Standard (BPSS)" without
"Up to"; "API access"; "TLS (version 1.2 or above)" and "Legacy SSL and TLS
(under version 1.2)"; "Complies with a recognised standard (for example CSA
CCM version 4.0)"; "CSA CSM version 4.0" (GCA's spelling); "Google Apps",
"Limited access network (for example PSN)" and "Dedicated link (for example
VPN)"; "IOS" and "MacOS".

The SDD commands, security, service-design, the framework reference, guides
and SDD quality checks say the same, and a test stops the export-only
wording coming back. Lot question options keep the export's wording:
listings don't show them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Ports the smaller fixes in G-Cloud Kit v0.8.2 (94641d3).

- A stray `**` after the Lot 2a/2b data sanitisation question in the lot
  questions template.
- compliance-frameworks.md said SC is required for OFFICIAL-SENSITIVE data.
  OFFICIAL-SENSITIVE is a handling caveat within OFFICIAL, which BPSS
  covers; SC is for SECRET and DV for TOP SECRET. The cloud-security
  skill's clearance table made the same claim and now says the same.
- The Lot 3 pricing document is optional: 71% of the 27,496 live Lot 3
  listings have one, while every Lot 1a, 2a and 2b listing does. The review
  and pricing templates, the Lot 3 SDD template and submission-pack no
  longer require it on Lot 3.
- submission-pack wrote the supplier-level answers into every service's
  export. They are now written once per bid to
  projects/000-global/supplier/submission/bid-answers.md, refreshed only
  when a supplier-level document changes, and each service's
  answers-export.md points to it.
- Every live listing shows a contact name and email (and all but 21 a phone
  number), the same on every service for 2,690 of 2,693 suppliers, but no
  template recorded it. The supplier profile now has a Listing Contact
  section, the SDD templates show it in G-Cloud Details (Document Control is
  ArcKit's shared partial), and review checks it.

G-Cloud Kit's dependency-matrix change (pricing and security required for
review) has no counterpart: the overlay's review already reports either
missing as blocking.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
…'s Unreleased entries

The Unreleased entries for the G-Cloud 15 port said the overlay carried
G-Cloud Kit's rewrite as of v0.8.0. They now say v0.8.2 and describe what
the v0.8.2 fixes changed: one category group per service, word limits on
every free-text answer, one Lot 3 rate card per supplier (the new RATE
doc-type), Cyber Essentials as a call-off condition, options worded as the
live listings show them, the placeholder and previous-framework checks, the
SDD-to-pricing cross-checks, the disqualification rule, social value
measures in the listing wording, and the workflow order with the lot
questions after the SDDs. The dependency matrix's recipe line says the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
Regenerated with scripts/sync-claude-plugin-layout.py: the nested
plugins/arckit-claude/plugins/uk/gcloud overlay, and the quality checklist
and RENDERING.md partial every mirrored overlay carries (the RATE doc-type
and the G-Cloud checklist changes).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn
@tractorjuice

Copy link
Copy Markdown
Owner Author

This push: G-Cloud Kit v0.8.2 fixes ported into the overlay

This PR ported the overlay from G-Cloud Kit v0.8.1. A test run on two real supplier projects (a Lot 2b SaaS and a Lot 3 support service) then found 15 defects, which G-Cloud Kit v0.8.2 fixes. The overlay had the same defects. This push brings the v0.8.2 fixes across, one commit per fix, adapted to the overlay's conventions: the supplier-wide LOTQ document, the **G-Cloud Lot** line, GCRV, .arckit/templates-custom/, and commands that warn and carry on when the supplier profile is missing.

What changed

  • One category group per service. None of the 42,893 live listings has categories in more than one Root > Group. The service design and the SDDs now record one group. service-design splits an offer that spans groups into one service per group, and review blocks on a service whose categories span groups.
  • Word limits on every free-text answer. framework-questions.md now has G-Cloud Kit's per-lot table of 50, 100 and 200-word limits, with the listing evidence. Each SDD template answer has a **Words:** [X]/N line, and the lot questions and pricing templates state their limits. The five SDD commands and review recount the answers.
  • One Lot 3 rate card per supplier, owned by pricing. This adds a new doc-type, RATE (G-Cloud Lot 3 Rate Card; regime UK, Procurement), written to projects/000-global/supplier/ARC-000-RATE-v*.md from the new rate-card-template.md. sdd-lot3 now lists the role levels that deliver the service and copies no rates, which breaks the circular dependency with pricing. Roles outside DDaT are priced at the nearest DDaT role and level. RATE is registered in doc-types.mjs, pages.md, the RENDERING.md regime index (synced to every plugin and the CLI partial), docs/manifest.json and the quality checklist.
  • A missing Cyber Essentials certificate is a call-off warning, not a failed bid. The alternatives now use the live listings' wording: "within 12 months of the date of award" on Lots 2a, 2b and 3.
  • Workflow order: supplier-profile, social-value, service-design, sdd-lot*, pricing and security, lot-questions, declaration, review, submission-pack. This order now appears in the next steps, the handoffs, the recipe (LOTQ depends on the SDD, PRIC and SECA), the README, the dependency matrix and the guides. lot-questions and declaration share one listing of every service with its lot, which flags a G-Cloud 14 design instead of skipping it.
  • Placeholder check. review and submission-pack share one scan. It finds [PENDING] in every form, the older [TODO]/[TBC]/*[TO BE ADDED]* markers, and any template field never filled in. It skips ArcKit's Document Control approval rows and the Revision History, because those are not bid answers.
  • Previous-framework check. review blocks on G-Cloud 14 documents and submission-pack warns. social-value, lot-questions and declaration warn when the supplier profile has no CDP or PPON section.
  • Disqualification rule (Lots 2a/2b and 3): a single zero loses that criterion's 2.5%, and the tender is disqualified only when all four criteria score under 33.
  • review checks the SDD against pricing: education discount, free trial, 1a/1b deployment models, the Lot 3 levels on the rate card, and lot-wide figures. GCRV has a table for these checks.
  • Options are worded as the live listings show them, with the Digital Platform's wording in a comment.
  • Social value measures use the listing wording, and each is matched to the declaration checkbox with the same opening words. social-value-model.md is G-Cloud Kit's regenerated copy.
  • Smaller fixes:
    • service-design looks a service up before it creates a project.
    • Inline shell is zsh-safe (no bare globs).
    • The stray ** in the lot questions template is gone.
    • OFFICIAL-SENSITIVE/SC is corrected, in the skill table as well.
    • The pricing document is optional on Lot 3.
    • The supplier-level answers are written once per bid to projects/000-global/supplier/submission/bid-answers.md.
    • The supplier profile has a Listing Contact section, which the SDD G-Cloud Details and review both use.

Adaptations

  • No overlay scripts. No ArcKit overlay ships a scripts/ folder; every ${CLAUDE_PLUGIN_ROOT}/scripts/ path in an overlay command is a core one. G-Cloud Kit's placeholders.py, word-limits.py and previous-framework.py are therefore ported as inline awk in the commands that use them. New tests in tests/plugin/test_uk_gcloud_overlay.py keep each copy identical and run it against sample documents and the templates.
  • Not ported: service-dir.sh, the session hook, G-Cloud Kit's own tests, the benchmark columns (the overlay bundles no benchmark data), and the commands the overlay doesn't have (health, plan, init, story, customize, presentation). Core /arckit:health has no placeholder scan, so the shared check covers review and submission-pack.

Tests

  • lint-markdown.yml checks: all pass.
  • markdownlint: 0 errors on the 162 changed Markdown files.
  • node --test tests/plugin/*.test.mjs tests/plugin/test_*.mjs: 537 passed.
  • python scripts/converter.py then pytest -q: 2309 passed, 228 skipped. This includes 22 new tests in tests/plugin/test_uk_gcloud_overlay.py.
  • claude plugin validate --strict on both marketplaces, the overlay and its nested mirror: passed.
  • The mirror (plugins/arckit-claude/plugins/uk/gcloud) is regenerated, and the Unreleased CHANGELOG entries are updated.

🤖 Generated with Claude Code

https://claude.ai/code/session_019KL4LcSPGqEoVem8LZpTjn

@tractorjuice
tractorjuice merged commit 552327c into main Oct 8, 2026
3 checks passed
@tractorjuice
tractorjuice deleted the feat/uk-gcloud-g15 branch October 8, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant