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
6 changes: 3 additions & 3 deletions judge-lab/app/judge-lab.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -267,8 +267,8 @@ export function JudgeLab({ engineVersion, sourceCommit, scenarios }: JudgeLabPro
readOnly
rows={2}
spellCheck={false}
value={`npx @submuxhq/codedecay@0.4.1 redteam --base main --head HEAD --format markdown
npx @submuxhq/codedecay@0.4.1 agent --base main --head HEAD`}
value={`npx @submuxhq/codedecay@0.4.2 redteam --base main --head HEAD --format markdown
npx @submuxhq/codedecay@0.4.2 agent --base main --head HEAD`}
/>
<p>
This is the real product path: local diff, local checks, no hidden upload, and
Expand All @@ -284,7 +284,7 @@ npx @submuxhq/codedecay@0.4.1 agent --base main --head HEAD`}
readOnly
rows={4}
spellCheck={false}
value={`- uses: SubmuxHQ/CodeDecay/.github/actions/codedecay@v0.4.1
value={`- uses: SubmuxHQ/CodeDecay/packages/github-action@v0
with:
base: main
head: HEAD`}
Expand Down
2 changes: 1 addition & 1 deletion judge-lab/public/evidence/weak-test-report.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"generator": "scripts/generate-judge-lab-evidence.mjs",
"engineVersion": "0.4.1",
"engineVersion": "0.4.2",
"generatedAt": "2026-07-27T00:00:00.000Z",
"scenarioId": "weak-test",
"findings": [
Expand Down
2 changes: 1 addition & 1 deletion judge-lab/tests/judge-lab.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ test("publishes the captioned genuine Codex repair demo and evidence links", asy
);
await expect(demo.locator("source")).toHaveAttribute("src", "/demo/codedecay-codex-repair.mp4");
await expect(demo.locator("track")).toHaveAttribute("src", "/demo/codedecay-codex-repair.vtt");
await expect(demo.getByText("v0.4.1 · fixture 36a38500031f", { exact: true })).toBeVisible();
await expect(demo.getByText("v0.4.2 · fixture 36a38500031f", { exact: true })).toBeVisible();
await expect(demo.getByRole("link", { name: "Evidence index ↗" })).toHaveAttribute(
"href",
/docs\/hackathon\/demo\/evidence\/run-v3\.md/,
Expand Down
8 changes: 4 additions & 4 deletions judge-lab/tests/rendered-html.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,16 @@ test("server-renders the Judge Lab landing experience", async () => {
assert.match(html, /CodeDecay turns Codex from a fast builder into a safer finisher\./);
assert.match(html, /The risky path failed, got repaired, and now has proof\./);
assert.match(html, /The web lab is the proof sandbox\. Your repo stays local\./);
assert.match(html, /npx @submuxhq\/codedecay@0\.4\.1 redteam/);
assert.match(html, /SubmuxHQ\/CodeDecay\/\.github\/actions\/codedecay@v0\.4\.1/);
assert.match(html, /npx @submuxhq\/codedecay@0\.4\.2 redteam/);
assert.match(html, /SubmuxHQ\/CodeDecay\/packages\/github-action@v0/);
assert.match(html, /Watch CodeDecay catch it/);
assert.match(html, /No login\. No repository upload\./);
assert.match(html, /Don’t trust the green check\./);
assert.match(html, /From false green to real proof\./);
assert.match(html, /\/demo\/codedecay-codex-repair\.mp4/);
assert.match(html, /\/demo\/codedecay-codex-repair\.vtt/);
assert.match(html, /Edited for time from one genuine session/);
assert.match(html.replaceAll("<!-- -->", ""), /v0\.4\.1 · fixture 36a38500031f/);
assert.match(html.replaceAll("<!-- -->", ""), /v0\.4\.2 · fixture 36a38500031f/);
assert.doesNotMatch(html, /Your site is taking shape|react-loading-skeleton/);
});

Expand Down Expand Up @@ -93,7 +93,7 @@ test("live endpoint finds the curated anonymous admin route", async () => {
assert.equal(response.status, 200);
const payload = await response.json();
assert.equal(payload.execution.mode, "live");
assert.equal(payload.links.release, "https://github.com/SubmuxHQ/CodeDecay/releases/tag/v0.4.1");
assert.equal(payload.links.release, "https://github.com/SubmuxHQ/CodeDecay/releases/tag/v0.4.2");
assert.equal(payload.summary.riskLevel, "high");
assert.equal(payload.impactedRoute.route, "/api/users");
assert.ok(
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@submuxhq/codedecay",
"version": "0.4.1",
"version": "0.4.2",
"description": "Catch what your AI coding agent missed before merge with local PR safety checks",
"license": "Apache-2.0",
"author": "SubmuxHQ",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const CODEDECAY_VERSION = "0.4.1";
export const CODEDECAY_VERSION = "0.4.2";
Loading