Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .github/workflows/fail-fast-spec-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
spec
.ae
packages/spec-compiler
patches
src
scripts/ci
configs/tsconfig
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/parallel-test-execution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,10 @@ jobs:
timeout: 20
- test-type: flake-detection
command: flake:detect:enhanced:quick
timeout: 10
# Three CI-fast observations take roughly ten minutes on the
# hosted runner. Keep the step bounded without terminating valid
# observations at the previous ten-minute edge.
timeout: 15

steps:
- name: Checkout code
Expand Down Expand Up @@ -367,7 +370,7 @@ jobs:
run: |
printf "%s\n" "🔄 Retrying potentially flaky tests..."
pnpm run flake:detect:enhanced:quick
timeout-minutes: 8
timeout-minutes: 15

- name: Upload retry results
uses: actions/upload-artifact@v4
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/sbom-generation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ on:
default: 'true'
type: boolean
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
# A reusable workflow inherits the caller name in github.workflow. Keep this
# namespace independent from the caller's workflow-level concurrency key so
# the reusable invocation cannot cancel its own caller.
group: sbom-generation-${{ github.ref }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Separate standalone and reusable SBOM concurrency

When a standalone SBOM run and the reusable SBOM job overlap on the same ref—for example, a main push or /run-security-dispatch while the scheduled/manual security.yml call is running—both now use this identical repository-wide concurrency group. Because cancel-in-progress is enabled, the newer invocation cancels the other; cancelling the reusable invocation also leaves the parent Security Analysis run without its SBOM result. Include the invocation context or run identity in this namespace while keeping it distinct from the caller's own group.

AGENTS.md reference: AGENTS.md:L22-L22

Useful? React with 👍 / 👎.

cancel-in-progress: true

jobs:
Expand Down
2 changes: 1 addition & 1 deletion apps/storybook/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"@types/react": "^18.2.55",
"@types/react-dom": "^18.2.19",
"autoprefixer": "^10.4.17",
"postcss": "^8.4.35",
"postcss": "^8.5.18",
"storybook": "7.6.21",
"tailwindcss": "^3.4.1",
"typescript": "^5.3.3"
Expand Down
6 changes: 3 additions & 3 deletions apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"@ae-framework/ui": "workspace:*",
"@hookform/resolvers": "^3.3.4",
"@tanstack/react-query": "^5.20.1",
"next": "15.5.18",
"next": "15.5.21",
"next-intl": "^4.9.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
Expand All @@ -27,9 +27,9 @@
"@types/react-dom": "^18.2.19",
"autoprefixer": "^10.4.17",
"eslint": "^8.56.0",
"eslint-config-next": "15.5.18",
"eslint-config-next": "15.5.21",
"eslint-plugin-jsx-a11y": "^6.8.0",
"postcss": "^8.4.35",
"postcss": "^8.5.18",
"tailwindcss": "^3.4.1",
"typescript": "^5.3.3"
}
Expand Down
1 change: 1 addition & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ WORKDIR /app
# Copy package files
COPY package*.json ./
COPY pnpm-lock.yaml* ./
COPY patches ./patches

# Install all dependencies first (needed for building)
RUN npm install -g npm@11.7.0 && corepack enable pnpm && \
Expand Down
2 changes: 2 additions & 0 deletions docker/Dockerfile.test
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ COPY tsconfig.json ./tsconfig.json
COPY configs/tsconfig ./configs/tsconfig
# Copy workspace packages so pnpm can validate the lockfile against workspace manifests.
COPY packages/ ./packages/
COPY apps/ ./apps/
COPY patches ./patches
COPY scripts/ci/check-package-manager.mjs ./scripts/ci/check-package-manager.mjs

