From 717a79f4052ee4912832e1e9edec5d0c47bae5ec Mon Sep 17 00:00:00 2001 From: eFAILution Date: Mon, 14 Sep 2026 21:59:22 -0400 Subject: [PATCH] fix(ai): repair dangling component references in architecture.yaml The AICaC Adoption check has been failing since #275: architecture.yaml[providers].depends_on references unknown component 'templates' #275 correctly renamed the 'templates' component to 'webview' when src/templates/ was removed, but left providers.depends_on pointing at the old name. Repointed at 'webview', which is what the providers actually import (componentBrowserProvider pulls in inlineMarkdown, scriptData, webviewHtml and clientInlineMarkdown). aicac.yml triggers only on main, so no beta PR runs it. The failures surface on the open release PR #271 (beta -> main), which re-runs on every push to beta, and would follow onto main itself on merge. Two adjacent staleness issues the checker does not catch, fixed while here: - providers.files listed componentHtmlRenderer.ts, deleted as dead code in #158. Replaced with hoverContentBuilder.ts, which holds that role now. - The hover_documentation data flow named the same deleted file and claimed it renders HTML 'using templates/helpers'. Hover builds a MarkdownString; there are no HTML templates in that path and no src/templates/ directory. Also lists clientInlineMarkdown.ts under the webview component, added in #290. --- .ai/architecture.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.ai/architecture.yaml b/.ai/architecture.yaml index b0d8a868..21773d61 100644 --- a/.ai/architecture.yaml +++ b/.ai/architecture.yaml @@ -22,12 +22,12 @@ components: validationProvider.ts: Input validation with Quick Fixes componentBrowserProvider.ts: Component browser webview UI componentDetector.ts: Detect GitLab CI component usage in YAML - componentHtmlRenderer.ts: Render component docs as HTML + hoverContentBuilder.ts: Build the hover popup's markdown body (vscode-free, unit-tested) depends_on: - services - utils - types - - templates + - webview services: location: src/services/ purpose: Business logic and data management @@ -84,6 +84,7 @@ components: webviewHtml.ts: Nonce, Content-Security-Policy and asset-URI helpers for webview documents inlineMarkdown.ts: HTML escaping and inline-Markdown rendering (vscode-free, unit-tested) scriptData.ts: Safe JSON serialization for embedding data in a script block (vscode-free, unit-tested) + clientInlineMarkdown.ts: Source text for the browser-side twin of renderInlineMarkdown (vscode-free, unit-tested) styles/: Stylesheets built to out/webview/styles/ and loaded via a CSP'd link notes: Assets under styles/ (and client/ as scripts are extracted) are built by the webview esbuild context and resolved at runtime through assetUri; they are not bundled into out/extension.js. @@ -215,8 +216,8 @@ data_flow: component: componentService action: Fetch component details (cache-first) - step: 4 - component: componentHtmlRenderer - action: Render documentation as HTML using templates/helpers + component: hoverContentBuilder + action: Build the hover markdown body (a MarkdownString, not HTML) - step: 5 component: hoverProvider action: Display hover card