Reconcile main with GitHub: bring 3.0.1 and 3.1.0 onto Forgejo (merge, no history rewrite) #72

Open
A-Guevara wants to merge 19 commits from claude/reconcile-forgejo-github-89de62 into main
Owner

What this does

This brings tti-ux 3.0.1 and 3.1.0 onto Forgejo main. Both releases, plus three vision-accessibility commits made after the 3.1.0 tag, were committed on GitHub ttitamu/tti-ux and never reached Forgejo. Meanwhile Forgejo main took #70 (the lockfile's HIGH/CRITICAL advisories and the Python kit fix), which GitHub doesn't have.

This branch is GitHub main (5babb1e) with Forgejo main (05edbd4) merged into it. Neither side's history is rewritten, and nothing is dropped.

main tags
GitHub ttitamu/tti-ux 5babb1e: 18 commits on top of 3.0.0 v3.0.1 → 5b9f47f, v3.1.0 → c79acfe
Forgejo tti/tti-ux 05edbd4: 3.0.0 plus #70 v3.0.1 → 5b9f47f; no v3.1.0
merge base 0ee5ec2 (v3.0.0)

Merge with "Create merge commit", not squash or rebase

Squash or rebase would replace the GitHub commits with new ones. 5b9f47f (v3.0.1) and c79acfe (v3.1.0) would then not be in main's history, and GitHub main could not fast-forward to Forgejo main afterwards.

Supersedes #69

#69 (feat/marcom-ui-polish) proposes 5b9f47f, the 3.0.1 release commit, which this branch contains. #69 currently conflicts with main. Once this lands, #69 has nothing left to merge.

Conflicts and how they were resolved

  • package.json: version is 3.1.0 (from GitHub). Both sides had already moved @nuxtjs/mdc to ^0.22.2. Kept GitHub's "@nuxtjs/mdc": "$@nuxtjs/mdc" override and its "//" note (needed for the packages/react peer's published copy). Kept #70's brace-expansion override at 5.0.12. GitHub's eslint devDependency is in.
  • CHANGELOG.md: #70's [Unreleased] security entry sits above [3.1.0] and [3.0.1]. Its mdc bullet now says the bump already shipped in 3.1.0, so it doesn't claim it as unreleased.
  • package-lock.json: merged without a conflict. Regenerating it with npx -y npm@12.0.2 install --package-lock-only --ignore-scripts changes no byte. It carries every #70 bump: brace-expansion 5.0.12, devalue 5.9.4, js-yaml 4.3.2, seroval 1.6.8, shell-quote 1.12.0, sharp 0.35.5, source-map-js 1.2.2, svgo 4.1.0, undici 8.11.2, vue 3.5.43. @nuxtjs/mdc resolves to 0.22.2.

Checks (local, Node 26.0.0)

check GitHub main 5babb1e this branch 7a1db31
npm ci, npm 11.12.1 and 12.0.2 — pass, pass
npx eslint . — 0 errors (262 warnings)
npx vue-tsc --noEmit 200 errors 200 errors, the same set (compared by file, code and message)
npx vitest run — 220 files, 699 tests pass
React workspace tests — 26 files, 89 tests pass
trivy 0.71.2, HIGH/CRITICAL, .security-ignore applied as baseline.yml does 24 findings 0 findings
gitleaks 8.30.1, tree scan — no leaks

GitHub main would fail this repo's baseline-security gate on its own. The merge passes because #70's bumps and dated suppressions come with it.

Not in this PR

  • The Python kit lags 3.1.0's components. 3.1.0 added props and two components without regenerating kit/python/components/: 12 modules differ from a fresh emitPython, and tux_chart_patterns_defs.py and tux_vision_preferences_modal.py are missing. This drift already existed on GitHub main; this merge doesn't add it. It's a separate follow-up.
  • No version bump, no tag, no release.

When this merges

  • ports-sync runs (the merge changes Tux*.vue) and opens or refreshes its bot PR.
  • The v3.1.0 tag isn't on Forgejo yet (c79acfe). Pushing a v* tag runs publish-package.yml. That workflow reads the PACKAGE_TOKEN secret, but the repo's secret is named NPM_TOKEN, so a publish fails the way v3.0.1's did on 2026-10-07. The registry holds only @tti/tti-ux 2.0.0.
  • GitHub main can then fast-forward to Forgejo main.

#73 stacks the strict-types fix for 3.1.1 on this branch.

