refactor(nav): 9 groups to 7, Power BI out of design/, implementation tabs #54

Merged
A-Guevara merged 1 commit from refactor/nav-7-groups into main 2026-09-01 17:53:17 +00:00
Owner

Sprawl pass plus the Power BI relocation. Shaped by a design panel — four independent IA proposals, each adversarially critiqued, then synthesised.

The measured problem

Four surfaces were answering two questions:

Surface What it actually is
/kits static framework-free HTML you lift elsewhere
/preview also static framework-free HTML you lift elsewhere
/examples composed live Vue pages
/patterns also a composed live Vue page

Meanwhile Tooling had 2 entries, and kit/ — nine shipped framework targets — had no page at all.

Nav: 9 groups → 7

  • Composition, Forms, Tooling die as groups. Composed pages → new Kits; Forms → nested branch under Components; Accessibility + Contrast audit → Foundations.
  • Kits takes the owner's word with the owner's meaning — "where do I look for an assembly of things." Composed examples, Patterns, frozen reference designs. Not the installable kit/ directory: someone clicking Kits expecting the landscape dashboard should not find tux-tokens.css.
  • Design narrows 11 → 7 by re-homing, not hiding. components.md leads Components, chart-foundations.md leads Visualizations, compositions.md leads Kits. Every doc keeps a sidebar home and its /design/<slug> URL.
  • /preview relabelled Specimens; route unchanged.

Honest arithmetic: hand-listed rows come out roughly flat. The real win is groups 10 → 7, three destinations deleted, and four surfaces collapsing to two.

Install

/install — one page for all nine targets, with kit-pipeline.md as its doctrine body. Deliberately a page, not a group: a directory listing wearing an intent label is exactly what was already rejected as "Kit targets" / "Platforms" / "Integrations".

/install/power-bi renders kit/powerbi/README.md verbatim — site and npm package stay single-source.

Power BI leaves design/

design/powerbi-kit.md deleted, content merged into the kit README. design/ is doctrine about TUX itself; how to apply TUX to a specific host is a different kind of document.

That doc was also the proof of a real bug: registering a design doc takes three edits (design/index.vue, design/[doc].vue, app.vue) and it shipped with two — so it rendered but never appeared in the sidebar.

Implementation tabs

How to style one chart lives on the chart; how to set up a report lives in the setup page.

Implementations are an attribute of a component, not a section of the nav — which is why there is no Power BI group anywhere in this tree.

  • TuxExample gains a powerbi tab, pushed conditionally exactly as source already was. tableau slots in the same way.
  • Wired on chart-bar/line/area/scatter (chart-cartesian) and data-table (table-chrome), imported from kit/powerbi/ rather than retyped, so a tab cannot drift from the emitter.
  • Coverage is partial and says so. The kit ships three fragment types, not one per chart. A parity table on the Visualizations overview names what is covered — a missing tab reads as "no fragment yet", not "Power BI can't render it".

Verification

On the dev server: 7 groups render, Composition/Tooling/Threads gone, Install and Power BI setup linked, the Power BI tab shows the real fragment syntax-highlighted (categoryAxis, gridlineColor present), and every design doc except kit-pipeline.md has a sidebar home — that one renders inside /install, which is its home.

115 tests, eslint clean.

Deferred

