Skip to content

Rename 96bulls to sessions-pipeline; move setup skill to .agents/skills - #36

Merged
kjgbot merged 5 commits into
mainfrom
selfhost/rename-sessions-pipeline
Nov 3, 2026
Merged

kjgbot merged 5 commits into
mainfrom
selfhost/rename-sessions-pipeline

Conversation

@kjgbot

@kjgbot kjgbot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Renames the user-facing "96bulls" name to sessions-pipeline (product name "Sessions Pipeline") across the charts, CI, registry, docs and handoff package. Also:

  • moves the setup skill to .agents/skills/ and makes it conform to the Agent Skills spec;
  • adds the architecture and request-flow diagrams for the review package.

Charts and versions

chart before after
charts/96bulls -> charts/sessions-pipeline 96bulls 0.5.5 (never released; last release 0.5.4) sessions-pipeline 0.6.0
charts/96bulls-worker -> charts/sessions-pipeline-worker 96bulls-worker 0.5.3 sessions-pipeline-worker 0.6.0
alleyoop (name kept) 0.3.7 0.3.8 (part-of label, description and NOTES text changed)
agent-relay 0.2.1 0.3.0, a breaking values change: umbrella key 96bulls: -> sessions-pipeline: (components.sessionsPipeline is unchanged)
relaycast 0.3.0 0.3.1 (README text only)

The renamed charts continue the 0.x line at 0.6.0 instead of restarting at 0.1.0. That keeps them above every published 96bulls version, so nobody mistakes them for older releases.

Upgrade path. An existing 96bulls umbrella release upgrades in place with helm upgrade <release> agentworkforce/sessions-pipeline. Resource names and selectors are unchanged (the subchart alias is still worker); only the helm.sh/chart and part-of labels change. The README section "Upgrading a release of the former 96bulls chart" lists the values to keep: Secret names and the runtime role. A standalone 96bulls-worker release keeps its selectors only with nameOverride: 96bulls-worker.

Chart.lock files were regenerated. Template defines are renamed (96bulls.* -> sessions-pipeline.*, 96bulls-worker.* -> sessions-pipeline-worker.*). Default Secret names, label app.kubernetes.io/part-of, the summary-keys mount path, registry ids (opt.sessions-pipeline.*), CI dirs (ci/sessions-pipeline{,-profiles,-search-worker-role,-umbrella}), the workflows, scripts/ci/charts.sh, the packager include list, THIRD_PARTY_NOTICES and the release records are all renamed. The example runtime role is now sessions_pipeline_runtime, and the docs install the umbrella as release sessions-pipeline.

Default fullnames. No chart in this repo set a bulls96 nameOverride; that came from the upstream Alchemy stack that applied the live proof. Here, names are <release>-<chart>:

  • helm install sessions-pipeline charts/sessions-pipeline gives sessions-pipeline-worker-* and sessions-pipeline-alleyoop-*.
  • helm install sessions-pipeline-worker charts/sessions-pipeline-worker gives sessions-pipeline-worker-*.
  • Under the agent-relay umbrella, names stay <release>-worker-* and <release>-alleyoop-*. The subchart alias worker is unchanged, so umbrella renders are unchanged apart from the chart labels. I checked this by rendering every umbrella, worker and alleyoop CI values file before and after, normalizing the rename, and diffing.

The upstream repo AgentWorkforce/96BullSessions is now AgentWorkforce/sessions-pipeline on GitHub (gh repo view confirms). So home: URLs, upstream citations and the CI checkout now use the new name.

Setup skill (Agent Skills standard)

  • Moved from .cursor/skills/setting-up-self-hosted-agent-relay-gcp/ to .agents/skills/setting-up-self-hosted-agent-relay-gcp/, with no copy left in .cursor.
  • Frontmatter matches the prospect package: name equals the directory, plus license: Apache-2.0, compatibility, and metadata (chart agent-relay, version 0.3.0, standard agentskills.io).
  • SKILL.md is now 404 lines. Restore and public-verification detail moved to references/, and the restore overlay to assets/restore-overlay.yaml (checked to render no Jobs). Content is updated for the current chart layout: Relayflows opt-in, and durable-actors and Relayfile as preview with the actors and files hosts.
  • skills-ref validate (agentskills/agentskills@69ef37e, run on sf-frame): Valid skill. The new agent-skill lint job runs it at that pinned commit, plus test-layout.sh and a no-.cursor check.
  • The packager now requires the new skill files and the diagrams. ci/customer-handoff/smoke.sh checks that every tracked skill file ships byte-identical with its exec bit, that no .cursor/ ships, and that all six diagram files are present.

Diagrams

  • docs/diagrams/agent-relay-architecture.{mmd,svg,png} builds on the prospect package's diagram with the same structure. Changes:
    • The telemetry label overlap is fixed.
    • AUTH and Sessions Pipeline are drawn inside the one release namespace, because the umbrella deploys everything into it.
    • Added: the actors and files hosts, the edge denies, ingest to GCS, the gVisor sandbox namespace, and Workload Identity to Cloud SQL and GCS.
    • Preview and optional parts have dashed borders.
  • docs/diagrams/agent-relay-request-flow.{mmd,svg,png} is new: Desktop sign-in and device approval, session upload, Dashboard read, and agent-to-agent messaging over Relaycast.
  • Both were rendered with mermaid-cli 11.4.2 (Docker on sf-frame), -b white -s 2 -w 1800, and the PNGs were inspected. self-hosted-architecture.{svg,png} were re-rendered from the renamed source.
  • They are linked from docs/self-hosted-reference-architecture.md (new Diagrams section), docs/handoff/HANDOFF.md and docs/diagrams/self-hosted-architecture.md.

Kept "96bulls" / "bulls96" references (deliberate)

git grep -i -E "96bulls|bulls96" now finds only these:

  1. Container image repositories. ghcr.io/agentworkforce/96bulls-services, the ECR .../96bulls-services, agentworkforce/96bulls-services (chart defaults, profiles, customer-images.yaml, CI kind tags) and the registry.example.com/acme/96bulls-services fixture. Renaming a published image breaks pulls and digest pins.
  2. The GCP proof project id agentrelay-96bulls-soc2-2610 and the bucket, service-account and Artifact Registry names derived from it, plus the packager's split-string denylist for it. These are real cloud resources.
  3. Upstream stack resource names in the stack-shape CI values. charts/sessions-pipeline/ci/aws-cnpg-values.yaml and gcp-cloudsql-values.yaml keep the Secrets 96bulls-runtime / 96bulls-gcp and the bucket 96bulls-ci, which the upstream AWS/GCP stacks provision. The registry rows match.
  4. Live proof state applied outside Helm. runtimeRole: bulls96_runtime in values-gcp-proof.yaml / values-gcp-proof-live.yaml (the Cloud SQL role that exists there). The "96bulls namespace" comment in values-gcp-proof-durable-actors.yaml. In scripts/selfhost/e2e-gcp-proof.sh: the default --sessions-namespace 96bulls, deploy/bulls96-worker-*, the bulls96-alleyoop-ingest probe comment, and the deprecated --skip-96bulls alias.
  5. The services' own contract. The migration ledger sessions.__96bulls_migrations, the role marker sessions.__96bulls_role_validation, and the alleyoop issuer default https://96bulls.local, which matches the services' built-in AUTH_ISSUER default. Env var names (HOOPDB_*, LOCKER_*, ...) are unchanged.
  6. The GitHub Actions secret BULLS96_READ_TOKEN. Renaming it needs a repo-settings change first, so it can follow in a later PR.
  7. Released history and upgrade notes.
    • The shipped compatibility.releases rows 96bulls-0.5.4/0.5.2/0.5.1. The registry checks these against the real git tags 96bulls-* / 96bulls-worker-*. Their local sources now point at the tag commits.
    • The rename notes in the registry, the agent-relay 0.3.0 note and THIRD_PARTY_NOTICES ("formerly AgentWorkforce/96BullSessions").
    • The README upgrade section and the agent-relay 0.3.0 note, which name the old chart, Secret and role so operators can migrate.
    • The generated docs/self-hosted-requirements.md rows rendered from those.

Test plan

Run locally on this branch:

  • scripts/ci/charts.sh static
  • ci/agent-relay/render.sh
  • scripts/ci/deps.sh
  • ci/sessions-pipeline-search-worker-role/render.sh
  • ci/customer-handoff/smoke.sh
  • ci/sessions-pipeline-profiles/matrix.sh static
  • node ci/self-hosted-requirements/registry.mjs check, and render with no diff
  • ci/self-hosted-requirements/test.sh
  • python3 ci/customer-release-gate/test.py
  • validate-customer-release.py --consistency (evidence imageManifestSha256 updated for the customer-images.yaml rename)
  • scripts/ci/version-bump.sh origin/main
  • skill test-layout.sh
  • Before/after render diff of every CI values file: only versions, chart labels and content-hashed Job names change.
  • skills-ref validate reports Valid skill
  • restore overlay renders no Job or CronJob
  • charts.sh static with an empty Helm repo config (reproduces the clean-runner failure fixed in a61c9a2)
  • kind jobs (charts.sh dryrun, matrix dryrun, search-worker-role kind) run in CI.

