Skip to content

fix(question-bank): correct six user-reported CLF-C02 question defects - #225

Open
nastaso wants to merge 1 commit into
mainfrom
fix/question-errors-batch
Open

fix(question-bank): correct six user-reported CLF-C02 question defects#225
nastaso wants to merge 1 commit into
mainfrom
fix/question-errors-batch

Conversation

@nastaso

@nastaso nastaso commented Aug 4, 2026

Copy link
Copy Markdown
Owner

What does this PR do?

Works through the seven open user-reported question-error issues as one change, since they touch the same banks and validate-questions gates them together.

Every report was verified against AWS documentation before anything was edited, and independently cross-checked by a second model (Codex/GPT-5.6). Two reports turned out to be wrong about the answer key; those questions were not changed to match the report.

Closes #216, #214, #213, #212, #207, #206.

Issue Q Report Verdict Change
#207 q478 Wrong answer marked correct CORRECT Answer flipped D -> B, explanation rewritten
#212 q889 Explanation discusses services that are not options CORRECT Explanation rewritten, answer unchanged
#206 q093 "Amazon Recognition" typo CORRECT Spelling fixed
#216 q583 Stem ambiguous CORRECT Stem reworded, answer unchanged
#213 q231 Stem ambiguous PARTLY CORRECT Stem tightened, answer unchanged (reporter's alternatives are not options)
#214 q387 Wrong answer marked correct WRONG on the answer Answer unchanged; a separate real defect in the explanation was fixed
#204 q280 Correct answer graded incorrect WRONG about the question No bank change. Root-caused to a UI bug, see below

The one real answer-key error: q478 (#207)

Which of the following is NOT a benefit of using AWS Lambda?

The bank marked D ("AWS Lambda can be called directly from any mobile app") as the non-benefit. That is wrong on both halves:

  • AWS's own Lambda description says you can "set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app". D is a documented benefit.
  • "Secure and resizable compute capacity" is AWS's branding for Amazon EC2. Option B borrows the EC2 description, so B is the statement that is not a Lambda benefit.

The previous explanation asserted the opposite of the AWS docs ("Lambda functions cannot be invoked directly from a mobile app"), so it has been rewritten too.

Source: AWS Well-Architected, Lambda concept (the source the reporter cited) and aws.amazon.com/ec2.

Two explanations described options that do not exist

q889 (#212) and q387 (#214) both had distractor paragraphs written against a different option set: q889 discussed Macie and Shield, q387 discussed "closing the account" and "opening a new root account". Neither appears in its question. Both rewritten against the real options. Neither answer key changed.

q387's reporter argued CloudTrail should be the answer. It should not: that option also deletes every IAM user with access to your resources, and AWS guidance is to deactivate the IAM users you did not create, not all of them. The rewritten explanation now says this explicitly, so the next reader gets the reasoning.

#204 (q280) is not a content bug

The reporter selected the correct answers and was still graded incorrect. The question content is right (NACLs + security groups). The cause is in the review UI: QuestionReviewCard.tsx:96-98 paints every correct option green whether or not the user selected it, and there is no "you picked this" state. An unanswered or half-answered multi-answer question therefore renders identically to a fully correct one while still being badged INCORRECT.

That is a real user-facing bug, but it is a UI/design change needing screenshot verification, so it is deliberately not bundled into a question-bank PR. #204 should stay open and be re-scoped. Details in the handoff.

How was this tested?

  • npm run validate - all questions valid, warning count unchanged from baseline (19, all pre-existing saa-c03 ones)
  • npm run check - astro check 0 errors, eslint clean, 300 tests / 26 suites passed
  • npm run bank:lastmod - freshness ledger regenerated (unit-test gated by bankFreshness.test.ts)

Checklist

  • npm run validate passes locally
  • npm run check passes locally
  • No new third-party dependencies
  • No changes to scoring, the question schema, or the auth flow

Note on #205

PR #205 (q808 answer count) is correct and was deliberately not absorbed here, so the external contributor keeps authorship. It touches src/data/clf-c02/domain2.json and bank-lastmod.json, so whichever of the two merges second needs a npm run bank:lastmod re-run to settle the ledger hash. No semantic conflict: different questions.

Screenshots (UI changes only)

Not applicable, content-only change.

Closes #216, #214, #213, #212, #207, #206.

Each report was verified against AWS documentation before any edit, and
cross-checked with a second model. Two reports were wrong about the answer key
and are answered in the issue rather than by changing a correct question.

q478 (#207): marked answer flipped D -> B. "Resizable compute capacity in the
  cloud" is AWS's description of Amazon EC2, not Lambda. AWS documents that you
  can "call it directly from any web or mobile app", so the old key (D) marked a
  genuine documented benefit as the non-benefit. Explanation rewritten; the old
  one asserted the opposite of the AWS docs.
q889 (#212): explanation's distractor paragraph discussed Macie and Shield,
  which are not options in this question. Rewritten to cover the real options
  (Secrets Manager, Systems Manager, Certificate Manager). Answer unchanged.
q387 (#214): reporter's claim that CloudTrail should be the answer is wrong
  (that option also deletes every IAM user with access, which AWS does not
  advise). Answer unchanged, but the explanation described three options that do
  not exist in the question, so it was rewritten against the real options.
q093 (#206): option C misspelled the service as "Amazon Recognition".
q583 (#216): stem did not say whose costs it meant. Reworded to ask which cost
  a company stops paying for directly when it moves off its own data center.
q231 (#213): reporter's alternatives (Config, Artifact, Audit Manager) are not
  options, so the answer stands, but "ensure compliance" was genuinely loose.
  Stem tightened to name the mechanism without giving away the service.

Ledger regenerated via npm run bank:lastmod.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying cloudcertprep with  Cloudflare Pages  Cloudflare Pages

Latest commit: 767cb34
Status: ✅  Deploy successful!
Preview URL: https://9cf7db05.cloudcertprep.pages.dev
Branch Preview URL: https://fix-question-errors-batch.cloudcertprep.pages.dev

View logs

@nastaso

nastaso commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

CI green across all seven checks, including Build and validate (full prebuild + postbuild guard chain), Playwright e2e and Lighthouse.

Second-opinion cross-check: ran every AWS-correctness call past Codex (gpt-5.6-sol, reasoning effort high) independently. It agreed with the answer key on all seven questions, including the q478 flip to B. Its wording objections and the two I declined are written up in the maintainer handoff.

Not merging, per repo rules. Over to @nastaso.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Question error: q583

1 participant