Skip to content

159/S5 — HP flip on Company Compute connect (fork writes, watcher re-preps) #167

Description

@kateebonner

Important

Problem

A valid Company Compute key must flip the solver to HP (the pushed hp-cloud-key contract, pending merge) — but the validate/save path (#165) lives in the fork server while the re-prep machinery lives in the extension.

Approach

On a valid Company Compute save, the fork server grants the entitlement and writes the durable switching request through the shared ops-dir contract; an attached extension host's existing watcher performs the full re-prep exactly once; under standalone serve the request is durable and the re-prep completes on next extension attach. Code lands in both repos (fork writes; extension watcher tests extended).


Acceptance Criteria

  1. A valid Company Compute save produces the entitlement grant and the switching request in the ops dir (asserted fork-side on the written artifacts).
  2. With an attached extension host, the existing watcher performs the re-prep exactly once per flip (extends the existing solver-mode watcher tests — no new switch path).
  3. Headless: the credential saves, the flip request is durable, and no error surfaces; the re-prep occurs on next extension attach.
  4. An invalid or failed validation produces no flip artifacts of any kind.

Testing Decisions

Fork-side: artifact-write assertions in the connections route tests (extends #165's test surface). Extension-side: extend the existing solver-mode watcher suite for the once-only re-prep; no new watcher.

Key Decisions

  • Reuse the existing entitlement-grant + switching-request file contract verbatim — this slice adds writers, never a second switch mechanism.
  • The flip is one-way on connect (piccolo→hp); disconnect does not auto-revert solver mode (the user's toggle owns reverting).

Source

Part of #159 · pushed hp-cloud-key contract · Blocked by: #165 · Lands in: opencode fork + amicode extension

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    afkImplementable without human interactiontrack:cloudTrack C — company compute / cloud solve-service

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions