Skip to content

Working agreement, and handle the Grok agent - #9

Merged
pathscale merged 5 commits into
masterfrom
docs/working-agreement
Sep 17, 2026
Merged

pathscale merged 5 commits into
masterfrom
docs/working-agreement

Conversation

@pathscale

@pathscale pathscale commented Aug 31, 2026 •

Copy link
Copy Markdown
Owner

Two commits, both needed before this can publish.

1. The repository working agreement

One shared working agreement for coding agents, plus a minimal Claude import shim. Keeps repository-specific constraints in one place instead of duplicating them per tool.

2. Handle the Grok agent

agent-abstraction gained Agent::Grok and this crate's matches did not, so building against 0.4.21 fails outright:

error[E0004]: non-exhaustive patterns: `Agent::Grok` not covered
error: could not compile `agency-proxy` (lib)

This is currently taking AgencyZero's CI down — both Rust and Panel checks. scripts/stage-agency-proxy-sidecar.sh builds this crate from crates.io at the version agency-proxy-client pins, and cargo resolves it against the newer abstraction, so the published 0.1.9 cannot compile.

  • agent_name and agent_for_provider gain the Grok arm.
  • The two registry sweeps that enumerate agents (account_usage, probe_providers) include it, so a Grok run reports account usage and probe status like the other three.
  • agent-abstraction was a path dependency into a sibling checkout, which no CI can resolve. It takes the published 0.4.21, which is where Agent::Grok is.
  • Workspace version to 0.1.10, since 0.1.9 is published and AgencyZero builds this from crates.io.

Verified on this branch

  • cargo check -p agency-proxy against published agent-abstraction 0.4.21
  • cargo check --locked — passes; the lockfile is tracked here and committed with the bump
  • cargo test --workspace — 24 passing
  • cargo clippy --workspace --all-targets -- -D warnings — clean
  • cargo fmt --check — clean

AgencyZero needs 0.1.10 published before its CI goes green.

meh added 2 commits August 31, 2026 15:22
`agent-abstraction` gained `Agent::Grok` and this crate's matches did not,
so building the sidecar against 0.4.21 fails outright:

    error[E0004]: non-exhaustive patterns: `Agent::Grok` not covered

That takes AgencyZero's CI down with it, because `stage-agency-proxy-sidecar.sh`
builds this from crates.io at the version `agency-proxy-client` pins, and
cargo resolves it against the newer abstraction.

`agent_name` and `agent_for_provider` gain the arm, and the two registry
sweeps that enumerate agents include it, so a Grok run reports account
usage and probe status like the other three.

The dependency was a path into a sibling checkout, which no CI can
resolve. It takes the published 0.4.21, which is where `Agent::Grok` is.
@pathscale pathscale mentioned this pull request Sep 17, 2026
@pathscale pathscale changed the title docs: add the repository working agreement Working agreement, and handle the Grok agent Sep 17, 2026
meh added 3 commits September 18, 2026 01:18
Publishing the first crate makes the second one's dependency on it
resolvable at the new version, which changes the lockfile. `--locked`
then refuses, and the sequence aborts partway: some crates permanently
on crates.io, the rest not. That is the one failure in this job that
re-running cannot repair, because a version can never be re-uploaded.

Packaging keeps `--locked`, where it means what it should: verify this
builds from exactly the committed lockfile.

nagoya, WorkTable, ps-observability and ps-blitz all publish without the
flag already; this repository was the only one carrying it.
A hand-kept list of crate names in dependency order, a `cargo metadata`
per crate to read one field out of the same output, and a jq query
against the crates.io API per crate to ask whether a version existed.

`cargo publish --workspace` does all of it, and knows which versions are
already on the registry - it warns and skips those. Every line of that
script was a second copy of something cargo already knew, and the copy is
what goes stale when a crate is added.
`cargo publish --workspace` treats a version already on the registry as
fatal for the whole run rather than a crate to skip, and a dry run only
warns about it. That combination shipped a broken publish workflow in
ps-vello: the first real run failed and uploaded nothing.

The re-run of a partial release is the case worth surviving, since some
crates are permanently live and the rest are not. That one error passes;
anything else still fails the job.
@pathscale
pathscale merged commit a1858a7 into master Sep 17, 2026
1 check passed
@pathscale
pathscale deleted the docs/working-agreement branch September 17, 2026 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant