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.
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
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
- Freeze and record both SHAs.
- Record server/scanner/runtime versions and non-secret effective parameters.
- Run Alpha/Beta analyses; preserve logs and report-task files.
- Record CE results separately from gate/CI states.
-
Verify profile(s), gate, New Code and permissions against
SQ-STD-2026-03. - Introduce one Beta policy drift and preserve before/after evidence.
- Reconcile it or approve the narrow exception fixture.
- Advance simulated review date to exception expiry; close after remediation or explicitly reapprove with new evidence. Never silently extend.
- Review trends and adoption friction.
- 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?
Not until you prove the policy change was authorized and equivalent to the standard. If it reset the baseline to escape policy, restore it and rerun the same source.
Community Build lacks Enterprise audit logs. Is the checkpoint blocked?
No. Use versioned standards, project inventory, change/exception records, scanner/task evidence and documented UI/API reads.
A team has the longest remediation time. Does that prove worst quality?
No. Lead time is contextual; use it to investigate system friction and risk, not rank teams/developers.
Scanner succeeds and gate is red. Which state failed?
The scanner may have succeeded and the analysis completed; the quality gate evaluated policy and failed. Preserve those states separately.
What proves a temporary exception is temporary?
Bounded expiry, owner, rationale, linked remediation/review, and a real close or explicit reapproval decision at expiry.
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.
Official references and version notes
- SonarQube Community Build documentation — current self-managed Community Build concepts and administration.
- SonarQube Server documentation — commercial Server administration, governance, security, and operations.
- Quality standards administration — rules, quality profiles, quality gates, and related governance controls.
- Web API — supported automation interfaces and API evolution guidance.
- SonarQube downloads — current release and edition identities.
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.
0x716c4Ab160C4B66F31a28AE2448BfF68fc3a2ef0Send only Ethereum/ERC-20 compatible assets to this
address.