openstack-caracal-ipv4 / clientdocs /
..
README.md addendum 28: operator-away batch integrated -- DOCFIX-098..105 (H4 drift detector, offboard orphan sweep + E0 guard, handover pack, cloud-snapshot, tenant-acceptance harness, lint L7 sweep rule, ledger-scan 099-boundary fix) 21 hours ago
acceptance-checklist.md addendum 28: operator-away batch integrated -- DOCFIX-098..105 (H4 drift detector, offboard orphan sweep + E0 guard, handover pack, cloud-snapshot, tenant-acceptance harness, lint L7 sweep rule, ledger-scan 099-boundary fix) 21 hours ago
ci-integration-guide.md addendum 28: operator-away batch integrated -- DOCFIX-098..105 (H4 drift detector, offboard orphan sweep + E0 guard, handover pack, cloud-snapshot, tenant-acceptance harness, lint L7 sweep rule, ledger-scan 099-boundary fix) 21 hours ago
handover-pack.md addendum 28: operator-away batch integrated -- DOCFIX-098..105 (H4 drift detector, offboard orphan sweep + E0 guard, handover pack, cloud-snapshot, tenant-acceptance harness, lint L7 sweep rule, ledger-scan 099-boundary fix) 21 hours ago
intake-form.md addendum 22: H1 tenant-assert.sh + harness (7/7 green), clientdocs/ package (DOCFIX-092), A2 + structure + sequencing rulings recorded 1 day ago
self-service-guide.md addendum 22: H1 tenant-assert.sh + harness (7/7 green), clientdocs/ package (DOCFIX-092), A2 + structure + sequencing rulings recorded 1 day ago
sweep-receipt.txt addendum 28: operator-away batch integrated -- DOCFIX-098..105 (H4 drift detector, offboard orphan sweep + E0 guard, handover pack, cloud-snapshot, tenant-acceptance harness, lint L7 sweep rule, ledger-scan 099-boundary fix) 21 hours ago
welcome.md addendum 22: H1 tenant-assert.sh + harness (7/7 green), clientdocs/ package (DOCFIX-092), A2 + structure + sequencing rulings recorded 1 day ago
README.md

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.