Skip to content
Merged
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
7 changes: 5 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches:
- dev
pull_request:
pull_request_target:
workflow_dispatch:

concurrency:
Expand All @@ -25,6 +25,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Bun
Expand Down Expand Up @@ -61,7 +62,8 @@ jobs:
if: always()
uses: actions/upload-artifact@v4
with:
name: unit-linux-${{ github.run_attempt }}
name: unit-${{ matrix.settings.name }}-${{ github.run_attempt }}
Copy link

Copilot AI Apr 5, 2026

Choose a reason for hiding this comment

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

name: unit-${{ matrix.settings.name }}-... references matrix.* but this job does not define a matrix strategy. This will fail workflow evaluation at runtime/compile time; use a static name (e.g. unit-linux-...) or introduce an actual matrix.

Suggested change
name: unit-${{ matrix.settings.name }}-${{ github.run_attempt }}
name: unit-linux-${{ github.run_attempt }}

Copilot uses AI. Check for mistakes.
include-hidden-files: true
if-no-files-found: ignore
retention-days: 7
path: packages/*/.artifacts/unit/junit.xml
Expand All @@ -75,6 +77,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Bun
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: typecheck
on:
push:
branches: [dev]
pull_request:
pull_request_target:
branches: [dev]
workflow_dispatch:

Expand All @@ -13,6 +13,8 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}

Comment on lines 3 to 18
Copy link

Copilot AI Apr 5, 2026

Choose a reason for hiding this comment

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

Switching to pull_request_target (and checking out the PR head SHA) runs untrusted PR code with the base-repo token context. For a typecheck workflow this is usually unnecessary risk; prefer pull_request or ensure the workflow never executes PR-provided code with elevated permissions/secrets.

Copilot uses AI. Check for mistakes.
- name: Setup Bun
uses: ./.github/actions/setup-bun
Expand Down
2 changes: 1 addition & 1 deletion packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"build": "vite build",
"serve": "vite preview",
"test": "bun run test:unit",
"test:ci": "bun test --preload ./happydom.ts ./src --reporter=junit --reporter-outfile=.artifacts/unit/junit.xml",
"test:ci": "mkdir -p .artifacts/unit && bun test --preload ./happydom.ts ./src --reporter=junit --reporter-outfile=.artifacts/unit/junit.xml",
"test:unit": "bun test --preload ./happydom.ts ./src",
"test:unit:watch": "bun test --watch --preload ./happydom.ts ./src",
"test:e2e": "playwright test",
Expand Down
2 changes: 1 addition & 1 deletion packages/guardrails/profile/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@
- Treat `.opencode/guardrails/` as plugin-owned runtime state, not a manual editing surface.
- Use `implement` as the guarded default primary agent. Route review, ship, and handoff work through the packaged `/review`, `/ship`, and `/handoff` commands instead of freeform release flows.
- Keep review paths read-only. If a workflow needs edits, return to `implement` or a project-local implementation agent instead of widening the review agent.
- Keep provider admission explicit. Standard confidential-code work stays on the admitted `zai` and `openai` lane; OpenRouter-backed evaluation belongs on `provider-eval` or `/provider-eval` only.
- All configured providers are available for standard work. The `provider-eval` agent and `/provider-eval` command remain available for dedicated evaluation workflows.
6 changes: 3 additions & 3 deletions packages/guardrails/profile/plugins/guardrail.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ export default async function guardrail(input: {
worktree: string
}, opts?: Record<string, unknown>) {
const mode = typeof opts?.mode === "string" ? opts.mode : "enforced"
const evals = new Set(["openrouter"])
const evals = new Set<string>([])
const evalAgent = "provider-eval"
const conf = true
const denyFree = true
Expand Down Expand Up @@ -349,10 +349,10 @@ export default async function guardrail(input: {
const agent = str(data.agent)
if (!provider) return

if (evals.has(provider) && agent !== evalAgent) {
if (evals.size > 0 && evals.has(provider) && agent !== evalAgent) {
return `${provider} is evaluation-only under confidential policy; use ${evalAgent}`
}
if (agent === evalAgent && !evals.has(provider)) {
if (evals.size > 0 && agent === evalAgent && !evals.has(provider)) {
return `${evalAgent} is reserved for evaluation-lane providers`
}

Expand Down
Loading
Loading