Skip to content

Harden CommandTree testing, summaries, execution, and SEO#19

Merged
MelbourneDeveloper merged 23 commits into
mainfrom
bugfixes
Apr 23, 2026
Merged

Harden CommandTree testing, summaries, execution, and SEO#19
MelbourneDeveloper merged 23 commits into
mainfrom
bugfixes

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

TLDR

Adds fail-fast CommandTree test execution while broadening command execution, AI summary, coverage, and website SEO hardening across the branch.

Details

What Was Added

  • New AI summary orchestration and state modules: src/summaryOrchestration.ts and src/state.ts.
  • Automatic Copilot model resolution for background summary generation, with explicit interactive selection preserved for user commands.
  • New tree actions for copying relative/full task paths and making files executable from task context menus.
  • Drag support for command-tree task rows using text/uri-list, plain text paths, and CommandTree command IDs.
  • Dockerfile task discovery and Docker Compose commands that run with an explicit -f file path.
  • Pure helper modules for DB lock artifact cleanup, markdown description parsing, task helpers, and task parameter formatting.
  • E2E/unit coverage for activation non-blocking behavior, AI model selection, copy path, make executable, Docker execution, script drag, sort order, summary tooltips, undefined-argument no-ops, markdown parsing, task helpers, and DB lock recovery.
  • Website audit skill, Codex skill symlinks, sitemap override, taxonomy SEO handling, and expanded website SEO tests.

What Was Changed/Deleted

  • make test now runs fail-fast by using Mocha --bail for unit tests and vscode-test --bail for VS Code-hosted tests, while excluding @exclude-ci auth-gated tests from the main test target.
  • test-exclude-ci is now an alias for test, keeping existing workflows on the same fail-fast path.
  • VS Code-hosted tests now include E2E, provider, and unit output under the coverage run.
  • Extension activation no longer blocks on initial discovery; discovery and automatic summaries run in the background after activation.
  • AI summaries now choose a concrete model automatically for background runs instead of opening a picker, while manual model selection still prompts and persists the user's choice.
  • Command tree sorting now keeps folders before files, sorts labels case-insensitively, and keeps private make/mise tasks muted and sorted after public tasks without inserting divider rows.
  • Make target discovery keeps target line numbers for navigation and removes phony/help priority handling from task ordering.
  • Task execution delegates parameter formatting to a production helper instead of private duplicated test logic.
  • DB lifecycle state moved into centralized app state, with lock artifact operations moved into a testable pure helper.
  • Markdown description extraction moved into a parser helper with direct unit coverage.
  • Website metadata, sitemap output, taxonomy page indexing, mobile text wrapping, and docs/blog wording were adjusted for SEO and crawl hygiene.
  • Dependency lockfiles, package overrides, ESLint config, PR template, agent instructions, and coverage thresholds were updated.

Spec/Doc Changes

  • Updated Agents.md, Claude.md, and .github/PULL_REQUEST_TEMPLATE.md.
  • Added .claude/skills/website-audit/SKILL.md and .codex/skills/* links for local skill access.
  • Updated AI summaries docs/blog copy and mise task blog copy.
  • Added sitemap/taxonomy behavior in the website Eleventy config.

Breaking Changes

No extension runtime breaking changes. The intentional workflow change is that make test is now fail-fast and excludes @exclude-ci tests by default; auth-gated Copilot tests remain outside the default CI path.

How Do The Automated Tests Prove It Works?

make ci passed in this session after the branch changes:

  • Lint passed through ESLint and cspell.
  • TypeScript compile passed.
  • Unit tests passed with 118 passing.
  • VS Code-hosted tests passed with 372 passing.
  • Coverage completed at 93.11% statements/lines, 88.33% branches, and 94.87% functions, then ratcheted coverage-thresholds.json.

Specific tests added or updated in the diff prove the main behaviors: automatic selection picks a concrete model without prompting, activate() returns while initial discovery is still in flight, copy-path E2E tests, Docker execution E2E tests, make-executable E2E tests, script drag E2E tests, sort-order E2E tests, summary tooltip E2E tests, undefined-argument no-op E2E tests, markdown description unit tests, task helper unit tests, and DB lock recovery unit tests.

@MelbourneDeveloper MelbourneDeveloper merged commit 71b1313 into main Apr 23, 2026
2 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the bugfixes branch April 23, 2026 06:41
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