Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
872e1fa
Merge branch 'feat/frontend-phase-13' into feat/frontend-phase-14
JustAGhosT Mar 10, 2026
39c021b
Phase 14 foundation: Zustand stores, navigation, routing, SignalR, sk…
JustAGhosT Mar 10, 2026
be77d0c
FE-002: Wire real API, remove DashboardAPI mock
JustAGhosT Mar 10, 2026
e663ad7
Address PR review findings: security, a11y, error handling, API robus…
JustAGhosT Mar 10, 2026
63faff6
Merge pull request #347 from phoenixvc/feat/frontend-phase-13
JustAGhosT Mar 11, 2026
a7b3fee
Merge feat/frontend-phase-13 into feat/frontend-phase-14
JustAGhosT Mar 11, 2026
f24331d
Merge dev into feat/frontend-phase-14
JustAGhosT Mar 11, 2026
50b62c2
Address PR review findings: security, a11y, race conditions, cleanup
JustAGhosT Mar 11, 2026
6317a18
Merge feat/frontend-phase-14 into dev
JustAGhosT Mar 11, 2026
e45ce1d
chore(deps): pin dependency node to 22.22.1
renovate[bot] Mar 11, 2026
87f4570
Merge pull request #356 from phoenixvc/main
JustAGhosT Mar 11, 2026
4874573
Merge pull request #353 from phoenixvc/renovate/github-actions
JustAGhosT Mar 11, 2026
68932f2
Fix gh-pages deploy: grant contents write permission to GITHUB_TOKEN
JustAGhosT Mar 11, 2026
98829c2
Merge pull request #357 from phoenixvc/feat/frontend-phase-14
JustAGhosT Mar 11, 2026
5680ec2
Phase 14b: UI component library integration — shadcn/ui, design token…
JustAGhosT Mar 11, 2026
d98c3fe
Merge pull request #358 from phoenixvc/feat/frontend-phase-14
JustAGhosT Mar 11, 2026
836120d
chore(deps): update entity framework core to v10.0.4
renovate[bot] Mar 11, 2026
ae4bf5b
chore(deps): update entity framework core to v10.0.4
JustAGhosT Mar 11, 2026
b413224
fix(deps): pin dependencies
renovate[bot] Mar 11, 2026
8cebf4f
chore(deps): update microsoft.extensions to v10.0.4
renovate[bot] Mar 11, 2026
e2f0ca2
fix(deps): pin dependencies
JustAGhosT Mar 11, 2026
a7c6407
chore(deps): update microsoft.extensions to v10.0.4
JustAGhosT Mar 11, 2026
d39be65
fix(deps): update all non-major dependencies
renovate[bot] Mar 11, 2026
c051586
fix(deps): update all non-major dependencies
JustAGhosT Mar 11, 2026
bd50328
fix(deps): update all non-major dependencies (#360)
renovate[bot] Mar 11, 2026
46af6ee
Phase 15 Batch A: Settings, Notifications, Profile
JustAGhosT Mar 11, 2026
2fdefc2
fix(deps): update all non-major dependencies (#368)
renovate[bot] Mar 11, 2026
af2da13
chore(deps): update dependency azure.identity to v1.19.0 (#369)
renovate[bot] Mar 12, 2026
2005cdf
fix(deps): update all non-major dependencies (#370)
renovate[bot] Mar 12, 2026
ffd9526
fix(deps): update all non-major dependencies (#373)
renovate[bot] Mar 13, 2026
eb02c17
chore(deps): update all non-major dependencies (#374)
renovate[bot] Mar 14, 2026
25e8df4
fix(deps): update all non-major dependencies (#375)
renovate[bot] Mar 15, 2026
b6d1d15
fix(deps): update dependency shadcn to v4.0.8 (#376)
renovate[bot] Mar 15, 2026
bc437cf
fix(deps): update dependency zustand to v5.0.12 (#378)
renovate[bot] Mar 16, 2026
701afec
fix(deps): update all non-major dependencies (#379)
renovate[bot] Mar 16, 2026
2c56725
fix(deps): update all non-major dependencies (#383)
renovate[bot] Mar 17, 2026
e888d63
chore(ci): reduce CodeQL to weekly schedule + manual trigger (#384)
JustAGhosT Mar 17, 2026
0e761c2
fix(deps): update all non-major dependencies (#385)
renovate[bot] Mar 17, 2026
54d3864
chore(deps): update dependency wolverinefx to v5.21.0 (#386)
renovate[bot] Mar 18, 2026
c6dbacd
fix(deps): update all non-major dependencies (#387)
renovate[bot] Mar 19, 2026
0608500
fix(deps): update dependency i18next to v25.8.19 (#389)
renovate[bot] Mar 19, 2026
f93f4b2
fix(deps): update all non-major dependencies (#390)
renovate[bot] Mar 20, 2026
504fb33
chore(deps): update dependency @redocly/cli to v2.24.1 (#391)
renovate[bot] Mar 20, 2026
44df3a2
chore(deps): update dependency microsoft.azure.cosmos to v3.58.0 (#393)
renovate[bot] Mar 20, 2026
71c8943
Potential fix for code scanning alert no. 545: Unused variable, impor…
JustAGhosT Mar 20, 2026
ee96dd9
chore(mcp): add kernel.sh cloud browser MCP server (#388)
JustAGhosT Mar 20, 2026
c8aba90
fix(deps): update dependency i18next to v25.9.0 (#395)
renovate[bot] Mar 20, 2026
1d1a097
Phase 16: Remaining widgets, role-based UI, frontend tests (#361)
JustAGhosT Mar 20, 2026
9b7aa34
chore(deps): pin node.js (#362)
renovate[bot] Mar 20, 2026
dcb086e
fix: bump Microsoft.Extensions.* and EF Core packages from 10.0.4 to …
Copilot Mar 20, 2026
93edd06
update badges (#420)
JustAGhosT Mar 21, 2026
b161a03
feat: ai written implement ations for most of the interfaces (#421) (…
JustAGhosT Mar 21, 2026
7a23e10
feat: Policy Store DB for Self-Healing Remediation Policies (PHO-5) (…
JustAGhosT Mar 21, 2026
d3bad53
fix(docs): correct stale ecosystem names and fix README formatting (#…
JustAGhosT Mar 21, 2026
fd4a427
Chore/codeql weekly only (#424)
JustAGhosT Mar 21, 2026
b8f62d4
Merge branch 'main' into dev
JustAGhosT Mar 21, 2026
8fed9ce
feat: docs, workflows, general improvements (#425) (#426)
JustAGhosT Mar 21, 2026
363f176
fix(deps): update all non-major dependencies (#419)
renovate[bot] Mar 25, 2026
a01555a
chore(deps): update dependency azure.identity to v1.20.0 (#453)
renovate[bot] Mar 31, 2026
43b4d71
chore(deps): update github actions (#438)
renovate[bot] Mar 31, 2026
0cc2c3a
docs(orchestration-eval): compare PhoenixVC stack vs coding-agent har…
claude Apr 7, 2026
0fbc66e
docs(orchestration-eval): add retort-plugins and Cognitive Mesh UILayer
claude Apr 7, 2026
b64e6b2
docs(orchestration-eval): expand to full 13-repo phoenixvc ecosystem …
claude Apr 7, 2026
4aa69ac
docs: Add PhoenixVC stack vs. coding-agent harnesses comparison
JustAGhosT Apr 7, 2026
494d96b
chore(deps): update dependency python to v3.14.4 (#462)
renovate[bot] Apr 8, 2026
918a44a
chore(deps): update dependency azure.identity to v1.21.0 (#464)
renovate[bot] Apr 11, 2026
61637b8
chore(deps): update dependency node to v24.15.0 (#475)
renovate[bot] Apr 17, 2026
893a73e
docs: add Baton task coordination guidance (#481)
JustAGhosT May 10, 2026
76697e3
chore(deps): update dependency microsoft.azure.cosmos to v3.59.0 (#478)
renovate[bot] May 10, 2026
01eeb7b
chore(deps): update azure sdks (#483)
renovate[bot] May 13, 2026
3705a4f
chore(deps): update dependency microsoft.azure.cosmos to v3.60.0 (#485)
renovate[bot] May 19, 2026
7f1ff18
chore(deps): update azure sdks to v3.61.0 (#487)
renovate[bot] Jun 3, 2026
8372439
chore(deps): update azure sdks (#488)
renovate[bot] Jun 5, 2026
2f81b50
chore(deps): update dependency postcss to v8.5.10 [security] (#484)
renovate[bot] Jul 4, 2026
c41370e
chore(deps): update azure sdks (#489)
renovate[bot] Jul 4, 2026
7362553
deps(npm): bump the react group across 1 directory with 7 updates (#486)
dependabot[bot] Jul 4, 2026
b44c9d2
fix(deps): update dependency uuid to v13.0.1 [security] (#480)
renovate[bot] Jul 4, 2026
9d7d41c
fix(deps): update dependency next to v16.2.6 [security] (#463)
renovate[bot] Jul 4, 2026
e61ef68
\ chore: prefer renovate over dependabot,deactivate SonarQube\
JustAGhosT Jul 4, 2026
e43403f
\ chore - add project-level AGENTS.md bootstrap\
JustAGhosT Jul 4, 2026
3fb0e69
fix: unblock dotnet ci
JustAGhosT Jul 11, 2026
4e9e160
chore: switch node workflows to pnpm
JustAGhosT Jul 12, 2026
ac37896
docs(agents): add Cognitive Mesh MVP launch engineer
JustAGhosT Jul 12, 2026
8bd4505
docs(agents): route Cognitive Mesh specialist work
JustAGhosT Jul 12, 2026
cb472ac
fix: correct pnpm test invocation
JustAGhosT Jul 12, 2026
b4b687f
fix(deps): update all non-major dependencies (#439)
renovate[bot] Jul 12, 2026
b0c2d1e
chore(deps): update dependency js-yaml to v4.2.0 [security] (#490)
renovate[bot] Jul 12, 2026
58ef5ba
chore(deps): update dependency xunit to v2.9.3 (#477)
renovate[bot] Jul 12, 2026
ebb443a
deps(nuget): Bump YamlDotNet from 16.3.0 to 17.0.1 (#472)
dependabot[bot] Jul 12, 2026
07f9e88
chore(deps): update all non-major dependencies (#491)
renovate[bot] Jul 12, 2026
c7468da
chore(deps): update entity framework core to v10.0.9 (#473)
renovate[bot] Jul 12, 2026
219ab99
chore(deps): update microsoft.extensions to v10.0.9 (#474)
renovate[bot] Jul 12, 2026
faba8f4
fix: align extension console package pins
JustAGhosT Jul 12, 2026
ed2a86c
chore(deps): pin dependencies (#476)
renovate[bot] Jul 12, 2026
da03b47
fix(deps): replace dependency framer-motion with motion 12.42.2 (#493)
renovate[bot] Jul 12, 2026
b98999f
chore: prepare neuralliquid web app deployment
JustAGhosT Jul 12, 2026
4ed1c76
fix: deploy from dev build completions
JustAGhosT Jul 12, 2026
20ed9a9
fix: use oidc for azure web app deploys
JustAGhosT Jul 12, 2026
c6b4f6c
fix: deploy checks against app service hosts
JustAGhosT Jul 12, 2026
4af2f8a
fix: build api image from full solution context
JustAGhosT Jul 12, 2026
cec08a2
fix: publish api image with release dependencies
JustAGhosT Jul 12, 2026
0e47a0a
fix: brand login for mystira identity
JustAGhosT Jul 12, 2026
c0abba4
fix: configure api health and cors
JustAGhosT Jul 12, 2026
3564391
chore: ignore terragrunt local artifacts
JustAGhosT Jul 12, 2026
89ab306
feat: add mystira identity login
JustAGhosT Jul 12, 2026
6602cda
docs: add neuralliquid migration handoff
JustAGhosT Jul 12, 2026
3049a76
feat: route model calls through sluice
JustAGhosT Jul 12, 2026
60f74c3
Merge pull request #496 from phoenixvc/agent/sluice-model-routing
JustAGhosT Jul 12, 2026
cf9f3df
feat: wire runtime model calls through sluice
JustAGhosT Jul 12, 2026
426ebf1
fix(deps): update dependency react-i18next to v17.0.9 (#495)
renovate[bot] Jul 12, 2026
d3aab3f
Merge pull request #497 from phoenixvc/agent/sluice-runtime-wiring
JustAGhosT Jul 12, 2026
5f8b5aa
fix: add production dashboard endpoints
JustAGhosT Jul 12, 2026
6ee1d41
Merge pull request #498 from phoenixvc/agent/prod-dashboard-auth-fixes
JustAGhosT Jul 12, 2026
7101390
feat: expose immersive control interface
JustAGhosT Jul 12, 2026
7ebd7c4
Merge pull request #500 from phoenixvc/agent/expose-cogmesh-control
JustAGhosT Jul 12, 2026
d3d3ed4
feat: send Mystira magic login links
JustAGhosT Jul 12, 2026
f4f88cf
Merge pull request #501 from phoenixvc/agent/mystira-magic-link-login
JustAGhosT Jul 12, 2026
40b6f9d
fix: use Mystira hosted identity for magic login
JustAGhosT Jul 12, 2026
bb7102d
fix: improve control navigation diagnostics
JustAGhosT Jul 12, 2026
c6e724b
Merge pull request #502 from phoenixvc/agent/mystira-magic-link-login
JustAGhosT Jul 12, 2026
3001392
fix: honor forwarded host for Mystira auth
JustAGhosT Jul 12, 2026
706cf59
Merge pull request #503 from phoenixvc/agent/fix-mystira-public-origin
JustAGhosT Jul 12, 2026
f8022ec
chore(deps): update dependency prettier to v3.9.5 (#499)
renovate[bot] Jul 12, 2026
57ce7d8
fix: allow control origin and show preview nav
JustAGhosT Jul 12, 2026
a60e49b
Merge pull request #504 from phoenixvc/agent/fix-control-cors-preview
JustAGhosT Jul 12, 2026
4921e5a
feat: make control command center interactive
JustAGhosT Jul 12, 2026
04421a3
Merge pull request #505 from phoenixvc/agent/control-command-center
JustAGhosT Jul 12, 2026
91f4d19
feat: add live adaptive balance control widget (#506)
JustAGhosT Jul 12, 2026
1ef3893
feat: make nist compliance widget live (#507)
JustAGhosT Jul 12, 2026
8780d62
feat: make impact metrics widget live (#508)
JustAGhosT Jul 12, 2026
ff389b8
feat: wire convener endpoints (#509)
JustAGhosT Jul 12, 2026
6e1e8fc
feat: surface sluice and docket control telemetry (#510)
JustAGhosT Jul 12, 2026
5b76bf3
fix: make control widget library place widgets (#511)
JustAGhosT Jul 12, 2026
cb21d31
docs: refresh cognitive mesh migration package (#512)
JustAGhosT Jul 13, 2026
92aa06b
infra: add cognitive mesh routing settings (#513)
JustAGhosT Jul 13, 2026
871ff84
docs: record cognitive mesh transfer baseline (#515)
JustAGhosT Jul 13, 2026
99334ef
docs: resolve github app coverage gate (#516)
JustAGhosT Jul 13, 2026
88aeb3f
feat(api): forward Docket usage events (#517)
JustAGhosT Jul 13, 2026
f548964
chore(deps): update dependency pnpm to v10.34.5 (#518)
renovate[bot] Jul 13, 2026
f116537
chore(deps): update all non-major dependencies (#514)
renovate[bot] Jul 13, 2026
4489fd3
fix(deploy): wire Docket usage auth settings (#519)
JustAGhosT Jul 13, 2026
b588922
fix(deploy): support Docket API key bridge (#520)
JustAGhosT Jul 13, 2026
062da6e
docs(agent-ops): add workflow contract schemas (#521)
JustAGhosT Jul 13, 2026
1a97620
chore(deps): update dependency eslint to v9.39.5 (#522)
renovate[bot] Jul 13, 2026
eac1d23
chore: clean untracked artifacts (#523)
JustAGhosT Jul 13, 2026
7da496b
fix(deploy): persist Sluice gateway secret bridge (#524)
JustAGhosT Jul 14, 2026
792454d
docs: record NeuralLiquid OIDC readiness (#525)
JustAGhosT Jul 14, 2026
771e04d
docs: close Batch 2 NeuralLiquid migration prep
JustAGhosT Jul 14, 2026
5e0567a
Merge pull request #526 from phoenixvc/agent/batch2-closeout-batch3-s…
JustAGhosT Jul 14, 2026
7726d22
docs: record Batch 3 NeuralLiquid transfer
JustAGhosT Jul 14, 2026
0c0a732
Merge pull request #527 from neuralliquid/agent/batch3-transfer-evidence
JustAGhosT Jul 14, 2026
ad2c84d
Close post-transfer hardening
JustAGhosT Jul 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 17 additions & 11 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
# ────────────── Primary Azure OpenAI ──────────────
AZURE_OPENAI_ENDPOINT=https://your-primary-endpoint.openai.azure.com/
AZURE_OPENAI_KEY=your_primary_key_here
AZURE_OPENAI_DEPLOYMENT_GPT35=your-gpt35-deployment-name
AZURE_OPENAI_DEPLOYMENT_ROUTER=your-model-router-name
# ────────────── Sluice model routing ──────────────
# Cognitive Mesh routes model calls through Sluice. Do not configure provider
# keys here for shared/prod deployments.
SLUICE_BASE_URL=https://sluice.example.com
SLUICE_API_KEY=
SLUICE_MODEL=default
SLUICE_MAX_TOKENS=16384

# ────────────── Secondary "SAF" Azure OpenAI ──────────────
AZURE_OPENAI_ENDPOINT_SAF=https://your-saf-endpoint.openai.azure.com/
AZURE_OPENAI_KEY_SAF=your_saf_key_here
AZURE_OPENAI_DEPLOYMENT_4O=your-gpt4o-deployment-name
AZURE_OPENAI_DEPLOYMENT_GPT41=your-gpt41-deployment-name
AZURE_OPENAI_DEPLOYMENT_EMBEDDINGS=your-embeddings-deployment-name
# Direct providers are for local mocks or explicit migration shims only.
ALLOW_DIRECT_MODEL_PROVIDER=false

# ────────────── Cognitive Mesh Frontend Auth ──────────────
NEXT_PUBLIC_API_BASE_URL=http://localhost:5000
NEXT_PUBLIC_MYSTIRA_AUTH_CLIENT_ID=d8182e32-4dda-4fc9-83bf-b5d517bc9528
NEXT_PUBLIC_MYSTIRA_TENANT_ID=9530cd32-9e33-47f0-9247-ed964730b580
MYSTIRA_IDENTITY_BASE_URL=https://identity.mystira.app
MYSTIRA_OIDC_CLIENT_ID=neuralliquid-cognitive-mesh-web
MYSTIRA_OIDC_CLIENT_SECRET=
82 changes: 0 additions & 82 deletions .github/dependabot.yml

This file was deleted.

48 changes: 29 additions & 19 deletions .github/workflows/api-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,40 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v6.0.3

- name: Set up pnpm
uses: pnpm/action-setup@v4.4.0
with:
version: 10.34.5

- name: Set up Node.js
uses: actions/setup-node@v6
uses: actions/setup-node@v6.4.0
with:
node-version: '24.14.0'
cache: 'npm'
cache-dependency-path: docs/package-lock.json
node-version: '24.18.0'
cache: 'pnpm'
cache-dependency-path: docs/pnpm-lock.yaml

- name: Install dependencies
working-directory: ./docs
run: npm ci
run: pnpm install --frozen-lockfile
env:
HUSKY: '0'

- name: Build OpenAPI spec
working-directory: ./docs
run: npm run build
run: pnpm run build

- name: Validate OpenAPI spec
working-directory: ./docs
run: npm run validate
run: pnpm run validate

- name: Run tests
working-directory: ./docs
run: npm test
run: pnpm test

- name: Upload coverage report
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v7.0.1
if: always()
with:
name: coverage-report
Expand All @@ -65,27 +70,32 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v6
uses: actions/checkout@v6.0.3

- name: Set up pnpm
uses: pnpm/action-setup@v4.4.0
with:
version: 10.34.5

- name: Set up Node.js
uses: actions/setup-node@v6
uses: actions/setup-node@v6.4.0
with:
node-version: '24.14.0'
cache: 'npm'
cache-dependency-path: docs/package-lock.json
node-version: '24.18.0'
cache: 'pnpm'
cache-dependency-path: docs/pnpm-lock.yaml

- name: Install dependencies
working-directory: ./docs
run: npm ci
run: pnpm install --frozen-lockfile
env:
HUSKY: '0'

- name: Build OpenAPI spec
working-directory: ./docs
run: npm run build
run: pnpm run build

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
uses: peaceiris/actions-gh-pages@v4.1.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/.redocly
Expand All @@ -105,7 +115,7 @@ jobs:
steps:
- name: Send notification
if: failure()
uses: rtCamp/action-slack-notify@v2
uses: rtCamp/action-slack-notify@v2.4.0
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_COLOR: '#FF0000'
Expand Down
105 changes: 35 additions & 70 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,97 +9,57 @@ on:

jobs:
dotnet:
name: .NET build and SonarQube analysis
name: .NET build and test
runs-on: windows-latest

steps:
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
java-version: 17
distribution: 'zulu'

- uses: actions/checkout@v6
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- uses: actions/checkout@v6.0.3

- name: Set up .NET
uses: actions/setup-dotnet@v5
uses: actions/setup-dotnet@v5.4.0
with:
dotnet-version: |
9.0.x
10.0.x

- name: Cache SonarQube Cloud packages
uses: actions/cache@v5
with:
path: ~\sonar\cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Build
run: dotnet build CognitiveMesh.sln

- name: Cache SonarQube Cloud scanner
id: cache-sonar-scanner
uses: actions/cache@v5
with:
path: ${{ runner.temp }}\scanner
key: ${{ runner.os }}-sonar-scanner
restore-keys: ${{ runner.os }}-sonar-scanner

- name: Install SonarQube Cloud scanner
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
shell: powershell
run: |
New-Item -Path ${{ runner.temp }}\scanner -ItemType Directory
dotnet tool update dotnet-sonarscanner --tool-path ${{ runner.temp }}\scanner

# Requires repository secret SONAR_TOKEN (generate at https://sonarcloud.io/account/security)
- name: Validate SonarQube Cloud configuration
shell: powershell
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
if ([string]::IsNullOrWhiteSpace($env:SONAR_TOKEN)) {
Write-Error "SONAR_TOKEN secret is not configured. Add it in Settings > Secrets > Actions."
exit 1
}

- name: Build and analyze
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
shell: powershell
run: |
${{ runner.temp }}\scanner\dotnet-sonarscanner begin /k:"JustAGhosT_cognitive-mesh" /o:"neuralliquid" /d:sonar.token="$env:SONAR_TOKEN" /d:sonar.cs.opencover.reportsPaths="**/coverage.opencover.xml"
dotnet build CognitiveMesh.sln
dotnet test CognitiveMesh.sln --no-build --collect:"XPlat Code Coverage;Format=opencover" --results-directory TestResults
${{ runner.temp }}\scanner\dotnet-sonarscanner end /d:sonar.token="$env:SONAR_TOKEN"
- name: Test
run: dotnet test CognitiveMesh.sln --no-build

typescript:
name: TypeScript validation
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v6.0.3

- name: Set up pnpm
uses: pnpm/action-setup@v4.4.0
with:
version: 10.34.5

- name: Set up Node.js
uses: actions/setup-node@v6
uses: actions/setup-node@v6.4.0
with:
node-version: '24.14.0'
cache: 'npm'
cache-dependency-path: docs/package-lock.json
node-version: '24.18.0'
cache: 'pnpm'
cache-dependency-path: docs/pnpm-lock.yaml

- name: Install dependencies
working-directory: docs
run: npm ci
run: pnpm install --frozen-lockfile
env:
HUSKY: '0'

- name: Validate OpenAPI specs
working-directory: docs
run: npm run validate
run: pnpm run validate

- name: Run tests
working-directory: docs
run: npm run test:unit
run: pnpm run test:unit

frontend:
name: Frontend build, lint and test
Expand All @@ -110,31 +70,36 @@ jobs:
working-directory: src/UILayer/web

steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v6.0.3

- name: Set up pnpm
uses: pnpm/action-setup@v4.4.0
with:
version: 10.34.5

- name: Set up Node.js
uses: actions/setup-node@v6
uses: actions/setup-node@v6.4.0
with:
node-version: '22.22.1'
cache: 'npm'
cache-dependency-path: src/UILayer/web/package-lock.json
node-version: '22.23.1'
cache: 'pnpm'
cache-dependency-path: src/UILayer/web/pnpm-lock.yaml

- name: Install dependencies
run: npm ci --legacy-peer-deps
run: pnpm install --frozen-lockfile

- name: Lint
run: npm run lint
run: pnpm run lint

- name: Type check
run: npx tsc --noEmit --skipLibCheck
run: pnpm exec tsc --noEmit --skipLibCheck
continue-on-error: true

- name: Test
run: npm test -- --ci --coverage --passWithNoTests
run: pnpm test --ci --coverage --passWithNoTests

- name: Upload coverage
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v4.6.2
with:
name: frontend-coverage
path: src/UILayer/web/coverage/
Expand Down
Loading
Loading