Skip to content

fix(ai): repair dangling component references in architecture.yaml - #298

Merged
eFAILution merged 1 commit into
betafrom
fix/ai-architecture-dangling-refs
Sep 15, 2026
Merged

eFAILution merged 1 commit into
betafrom
fix/ai-architecture-dangling-refs

Conversation

@eFAILution

@eFAILution eFAILution commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Description

The AICaC Adoption check has been failing since #275 merged:

❌ AICaC NOT ADOPTED
Errors:
  • architecture.yaml[providers].depends_on references unknown component 'templates'

aicac.yml triggers only on main (push and pull_request both scoped to that branch), so no PR into beta runs it — including this one. Where it surfaces is the open release PR #271 (betamain), which re-runs on every push to beta. It has been red on each of the last four. Because the workflow also runs on push to main, merging #271 as it stands would carry the failure onto main.

Type of Change

  • Bug fix (CI)
  • New feature
  • Breaking change
  • Documentation update
  • Chore

Root cause

#275 removed src/templates/ and correctly renamed the templates component in .ai/architecture.yaml to webview. It did not update providers.depends_on, which still named templates, so the reference dangled.

Repointed at webview, which is what the providers genuinely import — componentBrowserProvider.ts pulls in inlineMarkdown, scriptData, webviewHtml and clientInlineMarkdown, all under src/webview/.

Two more stale entries, fixed while here

Neither is caught by the checker, which validates depends_on targets but not files paths:

  • providers.files listed componentHtmlRenderer.ts. That file was deleted as dead code in chore: Remove dead code #158 and the doc was never updated. Replaced with hoverContentBuilder.ts, which fills that role now.
  • The hover_documentation data flow named the same deleted file, with the action "Render documentation as HTML using templates/helpers". Hover builds a vscode.MarkdownString — there is no HTML rendering and no src/templates/ in that path at all.

Also adds clientInlineMarkdown.ts to the webview component, which arrived in #290.

Validation

Re-ran the three cross-reference checks the file can be held to:

  • every depends_on and submodules entry resolves to a declared component — clean
  • every path in a component's files: exists on disk — clean (it was not, before this)
  • every component named in a data_flow step appears in some component's files: — clean

.ai/architecture.yaml parses as YAML. No source change, so the test, lint and typecheck suites are untouched.

Note

This PR gets no aicac check of its own, for the trigger reason above, so the fix is verified by hand below rather than by CI. #271 will re-run the real check once this lands on beta.

Checklist

  • Self-review completed
  • Documentation updated
  • No new warnings
  • No merge conflicts

@github-actions

github-actions Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

🛡️ Security Hardening Pipeline Results

Branch: fix/ai-architecture-dangling-refs
Commit: 76af176

Workflow Run: 440
Branch: fix/ai-architecture-dangling-refs
Commit: 76af176

Scan Status

Scanner Status
bandit ⏭️ skipped
checkov ⏭️ skipped
clamav ⏭️ skipped
codeql ✅ PASS
container ⏭️ skipped
dependency-review ✅ PASS
gitleaks ✅ PASS
grype ⏭️ skipped
lint ⏭️ skipped
opengrep ⏭️ skipped
osv ✅ PASS
sbom ⏭️ skipped
supply-chain ⏭️ skipped
trivy-container ⏭️ skipped
trivy-iac ⏭️ skipped
zap ⏭️ skipped

✅ All enabled scanners completed successfully.

Summaries Collected: 4

Scanner Results

🔬 CodeQL SAST (Javascript)

Status: Completed

Findings Summary

Critical High Medium Low Total
0 0 0 0 0

No security findings detected for Javascript.

Artifacts: CodeQL Reports (Javascript)

🔗 Dependency Review

Status: ✅ No issues found

No vulnerable or license-violating dependencies detected in this PR.
📋 View full report

🔑 Gitleaks (Secrets)

No 🔑 Gitleaks (Secrets) findings summary was produced.

📦 OSV (Dependencies)

No 📦 OSV (Dependencies) findings summary was produced.


Generated by Argus


Generated by Argus

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.
@eFAILution
eFAILution force-pushed the fix/ai-architecture-dangling-refs branch from 7a5f06b to 717a79f Compare September 15, 2026 02:03
@eFAILution
eFAILution merged commit 8a93745 into beta Sep 15, 2026
23 checks passed
@eFAILution
eFAILution deleted the fix/ai-architecture-dangling-refs branch September 15, 2026 02:06
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