mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-04 11:01:16 +01:00
chore: apply contribution rules to platform qualification
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
8ec42ffd1c
commit
c8f2c26577
7 files changed
-11
No files matched your search
@@ -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 });
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user