Chapter 10Lesson 05~135 minutes

Checkpoint Lab — Issues, Statuses, Assignments, False Positives, and Resolution Workflow

Complete an auditable remediation checkpoint that proves what changed in source, what changed only in workflow metadata, and what the next analysis actually established.

CheckpointAudit packetRollbackQuality evidenceGovernance

Learning objectives

  • Produce a revision-linked remediation evidence packet from baseline through reanalysis.
  • Predict and independently verify source, workflow, task, and gate state changes.
  • Distinguish a source fix from a justified temporary Accepted decision.
  • Prove credential/status cleanup without erasing audit history.
  • Hand off trustworthy issue evidence to Chapter 11 quality-gate policy.

1. Checkpoint scenario and success criteria

Operate one disposable project from baseline through verified remediation. A reviewer must be able to determine which issue was fixed in code, which issue was temporarily Accepted, which revisions/tasks were analyzed, how Activity changed, and whether the gate changed because of source, metadata, both, or neither.

Mandatory boundary: Community Build/local/free only. Use synthetic code, project key academy_issue_checkpoint_lab, fake identities, and project-scoped analysis credentials. No commercial feature, external provider, enterprise IdP, production infrastructure, or paid CI is required.

2. Record exact assumptions

Assumption Checkpoint baseline Evidence
SonarQube Community Build 26.9.0.129388 server version/system info
Scanner SonarScanner CLI 8.1.0.6389 sonar-scanner --version
Java current scanner runtime as actually reported scanner log; do not assume
Database/plugins existing local lab server; no third-party plugin required system info/inventory note
CI/integration none required explicit local-shell-only statement
Token project analysis token in SONAR_TOKEN record type/name/scope/expiry, never value

3. Write predictions before acting

  1. Assignment: assignment/comment changes workflow history but not Git SHA or detection.
  2. Code fix: source edit creates a new SHA; after successful reanalysis the chosen issue should become Fixed.
  3. Accepted: status/history and possibly gate-relevant metrics change while Git SHA stays unchanged.
  4. Reopen: current status returns Open while previous Activity remains auditable.

Do not rewrite predictions after seeing the result.

4. Execute the bounded runbook

  1. Create a synthetic Git fixture and baseline revision A.
  2. Create academy_issue_checkpoint_lab and a project analysis token stored only in SONAR_TOKEN.
  3. Run Scanner CLI with debug evidence; preserve report-task.txt; wait for the baseline CE task.
  4. Record several Open issues with key / rule / location / author / assignee / status / history.
  5. Assign one issue and comment the ownership rationale. Verify the assignment prediction.
  6. Fix one observed issue in source, commit revision B, analyze, and verify the original issue becomes Fixed only after CE success.
  7. Temporarily mark another valid issue Accepted with lab-only rationale and review condition. Do not use False positive unless the analyzer is demonstrably wrong.
  8. Record gate/measures before/after and attribute the cause correctly.
  9. Reopen the Accepted issue and verify Activity history remains.
  10. Revoke the project token when the checkpoint is complete.

5. Required evidence packet

  • assumptions.md with edition / version / scanner / runtime / plugin / integration assumptions and limitations.
  • baseline and fixed revision SHAs.
  • baseline/fixed scanner logs with secrets redacted.
  • baseline/fixed report-task.txt and final CE task statuses.
  • baseline issue inventory with keys/rules/locations/status/author/assignee.
  • Activity evidence for assignment/comment, Accepted, reopen, and reanalysis.
  • source diff for the real code fix.
  • gate/measures before and after meaningful changes.
  • token record containing only metadata and revocation proof.
  • a limitations note describing what the checkpoint does not prove.

6. Interpret outcomes causally

Observed outcome Correct interpretation
Assigned issue, same SHA Ownership metadata changed; analysis inputs did not.
New SHA + issue Fixed after CE success Source remediation supported by reanalysis evidence.
Accepted + same SHA + gate changes Workflow policy affected reporting; no source repair.
Reopened + Activity retained Rollback restored current status while preserving audit history.
Scanner exits 0 but CE task fails Analysis did not complete; do not interpret a new issue/gate result.

7. Verification checklist

  • Every project/revision is disposable and recorded.
  • No token value appears in source, properties, logs, screenshots, or evidence.
  • Every workflow action links to an exact issue identity.
  • Code-fix claims have a diff plus later successful analysis.
  • The temporary Accepted action has rationale, owner, and rollback proof.
  • No false-positive action exists without technical evidence the analyzer is mistaken.
  • Gate changes are attributed to actual causes.
  • Scanner success, upload, CE success, issue state, and gate state are recorded separately.

8. Guarded cleanup

  1. Reopen temporary lab dispositions that should not persist.
  2. Revoke lab-only project/User tokens and verify failure.
  3. Preserve evidence outside the project.
  4. If deleting the project, verify the exact key academy_issue_checkpoint_lab.
  5. Delete only owned fixture directories; do not clear server logs, database/search state, or unrelated caches.

9. Production handoff to Chapter 11

Chapter 10 adds governed human decisions to the SonarQube lifecycle: explicit owners, current statuses, justified exceptions, source-linked fixes, rollback, and audit evidence. Chapter 11 can now build Quality Gates, Conditions, Policies, and Pipeline Enforcement on top of signals whose changes can be explained.

Knowledge check

Minimum evidence for a code-fix claim?

Why reopen the temporary Accepted issue?

What if gate does not change after Accepted?

Can scanner exit 0 close the checkpoint?

What does token revocation prove?

Why is no False positive an acceptable result?

Next lesson — Next chapter

Bridge issue decisions to quality-gate enforcement

Chapter 11 uses the now-auditable issues and measures to design quality-gate conditions, policy ownership, and CI enforcement without equating a green gate with universal correctness.

Official references and version notes

Version and compatibility note

Rechecked 2026-09-07. Mandatory examples target SonarQube Community Build 26.9.0.129388 (released 2026-09-03) and SonarScanner CLI 8.1.0.6389 (released 2026-04-21). Current Community Build issue workflow uses Open, Accepted, False positive, and automatically determined Fixed. Older tutorials may show deprecated Confirmed/Resolved/Closed or resolution fields; those are not taught as current statuses. No commercial feature, Data Center, SonarQube Cloud, AI CodeFix, enterprise identity, external provider, paid CI, or third-party plugin is required.

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.