Merging /patterns into Kits, retiring app/pages/kits.vue into per-assembly rows, and the design/*.md frontmatter refactor that would collapse three registration points into one.

Sprawl pass plus the Power BI relocation. Shaped by a design panel — four independent IA proposals, each adversarially critiqued, then synthesised. ## The measured problem Four surfaces were answering **two** questions: | Surface | What it actually is | |---|---| | `/kits` | static framework-free HTML you lift elsewhere | | `/preview` | **also** static framework-free HTML you lift elsewhere | | `/examples` | composed live Vue pages | | `/patterns` | **also** a composed live Vue page | Meanwhile `Tooling` had 2 entries, and `kit/` — nine shipped framework targets — had **no page at all**. ## Nav: 9 groups → 7 - **`Composition`, `Forms`, `Tooling` die as groups.** Composed pages → new **Kits**; Forms → nested branch under Components; Accessibility + Contrast audit → Foundations. - **`Kits`** takes the owner's word with the owner's meaning — *"where do I look for an assembly of things."* Composed examples, Patterns, frozen reference designs. **Not** the installable `kit/` directory: someone clicking Kits expecting the landscape dashboard should not find `tux-tokens.css`. - **`Design` narrows 11 → 7 by re-homing, not hiding.** `components.md` leads Components, `chart-foundations.md` leads Visualizations, `compositions.md` leads Kits. Every doc keeps a sidebar home and its `/design/<slug>` URL. - `/preview` relabelled **Specimens**; route unchanged. Honest arithmetic: hand-listed rows come out roughly flat. The real win is **groups 10 → 7**, three destinations deleted, and four surfaces collapsing to two. ## Install `/install` — one page for all nine targets, with `kit-pipeline.md` as its doctrine body. Deliberately a **page, not a group**: a directory listing wearing an intent label is exactly what was already rejected as "Kit targets" / "Platforms" / "Integrations". `/install/power-bi` renders `kit/powerbi/README.md` verbatim — site and npm package stay single-source. ## Power BI leaves design/ `design/powerbi-kit.md` **deleted**, content merged into the kit README. `design/` is doctrine about TUX itself; how to apply TUX to a specific host is a different kind of document. That doc was also the proof of a real bug: registering a design doc takes **three** edits (`design/index.vue`, `design/[doc].vue`, `app.vue`) and it shipped with two — so it rendered but never appeared in the sidebar. ## Implementation tabs > How to style one chart lives on the chart; how to set up a report lives in the setup page. Implementations are an **attribute of a component, not a section of the nav** — which is why there is no Power BI group anywhere in this tree. - `TuxExample` gains a `powerbi` tab, pushed conditionally exactly as `source` already was. `tableau` slots in the same way. - Wired on chart-bar/line/area/scatter (`chart-cartesian`) and data-table (`table-chrome`), **imported from `kit/powerbi/`** rather than retyped, so a tab cannot drift from the emitter. - **Coverage is partial and says so.** The kit ships three fragment types, not one per chart. A parity table on the Visualizations overview names what is covered — a missing tab reads as *"no fragment yet"*, not *"Power BI can't render it"*. ## Verification On the dev server: 7 groups render, `Composition`/`Tooling`/`Threads` gone, Install and Power BI setup linked, the Power BI tab shows the real fragment syntax-highlighted (`categoryAxis`, `gridlineColor` present), and every design doc except `kit-pipeline.md` has a sidebar home — that one renders inside `/install`, which is its home. 115 tests, eslint clean. ## Deferred Merging `/patterns` into Kits, retiring `app/pages/kits.vue` into per-assembly rows, and the `design/*.md` frontmatter refactor that would collapse three registration points into one.
refactor(nav): 9 groups to 7, Power BI out of design/, implementation tabs
All checks were successful
scan / trivy-fs (push) Successful in 57s
baseline-security / baseline (push) Successful in 1m56s
scan / trivy-fs (pull_request) Successful in 44s
baseline-security / baseline (pull_request) Successful in 1m47s
ai-review / review (pull_request) Successful in 4m9s
1be36b9bd3
Sprawl pass plus the Power BI relocation. Four surfaces were answering
two questions, two groups had three entries between them, and kit/ —
nine shipped framework targets — had no page at all.

Nav
  - Composition, Forms and Tooling die as groups. Entries redistribute:
    composed pages to a new Kits group, Forms to a nested branch under
    Components, Accessibility and Contrast audit to Foundations.
  - Kits is the owner's word with the owner's meaning: "where do I look
    for an assembly of things" — composed examples, Patterns, and the
    frozen static reference designs. NOT the installable kit/ directory;
    a reader who clicks Kits expecting the landscape dashboard should not
    find tux-tokens.css.
  - Design narrows 11 -> 7 by re-homing, not hiding. components.md leads
    the Components group, chart-foundations.md the Visualizations group,
    compositions.md the Kits group. Every doc keeps a sidebar home and its
    /design/<slug> URL; only ownership moved.
  - /preview relabelled Specimens. Route unchanged.

Install
  - /install — one page for all nine targets, kit-pipeline.md as its
    doctrine body. Deliberately a page, not a group: a directory listing
    wearing an intent label is what was already rejected as "Kit
    targets" / "Platforms" / "Integrations".
  - /install/power-bi — renders kit/powerbi/README.md verbatim, so the
    site and the npm package stay single-source.

Power BI leaves design/
  design/powerbi-kit.md deleted, content merged into the kit README.
  design/ is doctrine about TUX itself; how to apply TUX to a specific
  host is a different kind of document. That doc was also the proof —
  registering a design doc takes THREE edits (design/index.vue,
  design/[doc].vue, app.vue) and it shipped with two, so it rendered but
  never appeared in the sidebar.

Implementation tabs
  The seam: how to style one chart lives on the chart; how to set up a
  report lives in the setup page. Implementations are an attribute of a
  component, not a section of the nav — which is why there is no Power BI
  group anywhere in this tree.
  - TuxExample gains a `powerbi` tab, pushed conditionally exactly as
    `source` already was; `tableau` slots in the same way.
  - Wired on chart-bar/line/area/scatter (chart-cartesian) and data-table
    (table-chrome), imported from kit/powerbi/ rather than retyped so a
    tab cannot drift from the emitter.
  - Coverage is partial and says so: the kit ships three fragment types,
    not one per chart, so a parity table on the Visualizations overview
    names what is covered. A missing tab reads as "no fragment yet", not
    "Power BI can't render it".

Verified on the dev server: 7 groups render, Composition/Tooling/Threads
gone, Install and Power BI setup linked, the Power BI tab shows the real
fragment syntax-highlighted, and every design doc except kit-pipeline.md
has a sidebar home — that one renders inside /install, which is its home.

Deferred to a follow-up: merging /patterns into Kits, retiring
app/pages/kits.vue into per-assembly rows, and the design/*.md frontmatter
refactor that would collapse the three registration points into one.
ai-review-bot left a comment

AI review · advisory

Verdict: 1 thing worth fixing (1 medium).

Findings that didn't map to a diff line:

app/app.vue:36 · MEDIUM — Navigation labels contain leading spaces causing malformed IDs
Labels prefixed with spaces (e.g., " · Tauri bindings") produce navigation IDs that start with a hyphen after lower‑casing and whitespace replacement, breaking the command‑palette and sidebar link IDs and risking duplicate entries.

Fix: Remove leading spaces from navigation label strings and, if visual indentation is needed, handle it via CSS or a dedicated property rather than spaces in the label.

⚑ panel: GPT-OSS 120B · Gemma 4 31B · Devstral 2 123B · Laguna S 2.1 — 9 distinct, 1 confirmed, 0 refuted · web: not used · context: 14 files · 90 codebase · 14 standards chunks (best-grounded: Laguna S 2.1; smaller windows saw less)

Panel debate — how this review was reached

Grounding — context: 14 files · 90 codebase · 14 standards chunks (best-grounded: Laguna S 2.1; smaller windows saw less)

Round 1 — independent reviews

  • GPT-OSS 120B (1 finding, confidence 0.87): The diff introduces navigation labels with leading spaces that generate malformed IDs, which could break navigation and duplicate IDs; adjust the label strings to remove leading whitespace.
  • Gemma 4 31B (0 findings, confidence 1.0): The diff is correct and follows the established design and architectural patterns for the TUX system, including the specified navigation restructure and the implementation of Power BI implementation t
  • Devstral 2 123B (8 findings, confidence 0.8): The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.
  • Laguna S 2.1 (0 findings):

Round 2 — cross-examination

  • Devstral 2 123B#8 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B
  • Devstral 2 123B#5 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B
  • GPT-OSS 120B#1 Navigation labels contain leading spaces causing malformed IDs · confirmed: Gemma 4 31B, Devstral 2 123B · refuted: —
  • Devstral 2 123B#6 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B
  • Devstral 2 123B#2 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B
  • Devstral 2 123B#7 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B
  • Devstral 2 123B#1 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B
  • Devstral 2 123B#3 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B
  • Devstral 2 123B#4 Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B

Synthesis — Devstral 2 123B wrote the final review from 1 confirmed finding (+8 unconfirmed).

Transcript rv-20260901174949-e21ee8 — full round outputs, web results, and model reasoning are viewable by anyone with access to this repository via the AI gateway.

Advisory — never a merge gate. Disagree with a finding? Reply on it, or use the finding board under this review. Transcript rv-20260901174949-e21ee8.

### AI review · advisory <!-- tti-rv:rv-20260901174949-e21ee8: --> **Verdict: 1 thing worth fixing** (1 medium). Findings that didn't map to a diff line: **`app/app.vue:36`** · MEDIUM — Navigation labels contain leading spaces causing malformed IDs Labels prefixed with spaces (e.g., " · Tauri bindings") produce navigation IDs that start with a hyphen after lower‑casing and whitespace replacement, breaking the command‑palette and sidebar link IDs and risking duplicate entries. > **Fix:** Remove leading spaces from navigation label strings and, if visual indentation is needed, handle it via CSS or a dedicated property rather than spaces in the label. <sub>⚑ panel: GPT-OSS 120B · Gemma 4 31B · Devstral 2 123B · Laguna S 2.1 — 9 distinct, 1 confirmed, 0 refuted · web: not used · context: 14 files · 90 codebase · 14 standards chunks (best-grounded: Laguna S 2.1; smaller windows saw less)</sub> <details> <summary>Panel debate — how this review was reached</summary> **Grounding** — context: 14 files · 90 codebase · 14 standards chunks (best-grounded: Laguna S 2.1; smaller windows saw less) **Round 1 — independent reviews** - **GPT-OSS 120B** (1 finding, confidence 0.87): The diff introduces navigation labels with leading spaces that generate malformed IDs, which could break navigation and duplicate IDs; adjust the label strings to remove leading whitespace. - **Gemma 4 31B** (0 findings, confidence 1.0): The diff is correct and follows the established design and architectural patterns for the TUX system, including the specified navigation restructure and the implementation of Power BI implementation t - **Devstral 2 123B** (8 findings, confidence 0.8): The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. - **Laguna S 2.1** (0 findings): **Round 2 — cross-examination** - `Devstral 2 123B#8` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B - `Devstral 2 123B#5` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B - `GPT-OSS 120B#1` Navigation labels contain leading spaces causing malformed IDs · confirmed: Gemma 4 31B, Devstral 2 123B · refuted: — - `Devstral 2 123B#6` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B - `Devstral 2 123B#2` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B - `Devstral 2 123B#7` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B - `Devstral 2 123B#1` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B - `Devstral 2 123B#3` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B - `Devstral 2 123B#4` Inconsistent navigation structure · confirmed: — · refuted: GPT-OSS 120B, Gemma 4 31B **Synthesis** — Devstral 2 123B wrote the final review from 1 confirmed finding (+8 unconfirmed). <sub>Transcript `rv-20260901174949-e21ee8` — full round outputs, web results, and model reasoning are viewable by anyone with access to this repository via the AI gateway.</sub> </details> <sub>Advisory — never a merge gate. Disagree with a finding? Reply on it, or use the finding board under this review. Transcript `rv-20260901174949-e21ee8`.</sub>
@ -40,23 +40,25 @@ const navTree = [
children: [
{ label: "Home", to: "/", icon: "lucide:home" },
{ label: "Getting started", to: "/getting-started", icon: "lucide:compass" },
{ label: "Install", to: "/install", icon: "lucide:package-plus" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#1 -->
@ -47,3 +52,4 @@
// /design/<slug>, they just aren't listed twice.
label: "Design",
children: [
{ label: "Doctrine", to: "/design/tux", icon: "lucide:book-open" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#2 -->
@ -78,2 +98,3 @@
children: [
{ label: "Examples", to: "/examples", icon: "lucide:layout-panel-left" },
{ label: "Kits overview", to: "/examples", icon: "lucide:library" },
{ label: "Compositions doctrine", to: "/design/compositions", icon: "lucide:blocks" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#3 -->
@ -79,2 +99,3 @@
{ label: "Examples", to: "/examples", icon: "lucide:layout-panel-left" },
{ label: "Kits overview", to: "/examples", icon: "lucide:library" },
{ label: "Compositions doctrine", to: "/design/compositions", icon: "lucide:blocks" },
{ label: " · Center landing", to: "/examples/center-landing", icon: "lucide:landmark" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#4 -->
@ -80,2 +99,4 @@
{ label: "Kits overview", to: "/examples", icon: "lucide:library" },
{ label: "Compositions doctrine", to: "/design/compositions", icon: "lucide:blocks" },
{ label: " · Center landing", to: "/examples/center-landing", icon: "lucide:landmark" },
{ label: " · Landscape dashboard", to: "/examples/landscape-dashboard", icon: "lucide:map" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#5 -->
@ -80,3 +100,4 @@
{ label: "Compositions doctrine", to: "/design/compositions", icon: "lucide:blocks" },
{ label: " · Center landing", to: "/examples/center-landing", icon: "lucide:landmark" },
{ label: " · Landscape dashboard", to: "/examples/landscape-dashboard", icon: "lucide:map" },
{ label: " · Paper page", to: "/examples/paper-page", icon: "lucide:file-text" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#6 -->
@ -80,4 +101,4 @@
{ label: " · Center landing", to: "/examples/center-landing", icon: "lucide:landmark" },
{ label: " · Landscape dashboard", to: "/examples/landscape-dashboard", icon: "lucide:map" },
{ label: " · Paper page", to: "/examples/paper-page", icon: "lucide:file-text" },
{ label: " · Research landing", to: "/examples/research-landing", icon: "lucide:milestone" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#7 -->
@ -81,4 +102,4 @@
{ label: " · Landscape dashboard", to: "/examples/landscape-dashboard", icon: "lucide:map" },
{ label: " · Paper page", to: "/examples/paper-page", icon: "lucide:file-text" },
{ label: " · Research landing", to: "/examples/research-landing", icon: "lucide:milestone" },
{ label: " · Sidebar shell", to: "/examples/sidebar-shell", icon: "lucide:panel-left" },
Member

MEDIUM — Inconsistent navigation structure

The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links.

Fix: Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md.

panel tally 1/4 · reply here or use the finding board to agree/disagree

**MEDIUM** — Inconsistent navigation structure The navigation structure in app.vue does not match the documented structure in CHANGELOG.md, which could lead to confusion and broken links. > **Fix:** Update the navigation structure in app.vue to match the documented structure in CHANGELOG.md. <sub>panel tally 1/4 · reply here or use the finding board to agree/disagree</sub> <!-- tti-rv:rv-20260901174949-e21ee8:Devstral 2 123B#8 -->
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
tti/tti-ux!54
No description provided.