Chapter 33Lesson 05~210 minutes

Checkpoint Lab — Enterprise Standards, Auditability, Developer Adoption, and Quality Programs

Operate one mini quality-program review cycle across two disposable projects and hand its evidence into the Chapter 34 production capstone.

CheckpointReview cycleAudit packetException expiryCapstone bridge

Learning objectives

  • Operate one mini quality-program review cycle across two sample projects.
  • Predict at least two state changes before action and verify them independently.
  • Detect/reconcile drift, exercise exception expiry and preserve audit evidence.
  • Build a non-gaming adoption plan and improvement backlog.
  • Produce the evidence packet that bridges into Chapter 34.

1. Checkpoint mission

Reuse or recreate sq33:alpha and sq33:beta. Run a simulated quarterly review: verify onboarding, analyze both under the standard, introduce one Beta policy drift, evaluate a bounded exception at expiry, review trends/adoption and package the evidence. The goal is repeatability, not a perfect score.

2. Exact assumptions and preflight

Baseline

Generation assumptions: Community Build 26.9.0.129388 is the mandatory free/local baseline; SonarScanner CLI 8.1.0.6389; Java 21+ when JRE auto-provisioning is unavailable/disabled; PostgreSQL 17.x for the disposable database family. Web API V2 migration is ongoing, so verify exact endpoints in the target instance before automation. No third-party plugin, enterprise IdP, managed Kubernetes, paid CI or commercial feature is required.

Preflight Pass criterion
Authorized disposable environment Only synthetic local resources are in scope.
Source identity Both SHAs captured before policy changes.
Credential Fake/local token via environment, never printed/committed.
Runtime Server/scanner/Java/database assumptions recorded.
Project policy Profile/gate/New Code/permissions captured before mutation.
Governance Standard/project/exception/backlog files reviewable.

3. Write predictions before actions

Action Prediction 1 Prediction 2 Verification
Analyze Alpha New CE task ID exists at frozen SHA. Durable result/gate updates only after CE completes. report-task.txt + CE status + project activity/gate.
Create Beta drift Source SHA/indexed files remain unchanged. Project policy differs from standard. Git/scanner evidence + policy read.
Approve exception Findings remain visible. Ledger gains owner/rationale/expiry/remediation link. Project result + ledger independently.
Expire exception No DB/search direct edit occurs. Ledger closes or explicitly reapproves with new bounded expiry. Review ledger/change record + platform health.

4. Execute the review cycle

  1. Freeze and record both SHAs.
  2. Record server/scanner/runtime versions and non-secret effective parameters.
  3. Run Alpha/Beta analyses; preserve logs and report-task files.
  4. Record CE results separately from gate/CI states.
  5. Verify profile(s), gate, New Code and permissions against SQ-STD-2026-03.
  6. Introduce one Beta policy drift and preserve before/after evidence.
  7. Reconcile it or approve the narrow exception fixture.
  8. Advance simulated review date to exception expiry; close after remediation or explicitly reapprove with new evidence. Never silently extend.
  9. Review trends and adoption friction.
  10. Build final audit packet and improvement backlog.

5. Required evidence packet

Evidence Required content
Revision/build manifest Alpha/Beta SHAs, dirty state, runtime/container assumptions.
Effective parameters Project keys, scopes, report paths as relevant; secret names only.
Index/report Indexed-file lines + report-task files.
Task status CE task IDs/status/failure evidence; separate from gate/CI.
Policy Observed profiles/gate/New Code + standard version.
Permission/token Type/owner/purpose and permission review, never value.
Trend Gate/new-code history + remediation lead-time sample/context.
Exception Owner / rationale / scope / expiry / remediation / close-or-reapproval.
Adoption Training/checklist + friction themes, no individual rankings.
Limitations Edition/API volatility, lab-vs-production differences, what evidence does not prove.

6. Non-gaming remediation lead-time example

