Skip to content

Commit d04bdd3

Browse files
authored
docs(test-classifier): local-install recipe; drop the stale private-repo claim (#53)
Follow-up to #52 — these doc fixes landed on the branch after the squash-merge snapshot, so they missed main. - SETUP.md Path A: add "Step 0 — Install the bundle" with a verified one-line curl|tar that vendors just the testing/classifier/ subtree from the public source repo (no auth, +x preserved); note the sparse-checkout variant. The local dispatcher run assumed the scripts were "installed" but nothing told a consumer how to get them there. - LOCAL_TEST_CLASSIFIER.md: same install command in its prerequisites so the local guide is self-contained. - SETUP.md Path B: the source repo is public, not private — remove the org-access prerequisite (AGENT_INSTALL.md already said public) and drop the dangling "(See Step 4.)" pointer.
1 parent e007729 commit d04bdd3

2 files changed

Lines changed: 35 additions & 23 deletions

File tree

testing/classifier/docs/LOCAL_TEST_CLASSIFIER.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,15 @@ and uses the same `--unpushed` scope rule. This is the ergonomics layer over
3535

3636
## Prerequisites
3737

38-
1. **The classifier bundle is installed** under `testing/classifier/` (see
39-
[`../INSTALL.txt`](../INSTALL.txt) / [`../AGENT_INSTALL.md`](../AGENT_INSTALL.md)).
38+
1. **The classifier bundle's scripts are present** under `testing/classifier/`
39+
in your repo. The source repo is public, so one command vendors just that
40+
subtree (no auth) — run it from your repo root:
41+
```bash
42+
curl -fsSL https://codeload.github.com/navapbc/ai-transformation-delivery-systems/tar.gz/refs/tags/pilot \
43+
| tar -xz --strip-components=1 '*/testing/classifier'
44+
```
45+
See [`SETUP.md`](./SETUP.md) Path A → "Step 0 — Install the bundle" for the
46+
pinned-SHA and sparse-checkout variants.
4047
2. **`AI_REVIEW_TOOL` set** to `claude`, `codex`, or `copilot` — see the
4148
`README.md`, section "AI tool selection". The dispatcher exits with a helpful
4249
message if it's unset.

testing/classifier/docs/SETUP.md

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,34 @@ Path A (its local `pr-review` run).
5555
5656
### Prerequisites
5757

58-
- The classifier bundle is installed under `testing/classifier/` (see
59-
`INSTALL.txt`).
58+
- The classifier bundle's scripts are present under `testing/classifier/` in
59+
your repo — see [Step 0](#step-0--install-the-bundle) just below.
6060
- `AI_REVIEW_TOOL` is set in the developer's shell (`claude` | `codex` |
6161
`copilot`).
6262
- The matching AI CLI is installed (`claude`, `codex`, or `copilot`).
6363
- The GitHub CLI (`gh`) is installed and authenticated — needed only for the
6464
PR-based modes (auto-discovery, `--pr`, `--post-comment`). A `--unpushed`
6565
local run needs no PR and no `gh`.
6666

67+
### Step 0 — Install the bundle
68+
69+
Unlike the CI path (Path B), which copies nothing in, a local run needs the
70+
classifier scripts present in your repo. The source repo is **public**, so one
71+
command vendors just the `testing/classifier/` subtree from the pinned `pilot`
72+
tag — no auth, no `gh`:
73+
74+
```bash
75+
# Run from your repo root. Pin to a tag (pilot) or a commit SHA.
76+
curl -fsSL https://codeload.github.com/navapbc/ai-transformation-delivery-systems/tar.gz/refs/tags/pilot \
77+
| tar -xz --strip-components=1 '*/testing/classifier'
78+
```
79+
80+
This drops the bundle at `testing/classifier/` with the dispatcher's `+x` bit
81+
intact. Commit the tree (or add it to your repo however you vendor third-party
82+
code). To upgrade later, re-run the command with a newer tag/SHA. If you'd
83+
rather track it as a live subtree, a `git clone --filter=blob:none --sparse`
84+
of the source repo with `git sparse-checkout set testing/classifier` works too.
85+
6786
### Installing `gh`
6887

6988
```bash
@@ -167,24 +186,11 @@ repo calls with a single pinned `uses:` line. **No files are copied into your
167186
repo.** Upgrading is a one-line SHA bump; there is no vendored copy to drift,
168187
and provenance is unambiguous.
169188

170-
### Step 0 — One-time org prerequisite (private source repo)
171-
172-
`navapbc/ai-transformation-delivery-systems` is **private**, so before any other
173-
repo can call its reusable workflow, an org/repo admin must allow it once:
174-
175-
1. In **this source repo**: **Settings****Actions****General**
176-
**Access** → set **"Accessible from repositories in the 'navapbc'
177-
organization"** (or list the specific consumer repos).
178-
179-
This single setting unlocks two things at runtime, both with the consumer's
180-
default `GITHUB_TOKEN`**no PAT is required**:
181-
182-
- the `uses:` reference to the reusable workflow resolves, and
183-
- the workflow's own step that fetches this bundle's scripts (a pinned source
184-
tarball via the GitHub API) is authorized.
185-
186-
If you see `error: workflow was not found` or a `404` fetching the bundle in the
187-
consumer's Actions log, this setting is the cause.
189+
`navapbc/ai-transformation-delivery-systems` is **public**, so no org-access
190+
prerequisite is needed: any repo can call its reusable workflow, and both the
191+
`uses:` reference and the workflow's own step that fetches the bundle scripts
192+
(a pinned source tarball) resolve with the consumer's default `GITHUB_TOKEN`
193+
**no PAT required**.
188194

189195
### Step 1 — Add the caller workflow
190196

@@ -198,7 +204,6 @@ on:
198204
types: [opened, synchronize, reopened]
199205
# Required in the CALLER — a reusable workflow can't grant more than the caller
200206
# holds. Without pull-requests: write the run 403s when it posts the comment.
201-
# (See Step 4.)
202207
permissions:
203208
contents: read
204209
pull-requests: write

0 commit comments

Comments
 (0)