Skip to content

polish(extension): marketplace metadata + onboarding UX consistency - #9

Merged
qmarcelle merged 10 commits into
mainfrom
polish/extension-marketplace-metadata
Jul 19, 2026
Merged

qmarcelle merged 10 commits into
mainfrom
polish/extension-marketplace-metadata

Conversation

@qmarcelle

Copy link
Copy Markdown
Contributor

Summary

  • Marketplace listing metadata (keywords, gallery banner, badges, homepage, pricing, author), CHANGELOG.md, SUPPORT.md — recovered from uncommitted WIP found sitting in the working tree from a prior session, plus fixes for factual errors found in adversarial review (categories overclaimed APIs the extension doesn't implement; walkthrough step count was wrong; SUPPORT.md's GitHub-integration claim was inaccurate for its file location).
  • Onboarding UX consistency, from a requested /sc:analyze pass grounded against the VS Code Command Palette UX guidelines:
    • "Getting Started" → "Open Getting Started Walkthrough" (6 of 7 other commands are verb-first; this was the one gerund noun phrase).
    • The Command-Palette-only "Open Intelligence File" no-file warning was a dead end; every other surface points to Getting Started when workspace.json is missing — this one now does too.
  • No logic, decision, or evidence-model changes anywhere in this PR.

Test plan

  • tsc -p tsconfig.json clean
  • node --test out/test/*.check.js — 82/82 passing throughout
  • npm run package (real vsce package) succeeds; manifest fields validated against @vscode/vsce 3.9.2's own validation
  • Two rounds of adversarial review (PASS both), findings from the first round fixed in a follow-up commit

…T.md

Adds categories, keywords, gallery banner, badges, homepage, pricing,
and author to the manifest; bundles CHANGELOG.md into the VSIX for the
Marketplace's Changelog tab; adds SUPPORT.md as a GitHub community
health file (deliberately excluded from the packaged VSIX via
.vscodeignore — it drives GitHub's issue-creation flow, not a
Marketplace tab).

Untracked/uncommitted work found sitting in the working tree from a
prior session, predating today's 0.1.3 publish. Verified: valid JSON,
clean typecheck/build, 82/82 tests, and vsce accepts every new
manifest field (validated with a real `npm run package` build).
Corrected the changelog's stale "0.1.2" heading to "Unreleased" since
none of this shipped in any published version yet — it lands in
whatever version is tagged next.
- Revert categories to ["Other"]: Linters/SCM Providers/Testing were
  false — the extension implements none of those VS Code APIs
  (no DiagnosticCollection, no SCM provider, no TestController). This
  is exactly the overclaiming this codebase's own copy elsewhere
  refuses to do (tooltips.ts, semanticModel.ts).
- Fix CHANGELOG.md: walkthrough has four steps, not three.
- Fix CHANGELOG.md: SUPPORT.md isn't at a location GitHub recognizes
  as a community health file, so it doesn't "drive" anything yet —
  reworded to stop claiming a wiring that doesn't exist.

Missing 0.1.1/0.1.2/0.1.3 changelog entries left as a known gap
(flagged, not fabricated) rather than reconstructed from an unlabeled
commit history with no clean per-version boundary.
Requested a /sc:analyze pass on the extension's architecture and
command-palette/onboarding integration, grounded against the official
VS Code Command Palette UX guidelines (docs confirm: use clear names,
group commands under one category — the latter already holds here).

Two findings, both fixed:

1. 6 of 7 visible commands use verb-first imperative titles (Show,
   Inspect, Run, Open); "Getting Started" was the one gerund noun
   phrase. Renamed to "Open Getting Started Walkthrough" for pattern
   consistency. (Ruled out a VS Code built-in title collision as the
   root cause of the reported onboarding bug: VS Code's own entries
   are "Help: Open Walkthrough..." and "Help: Welcome", not "Getting
   Started" — no direct string clash. Traced WALKTHROUGH_ID history:
   a real publisher-id typo existed once, historically, but was fixed
   in d753ede, long before today, and is confirmed correct on main.)

2. The Command-Palette-only "Open Intelligence File" command's
   no-file warning was a dead end — every other surface (welcome
   states, walkthrough) points to Getting Started when workspace.json
   is missing; this one didn't. Added the same actionable button.

No logic, decision, or evidence-model changes. 82/82 tests still pass.
Copilot AI review requested due to automatic review settings July 17, 2026 16:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

…version drift gate

Adds the extension's "Generate Intelligence" command/walkthrough step so a
user with no .agents/workspace.json can invoke the reference generator
(agents-audit) without the extension authoring the artifact itself
(sendText only, never fs.write). Names the producer on every consumer
surface (README, extension, walkthrough) that previously never mentioned
it, per the HAC-197 cold-run finding.

Installer: removes the unrequested .gitignore auto-write (HAC-203) in
favor of printing the ignore instruction; the install receipt now checks
for .agents/workspace.json and prints generate instructions instead of
reporting PASS when no artifact exists.

Adds scripts/check-generator-version.mjs (+ CI wiring) to catch drift
across the now six-plus copies of the pinned agents-audit version
instead of hand-syncing them.

README: corrects the "Verify in two minutes" section, which previously
told readers to generate a file then rely on fragility flags that
`generate` never produces — now points that demo at fixture/, which
carries hand-authored manual evidence.

Does NOT touch the reviewer-key documentation gap (missing
WORKSPACEJSON_REVIEWER_MODEL, the "no network calls" claim sitting in
the same sentence as the advisory review) — that stays open under
HAC-205.

Reviewed adversarially across three rounds this session; all BLOCK
findings resolved, remaining observations (registry-coupling in the
version-check gate, walkthrough onContext over-completion on non-happy
states) accepted as known, non-blocking trade-offs.
…-204)

The pin is the contract; the registry is the world. Failing CI when an
upstream agents-audit release moves ahead of a deliberate pin makes every
upstream publish an incident in this downstream repo. Remove the registry
fetch and the pinned!=latest failure; keep the cross-surface agreement check
(every surface pins the same version as every other). Reconciling the pin
against the *installed* agents-audit version is the redesign left to HAC-204.

A regression test locks in the intentional non-behavior: a pin behind the
registry latest is not a violation.
Stages the 0.1.6 version across the three sync points (package.json,
package-lock, runtime VERSION in src/index.ts) so the release cut is a
single merge. Extension stays 0.1.2 (separate track; republish decision
tracked in HAC-200). Proven demo path is against agents-audit@0.4.3.
@qmarcelle qmarcelle self-assigned this Jul 19, 2026
@qmarcelle
qmarcelle merged commit 40b73cb into main Jul 19, 2026
2 checks passed
@qmarcelle
qmarcelle deleted the polish/extension-marketplace-metadata branch July 19, 2026 15:50
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.

2 participants