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
2 changes: 1 addition & 1 deletion Dockerfile.runtime
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ WORKDIR /workspace
ARG SOURCE_COMMIT
LABEL org.opencontainers.image.source="https://github.com/diffexai/diffex"
LABEL org.opencontainers.image.revision=$SOURCE_COMMIT
LABEL org.opencontainers.image.licenses="Apache-2.0 AND MIT"
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.description="Hosted Diffex coding-agent runtime"

CMD ["diffex-runtime-server"]
8 changes: 3 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<a href="https://diffex.ai/"><img alt="Website" src="https://img.shields.io/badge/site-diffex.ai-black.svg" /></a>
<a href="https://www.npmjs.com/package/@diffexai/diffex?activeTab=readme"><img alt="Latest npm version" src="https://img.shields.io/npm/v/%40diffexai%2Fdiffex?label=diffex" /></a>
<a href="https://nodejs.org/"><img alt="Node.js 22.19 or newer" src="https://img.shields.io/badge/node-%3E%3D22.19.0-339933.svg?logo=node.js&logoColor=white" /></a>
<a href="LICENSE"><img alt="License: Apache 2.0" src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" /></a>
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-blue.svg" /></a>
<a href="https://github.com/diffexai/diffex/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/diffexai/diffex/actions/workflows/ci.yml/badge.svg?branch=main" /></a>
</p>

Expand Down Expand Up @@ -53,9 +53,7 @@ Diffex scores are reported mean rewards; Codex's score is published leaderboard
| [Terminal-Bench 2.1](https://hub.harborframework.com/jobs/169f8574-9c7f-411c-9fe5-489ea4471016) | Diffex 0.3.1 | GPT-5.6 Luna | 79.85% | 412 / 445 |
| [Terminal-Bench 2.1](https://github.com/harbor-framework/terminal-bench-2-1/pull/112) | Codex | GPT-5.6 Luna | 75.73% | 445 / 445 |

Deep SWE also reported **95.13% fail-to-pass** and **98.85% pass-to-pass** test scores.

On Terminal-Bench 2.1, Diffex's reported GPT-5.6 Luna score is **4.12 percentage points above Codex**, also using `max` reasoning. This is not a controlled comparison: execution environments may differ.
On Terminal-Bench 2.1, Diffex's reported GPT-5.6 Luna score is **4.12 percentage points above Codex**, also using `max` reasoning.

## Documentation

Expand Down Expand Up @@ -94,4 +92,4 @@ Thank you to the developers of [Pi](https://github.com/earendil-works/pi) for bu

## License

Apache License 2.0
MIT
2 changes: 1 addition & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Standalone archives and other installation channels are deferred by the [approve
The single public CLI package is derived from `scripts/release-packages.mjs`.
Internal workspaces remain private and required runtime modules are included inside the CLI tarball.
The generated publication manifest and installation locks contain no registry dependencies on separate Diffex packages.
Every package declares Apache-2.0 and ships the full root license, including the complete MIT notice for Pi-derived portions.
Every package declares MIT and ships the full root license, including the complete MIT notice for Pi-derived portions.
The generated `NOTICE`, `THIRD-PARTY-NOTICES.txt`, and `distribution-components.json` identify applicable portions and bundled components.
Readable runtime JavaScript, declarations, runtime JSON/SQL data, HTML/CSS templates, and documentation are approved.
Examples and native source build files are excluded; evolution and harness-trace runtime code is explicitly public when vendored in the CLI.
Expand Down
6 changes: 3 additions & 3 deletions docs/release/distribution-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ Delivered code remains inspectable; repository privacy, minification, obfuscatio

## License and notice inventory

The CLI and all bundled workspace manifests declare `Apache-2.0`.
The two vendored Diffex workspaces also declare `Apache-2.0`.
Each public package receives the complete root `LICENSE`, preserving the full Apache text, Luntraa, Inc. ownership, and the complete upstream MIT license and copyright notice for Pi-derived portions.
The CLI and all bundled workspace manifests declare `MIT`.
The two vendored Diffex workspaces also declare `MIT`.
Each public package receives the complete root `LICENSE`, preserving the MIT terms, Luntraa, Inc. ownership, and the complete upstream MIT license and copyright notice for Pi-derived portions.
The package declaration does not replace the MIT terms of those portions or other third-party terms.
The generated `NOTICE` describes that distinction and the Diffex modifications.

Expand Down
2 changes: 1 addition & 1 deletion docs/release/source-publication.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ New commits, comments, artifacts, and runs after the inventory require a delta r

## Source notices

The root `LICENSE` preserves the Apache-2.0 terms for Diffex and the upstream MIT terms and copyright for Pi-derived portions.
The root `LICENSE` provides the MIT terms for Diffex and preserves the upstream MIT terms and copyright for Pi-derived portions.
The vendored HTML-exporter libraries retain their bundle headers.
Their complete upstream texts are tracked at `legal/upstream/marked-18.0.5.LICENSE` and `legal/upstream/highlight-11.9.0.LICENSE`.
`legal/upstream/sources.json` records the source revisions.
Expand Down
26 changes: 13 additions & 13 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -536,6 +536,6 @@ These low-level streams are observational. They preserve event order, but they d

## License

Apache-2.0 for Diffex, copyright 2026 Luntraa, Inc.
MIT for Diffex, copyright 2026 Luntraa, Inc.
Pi-derived portions retain their MIT terms and upstream copyright notice.
See LICENSE, NOTICE, and THIRD-PARTY-NOTICES.txt in the distribution.
2 changes: 1 addition & 1 deletion packages/agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"state-management"
],
"author": "Mario Zechner",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/ai/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1687,6 +1687,6 @@ Add an entry to `packages/ai/CHANGELOG.md` under `## [Unreleased]`:

## License

Apache-2.0 for Diffex, copyright 2026 Luntraa, Inc.
MIT for Diffex, copyright 2026 Luntraa, Inc.
Pi-derived portions retain their MIT terms and upstream copyright notice.
See LICENSE, NOTICE, and THIRD-PARTY-NOTICES.txt in the distribution.
2 changes: 1 addition & 1 deletion packages/ai/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
"api"
],
"author": "Mario Zechner",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"binary"
],
"author": "DiffexAI",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/coding-agent-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"engines": {
"node": ">=22.19.0"
},
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/coding-agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -714,7 +714,7 @@ See [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines and [docs/developmen

## License

Apache-2.0 for Diffex, copyright 2026 Luntraa, Inc.
MIT for Diffex, copyright 2026 Luntraa, Inc.
Pi-derived portions retain their MIT terms and upstream copyright notice.
See LICENSE, NOTICE, and THIRD-PARTY-NOTICES.txt in the distribution.

Expand Down
2 changes: 1 addition & 1 deletion packages/coding-agent/install-lock/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/coding-agent/npm-shrinkwrap.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/coding-agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
"agent"
],
"author": "Mario Zechner",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/evolution/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"prepublishOnly": "npm run clean && npm run build"
},
"author": "DiffexAI",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/harness-state/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"versioning"
],
"author": "DiffexAI",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/harness-trace/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"prepublishOnly": "npm run clean && npm run build"
},
"author": "DiffexAI",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/protocol/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"framing"
],
"author": "DiffexAI",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"server"
],
"author": "DiffexAI",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/session-backends/sqlite-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"prepack": "node ../../../scripts/prepare-distribution.mjs packages/session-backends/sqlite-node"
},
"author": "DiffexAI",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/telemetry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -461,6 +461,6 @@ npm run check