## What this does **This brings tti-ux 3.0.1 and 3.1.0 onto Forgejo `main`.** Both releases, plus three vision-accessibility commits made after the 3.1.0 tag, were committed on GitHub `ttitamu/tti-ux` and never reached Forgejo. Meanwhile Forgejo `main` took #70 (the lockfile's HIGH/CRITICAL advisories and the Python kit fix), which GitHub doesn't have. This branch is GitHub `main` (5babb1e) with Forgejo `main` (05edbd4) merged into it. Neither side's history is rewritten, and nothing is dropped. | | `main` | tags | |---|---|---| | GitHub `ttitamu/tti-ux` | 5babb1e: 18 commits on top of 3.0.0 | v3.0.1 → 5b9f47f, v3.1.0 → c79acfe | | Forgejo `tti/tti-ux` | 05edbd4: 3.0.0 plus #70 | v3.0.1 → 5b9f47f; **no v3.1.0** | | merge base | 0ee5ec2 (v3.0.0) | | ### Merge with "Create merge commit", not squash or rebase Squash or rebase would replace the GitHub commits with new ones. 5b9f47f (v3.0.1) and c79acfe (v3.1.0) would then not be in `main`'s history, and GitHub `main` could not fast-forward to Forgejo `main` afterwards. ### Supersedes #69 #69 (`feat/marcom-ui-polish`) proposes 5b9f47f, the 3.0.1 release commit, which this branch contains. #69 currently conflicts with `main`. Once this lands, #69 has nothing left to merge. ## Conflicts and how they were resolved - **`package.json`**: version is **3.1.0** (from GitHub). Both sides had already moved `@nuxtjs/mdc` to `^0.22.2`. Kept GitHub's `"@nuxtjs/mdc": "$@nuxtjs/mdc"` override and its `"//"` note (needed for the `packages/react` peer's published copy). Kept #70's `brace-expansion` override at **5.0.12**. GitHub's `eslint` devDependency is in. - **`CHANGELOG.md`**: #70's `[Unreleased]` security entry sits above `[3.1.0]` and `[3.0.1]`. Its mdc bullet now says the bump already shipped in 3.1.0, so it doesn't claim it as unreleased. - **`package-lock.json`**: merged without a conflict. Regenerating it with `npx -y npm@12.0.2 install --package-lock-only --ignore-scripts` changes no byte. It carries every #70 bump: brace-expansion 5.0.12, devalue 5.9.4, js-yaml 4.3.2, seroval 1.6.8, shell-quote 1.12.0, sharp 0.35.5, source-map-js 1.2.2, svgo 4.1.0, undici 8.11.2, vue 3.5.43. `@nuxtjs/mdc` resolves to 0.22.2. ## Checks (local, Node 26.0.0) | check | GitHub `main` 5babb1e | this branch 7a1db31 | |---|---|---| | `npm ci`, npm 11.12.1 and 12.0.2 | — | pass, pass | | `npx eslint .` | — | 0 errors (262 warnings) | | `npx vue-tsc --noEmit` | 200 errors | 200 errors, **the same set** (compared by file, code and message) | | `npx vitest run` | — | 220 files, 699 tests pass | | React workspace tests | — | 26 files, 89 tests pass | | trivy 0.71.2, HIGH/CRITICAL, `.security-ignore` applied as `baseline.yml` does | **24 findings** | **0 findings** | | gitleaks 8.30.1, tree scan | — | no leaks | GitHub `main` would fail this repo's `baseline-security` gate on its own. The merge passes because #70's bumps and dated suppressions come with it. ## Not in this PR - **The Python kit lags 3.1.0's components.** 3.1.0 added props and two components without regenerating `kit/python/components/`: 12 modules differ from a fresh `emitPython`, and `tux_chart_patterns_defs.py` and `tux_vision_preferences_modal.py` are missing. This drift already existed on GitHub `main`; this merge doesn't add it. It's a separate follow-up. - No version bump, no tag, no release. ## When this merges - `ports-sync` runs (the merge changes `Tux*.vue`) and opens or refreshes its bot PR. - **The v3.1.0 tag isn't on Forgejo yet** (c79acfe). Pushing a `v*` tag runs `publish-package.yml`. That workflow reads the `PACKAGE_TOKEN` secret, but the repo's secret is named `NPM_TOKEN`, so a publish fails the way v3.0.1's did on 2026-10-07. The registry holds only `@tti/tti-ux` 2.0.0. - GitHub `main` can then fast-forward to Forgejo `main`. #73 stacks the strict-types fix for 3.1.1 on this branch.
The UI kit and component demos used a real staff name as the signed-in
persona; they now show a neutral "Demo User" (initials DU), and the
sample extension email uses [PI name] placeholders like its other
bracketed fields.
The utility-cluster demo persona is now "Demo User"; its email was
still a real account's UPN. It now uses a demo address in the same
style as the page's other sample contacts.
style(ui): polish badges, buttons, chips, charts, and 3D items for Marcom rebrand geometry and mobile responsiveness
Some checks failed
scan / trivy-fs (push) Failing after 1m4s
baseline-security / baseline (push) Failing after 1m13s
c863482512
fix(ui): resolve 3D roadway perspective defaults, logo router navigation, doctrine breadcrumbs, navbar layout, and CMS builder fallback
Some checks failed
baseline-security / baseline (push) Failing after 1m32s
scan / trivy-fs (push) Failing after 54s
cc2ba8bfab
feat(navigation): streamline mobile drawer, fix 3D control labels, and resolve breadcrumbs nowrap
Some checks failed
baseline-security / baseline (push) Failing after 1m33s
scan / trivy-fs (push) Failing after 1m16s
1fb384bc94
feat(navigation): omit numbered prefixes, add smooth accordion expansion and catalog scroll sync
Some checks failed
baseline-security / baseline (push) Failing after 1m21s
scan / trivy-fs (push) Failing after 1m1s
ai-review / review (pull_request) Successful in 54s
baseline-security / baseline (pull_request) Failing after 1m24s
scan / trivy-fs (pull_request) Failing after 1m11s
95c462f71c
chore(release): v3.0.1 — editorial numberless navigation, smooth accordion scrolling, and mobile UX polish
Some checks failed
baseline-security / baseline (push) Failing after 1m59s
scan / trivy-fs (push) Failing after 1m26s
ai-review / review (pull_request) Successful in 1m16s
baseline-security / baseline (pull_request) Failing after 1m35s
scan / trivy-fs (pull_request) Failing after 1m4s
publish-package / publish (push) Failing after 52s
5b9f47f578
release(v3.1.0): Universal CVD, SVG pattern hatching, vision accessibility, and security maintenance
- Universal CVD categorical & sequential palettes across all charts (Line, Bar, Donut, Area, Scatter, Histogram, Sunburst, Gauge, Heatmap, Geo, Sparkline, ECharts)
- Universal multi-channel redundancy (distinct markers, line dash styles, SVG pattern hatching)
- Full-surface astigmatism anti-halation soft dark mode across all surfaces, shells, code blocks, and chart canvasses
- Universal enhanced stroke widths across all SVG and Canvas chart components and UI controls
- Unit tests in tests/tux-vision-prefs.test.ts verifying options adaptation, theme generation, and vision prefs reactivity
Merge Forgejo main (#70) into the 3.1.0 line from GitHub
All checks were successful
baseline-security / baseline (push) Successful in 3m15s
ai-review / review (pull_request) Successful in 1m40s
baseline-security / baseline (pull_request) Successful in 2m44s
7a1db31cd8
main split on 2026-10-08. GitHub ttitamu/tti-ux took 3.0.1, 3.1.0 and
the vision-accessibility engine (18 commits from 0ee5ec2 to 5babb1e);
Forgejo tti/tti-ux took #70 (3fff848, d21ec1f): the lockfile's
HIGH/CRITICAL advisories, a valid Python kit, and scan.yml retired.
This merges Forgejo's side into GitHub's so both histories survive.

Conflicts:
- package.json: version 3.1.0 (GitHub). Both sides had already moved
  @nuxtjs/mdc to ^0.22.2. Kept GitHub's "$@nuxtjs/mdc" override and its
  "//" note, and Forgejo's brace-expansion override at 5.0.12.
- CHANGELOG.md: Forgejo's [Unreleased] security entry sits above [3.1.0]
  and [3.0.1]. Its mdc bullet now says the bump already shipped in 3.1.0.

package-lock.json merged cleanly. Regenerating it with
`npm@12.0.2 install --package-lock-only --ignore-scripts` changes no
byte. It carries every #70 bump (brace-expansion 5.0.12, devalue 5.9.4,
js-yaml 4.3.2, seroval 1.6.8, shell-quote 1.12.0, sharp 0.35.5,
source-map-js 1.2.2, svgo 4.1.0, undici 8.11.2, vue 3.5.43) plus
GitHub's eslint 10.12.0 devDependency.

Checked (Node 26.0.0): `npm ci` passes under npm 11.12.1 and 12.0.2;
eslint 0 errors; vue-tsc 200 errors, the same set as 5babb1e; vitest
220 files / 699 tests and the React workspace 26 / 89 pass. trivy
0.71.2 (HIGH/CRITICAL, .security-ignore applied) finds 0 here and 24
on 5babb1e.

AI review · advisory

The AI panel couldn't review this change right now (it will review the next push). Details for admins: panel HTTP 401: {"error": {"message": "missing Forgejo credential", "type": "auth", "code": 401}}

### AI review · advisory _The AI panel couldn't review this change right now (it will review the next push). Details for admins: panel HTTP 401: {"error": {"message": "missing Forgejo credential", "type": "auth", "code": 401}}_
All checks were successful
baseline-security / baseline (push) Successful in 3m15s
ai-review / review (pull_request) Successful in 1m40s
baseline-security / baseline (pull_request) Successful in 2m44s
Required
Details
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/reconcile-forgejo-github-89de62:claude/reconcile-forgejo-github-89de62
git switch claude/reconcile-forgejo-github-89de62
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!72
No description provided.