🤖 Generated with Claude Code

Rename charts/96bulls -> charts/sessions-pipeline (0.6.0) and
charts/96bulls-worker -> charts/sessions-pipeline-worker (0.6.0), the
umbrella values key 96bulls: -> sessions-pipeline: (agent-relay 0.3.0),
template defines, CI dirs, registry ids, docs and the handoff packager.
Move the setup skill from .cursor/skills to .agents/skills.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3767ae32-46b3-48be-8f99-b91f432d6c05
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@greptile-apps

greptile-apps Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The reviewed changes appear safe to merge.

Summary

Renames the Sessions Pipeline charts and related configuration, moves the setup skill to .agents/skills, and adds customer architecture diagrams.

  • The 96bulls charts and umbrella now use the Sessions Pipeline name.
  • The self-hosted setup guide follows the Agent Skills layout.
  • The self-hosted guides show how Agent Relay fits and moves data.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Umbrella["agent-relay 0.3.0"] --> Pipeline["sessions-pipeline 0.6.0"]
  Pipeline --> Worker["sessions-pipeline-worker 0.6.0<br/>alias: worker"]
  Pipeline --> Ingest["alleyoop 0.3.8"]
  Skill[".agents setup skill"] --> Restore["Restore overlay"]
  Restore --> Disabled["Relayflows disabled during restore"]
  Package["Customer handoff"] --> Skill
  Package --> Diagrams["Architecture and request-flow diagrams"]
Loading

Reviews (3) · Last reviewed commit: "fix: second review round on the diagrams..." · Reviewed by Greptile

…he setup skill

Add docs/diagrams/agent-relay-architecture.{mmd,svg,png} (from the prospect
package, telemetry label overlap fixed, single release namespace, preview
components dashed) and agent-relay-request-flow.{mmd,svg,png}, rendered with
mermaid-cli 11.4.2. Link them from the reference architecture and HANDOFF,
require them in the packager, and check them in the handoff smoke.

The setup skill gets license, compatibility and metadata frontmatter, moves
restore and public-verification detail into references/ and the restore
overlay into assets/, and is validated by skills-ref in a new agent-skill
lint job.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread THIRD_PARTY_NOTICES.md Resolved
Comment thread self-hosted/requirements.yaml Resolved
Comment thread README.md Resolved
Comment thread self-hosted/requirements.yaml Resolved
kjgbot and others added 2 commits November 3, 2026 10:32
…ilds it

charts.sh walks charts alphabetically. charts/96bulls used to run before
agent-relay and register the CNPG, MinIO and OTel repositories; renamed to
sessions-pipeline it now runs after, so the nested dependency build failed on
a clean runner. Register the nested chart's repositories explicitly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e from 96bulls

- aws-cnpg and gcp-cloudsql CI values mirror the upstream AWS/GCP stacks:
  keep their Secret (96bulls-runtime, 96bulls-gcp) and bucket (96bulls-ci).
- An existing 96bulls umbrella release upgrades in place (names and selectors
  unchanged); the migration profile uses helm upgrade <existing release>.
- README: upgrade section (Secret and runtime role values, standalone worker
  nameOverride, agent-relay values key).
- THIRD_PARTY_NOTICES: current Chart.lock digest; registry comment names the
  former 96BullSessions repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread docs/handoff/HANDOFF.md Resolved
Comment thread ci/customer-handoff/smoke.sh Resolved
Comment thread self-hosted/requirements.yaml Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 40 files (changes from recent commits).

Requires human review: Auto-approval blocked because this review re-detected 6 unresolved issues already reported by Cubic.

View guided diff | Turn on auto-fix | Re-trigger cubic

- Architecture: no Workload Identity edge to Cloud SQL (Secret-held URLs),
  Memorystore/Pub/Sub and alleyoop to HoopDb, sandbox namespace
  <namespace>-<release>, root (dashboard) host, bob-costas stage name, preview
  hosts only when set, dashed only for preview/optional egress.
- Request flow: name every in-cluster call, including relayhistory JWKS.
- Skill: full compatibility command list, preview hosts need the overlay,
  restore overlay also turns off Relayflows (no standalone Job).
- Smoke compares the skill against committed blobs and modes.
- Reference architecture links the shipped requirements doc; agent-relay
  0.2.1 note keeps its historical 96bulls 0.5.5 dependency.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 12 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

@kjgbot
kjgbot merged commit b00a60c into main Nov 3, 2026
9 checks passed
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