## License

Apache-2.0 for Diffex, copyright 2026 Luntraa, Inc.
MIT for Diffex, copyright 2026 Luntraa, Inc.
Pi-derived portions retain their MIT terms and upstream copyright notice.
See LICENSE, NOTICE, and THIRD-PARTY-NOTICES.txt in the distribution.
2 changes: 1 addition & 1 deletion packages/telemetry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"observability"
],
"author": "Mario Zechner",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
2 changes: 1 addition & 1 deletion packages/tui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"cli"
],
"author": "Mario Zechner",
"license": "Apache-2.0",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/diffexai/diffex.git",
Expand Down
4 changes: 2 additions & 2 deletions scripts/check-distribution-payload.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ def inspect_archive(file, license_file, expected_name=None, expected_version=Non
if entries[root + 'LICENSE'] != Path(license_file).read_bytes():
fail(str(file), 'license text differs from reviewed root license')
metadata = json.loads(entries[root + 'package.json'])
if metadata.get('license') != 'Apache-2.0':
fail(str(file), 'package license must be Apache-2.0')
if metadata.get('license') != 'MIT':
fail(str(file), 'package license must be MIT')
if metadata.get('private'):
fail(str(file), 'private workspace cannot be a public package')
if expected_name and metadata.get('name') != expected_name:
Expand Down
10 changes: 5 additions & 5 deletions scripts/distribution-payload.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ function fixture(extra, omit) {
const files = {
...Object.fromEntries(distributionDocs.map((path) => [path, "Reviewed user guide"])),
"README.md": "Diffex installation and usage",
"package.json": JSON.stringify({ name: "@diffexai/diffex", version, license: "Apache-2.0" }),
"package.json": JSON.stringify({ name: "@diffexai/diffex", version, license: "MIT" }),
LICENSE: readFileSync(license),
"THIRD-PARTY-NOTICES.txt": "Test fixture with no external bundled dependencies.\n",
"distribution-components.json": JSON.stringify([{ name: "Diffex", license: "Apache-2.0 AND MIT" }]),
"distribution-components.json": JSON.stringify([{ name: "Diffex", license: "MIT" }]),
"dist/index.js": "export const value = 1;\n",
"dist/index.d.ts": "export declare const value: number;\n",
"dist/AGENTS.md": readFileSync("AGENTS_release.md"),
Expand Down Expand Up @@ -179,7 +179,7 @@ test("rejects a case variant of the approved default path", () => {

test("rejects default instructions in a non-CLI package", () => {
const { directory, archive } = fixture({
"package.json": JSON.stringify({ name: "@diffexai/diffex-agent-core", version, license: "Apache-2.0" }),
"package.json": JSON.stringify({ name: "@diffexai/diffex-agent-core", version, license: "MIT" }),
});
try {
const result = spawnSync("python3", [checker, archive, "--license", license], { encoding: "utf8" });
Expand All @@ -192,8 +192,8 @@ test("rejects default instructions in a non-CLI package", () => {

test("rejects substituted package identity and license metadata", () => {
for (const replacement of [
{ name: "foreign", license: "Apache-2.0" },
{ name: "@diffexai/diffex", license: "MIT" },
{ name: "foreign", license: "MIT" },
{ name: "@diffexai/diffex", license: "Apache-2.0" },
]) {
const result = inspect({ "package.json": JSON.stringify({ version, ...replacement }) });
assert.notEqual(result.status, 0);
Expand Down
Loading
Loading