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.
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.
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
- Assignment: assignment/comment changes workflow history but not Git SHA or detection.
- Code fix: source edit creates a new SHA; after successful reanalysis the chosen issue should become Fixed.
- Accepted: status/history and possibly gate-relevant metrics change while Git SHA stays unchanged.
- Reopen: current status returns Open while previous Activity remains auditable.
Do not rewrite predictions after seeing the result.
4. Execute the bounded runbook
- Create a synthetic Git fixture and baseline revision A.
-
Create
academy_issue_checkpoint_laband a project analysis token stored only inSONAR_TOKEN. -
Run Scanner CLI with debug evidence; preserve
report-task.txt; wait for the baseline CE task. - Record several Open issues with key / rule / location / author / assignee / status / history.
- Assign one issue and comment the ownership rationale. Verify the assignment prediction.
- Fix one observed issue in source, commit revision B, analyze, and verify the original issue becomes Fixed only after CE success.
- Temporarily mark another valid issue Accepted with lab-only rationale and review condition. Do not use False positive unless the analyzer is demonstrably wrong.
- Record gate/measures before/after and attribute the cause correctly.
- Reopen the Accepted issue and verify Activity history remains.
- Revoke the project token when the checkpoint is complete.
5. Required evidence packet
-
assumptions.mdwith 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.txtand 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
- Reopen temporary lab dispositions that should not persist.
- Revoke lab-only project/User tokens and verify failure.
- Preserve evidence outside the project.
-
If deleting the project, verify the exact key
academy_issue_checkpoint_lab. - 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?
A source diff/new revision plus successful reanalysis where the original issue is no longer detected and becomes Fixed.
Why reopen the temporary Accepted issue?
To prove reversibility while preserving Activity history.
What if gate does not change after Accepted?
Record it; gate impact depends on configured conditions. Do not assume a change.
Can scanner exit 0 close the checkpoint?
No. Upload, CE success, issue state, and gate state are separate evidence.
What does token revocation prove?
Credential cleanup, not source remediation.
Why is no False positive an acceptable result?
False positive is only correct when the analyzer is demonstrably mistaken; a lab should not fabricate that condition.
Official references and version notes
- Issues introduction — current issue concepts and lifecycle entry points.
- Issue management solution — identification, SCM-assisted assignment and lifecycle.
- Editing issues — Accepted/False positive, reopening, assignment, tags, comments and bulk changes.
- Retrieving issues — current issue filtering and review UI.
- Web API — bearer authentication and Web API V2 migration guidance.
- Managing tokens — token types, API use and revocation.
- SonarQube releases — dated release identities.
- SonarScanner CLI 8.1.0.6389 — scanner baseline.
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.
0x716c4Ab160C4B66F31a28AE2448BfF68fc3a2ef0Send only Ethereum/ERC-20 compatible assets to this
address.