chore: apply contribution rules to platform qualification

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-10-12 20:34:26 -05:00
1 parent 8ec42ffd1c
commit c8f2c26577
7 files changed
-11

No files matched your search

-1
View File
@@ -608,7 +608,6 @@ jobs:
version: 9.15.4
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
with:
# Provider-pack Node bytes must match the pinned Daytona image.
node-version: 24.21.0
- name: Bind immutable producer source and target
id: identity
@@ -1,7 +1,6 @@
import { rmSync } from "node:fs";
import { join } from "node:path";
/** Daemons and remote pack identities are assembled separately from provider code. */
export function removeControllerArtifactsFromProviderPack(packRoot) {
for (const directory of ["bin", "remote-provider-packs"]) {
rmSync(join(packRoot, "dist", directory), { recursive: true, force: true });
-2
View File
@@ -40,8 +40,6 @@ const workflowRoot = path.join(repoRoot, ".github", "workflows");
walk(workflowRoot, (filePath) => {
if (!/\.ya?ml$/.test(filePath)) return;
const source = fs.readFileSync(filePath, "utf8");
// Release packs ship the interpreter itself, so their producer must match
// the image's exact Node patch. Other CI jobs continue tracking Node 24.
const packProducer = relative(filePath) === ".github/workflows/release-verify.yml"
? /(?:^|\n) runner_binaries:\n[\s\S]*?(?=\n [a-z_]+:\n|$)/.exec(source)
: null;
-1
View File
@@ -90,7 +90,6 @@ export function assertInstalledCodexPlatformProvenance(lock, installed, target)
export function installedClaudeProbeSource(indexPath, serverRoot) {
return `
import { pathToFileURL } from 'node:url';
// Match the production sidecar's published-server package authority.
process.env.PAPERCLIP_ACPX_PROVIDER_PACKAGE_ROOT = ${JSON.stringify(serverRoot)};
process.env.PAPERCLIP_ACPX_PROVIDER_PACKAGE_MANIFEST = ${JSON.stringify(join(serverRoot, 'package.json'))};
const { probeAcpxClaudeInstallation } = await import(pathToFileURL(${JSON.stringify(indexPath)}).href);
@@ -94,8 +94,6 @@ describeEmbeddedPostgres("POST /api/companies/:companyId/onboarding-seed", () =>
// The seed's free-text role is a job title; the structural role stays `ceo`.
expect(companyAgents[0]?.title).toBe("Chief of Staff");
expect(companyAgents[0]?.role).toBe("ceo");
// Native PRP supplies the operational contract. The seeded CEO retains
// its role skills in its own desired set.
expect(companyAgents[0]?.adapterConfig).toMatchObject({
paperclipSkillSync: {
desiredSkills: expect.arrayContaining([
@@ -35,8 +35,6 @@ export function agentRunnerAvailability(harness: string, target: RunnerTarget =
&& (harness === "claude_local"
? !!target.platform && paperclipRunnerSupportsPlatform(harness, target.platform, target.architecture ?? "", target.libc, target.glibcVersion)
: !target.platform || paperclipRunnerSupportsPlatform(harness, target.platform, target.architecture ?? "", target.libc, target.glibcVersion));
// Darwin SSH execution needs operator-provided matching assets. It remains
// an explicit choice until automatic Darwin remote packs are qualified.
const automatic = supported && !(harness === "claude_local" && target.driver === "ssh" && target.platform === "darwin");
return { supportedRunners: supported ? ["paperclip", "legacy"] : ["legacy"], defaultRunner: automatic ? "paperclip" : "legacy" };
}
@@ -15,7 +15,6 @@ export async function prepareVerifiedRemoteProviderPack(input: {
return "uploaded";
}
/** A stale standard installation must not hide a matching later installation. */
export async function useVerifiedPreinstalledRemoteProviderPack(input: {
candidates: readonly string[];
verifyAndLink: (root: string) => Promise<void>;
@@ -25,7 +24,6 @@ export async function useVerifiedPreinstalledRemoteProviderPack(input: {
await input.verifyAndLink(candidate);
return true;
} catch {
// Continue only to another installation with the same full verifier.
}
}
return false;