# Enable pnpm and install all dependencies (including dev dependencies for testing)
Expand Down
34 changes: 23 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
"demo:smoke": "pnpm run demo:agent-assurance && node scripts/demo/run-scope-drift-demo.mjs && node scripts/demo/run-high-risk-escalation-demo.mjs && pnpm run demo:smoke:check",
"demo:smoke:check": "node scripts/demo/check-demo-smoke-artifacts.mjs",
"test:security-assurance": "node scripts/security/run-security-assurance-fixture.mjs",
"test:dependency-security-compat": "vitest run tests/security/dependency-remediation-compatibility.test.ts",
"claim-evidence:generate": "node scripts/assurance/build-claim-evidence-manifest.mjs",
"publication:evidence:validate": "node scripts/release/validate-publication-evidence.mjs",
"claim-level-summary:generate": "node scripts/assurance/aggregate-claim-levels.mjs",
Expand Down Expand Up @@ -471,14 +472,14 @@
"@aws-sdk/client-s3": "^3.1078.0",
"@modelcontextprotocol/sdk": "^1.29.0",
"@opentelemetry/api": "^1.9.1",
"@opentelemetry/api-logs": "^0.219.0",
"@opentelemetry/auto-instrumentations-node": "^0.77.0",
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.219.0",
"@opentelemetry/exporter-trace-otlp-grpc": "^0.219.0",
"@opentelemetry/resources": "^2.8.0",
"@opentelemetry/sdk-metrics": "^2.8.0",
"@opentelemetry/sdk-node": "^0.219.0",
"@opentelemetry/sdk-trace-base": "2.8.0",
"@opentelemetry/api-logs": "^0.220.0",
"@opentelemetry/auto-instrumentations-node": "^0.78.0",
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.220.0",
"@opentelemetry/exporter-trace-otlp-grpc": "^0.220.0",
"@opentelemetry/resources": "2.9.0",
"@opentelemetry/sdk-metrics": "2.9.0",
"@opentelemetry/sdk-node": "^0.220.0",
"@opentelemetry/sdk-trace-base": "2.9.0",
"@opentelemetry/semantic-conventions": "^1.41.1",
"@types/uuid": "^10.0.0",
"ajv": "^8.20.0",
Expand All @@ -487,13 +488,13 @@
"chalk": "^5.3.0",
"commander": "^12.0.0",
"execa": "^9.6.0",
"fastify": "^5.9.0",
"fastify": "^5.10.0",
"fastify-openapi-glue": "^4.5.0",
"fastify-plugin": "5",
"gitleaks": "^1.0.0",
"glob": "^10.5.0",
"handlebars": "^4.7.9",
"js-yaml": "^4.1.1",
"js-yaml": "^4.3.0",
"micromatch": "^4.0.8",
"pg": "^8.12.0",
"pino": "^9.0.0",
Expand Down Expand Up @@ -590,7 +591,13 @@
"tar-fs": "2.1.4",
"vite": "6.4.3",
"ws": "8.21.0",
"fast-uri": "3.1.3",
"fast-uri": "3.1.4",
"find-my-way": "9.7.0",
"postcss": "8.5.25",
"js-yaml@3": "3.15.0",
"js-yaml@4": "4.3.0",
"brace-expansion": "5.0.8",
"sharp": "0.35.3",
"hono": "4.12.27",
"router@2>path-to-regexp": "8.4.2",
"@opentelemetry/exporter-metrics-otlp-grpc>@grpc/grpc-js": "1.14.4",
Expand Down Expand Up @@ -625,6 +632,11 @@
"@types/minimatch>minimatch": "10.2.3",
"type-coverage-core>minimatch": "9.0.9",
"giget>tar": "7.5.19"
},
"patchedDependencies": {
"minimatch@3.1.4": "patches/minimatch@3.1.4.patch",
"minimatch@5.1.8": "patches/minimatch@5.1.8.patch",
"minimatch@9.0.9": "patches/minimatch@9.0.9.patch"
}
}
}
2 changes: 1 addition & 1 deletion packages/spec-compiler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"prepack": "pnpm run build"
},
"dependencies": {
"js-yaml": "^4.1.1",
"js-yaml": "^4.3.0",
"zod": "^3.23.8"
},
"devDependencies": {
Expand Down
8 changes: 8 additions & 0 deletions patches/minimatch@3.1.4.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
diff --git a/minimatch.js b/minimatch.js
index fe1f3b2df9e62f545bfac4728492424f035c2455..68461f3d2af273e8218e55b1ef34a32341dc6556 100644
--- a/minimatch.js
+++ b/minimatch.js
@@ -10 +10,2 @@ var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
-var expand = require('brace-expansion')
+var braceExpansion = require('brace-expansion')
+var expand = braceExpansion.expand || braceExpansion
8 changes: 8 additions & 0 deletions patches/minimatch@5.1.8.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
diff --git a/minimatch.js b/minimatch.js
index 731ed17c6852768f4e1636aabbf532c30dcbca5e..1aa15de4ca94ec418a282815f008fbe7b545ace4 100644
--- a/minimatch.js
+++ b/minimatch.js
@@ -19 +19,2 @@ minimatch.GLOBSTAR = GLOBSTAR
-const expand = require('brace-expansion')
+const braceExpansion = require('brace-expansion')
+const expand = braceExpansion.expand || braceExpansion
32 changes: 32 additions & 0 deletions patches/minimatch@9.0.9.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
diff --git a/dist/commonjs/index.js b/dist/commonjs/index.js
index c12dc5e6476874f9dbba429a19e445a4a688e1df..0cf188263ad4214155e167ae3f404a65c09bc551 100644
--- a/dist/commonjs/index.js
+++ b/dist/commonjs/index.js
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0;
-const brace_expansion_1 = __importDefault(require("brace-expansion"));
+const brace_expansion_1 = require("brace-expansion");
const assert_valid_pattern_js_1 = require("./assert-valid-pattern.js");
const ast_js_1 = require("./ast.js");
const escape_js_1 = require("./escape.js");
@@ -157,7 +157,7 @@ const braceExpand = (pattern, options = {}) => {
// shortcut. no need to expand.
return [pattern];
}
- return (0, brace_expansion_1.default)(pattern);
+ return (0, brace_expansion_1.expand)(pattern);
};
exports.braceExpand = braceExpand;
exports.minimatch.braceExpand = exports.braceExpand;
diff --git a/dist/esm/index.js b/dist/esm/index.js
index 737c8095415235e69e4717b505d0ee4ea3c0b6fa..ad5aa644f7957fb39627327bdd6435f4007dca30 100644
--- a/dist/esm/index.js
+++ b/dist/esm/index.js
@@ -1,4 +1,4 @@
-import expand from 'brace-expansion';
+import { expand } from 'brace-expansion';
import { assertValidPattern } from './assert-valid-pattern.js';
import { AST } from './ast.js';
import { escape } from './escape.js';
Loading
Loading