fix(ci): exclude CHANGELOG.md from link-check and Prettier race - #143
Conversation
…onstants Establish the design-token and layout-constant groundwork for the GraphView mockup replica (spec 033): - Add --layer-* and --fw-* custom properties to the nonce-guarded :root block in html.ts (the only place global custom properties cascade under the CSP; a CSS Module :root would be scoped/hashed). - Add components/shellLayout.ts with the grid templates the mockup pins (SHELL_COLUMNS/ROWS, MERMAID_ROWS/BODY_COLUMNS, TAB_STRIP_HEIGHT, WORKSPACES_CARD_MIN_WIDTH) plus co-located tests. - Add App.module.css scaffolding for the tab strip + 3-column shell grid (wired into App.tsx in phase 2). - Point .specify/feature.json at specs/033-graphview-mockup-replica. Refs: #133
… shell Restructure the webview shell to match the mockup (spec 033, US1+US2): - App.tsx renders an editor-style 4-tab strip (GraphView / Mermaid Preview / Trace mode / Workspaces) above every scene. Active tab derives from the existing activeScene state — no new state machine, protocol unchanged (CC-007). GraphView tab shows the green workspace-loaded dot and appends the workspace name once loaded. - The GraphView scene is wrapped in the 260px/1fr/320px CSS Grid shell (App.module.css) with canvas + right-rail columns. Left rail, toolbar, and status bar are populated in phase 3. - Trace tab is disabled at the App level (trace state is owned internally by GraphView); the trace-active bridge lands in phase 5. - 6 new App tests (tab order, active-state reflection, workspace-name label, disabled trace tab, tab→scene switching, shell-grid structure). Full extension suite: 462 passed, zero regressions. Refs: #133
…tionality - Updated INSPECTOR_BADGE_KEYS to include "kind" and "exported". - Introduced InspectorNeighbor and InspectorNeighbors interfaces for neighbor data. - Added rendering functions for new badge types in InspectorPanel. - Implemented NeighborSection component to display related nodes. - Adjusted PopulatedState to incorporate neighbor data and actions. feat: improve LensesPanel with mockup structure tests - Added tests for LensesPanel to verify lens row structure including icon, title, description, and count badge. - Ensured correct activation state for lens rows. style: update LensesPanel header title to uppercase - Changed header title from "Lenses" to "LENSES" for consistency. style: refactor NodeFilterPanel styles for improved layout - Updated CSS for NodeFilterPanel to enhance layout and styling. - Introduced new styles for section headers, actions, and filter rows. test: enhance NodeFilterPanel tests for new features - Added tests for section header with All/None links. - Verified rendering of filter rows with checkbox, codicon, label, and count badge. - Updated tests to reflect changes in component structure and behavior. feat: extend GraphViewProps with new workspace actions - Added onTraceActiveChange, onReindex, onClearWorkspace, onClearAll, onToggleSourceOnly, sourceOnly, and isIndexing props. style: add edge-kind dot colors to webview CSS - Introduced new CSS variables for edge colors based on edge types to enhance visual representation in the graph view.
…ustments - Updated MermaidPreviewPanel to include a toolbar with "Re-render" and "Back to graph" actions. - Modified export actions to remain visible even when the preview fails, disabling buttons as necessary. - Added tests for new toolbar functionality and layout to ensure proper rendering order and accessibility. - Refactored CSS for SearchBar and WorkspaceCard components to improve responsiveness and visual consistency. - Introduced architecture strip in WorkspaceCard to visualize indexing status, with placeholder for future data. - Enhanced WorkspacesPage header with actions for re-scanning and opening new workspaces, improving user interaction. - Added unit tests for new header actions in WorkspacesPage to verify functionality. - Implemented HTML generation tests to ensure correct linking of stylesheets and scripts in webview.
…fic badges and enhance camera behavior on node selection
… lenses - Implemented the `entry-points` lens to highlight symbols based on their entry kind. - Introduced the `architecture` lens to recolour nodes by their architectural layer. - Updated the LensesPanel to enable both lenses and removed deprecated tooltips. - Enhanced the GraphView component to support new lens functionalities, including recolouring and dimming logic. - Added tests for new lens selectors and architecture helpers to ensure correct functionality. - Updated styles to accommodate new lens features and improve UI consistency.
…sal docs Mermaid: - Add clampGranularityToScope so workspace exports never descend to symbol level (they fail-closed past the cap on any real repo). Symbol detail is gated behind a single-file / single-symbol scope. Legacy serializeToMermaid shim opts out via allowUnscopedSymbols to keep byte-identical output. - Default preview granularity flips symbol -> file. Tests + fuzz oracle updated. Docs: - ROADMAP.md status-sync: Phase 2 (017-031) marked done, 032 + 033 added, §3.5 gap backlog with lens-v2 + GraphView bug fixes sequenced before S8. - openspec/changes/graphview-lens-v2 proposal/design/tasks (planning only; no lens code in this commit — implementation lands in follow-up commits).
Lens system (entry-points + architecture lenses) shipped in 329add5; archive the completed change. Its lenses delta spec was synced into the canonical openspec/specs/lenses (gitignored, local only).
- Added test for opening a file when a search result is selected, ensuring the camera animates correctly. - Implemented direction-aware edge coloring for CALLS based on node selection, distinguishing between inbound and outbound calls. - Introduced a LensResultTable component to display ranked results for active lenses, including handling of categorical metrics. - Updated LensesPanel to include new lens types and adjusted titles for clarity. - Extracted camera fitting logic into a reusable function for better testability and maintainability. - Enhanced GraphView to manage lens results and integrate with the new LensResultTable. - Added tests for LensResultTable to verify rendering and interaction behavior.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughChanges:
Risks:
Deferred Validation:
WalkthroughLychee link-check exclusion pattern for ChangesCHANGELOG tool exclusions
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Problem
PR #142 (release-please) is blocked by two CI failures caused by the same file:
CHANGELOG.md.link-check— lychee finds a 404 on the compare URL in CHANGELOG.md:The tag doesn't exist yet — it's created after the release PR merges. The existing
--exclude-path './CHANGELOG.md'arg has no effect because lychee's path matching doesn't resolve the./prefix against the glob input correctly.static-checks—pnpm format:checkfails on the unformatted CHANGELOG. Therelease-please-prettierworkflow exists to fix this, but it races withstatic-checks. Both fire simultaneously on the PR push event;static-checksis faster and sees the unfixed file.Fix
_link-check.yml: change--exclude-path './CHANGELOG.md'→--exclude-path 'CHANGELOG.md'so lychee actually skips the file..prettierignore: addCHANGELOG.mdsopnpm format:checknever touches it. The dedicatedrelease-please-prettierworkflow owns formatting that file; excluding it from the general check eliminates the race permanently.Test plan
link-checkandstatic-checksshould pass