Skip to content

Commit dfdee99

Browse files
author
pylon-upstream-sync[bot]
committed
fix(pylon): adopt upstream protocol fixture repair
Merge the exact repair from PrimeIntellect-ai#1886 after the upstream main merge regressed protocol fixtures.
2 parents 4cc19dc + a97f699 commit dfdee99

4 files changed

Lines changed: 22 additions & 4 deletions

File tree

.pylon/features.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,19 @@ decisions:
133133
revisit_when:
134134
- Prime adopts deterministic catalog fixtures or repo-owned structural invariants.
135135
- Prime stops regenerating vendor pricing before tests and releases.
136+
137+
kernel-protocol-test-fixtures:
138+
area: runtime-reliability
139+
state: adopted-ahead-of-upstream
140+
owner: upstream
141+
decision: adopt
142+
pylon_refs:
143+
- https://github.com/pylon-code/prime-agent/issues/4
144+
- https://github.com/pylon-code/prime-agent/pull/5
145+
upstream_refs:
146+
- https://github.com/PrimeIntellect-ai/prime-agent/pull/1839
147+
- https://github.com/PrimeIntellect-ai/prime-agent/pull/1886
148+
fork_change: exact-upstream-pr-1886
149+
upstream_support: "Prime PR #1886 repairs protocol fixtures regressed by the #1839 merge commit, but is not yet on main."
150+
revisit_when:
151+
- "Prime merges PR #1886 and the exact fix reaches the mirrored main branch."

.pylon/upstream-review.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,7 @@ This ledger records Prime upstream evidence and the decision taken for each over
3030
- Reviewed Prime PRs #1878, #1876, #1877, and #1633 plus `generate-models.ts`, the generated model catalog, and the affected model tests. PR #1878 deliberately kept live catalog generation and refreshed Kimi K3 Prime Inference pricing. Prime closed the deterministic-CI and fixture-test proposals in #1876 and #1877; scheduled catalog refresh PR #1633 remains open.
3131
- `prime-inference-catalog-capabilities`: **hybridize**. Adopt Prime's current catalog and generator changes, but retain Pylon's route-scoped live-pricing invariants instead of pinning vendor-owned numeric prices that can drift independently before tests.
3232
- Reviewed the remaining upstream PRs in the range (#1841, #1846, #1849, #1852, #1853, #1835, #1838, #1861, #1836, and #1839). They apply without conflict and do not supersede landed Pylon fork behavior. Existing lifecycle decisions remain unchanged.
33-
- Validation: the focused Prime Inference catalog test passed all 12 cases; `npm run check` passed Biome over 937 files, the TypeScript check, installer rendering, and the browser smoke check; `git diff --check` passed.
33+
- Post-merge CI exposed an upstream-only regression: Prime main run `33186265648` and Pylon PR #5 both failed 23 kernel tests because the #1839 merge commit retained protocol 2 in fake runtimes while production requires protocol 3.
34+
- `kernel-protocol-test-fixtures`: **adopt** the exact three-line repair from open Prime PR #1886 at `a97f6995d39f2cccbd33123ab246f9786fc8ac13`. Preserve that upstream commit as a merge parent rather than creating Pylon-specific behavior.
35+
- Validation: the focused Prime Inference catalog test passed all 12 cases; the two protocol fixture suites passed all 39 cases; `npm run check` passed Biome over 937 files, the TypeScript check, installer rendering, and the browser smoke check; `git diff --check` passed.
3436
- Revisit when Prime adopts deterministic catalog fixtures or repo-owned structural invariants, or stops regenerating vendor pricing before tests and releases.

packages/coding-agent/test/ipython-provisioner.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ function writeFakeReplRuntime(markerPath: string): string {
7373
const fs = require("node:fs");
7474
const readline = require("node:readline");
7575
const emit = (event) => process.stdout.write(JSON.stringify(event) + "\\n");
76-
emit({ event: "ready", protocol: 2, python: process.version });
76+
emit({ event: "ready", protocol: 3, python: process.version });
7777
const input = readline.createInterface({ input: process.stdin });
7878
input.on("line", (line) => {
7979
const request = JSON.parse(line);

packages/coding-agent/test/repl-kernel-protocol-corruption.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ if (fs.existsSync(process.env.FAKE_REPL_CORRUPT_BOOT)) {
3232
process.stdout.write("BROKEN-BOOT\\n");
3333
} else if (fs.existsSync(process.env.FAKE_REPL_READY_WITH_GARBAGE)) {
3434
process.stdout.write(
35-
JSON.stringify({ event: "ready", protocol: 2, python: process.version }) + "\\nBROKEN-WITH-READY\\n",
35+
JSON.stringify({ event: "ready", protocol: 3, python: process.version }) + "\\nBROKEN-WITH-READY\\n",
3636
);
3737
} else if (!(count > 1 && fs.existsSync(process.env.FAKE_REPL_DELAY_READY))) {
38-
emit({ event: "ready", protocol: 2, python: process.version });
38+
emit({ event: "ready", protocol: 3, python: process.version });
3939
}
4040
const input = readline.createInterface({ input: process.stdin });
4141
input.on("line", (line) => {

0 commit comments

Comments
 (0)