Skip to content

docs: bug-class audit, UX sweep, roadmap refresh, user-guide entry points#52

Merged
shreemaan-abhishek merged 4 commits into
mainfrom
docs-trio-40-43-45
May 27, 2026
Merged

docs: bug-class audit, UX sweep, roadmap refresh, user-guide entry points#52
shreemaan-abhishek merged 4 commits into
mainfrom
docs-trio-40-43-45

Conversation

@shreemaan-abhishek
Copy link
Copy Markdown
Contributor

@shreemaan-abhishek shreemaan-abhishek commented May 27, 2026

Summary

Four small docs-only sub-issues from #33, grouped because they all touch the same files (AGENTS.md, docs/) and don't need code review:

No code touched.

Changes

#40 + #43 (AGENTS.md)

  • Drop "Legacy HTTP mocking helpers still under migration" — pkg/httpmock is the canonical unit-test pattern in both a6 and a7 (a7's AGENTS.md documents it that way).
  • New Bug-Class Audit Protocol section under Mandatory Rules: name the class → grep for the same shape → decide per hit → generalise the test → note the audit in the PR. References the a7 PRs (test: enable skywalking plugin in e2e apisix #32, a6 GA Readiness #33) that the protocol mirrors.
  • Add the three new user-guide files to the Document Map.

#41 (docs/ga-ux-sweep.md, new)

Consolidates findings from the Run 1 manual walkthrough under #41's four classes — doc-vs-code mismatches, silently-dropped args, --output inconsistency, --id semantics — plus an "other UX" bucket. Also adds findings from a widened sweep of --help text across every <resource> <action> combination.

Net: 14 findings catalogued, 4 fixed in PR #51, 10 open for follow-up sub-issues. Closing #41 here is contingent on the audit trail; the doc flags that the 10 open findings still need GitHub sub-issues filed (out of scope for this docs PR).

Notable widened-sweep findings:

  • a6 <resource> <typo> silently shows help with exit=0 (e.g. a6 route deletex --force succeeds despite the typo). Centralised fix in pkg/cmd/root would catch this for every resource.
  • --output help text confirmed consistently inconsistent: list/delete show json,yaml,table; get/create/update show json,yaml. Matches BUG-6 already tracked in PR fix: GA readiness Run 1 against APISIX 3.16 (#34) #51.

#45 part 1 (docs/roadmap.md)

#45 parts 2-4 (docs/user-guide/)

  • context.md (new) — direct entry point for a6 context commands (create / use / list / current / delete), with the per-command flag tables. configuration.md keeps the config-file / env-var / precedence reference.
  • version.md (new) — what a6 version prints and when to use it.
  • conditional-plugins.md (new) — documents plugins that ship with APISIX but are off by default (skywalking, ai-content-moderation, chaitin-waf, etc.), how to enable them, and the three coverage states a6's test suite uses: "verified in real env", "conditional / skipped", "not covered."
  • getting-started.md — expanded "What's Next" to link to the three new files plus existing declarative-config.md and auto-update.md.

Test plan

  • make fmt, make vet, make test — green
  • make validate-skills — 40 / 40 valid (regression check)
  • Markdown links sanity-checked (relative paths within docs/)
  • Widened --help sweep run against the built binary to verify the --output and positional-id findings

Closes #40. Closes #41. Closes #43. Closes #45. Part of #33.

Summary by CodeRabbit

  • Documentation
    • Added Context management and Version command guides.
    • New guide for Conditional Plugins configuration and errors.
    • Expanded Getting Started with next-step resources and context references.
    • Updated Development Guide with a Bug-Class Audit protocol.
    • Updated Roadmap to mark Phases 1–4 complete.
    • Added GA UX sweep findings and next-step dispositions.

Review Change Stack

Add a new "Bug-Class Audit Protocol" section under Mandatory Rules
describing the find-class -> grep -> decide-per-hit -> generalise-test
-> note-in-PR loop, with the a7 PR #32 / PR #33 references the protocol
mirrors. Also adds the new user-guide entry points (context, version,
conditional-plugins) to the Document Map.

Drops the "Legacy ... still under migration" framing on pkg/httpmock
since it is the canonical unit-test pattern in both a6 and a7.

Closes #40.
Closes #43.
PR-28 through PR-36 merged in March 2026 as GitHub PRs #1 to #9 but
the summary table still showed them as in-progress/upcoming. Flip the
9 rows to ✅ and update the top status line to reflect Phase 1-4 done.

Refs #45.
#14 P2 flagged that context, config, update, and version had no direct
entry in the user guide. config (declarative-config.md) and update
(auto-update.md) already exist; add the missing two and link them from
getting-started.md so they're discoverable.

Also add conditional-plugins.md to explain plugins like skywalking
that ship with APISIX but are off by default — including how the
e2e suite distinguishes "verified in real env" from
"conditional / skipped" cases (per the #45 ask).

Closes #45.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 69a5ee04-b582-4166-bc40-e1ffa0685b28

📥 Commits

Reviewing files that changed from the base of the PR and between 3fdb551 and f2db781.

📒 Files selected for processing (1)
  • docs/ga-ux-sweep.md
✅ Files skipped from review due to trivial changes (1)
  • docs/ga-ux-sweep.md

📝 Walkthrough

Walkthrough

This PR extends user and developer documentation by introducing three new command/feature guides (context, version, conditional plugins), refining developer reference materials in AGENTS.md to reflect those additions and add a bug-class audit protocol, and updating the roadmap to mark the first four development phases as complete with linked validation status.

Changes

Documentation and Roadmap Updates

Layer / File(s) Summary
Context command reference guide
docs/user-guide/context.md
Complete documentation for a6 context command surface: subcommands (create/use/list/current/delete), per-command examples, flag tables, and tips on config storage and environment overrides.
Version command and conditional plugins guides
docs/user-guide/version.md, docs/user-guide/conditional-plugins.md
Version command guide with output field descriptions and usage scenarios; conditional-plugins guide explaining disabled-by-default APISIX plugins, how to enable them in config.yaml, and mapping to test coverage states.
Developer guide reference updates
AGENTS.md
Document map refined to reference new user guides; httpmock description updated; new "Bug-Class Audit Protocol" section added outlining systematic identification and generalization of bug fixes across code paths.
Navigation cross-references and roadmap completion
docs/user-guide/getting-started.md, docs/roadmap.md
Getting-started "What's Next" expanded with links to all new guides; roadmap status updated to mark Phases 1–4 complete with GitHub PR references and CI validation table.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main documentation changes: bug-class audit protocol, UX sweep, roadmap updates, and new user-guide entry points.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
E2e Test Quality Review ✅ Passed This PR contains documentation-only changes (7 .md files) with no code, tests, or E2E test additions. The E2E Test Quality Review check is not applicable to documentation-only PRs.
Security Check ✅ Passed Documentation-only PR with no code changes. Hardcoded API key is APISIX's documented default test key. Documentation includes security warnings about plaintext storage.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs-trio-40-43-45

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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/user-guide/context.md`:
- Line 72: The doc line saying "You cannot delete the currently active context"
is inaccurate; update the documentation to state that the active context can be
deleted but the CLI will prompt for confirmation ("Context %q is the current
active context. Delete it? (y/N)") and that deletion can be forced with the
--force flag; reference the context delete implementation in delete.go and the
user commands like `a6 context use <other>` and `a6 context delete` when editing
the sentence to describe both the interactive confirmation and the `--force`
override.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 274d8e30-4b41-49ba-9c8e-105dec22db12

📥 Commits

Reviewing files that changed from the base of the PR and between efb26dd and 3fdb551.

📒 Files selected for processing (6)
  • AGENTS.md
  • docs/roadmap.md
  • docs/user-guide/conditional-plugins.md
  • docs/user-guide/context.md
  • docs/user-guide/getting-started.md
  • docs/user-guide/version.md

a6 context delete staging
```

You cannot delete the currently active context. Switch to a different one with `a6 context use <other>` first.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Inaccurate statement about deleting the active context.

The documentation states "You cannot delete the currently active context," but the actual implementation (shown in the relevant code snippet from delete.go) allows deletion of the active context after a confirmation prompt (or immediately with --force). When deleting the active context, a6 prompts "Context %q is the current active context. Delete it? (y/N)" and proceeds if confirmed.

📝 Proposed correction
-You cannot delete the currently active context. Switch to a different one with `a6 context use <other>` first.
+Deleting the active context requires confirmation. You'll be prompted to confirm unless you pass `--force`. After deletion, if other contexts exist, the first one becomes active automatically.

Based on learnings: context command implementation details from pkg/cmd/context/delete/delete.go.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
You cannot delete the currently active context. Switch to a different one with `a6 context use <other>` first.
Deleting the active context requires confirmation. You'll be prompted to confirm unless you pass `--force`. After deletion, if other contexts exist, the first one becomes active automatically.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/user-guide/context.md` at line 72, The doc line saying "You cannot
delete the currently active context" is inaccurate; update the documentation to
state that the active context can be deleted but the CLI will prompt for
confirmation ("Context %q is the current active context. Delete it? (y/N)") and
that deletion can be forced with the --force flag; reference the context delete
implementation in delete.go and the user commands like `a6 context use <other>`
and `a6 context delete` when editing the sentence to describe both the
interactive confirmation and the `--force` override.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This docs-only PR updates contributor guidance and user-guide entry points as part of the GA-readiness documentation cleanup.

Changes:

  • Adds a bug-class audit protocol and refreshed document map in AGENTS.md.
  • Adds new user guides for contexts, version output, and conditional plugins.
  • Refreshes the roadmap status table to mark Phase 4 as complete.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
AGENTS.md Updates contributor docs with canonical httpmock wording and bug-class audit protocol.
docs/roadmap.md Marks Phase 4 skill PRs as complete and references GitHub PRs.
docs/user-guide/context.md Adds direct reference documentation for a6 context commands.
docs/user-guide/version.md Adds direct reference documentation for a6 version.
docs/user-guide/conditional-plugins.md Adds guidance for APISIX plugins requiring deployment-side enabling.
docs/user-guide/getting-started.md Expands next-step links to the new and existing user-guide pages.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +72 to +73
You cannot delete the currently active context. Switch to a different one with `a6 context use <other>` first.

|---|---|---|---|
| `skywalking` | [docs](https://apisix.apache.org/docs/apisix/plugins/skywalking/) | Requires an external SkyWalking OAP collector; off so APISIX doesn't ship a noisy default. | Enabled in this repo's e2e config (`test/e2e/apisix_conf/config.yaml`, `config-docker.yaml`). |
| `skywalking-logger` | [docs](https://apisix.apache.org/docs/apisix/plugins/skywalking-logger/) | Same external dependency as `skywalking`. | Enabled in this repo's e2e config. |
| `ai-content-moderation` | [docs](https://apisix.apache.org/docs/apisix/plugins/ai-content-moderation/) | Requires an external moderation backend (e.g. AWS Comprehend). | Not enabled in the e2e config; the matching skill case is `Skip()`-gated. |
Consolidates the UX findings surfaced during the Run 1 manual
walkthrough (#34) into the four classes #41 asks about: doc-vs-code
mismatches, silently-dropped args, --output inconsistency, --id
semantics, plus an "other UX" bucket.

Most findings were already in docs/ga-test-report.md; this document
re-groups them under #41's headings and adds widened-sweep findings
(--output help text across every <resource> <action> combination,
unknown-subcommand silent success).

Net: 14 findings catalogued, 4 fixed in PR #51, 10 open for follow-up
sub-issues. The "next step" section flags that those issues still
need to be filed.

Closes #41.
@shreemaan-abhishek shreemaan-abhishek changed the title docs: bug-class audit protocol, refresh roadmap, add user-guide entry points docs: bug-class audit, UX sweep, roadmap refresh, user-guide entry points May 27, 2026
@shreemaan-abhishek shreemaan-abhishek merged commit aa66ab8 into main May 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants