# clientdocs/ -- client-facing document package (INTERNAL README)

This directory holds everything we hand to a client, separated from internal
docs/runbooks by operator ruling (2026-07-06). Everything here is a DRAFT /
living document: accurate, but without final client polish.

Rules for this directory:

- **No internal identifiers.** Decision numbers, fix numbers, ticket ids,
  internal hostnames/IPs, and runbook names never appear in client documents.
  (This also keeps these files out of the internal numbering scans.)
- **Client language.** Second person, no charm/Juju/deployment internals.
  Internal mechanics live in docs/tenant-onboarding-contract.md, which is the
  authoritative source these documents are derived from -- when the contract
  changes, sweep this directory.
- **Packaging.** A client receives a copy (or export) of the relevant files,
  never a repo link. Which file goes when:
  - `intake-form.md` -- BEFORE onboarding (their homework).
  - `welcome.md` + `self-service-guide.md` -- AT credential handoff.
  - `handover-pack.md` + `acceptance-checklist.md` -- AT credential handoff,
    instantiated per client (fill every `{{PLACEHOLDER}}`, remove the
    TEMPLATE NOTE banner).
  - `ci-integration-guide.md` -- with the handover pack for any client that
    connects CI/automation (Jenkins etc.); same instantiation rule.
- **Templates.** `handover-pack.md`, `ci-integration-guide.md`, and
  `acceptance-checklist.md` are reusable templates: `{{PLACEHOLDER}}` fields
  are operator-filled at instantiation; a delivered copy contains none.
- **ASCII + LF**, like everything committed.
- **Sweep-on-change is enforced.** `sweep-receipt.txt` (INTERNAL, never
  shipped) pins the reviewed state of every tenant-facing file; repo lint
  fails when any of them drifts, until this directory has been reviewed for
  staleness and the receipt is re-recorded:
  `bash scripts/repo-lint.sh --record-clientdocs-sweep`.

Contents: `intake-form.md`, `welcome.md`, `self-service-guide.md`,
`handover-pack.md`, `ci-integration-guide.md`, `acceptance-checklist.md`;
internal-only: `sweep-receipt.txt`.
