Skip to content

v3.6.0 feat(qa): checkbox-free, skimmable qa:plan companion artifact - #63

Merged
mujtaba3B merged 2 commits into
mainfrom
feat/qa-plan-artifact-restructure
Jul 22, 2026
Merged

v3.6.0 feat(qa): checkbox-free, skimmable qa:plan companion artifact#63
mujtaba3B merged 2 commits into
mainfrom
feat/qa-plan-artifact-restructure

Conversation

@mujtaba3B

@mujtaba3B mujtaba3B commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Summary

Restructures the qa:plan companion artifact per Mujtaba's 2026-07-22 feedback, so every future QA plan page comes out skimmable:

  • Terse headings: "Story" / "Solution" (was "The story" / "The solution being built").
  • Bulleted blocks: Solution and Production artifacts are bullet lists, never paragraphs.
  • Issue backlink: the Story block ends with a muted "Linked issue:" line (the GitHub issue when one exists, else "none" plus provenance).
  • Checkbox-free artifact: no Dev-table checkbox column, plain-bullet Definition of Done, td.check / ul.dod CSS removed. Checkbox state lives only in the PR body's ## QA section, which the merge gates read.
  • SKILL.md Step 4b aligned (including the snapshot note that still said "boxes unchecked"), skill frontmatter 2.2.0, qa-plan CHANGELOG v2.2.0, qa plugin 3.6.0, TODOS.md skeleton seeded.

Motivation: the restructure was previously applied by hand to a single artifact; a parallel session's plan came out in the old shape because the shipped template never changed. This makes the new structure the default.

Test Coverage

No executable code paths (HTML template, markdown instructions, version JSON). The template was rebuilt by script with post-assertions and its render proven by publishing a page from it; hook scripts are untouched, so the existing bats suites cover the gates unchanged.

Pre-Landing Review

Checklist pass: clean (no em-dashes, bullet structure verified, version/title consistent). Adversarial review (Claude subagent, full-file pass): two FIXABLE findings, both fixed in 6d8a177 (SKILL.md frontmatter version sync; a Step 4b.3 sentence still describing unchecked boxes). Clean checks included strict HTML tag-balance, zero leftover references to deleted CSS classes or checkbox glyphs repo-wide, FILL-marker/markup agreement, and confirmation that no hook reads the template.

Design Review

Artifact template is design-bearing HTML but not app frontend; the render proof (plan-view artifact below) is the visual check.

Eval Results

No prompt-related files changed - evals skipped.

Plan Completion

No plan file (in-session request); the approved QA plan below is the spec.

TODOS

TODOS.md created (skeleton). Docs-debt candidate noted: qa/README.md's qa-plan row predates the companion artifact feature entirely.

QA

📄 Plan view: https://claude.ai/code/artifact/a2434cf0-e6c3-4ee1-9513-ec285f5e6123

QA driver: Claude, the building agent (this session) - static assertions, a render proof, and a cache diff, all drivable now.
Standard (all green): unit tests · lint/types · CI · /eng:cr

🖥️ Development

Before merge, we check the new template file mechanically (right headings, bullet lists, no checkbox characters at all) and prove it still renders by publishing a page from it.

Tester Check Expect Notes
[x] claude Static assertions on the template Headings "Story"/"Solution"; Solution + Artifacts are bullet lists; zero checkbox glyphs or bracket boxes; Linked-issue line present python assertions in the build script, re-verified by the adversarial full-file grep
[x] claude SKILL.md Step 4b matches the template contract Instructions name terse headings, bullets, issue backlink, checkbox-free artifact adversarial pass caught and fixed the one leaked sentence
[x] claude Render proof: publish a page built from the new template Self-contained render, both themes, no missing styles the Plan view artifact above IS built from the new template
[x] claude CI bats suites "bats hook suites" required check green (no hook scripts touched) green in 42s on 5e4b55c

🚀 Production

After the merge we reinstall the plugins and confirm the cached copy every future session loads is the new template; the proof in anger is the next real QA plan coming out in the new shape.

Tester Check Expect Notes
claude Post-merge: bin/install, then diff cache vs repo template Byte-identical; qa plugin cache at 3.6.0 the cache, not the repo, is what sessions load
mujtaba Next real /qa:plan run in any session Artifact comes out Story/Solution, bulleted, checkbox-free observed on the next planned change

Production artifacts:

  • The qa plugin copy under ~/.claude/plugins/cache/gstack-extensions/qa/3.6.0/ on this MacBook, installed by bin/install from merged main.
  • Layer note: skills read the CACHE, not the repo; the cache refreshes only when bin/install runs, so the post-merge install is the deploy step.

Definition of Done:

  • Tests written and green (bats hook suites green on 5e4b55c; no new logic to test)
  • Independent local review clear (/eng:cr Major tier, stamp on 5e4b55c) + CodeRabbit rate-limited and backstopped by that stamp per the merge gate's rate-limit disposition
  • Docs updated where user-facing (audited: README/qa README make no artifact-structure claims; skill CHANGELOG updated)
  • where-things-run.json bumped if the deploy changed hosts (no host change; not applicable)

QA_STATUS: dev_verified
EVIDENCE: template built by script with post-assertions (headings, bullets, zero checkbox glyphs); adversarial full-file pass verified HTML tag balance, no dead CSS or glyph leftovers, FILL/markup agreement, no hook coupling; render proven by the Plan view artifact (built from this exact template); bats hook suites green on 5e4b55c.

Post-deploy: QA_STATUS: prod_verified plus EVIDENCE once the Prod rows are verified live.

🤖 Generated with Claude Code

mujtaba3B and others added 2 commits July 22, 2026 16:47
Terse Story/Solution headings, bulleted Solution and Production-artifacts
blocks, a Linked-issue line in the Story block, and no checkboxes anywhere
in the artifact (checkbox state lives only in the PR body the gates read).
Step 4b instructions aligned, including the snapshot note the adversarial
review caught still describing unchecked boxes.
…DOS.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mujtaba3B mujtaba3B self-assigned this Jul 22, 2026
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 33 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 400a0e57-e1d8-47c2-bfb9-23e374cc496a

📥 Commits

Reviewing files that changed from the base of the PR and between 645b6dc and 5e4b55c.

📒 Files selected for processing (5)
  • TODOS.md
  • qa/.claude-plugin/plugin.json
  • qa/skills/qa-plan/CHANGELOG.md
  • qa/skills/qa-plan/SKILL.md
  • qa/skills/qa-plan/references/artifact-template.html

Comment @coderabbitai help to get the list of available commands.

@mujtaba3B
mujtaba3B merged commit f83d968 into main Jul 22, 2026
3 checks passed
@mujtaba3B
mujtaba3B deleted the feat/qa-plan-artifact-restructure branch July 22, 2026 21:51
@mujtaba3B

Copy link
Copy Markdown
Owner Author

QA_STATUS: prod_verified
EVIDENCE: bin/install refreshed the plugin cache from merged main (f83d968); the cached qa-plan artifact template is byte-identical to the repo copy and the qa plugin cache reports 3.6.0. Prod row 2 (next real /qa:plan artifact comes out Story/Solution, bulleted, checkbox-free) is observed on the next planned change; note the harness loads the refreshed plugin cache on the next session restart.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant