STATUS: PROPOSAL for operator ruling. Read-only analysis; nothing implemented. Options are presented per finding; the operator rules before any change. No identifier numbers are consumed here -- they are assigned at implementation.
Operator's stated problem (2026-07-08): the information a client needs is spread throughout the handover documentation with no clear flow. A client has to switch between multiple documents to accomplish one task, and some workflows have holes that cause errors (the flannel network-driver gap being the live example: a self-created flannel cluster never converges, and devteam lost a night to it). The goal for the client-facing set: an easy-to-follow, workflow-shaped path that makes finding and using their data simple, minimizes document-switching, and carries enough component detail that the client understands what each piece does.
DOCFIX-123 (the new jenkins-kubernetes-guide.md) is the first instance of the target shape -- a single self-contained workflow that cross-links to detail rather than scattering it. This review proposes applying the same principle across the rest of the set.
Read-only inventory of all 20 client-facing files under clientdocs/ (the six top-level guides, the tenant-skill SKILL.md + four references, and the six starter-kit scripts), mapping every workflow topic to the file(s) that cover it, plus duplication, cross-file conflicts, and gaps. Evidence is file:line throughout the source inventory; the summary below carries representative cites.
The docs exist for every stage, but stages 2-6 repeat each other's content and none of them states "you are here, read these in this order."
The same facts are authored independently in many files. Representative:
Risk: any change (an endpoint, an account name, a rule) must be made in N places or the copies drift. It also makes each document longer than it needs to be, which is itself part of the "hard to follow" problem.
No file tells the client which document to open first, or the order for a given goal. A client wanting "deploy my app to Kubernetes from Jenkins" previously had to assemble it from kubernetes.md + ci-integration-guide.md + day2-operations.md
Component terms (application credential, the -cluster account, cluster template, kubeconfig, LoadBalancer Service, floating IP, ingress) are defined inline where first used but there is no single glossary a client can consult. The operator specifically asked for "enough detail so they understand what all the components do." The Jenkins guide added a scoped glossary (section 10); the set has no shared one.
Principle: each fact has ONE owner; every other mention is a one-line pointer, not a copy. Each guide owns a JOURNEY (a workflow) and cross-links to the owners for reference detail. This is the shape DOCFIX-123 already demonstrates.
Proposed owners (single source of truth):
Add:
Each move is independent; rule per-move. Effort/risk are rough.
M1 -- De-duplicate the account model. Own it in handover-pack.md; replace the other 3 renderings with a 1-line summary + pointer. Options: (a) do it; (b) keep the self-service copy (first-read convenience) but retire the SKILL.md + welcome copies; (c) leave as-is. Effort: low. Risk: low. Recommend (b) -- one convenience copy, not four.
M2 -- De-duplicate clouds.yaml/auth. Own in clouds.yaml.template; the CI guide and SKILL.md point to it. Options: (a) do it; (b) leave. Effort: low. Risk: low. Recommend (a).
M3 -- Add a "Start here / reading order" entry point. Options: (a) new short index doc; (b) a section in welcome.md; (c) none. Effort: low. Risk: low. Recommend (b) -- no new file to package.
M4 -- Shared glossary. Options: (a) new reference file linked from all guides; (b) a section in handover-pack.md; (c) leave per-guide inline. Effort: medium (touches many files if links are added). Risk: low. Recommend (a).
M5 -- Close the remaining F3 holes in the general docs: add the driver rule and the host-capacity/right-size caveat to self-service-guide.md (and anywhere node_count is discussed). Options: (a) do it; (b) rely on the Jenkins guide + kubernetes.md only. Effort: low. Risk: low. Recommend (a) -- these are the error-causing holes the operator called out.
M6 -- Fix F5: correct Jenkinsfile.example's script paths to scripts/ and either rename or re-scope its misleading stage; consider adding a second Jenkinsfile.example for the kubeconfig-deploy pattern (or point at the Jenkins guide's inline pipeline). Effort: low-medium. Risk: low (starter asset). Recommend: fix paths now; the deploy-pipeline example already lives in the Jenkins guide, so just cross-link.
M7 -- Reconcile the quota-vs-capacity expectation cloud-side (separate from docs): the addendum-40 finding that testcloud tenant quotas over-promise schedulable capacity. Doc side is M5; the cloud side (trim quotas to reality) is an operator decision logged in addendum 40.
Each move ships under the standard clientdocs discipline (ASCII/LF, no internal-term leakage, L7 receipt re-record, harness green, changelog + revert) and, where a delivered client already has the affected file, a package re-instantiation. Numbers are assigned at implementation, not here.