from datetime import datetime
samples=[("a1","2026-09-01T08:00:00+00:00","2026-09-02T12:00:00+00:00"),("a2","2026-09-03T09:00:00+00:00","2026-09-05T09:00:00+00:00"),("b1","2026-09-02T14:00:00+00:00","2026-09-06T02:00:00+00:00")]
h=[(datetime.fromisoformat(b)-datetime.fromisoformat(a)).total_seconds()/3600 for _,a,b in samples]
print('median_hours',sorted(h)[len(h)//2])
print('program sample only; do not rank developers')

Production use must define cohort, risk bands, reopen semantics and observation window. Never pressure teams to mark findings resolved without remediation.

7. Exception-expiry decision table

Evidence at expiry Decision
Remediation complete + equivalent analysis proves intended outcome Close and preserve closure evidence.
Remediation incomplete but bounded reason remains Require explicit reapproval with updated rationale and new expiry.
Owner missing/rationale invalid Do not auto-extend; restore standard enforcement through change process.
Finding disappeared only after unexpected scope/New Code change Treat as drift/gaming incident; restore intended policy and rerun.

8. Non-gaming adoption plan

# SQ33 adoption plan
- 20-minute onboarding: project key, scanner -> CE -> gate lifecycle, profile vs gate vs New Code.
- One synthetic failure drill preserving report-task.txt.
- Office hours for confusing findings and config drift.
- Monthly friction review; quarterly standard review; exception-expiry review before due date.
- Metrics: remediation lead time by risk/service, repeated drift, expired exceptions, gate trend, onboarding coverage.
- Prohibited performance metrics: issues/debt/suppressions per developer.

9. Verification checklist

Check Pass criterion
Identity Stable project keys and frozen SHAs.
Async separation Scanner/upload/CE/result/gate/CI recorded separately.
Shared standard Both compared to same standard version.
Drift Beta drift preserved and reconciled/excepted.
Expiry No silent extension.
Least privilege No admin token embedded; no credential values in packet.
Adoption Training/feedback plan without individual ranking.
Edition fallback Packet complete without Enterprise audit logs/portfolios/PDF reports.
Cleanup Only owned disposable resources removed; packet preserved.

10. Cleanup / rollback

Restore Beta to standard policy, close/reset the synthetic exception, revoke the fake token, remove only lab-owned projects/containers, and preserve the evidence packet. Do not delete shared profiles, gates, users, database/search state or unrelated projects.

11. Knowledge check

Beta finding disappears after New Code is moved forward. Can you close the exception?

Community Build lacks Enterprise audit logs. Is the checkpoint blocked?

A team has the longest remediation time. Does that prove worst quality?

Scanner succeeds and gate is red. Which state failed?

What proves a temporary exception is temporary?

12. Bridge to Chapter 34

Chapter 33 adds the human/organizational operating system around SonarQube: named ownership, standardized onboarding, drift review, bounded exceptions, non-gaming metrics and audit-ready evidence. Chapter 34 combines this with deployment, security, backup, upgrades, scale, performance and troubleshooting to operate a governed production quality platform.

Next lesson

Capstone: Operate a Governed Production SonarQube Quality Platform: Core Concepts and Mental Model

Continue to the next lesson to build on this lesson’s evidence, workflow, and operational practices.

Official references and version notes

Version and compatibility note

SonarQube product names, editions, release trains, scanner runtimes, APIs, authentication options, and platform prerequisites can change independently. Re-check the linked SonarSource primary documentation for the exact target release before applying version-sensitive commands or operational guidance outside the disposable course environment.

Keep the academy open

Support free, practical DevOps education.

Every lesson is designed to remain readable in a browser, downloadable from GitHub, and usable without a paid learning platform. Contributions help expand and maintain the curriculum.

Ethereum / ERC-20
0x716c4Ab160C4B66F31a28AE2448BfF68fc3a2ef0Send only Ethereum/ERC-20 compatible assets to this address.