mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-04 19:28:46 +01:00
docs: record Claude qualification and runner access contracts
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
14aed41d53
commit
6dda0ec387
5 files changed
+93
No files matched your search
@@ -190,3 +190,73 @@ and [cloud image build](https://github.com/paperclipai/paperclip/actions/runs/38
|
||||
retain source `557c3064a30779e86e1ae312eab3d1d42c3a8b8d`. Actual pack/image
|
||||
identity agreement remains required. Additional Claude defaults remain gated
|
||||
pending clean-install and execution evidence. No local Docker or Rust build.
|
||||
|
||||
## Four-target packages and SSH launch repair — 2026-10-12
|
||||
|
||||
The frozen `557c3064a30779e86e1ae312eab3d1d42c3a8b8d` four-target
|
||||
campaign above completed successfully, including all daemon producers, Linux
|
||||
x64 public installation, both Mac consumers, and the native Linux ARM64
|
||||
consumer. Consumer reports record clean npm installation and zero provider
|
||||
calls. The raw packaging manifest's `publicInstallationVerified: false`
|
||||
precedes those consumer checks; it is not rewritten as execution evidence.
|
||||
|
||||
The cloud image campaign succeeded with immutable image
|
||||
`ghcr.io/paperclipai/paperclip-daytona-runner@sha256:d9dbda3a9435e3e555f431bdeb0ba22e1241ae9103184e6c1646a200e26423e1`.
|
||||
Independent native/image Linux x64 manifest comparison matched pack
|
||||
`sha256:97f44524d1b35ed6295c922f6b52ac376960213be0a0e09a3635c281db26aecf`,
|
||||
Node `sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c`,
|
||||
and distribution `sha256:83aafb7d6c951c1fa31c0d8bbbfd32c39b4d265b01607cd566c55c8d9b4a6143`.
|
||||
The installed ARM pack is
|
||||
`sha256:51fe734d79211b474ee13f53080ac60f07cdc9315ebd33b703ecf4a7dc0f8ce1`.
|
||||
The new existing-consumer Claude SDK admission hook passed 22 controls and a
|
||||
real installed Mac no-prompt probe. The earlier frozen campaign predates this
|
||||
hook; its Intel report does not certify that new hook ran.
|
||||
|
||||
The isolated preview now uses the real 557 public package with two recorded
|
||||
controller overlays: the narrow existing Claude ARM setup allowlist and the
|
||||
shared SSH argument repair. Normal installed daemon/package resolution stays
|
||||
in use. The source is not misrepresented as an unmodified installed package.
|
||||
The user-directed remaining acceptance uses the API key in `~/.secrets`;
|
||||
subscription follow-up remains unverified.
|
||||
|
||||
ARM attempts `5ec7bc81-8023-4b5c-84c0-1886224ac4fa` and
|
||||
`ebb8a76b-60d8-4881-a6ad-e60b6604ca9c` failed before provider startup.
|
||||
The first lacked a remote WSS ingress URL. Qualification now uses the existing
|
||||
explicit direct-WSS transport through a private TLS relay and authenticated SSH
|
||||
reverse forwarding; both endpoints bind loopback, certificate validation stays
|
||||
on, and protocol authentication is unchanged. The second exposed the first
|
||||
causal launch error, `sh: 7: 1: parameter not set`: the shared SSH wrapper had
|
||||
flattened `sh -c`, dropping positional arguments. Failed records and unknown
|
||||
accounting holds remain intact; neither failure is reported as a successful
|
||||
provider turn or zero-cost accounting completion.
|
||||
|
||||
Protocol `b833c609cf2da1aacb6ab29d062e23bb1865624c` preserves argv, applies
|
||||
environment assignments after `exec`, and validates environment names.
|
||||
Six regression controls fail before and pass after; 51 shared/Codex controls
|
||||
and adapter-utils typecheck pass. The authorized cloud host passed both
|
||||
execFile and stdin/spawn paths with exact literal quoted arguments and zero
|
||||
provider calls. Private proof: `/private/tmp/claude-ssh-no-provider-proof.json`;
|
||||
installed overlay: `/private/tmp/claude-installed-557-ssh-overlay.json`.
|
||||
Module SHA256 changed from
|
||||
`0b89740ef859923d3bb9cdddc09a836eab8ff9296b986eaee68700f766ea5bae` to
|
||||
`a7f3ec5effa48d05a8388d77d130449dba52f3693afd8bed04c16378a7c764ae`.
|
||||
|
||||
The stack incorporates latest Codex composed source
|
||||
`d3916151f65ca08904bda309474a35e4c48c54fe`. The authorized source-chat owner
|
||||
will lift the identical shared SSH fix into prerequisite
|
||||
[PR #16028](https://github.com/paperclipai/paperclip/pull/16028) before Codex;
|
||||
our retained commit will coalesce on later reconciliation. That owner coordinates
|
||||
normal squash merge order. No dependent PR or production deployment is performed
|
||||
by this qualification session.
|
||||
|
||||
The failed fresh ARM fixture now retains its complete $1 unknown reservation
|
||||
under a reduced $1 cap and remains held. A new repaired ARM fixture has a $3
|
||||
cap; original $17, candidate $9, and local acceptance $16 caps remain.
|
||||
Aggregate allocated cap is $46, reserving $4 for Linux x64, within the separate
|
||||
$50 ceiling. Timer heartbeats and automatic paid retries remain disabled.
|
||||
Known estimates remain $1.331719, excluding unknown charges.
|
||||
|
||||
[Required cloud source checks](https://github.com/paperclipai/paperclip/actions/runs/38302321706)
|
||||
passed authorization and await a build worker. Current-source full checks,
|
||||
latest reviews, useful remote task/follow-up pairs, additional platform defaults,
|
||||
and final package qualification remain gates. No local Docker or Rust build.
|
||||
@@ -21,6 +21,12 @@ API: `present` — representative operation IDs:
|
||||
Agent access: `partial` — Native hire_agent; REST / CLI agent; runtime inheritance for
|
||||
native hires.
|
||||
|
||||
Creation requests can use `runner: auto | paperclip | legacy`; the server resolves
|
||||
and persists execution configuration. Claude Auto selects the native ACPX profile
|
||||
on qualified Apple Silicon; saved runner/model/provider overrides survive edits
|
||||
and approval activation. This selection does not grant connection access or
|
||||
bypass hiring authorization. Source: [runner resolver](../../server/src/services/agent-runner-selection.ts).
|
||||
|
||||
Policy: Agent creation/configuration uses action grants, resource policies and change
|
||||
consent; some controls require a board actor.
|
||||
|
||||
|
||||
@@ -32,6 +32,11 @@ credentials/run context; inspect its result and applicable persistence/attributi
|
||||
Assert the relevant denied actor, owner, company or mode from Policy. Review the
|
||||
remaining operations before qualifying the whole capability.
|
||||
|
||||
Runner discovery exposes `supportedRunners` and `defaultRunner`; it describes
|
||||
qualified selection, not successful authentication or task execution. Native
|
||||
Claude retains existing account grants and company/responsible-user boundaries.
|
||||
Source: [adapter discovery](../../server/src/adapters/registry.ts).
|
||||
|
||||
Gaps: Raw instance adapter listing requires board, while company model discovery exists
|
||||
for eligible agents.
|
||||
|
||||
|
||||
@@ -39,6 +39,14 @@ Automated: [new agent page](../../ui/src/pages/NewAgent.test.tsx) and [configura
|
||||
|
||||
Manual: Hire an agent with a distinct name and role. Complete any required approval, reload the roster, and open its configuration. Confirm manager, adapter, and model persisted; run a small task to prove execution readiness.
|
||||
|
||||
For Claude Code on Apple Silicon, submit without a runner override and inspect
|
||||
saved configuration: `paperclip_runner`, `provider: acpx`, `acpxAgent: claude`,
|
||||
and ordinary model `claude-opus-5-5`. The Advanced runner selector can explicitly
|
||||
choose Legacy. Keep explicit model/account choices and saved runners on edits.
|
||||
Verify useful output and a follow-up after a controller restart; setup success
|
||||
alone does not establish session continuity. Additional target defaults remain
|
||||
subject to their separate qualification gates.
|
||||
|
||||
The current hiring wizard assigns the first hire CEO and subsequent hires
|
||||
General reporting to the CEO. Change manager/role afterward through supported
|
||||
configuration. Process/HTTP agents can be created through API/CLI but are excluded
|
||||
|
||||
@@ -31,6 +31,10 @@ Preconditions: follow the [baseline](./README.md#before-driving-a-journey). Reco
|
||||
|
||||
Automated: [adapter validation routes](../../server/src/__tests__/agent-adapter-validation-routes.test.ts) and [model refresh](../../server/src/__tests__/adapter-model-refresh-routes.test.ts) cover server behavior.
|
||||
|
||||
Claude native setup uses the existing Anthropic API-key or subscription connection
|
||||
flow. Record the selected account separately from successful execution; unavailable
|
||||
models/authentication and unsupported Legacy-only options must fail visibly.
|
||||
|
||||
Manual: Select the intended adapter and account, refresh model choices, and run its environment test. Save, reload, then execute a small task. Repeat with a deliberately unavailable account and verify the failure remains visible.
|
||||
|
||||
### `run-history`
|
||||
|
||||
Reference in new issue
Block a user