autonomous-sdlc-harness 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,7 +49,7 @@
49
49
  * for. A copy still carrying {@link UNPARSEABLE_CONTROL_IF_LINE} but otherwise edited is kept and
50
50
  * reported as `controlRepair: { kind: 'edited' }`. It runs on every `init`, not only under
51
51
  * {@link UPGRADE_WORKFLOWS_FLAG}, because the file carries no pin for that mode to key on and an
52
- * unparseable copy disables comment control whichever command the adopter reaches for. It is a
52
+ * unparsable copy disables comment control whichever command the adopter reaches for. It is a
53
53
  * per-request `forceOverride: 'always'`, not a new `WritePolicy`, on choice 4's precedent: the
54
54
  * engine's `.bak`-then-replace is the operation, and the re-run contract stays `create-if-absent`.
55
55
  * The repair's `.bak` is deliberately not in the managed `.gitignore` block: the repair happens
@@ -103,10 +103,10 @@ export const IN_FLIGHT_RUNS_NOTE = "An upgrade reaches only the runs dropped aft
103
103
  export const UNPARSEABLE_CONTROL_RELEASES = {
104
104
  '0.6.1': 'dd014dc14bf19947182f4c95fa0bf011aba04fda354d9a6fa94242e86082bfa5',
105
105
  };
106
- /** The job-level `if:` line, trimmed, that made 0.6.1's `harness-control.yml` unparseable. */
106
+ /** The job-level `if:` line, trimmed, that made 0.6.1's `harness-control.yml` unparsable. */
107
107
  const UNPARSEABLE_CONTROL_IF_LINE = "if: (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@sdlc-harness') && !contains(github.event.comment.body, '<!-- sdlc-harness')) || (github.event_name == 'pull_request_review' && github.event.review.state == 'changes_requested' && github.event.pull_request.head.repo.full_name == github.repository) || (github.event_name == 'issues' && contains(join(github.event.issue.labels.*.name, ','), 'sdlc-harness: ')) || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) || (github.event_name == 'delete' && github.event.ref_type == 'branch')";
108
108
  /**
109
- * The one producer of the route from an unparseable `harness-control.yml` to the fixed one. Complete
109
+ * The one producer of the route from an unparsable `harness-control.yml` to the fixed one. Complete
110
110
  * sentences ending in one `.`, ASCII only, no line break.
111
111
  */
112
112
  export function unparseableControlRoute(version) {
@@ -1 +1 @@
1
- {"version":3,"file":"githubWorkflows.js","sourceRoot":"","sources":["../../src/generators/githubWorkflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"githubWorkflows.js","sourceRoot":"","sources":["../../src/generators/githubWorkflows.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@
48
48
  */
49
49
  import { checkConfigShape, formatProblem, hasErrors } from '../config/check.js';
50
50
  import { configExists, loadConfig, saveConfig } from '../config/io.js';
51
- import { asQaDriver, CONFIG_FILENAME, CONFIG_VERSION, DEFAULTS, isPlaceholder, QA_DRIVER_IMPLEMENTED, qaDriverChoices, } from '../config/model.js';
51
+ import { asQaDriver, CONFIG_FILENAME, CONFIG_VERSION, DEFAULTS, INIT_SCRIPTS_DIR, isPlaceholder, QA_DRIVER_IMPLEMENTED, qaDriverChoices, } from '../config/model.js';
52
52
  import { EXIT, HarnessError } from '../core/errors.js';
53
53
  import { branchResolves, checkedOutBranch, configuredInitDefaultBranch, hasCommits, remoteHeadBranch, } from '../core/git.js';
54
54
  import { defaultProjectName } from '../core/paths.js';
@@ -421,12 +421,12 @@ function resolveQaDriver(flag, ask, note, defer) {
421
421
  * `--qa-driver` without `--qa` and `--parity` without `--reference-impl` arms below are not
422
422
  * deferred: each is about a flag the adopter typed on this command line.
423
423
  */
424
- export function buildConfig({ repoRoot, detection, preset, flags, warn, noteIfWritten, warnIfWritten, askDriver, askRetrieval, }) {
424
+ export function buildConfig({ repoRoot, detection, preset, flags, rebuiltScriptsDir, warn, noteIfWritten, warnIfWritten, askDriver, askRetrieval, }) {
425
425
  const report = warn ?? (() => { });
426
426
  const informIfWritten = noteIfWritten ?? (() => { });
427
427
  const defer = warnIfWritten ?? (() => { });
428
428
  const profile = preset ?? buildPreset(detection);
429
- const scriptsDir = DEFAULTS.scriptsDir;
429
+ const scriptsDir = flags.scriptsDir ?? rebuiltScriptsDir ?? INIT_SCRIPTS_DIR;
430
430
  const defaultBranch = resolveDefaultBranch(repoRoot, flags.defaultBranch, defer, informIfWritten);
431
431
  const phases = { qa: flags.qa ?? false, docs: flags.docs ?? false, parity: flags.parity ?? false };
432
432
  const config = {
@@ -529,7 +529,7 @@ function keptQaDriverClause(config) {
529
529
  * The write itself, the `.bak` and the `--dry-run` suppression all belong to the write engine; this
530
530
  * generator has no filesystem-mutating call.
531
531
  */
532
- export function writeHarnessConfig({ repoRoot, detection, preset, flags, plan, resetConfig = false, dryRun = false, appDirSource = 'default', askDriver, askRetrieval, }) {
532
+ export function writeHarnessConfig({ repoRoot, detection, preset, flags, rebuiltScriptsDir, plan, resetConfig = false, dryRun = false, appDirSource = 'default', askDriver, askRetrieval, }) {
533
533
  const warnings = [];
534
534
  const notes = [];
535
535
  // Both held back until `kept` is known, and published or dropped there — one list per stream
@@ -542,6 +542,7 @@ export function writeHarnessConfig({ repoRoot, detection, preset, flags, plan, r
542
542
  ...(preset === undefined ? {} : { preset }),
543
543
  ...(askDriver === undefined ? {} : { askDriver }),
544
544
  ...(askRetrieval === undefined ? {} : { askRetrieval }),
545
+ ...(rebuiltScriptsDir === undefined ? {} : { rebuiltScriptsDir }),
545
546
  flags,
546
547
  warn: (message) => warnings.push(message),
547
548
  warnIfWritten: (message) => ifWritten.push(message),
@@ -618,7 +619,11 @@ export function writeHarnessConfig({ repoRoot, detection, preset, flags, plan, r
618
619
  const appDirClause = appDirSource === 'config'
619
620
  ? `appDir is re-read from the file being rebuilt, so every layer scope is re-derived under the same application directory`
620
621
  : `appDir is ${JSON.stringify(detection.context.appDir)} — ${appDirSource === 'flag' ? 'the directory --app-dir named on this command line' : 'the repository root, because the file being rebuilt supplied no appDir this run could use'} — so every layer scope is re-derived under that directory`;
621
- const consequence = `It is re-derived rather than restored: ${appDirClause}, but any value that lived only in the edited file — a phase toggle, an added protectedBranches entry, a corrected command line — becomes whatever detection and the flags say, so anything you meant to keep has to be given as a flag on this run or set again afterwards with \`config set\`.`;
622
+ // Conditioned on the flag too: a `--scripts-dir` on the same run wins over the re-read value.
623
+ const scriptsDirClause = rebuiltScriptsDir !== undefined && flags.scriptsDir === undefined
624
+ ? `; scriptsDir is re-read from the file being rebuilt as ${JSON.stringify(rebuiltScriptsDir)}, so the scripts already on disk stay where every reader looks for them; pass --scripts-dir <dir> to move it`
625
+ : '';
626
+ const consequence = `It is re-derived rather than restored: ${appDirClause}${scriptsDirClause}, but any value that lived only in the edited file — a phase toggle, an added protectedBranches entry, a corrected command line — becomes whatever detection and the flags say, so anything you meant to keep has to be given as a flag on this run or set again afterwards with \`config set\`.`;
622
627
  // The closing clause carries one exception, and it is stated here because this note is the
623
628
  // enumeration of what a rebuild costs. A guard still enforcing the pre-rebuild set is a state
624
629
  // the rebuild itself creates, so the run that creates it is the run that clears it
@@ -1 +1 @@
1
- {"version":3,"file":"harnessConfig.js","sourceRoot":"","sources":["../../src/generators/harnessConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harnessConfig.js","sourceRoot":"","sources":["../../src/generators/harnessConfig.ts"],"names":[],"mappings":"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"}
@@ -500,7 +500,7 @@ const UNRESOLVED_HEAD = 'harness_fail';
500
500
  * - the indentation test is **defensive rather than template-driven**: no wrapper template renders an
501
501
  * indented forwarding line, so it buys nothing today and exists so that an adopter-edited wrapper
502
502
  * that forwards from inside a conditional or a function is reported `unrecognised` rather than
503
- * mis-read.
503
+ * misread.
504
504
  *
505
505
  * {@link unresolvedBody} is substituted into `{{command}}` like any other body, so that wrapper's
506
506
  * rendered line *is* a line this rule matches. It is classified by its first token rather than
@@ -33,7 +33,7 @@
33
33
  * CLI's own and a version it does not know means a newer CLI wrote it, while these belong to
34
34
  * another program that may change them at any release.
35
35
  *
36
- * **Every failure is `undefined`, never a throw** — file absent, unreadable, unparseable, key
36
+ * **Every failure is `undefined`, never a throw** — file absent, unreadable, unparsable, key
37
37
  * absent, no usable row. A machine where the plugin is not installed is an answer a caller has
38
38
  * something correct to do with, which is the discipline `core/git.ts`'s `hasCommits` states for the
39
39
  * same reason: the one consumer is a `doctor` check, and "not installed" is a state it reports. It
@@ -125,12 +125,12 @@ function parseEntry(value) {
125
125
  * The registry as it is on disk, or an empty one.
126
126
  *
127
127
  * **It fails open in every failure mode there is**: absent, unreadable (a permission bit, a bad
128
- * mount), unparseable, not a JSON object, `repos` not an object, or a `schema` this release does not
128
+ * mount), unparsable, not a JSON object, `repos` not an object, or a `schema` this release does not
129
129
  * recognise all read as "no repositories are registered" rather than throwing. A machine-scoped file
130
130
  * must not be able to stop a repository-scoped command, and this one is not consulted before
131
131
  * starting a run, so there is nothing a fault here could correctly block.
132
132
  *
133
- * That is the opposite of `readJsonFile`'s own contract, which throws on unparseable JSON so a later
133
+ * That is the opposite of `readJsonFile`'s own contract, which throws on unparsable JSON so a later
134
134
  * create-if-absent write cannot clobber a file the adopter merely mistyped. The trade is different
135
135
  * here and worth stating: an unreadable registry **is** rewritten by the next
136
136
  * {@link upsertRepository}, and that is acceptable because this file is *derived* state — every
@@ -21,10 +21,17 @@ import { HarnessError } from '../core/errors.js';
21
21
  import { loadRetrievalModule, retrievalModelCacheDir } from './runtime.js';
22
22
  /**
23
23
  * ONNX port of `BAAI/bge-small-en-v1.5`, MIT; about 33M parameters, per the upstream model card.
24
- * Loaded with `dtype: 'q8'`, CLS pooling and `normalize: true`, yielding {@link EMBEDDING_DIMENSIONS}
25
- * dimensions.
24
+ * Loaded with `dtype: 'q8'` and extracted with {@link EMBEDDING_EXTRACT_OPTIONS}, yielding
25
+ * {@link EMBEDDING_DIMENSIONS} dimensions.
26
26
  */
27
27
  export const EMBEDDING_MODEL = 'Xenova/bge-small-en-v1.5';
28
+ /**
29
+ * The embedder's extraction options. Part of the embedder's identity, so a change to them bumps
30
+ * {@link MODEL_VERSION}. Exported for the eval's matched-precision leg
31
+ * (`evals/docs-retrieval/vector-agreement.mjs`), which loads the same model at fp32 and must extract
32
+ * exactly as this module does.
33
+ */
34
+ export const EMBEDDING_EXTRACT_OPTIONS = { pooling: 'cls', normalize: true };
28
35
  /** bge-v1.5's retrieval instruction, prepended to queries only. */
29
36
  const EMBEDDING_QUERY_PREFIX = 'Represent this sentence for searching relevant passages: ';
30
37
  /**
@@ -70,7 +77,7 @@ async function loadModels(options) {
70
77
  env.allowRemoteModels = options.allowRemote;
71
78
  const extractor = await transformers.pipeline('feature-extraction', EMBEDDING_MODEL, { dtype: MODEL_DTYPE });
72
79
  const embed = async (texts) => {
73
- const output = (await extractor(texts, { pooling: 'cls', normalize: true }));
80
+ const output = (await extractor(texts, EMBEDDING_EXTRACT_OPTIONS));
74
81
  return output.tolist();
75
82
  };
76
83
  const embedder = {
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/retrieval/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/retrieval/models.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,16 @@ import { join } from 'node:path';
11
11
  import { chunkMarkdown } from './chunk.js';
12
12
  import { corpusFiles } from './corpus.js';
13
13
  import { EMBEDDER_META_KEY } from './store.js';
14
- const EMBED_BATCH_SIZE = 32;
14
+ /**
15
+ * Exported for `evals/docs-retrieval/vector-agreement.mjs`, which must embed in the same batches a
16
+ * cold refresh uses.
17
+ */
18
+ export const EMBED_BATCH_SIZE = 32;
15
19
  /**
16
20
  * Refreshes `store` from the corpus of `config`: (1) an embedder id differing from the stored one,
17
21
  * or none stored, clears the index and records the new id; (2) every corpus file is chunked; (3) every
18
22
  * stored key not in that set is deleted; (4) chunks whose key is new or whose hash moved are embedded
19
- * in batches of 32 and upserted; (5) the rest count as unchanged.
23
+ * in batches of {@link EMBED_BATCH_SIZE} and upserted; (5) the rest count as unchanged.
20
24
  *
21
25
  * Expected cost: a document whose title changed re-embeds every one of its chunks, because the title
22
26
  * is part of each chunk's embedded `text`.
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../src/retrieval/refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAC;AAe9D,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAKlC;IACC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEtD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC/D,IAAI,cAAc,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,GAAG,cAAc,KAAK,SAAS,CAAC;IACzC,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAe,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAE3H,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;QACzC,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../src/retrieval/refresh.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autonomous-sdlc-harness",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "description": "The outer loop of the autonomous SDLC harness: init, doctor, config and daemon management for the harness Claude Code plugin, plus opt-in local docs retrieval.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "firu-daniel",
@@ -23,6 +23,9 @@
23
23
  # `@sdlc-harness` anywhere, not in the exact command form, is read by one
24
24
  # read-only agent session running the plugin's mention-reading slash command,
25
25
  # which `remote-run.sh control` launches and whose decision it validates.
26
+ # A comment job first asks `remote-run.sh control --needs-agent` whether that
27
+ # session would start (THE AGENT CHECK below); the act step re-checks
28
+ # everything.
26
29
  # Every decision lives in that script; this file carries only the events, the
27
30
  # permissions, a prefilter, the concurrency group, and on a comment job the
28
31
  # credential, the agent CLI and the pinned plugin that session needs.
@@ -69,7 +72,9 @@
69
72
  # finding 1).
70
73
  #
71
74
  # THE PERMISSIONS, declared because the default token may be read-only
72
- # (docs/github-integration-research.md, T2):
75
+ # (docs/github-integration-research.md, T2). `permissions: {}` at workflow level
76
+ # grants nothing, and they sit on the `control` job, whose block sets every
77
+ # permission it does not list to `none`, so a job added later inherits nothing:
73
78
  # contents: write push a review round, and the contents read a
74
79
  # `stop --branch-gone` makes
75
80
  # actions: write dispatch, pause, stop and cancel runs, and read
@@ -137,9 +142,22 @@
137
142
  # therefore the release the run job installs. A pinned release older than
138
143
  # mentions carries no mention-reading command and gets `control`'s no-plugin
139
144
  # reply; the route is `init --upgrade-workflows` (docs/remote-execution.md,
140
- # `### Upgrading`). The three comment-only steps are `continue-on-error`, so a
141
- # failed install never blocks an exact-form command: `control` then finds no
142
- # agent binary or plugin and answers a mention with its exit-3 reply.
145
+ # `### Upgrading`). The three comment-only steps run only when THE AGENT CHECK
146
+ # below did not answer `no`, so an exact-form command now skips them. They stay
147
+ # `continue-on-error`, so a failed install still never blocks one: `control`
148
+ # then finds no agent binary or plugin and answers a mention with its exit-3
149
+ # reply.
150
+ #
151
+ # THE AGENT CHECK. A comment job runs `remote-run.sh control --needs-agent`
152
+ # before the three comment-only steps. It tells the exact command form apart
153
+ # from a mention, then runs `control`'s gates 1 to 3 on a mention, and posts,
154
+ # dispatches and writes nothing. Only its exit 2 (no session would start: an
155
+ # ignored comment, an exact-form command or a refused commenter) writes
156
+ # `agent=no`, which skips those steps. Every other outcome installs, as
157
+ # before: an older script that does not know the flag, a failed permission
158
+ # call, a failed step. A mention by an admitted commenter costs one extra
159
+ # permission call. It is a saving, not the authority, as THE PREFILTER says of
160
+ # the `if:`: the act step re-checks every rule.
143
161
  #
144
162
  # A REFUSAL IS A SUCCESS. `remote-run.sh control` exits 2 for a refusal it has
145
163
  # already replied to; that exit code is the script's contract with every other
@@ -159,7 +177,7 @@
159
177
  # no token.
160
178
  # * A value carrying `: ` or ` #` is never a plain scalar: write it as a
161
179
  # block scalar (`>-`) or quote it. A plain scalar reads `: ` as a mapping
162
- # indicator, which leaves the file unparseable, and ` #` as a comment,
180
+ # indicator, which leaves the file unparsable, and ` #` as a comment,
163
181
  # which silently truncates the value (THE PREFILTER above).
164
182
  #
165
183
  # DECLARED MIRRORS — a rename on either side is an edit to both:
@@ -187,20 +205,44 @@
187
205
  # remote-run.sh (the scriptsDir copy) IN_OAUTH, IN_API and
188
206
  # HARNESS_MENTION_PLUGIN_DIR, the env
189
207
  # interface `control` reads (its MENTION
190
- # paragraph)
208
+ # paragraph); `control --needs-agent`,
209
+ # whose exit 2 alone means no session
210
+ # would start
191
211
  #
192
212
  # ACTION PINS.
193
- # actions/checkout@v5
194
- # actions/setup-node@v5
195
- # Each is the lowest major whose own action.yml declares `runs.using: node24`,
196
- # per a maintainer's lookups of each action's action.yml and release notes on
197
- # 2026-09-29T08:21Z (UTC). Each of those majors' release notes requires
198
- # Actions Runner 2.327.1 or newer; a GitHub-hosted runner already has it, and
199
- # a self-hosted one must run it (docs/remote-execution.md, section 8). A major
200
- # tag, not a commit sha: every action here is GitHub's own `actions/`
201
- # organisation, the owner of the runner and GITHUB_TOKEN this job already
202
- # trusts, and a major tag takes the action's own patch and security releases
203
- # where a sha would freeze your copy. Pin shas in your copy if you want them.
213
+ # actions/checkout v5.1.0
214
+ # actions/setup-node v5.0.0
215
+ # Each `uses:` names the full commit sha of the release on the comment line
216
+ # above it. Each release is in the lowest major whose own action.yml declares
217
+ # `runs.using: node24`, per a maintainer's lookups of each action's action.yml
218
+ # and release notes on 2026-09-29T08:21Z (UTC). Each of those majors' release
219
+ # notes requires Actions Runner 2.327.1 or newer; a GitHub-hosted runner already
220
+ # has it, and a self-hosted one must run it (docs/remote-execution.md, section
221
+ # 8). A sha, not a tag: a tag is mutable, and this job holds write tokens and,
222
+ # on a comment job, the Claude credential. `init --upgrade-workflows` does not
223
+ # re-render this file (cli/src/generators/githubWorkflows.ts, choice 5), so a
224
+ # pin moves only when `init --force` replaces it, after a `.bak`, with a newer
225
+ # release's copy; a hand bump replaces the sha and its comment line together.
226
+ # The version stays on its own line, never trailing the `uses:` value: a value
227
+ # carrying ` #` is never a plain scalar.
228
+ #
229
+ # THE CHECKOUT CREDENTIAL. The checkout keeps the credential persisted, so
230
+ # zizmor's `artipacked` finding stands on it: a review round runs
231
+ # `remote-run.sh review` (`control_review`), whose `verb_review` pushes the
232
+ # round through push-branch.sh (`hr_push_landed`) with that credential. This
233
+ # workflow uploads no artifact, so none carries the checkout's .git/config. An
234
+ # edit keeps it so: never point an upload-artifact `path:` inside the workspace
235
+ # while the checkout persists its credential.
236
+ #
237
+ # THE CLAUDE CLI. `Install the claude CLI when absent` installs
238
+ # @anthropic-ai/claude-code unpinned, and only when the runner has no `claude`,
239
+ # exactly as harness-run.yml's step of the same name does. The latest is
240
+ # wanted: the agent runner tracks the model API, and this file carries no pin
241
+ # and is never upgraded by pin (choice 5 above), so a version frozen here would
242
+ # never move. zizmor's `adhoc-packages` finding stands on it, and pinning does
243
+ # not clear it: it flags `npm install -g @anthropic-ai/claude-code@2.1.284`
244
+ # too, measured 2026-10-09. The audit-silent alternatives, `npx --yes` and
245
+ # `curl | bash`, are the same install with less integrity checking.
204
246
 
205
247
  name: harness-control
206
248
  run-name: harness control ${{ github.event.issue.number || github.event.pull_request.number || github.event.ref }}
@@ -216,11 +258,7 @@ on:
216
258
  types: [closed]
217
259
  delete:
218
260
 
219
- permissions:
220
- contents: write
221
- actions: write
222
- issues: write
223
- pull-requests: write
261
+ permissions: {}
224
262
 
225
263
  defaults:
226
264
  run:
@@ -231,6 +269,11 @@ jobs:
231
269
  if: >-
232
270
  (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@sdlc-harness') && !contains(github.event.comment.body, '<!-- sdlc-harness')) || (github.event_name == 'pull_request_review' && github.event.review.state == 'changes_requested' && github.event.pull_request.head.repo.full_name == github.repository) || (github.event_name == 'issues' && contains(join(github.event.issue.labels.*.name, ','), 'sdlc-harness: ')) || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) || (github.event_name == 'delete' && github.event.ref_type == 'branch')
233
271
  runs-on: ${{ vars.HARNESS_RUNNER || 'ubuntu-latest' }}
272
+ permissions:
273
+ contents: write
274
+ actions: write
275
+ issues: write
276
+ pull-requests: write
234
277
  concurrency:
235
278
  group: ${{ github.event_name == 'pull_request_review' && format('harness-review-{0}', github.event.pull_request.head.ref) || format('harness-control-{0}', github.run_id) }}
236
279
  cancel-in-progress: false
@@ -242,7 +285,8 @@ jobs:
242
285
  HARNESS_RUN_ACTORS: ${{ vars.HARNESS_RUN_ACTORS }}
243
286
  steps:
244
287
  - name: Check out the default branch
245
- uses: actions/checkout@v5
288
+ # actions/checkout v5.1.0
289
+ uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09
246
290
  with:
247
291
  ref: ${{ github.event.repository.default_branch }}
248
292
  token: ${{ github.token }}
@@ -269,17 +313,31 @@ jobs:
269
313
  git config user.name "github-actions[bot]"
270
314
  git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
271
315
 
272
- - name: Set up Node
316
+ - name: Decide whether the comment needs the agent
317
+ id: needs
273
318
  if: github.event_name == 'issue_comment'
274
319
  continue-on-error: true
275
- uses: actions/setup-node@v5
320
+ run: |
321
+ status=0
322
+ bash "$SCRIPTS_DIR/remote-run.sh" control --needs-agent || status=$?
323
+ if [ "$status" -eq 2 ]; then
324
+ echo "agent=no" >> "$GITHUB_OUTPUT"
325
+ else
326
+ echo "agent=yes" >> "$GITHUB_OUTPUT"
327
+ fi
328
+
329
+ - name: Set up Node
330
+ if: github.event_name == 'issue_comment' && steps.needs.outputs.agent != 'no'
331
+ continue-on-error: true
332
+ # actions/setup-node v5.0.0
333
+ uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444
276
334
  with:
277
335
  node-version: '22'
278
336
  # As in harness-run.yml: no npm cache is used, and a lockfile-less repository must not fail this step.
279
337
  package-manager-cache: false
280
338
 
281
339
  - name: Install the claude CLI when absent
282
- if: github.event_name == 'issue_comment'
340
+ if: github.event_name == 'issue_comment' && steps.needs.outputs.agent != 'no'
283
341
  continue-on-error: true
284
342
  run: |
285
343
  if ! command -v claude >/dev/null 2>&1; then
@@ -288,7 +346,7 @@ jobs:
288
346
  claude --version
289
347
 
290
348
  - name: Fetch the pinned plugin
291
- if: github.event_name == 'issue_comment'
349
+ if: github.event_name == 'issue_comment' && steps.needs.outputs.agent != 'no'
292
350
  continue-on-error: true
293
351
  run: |
294
352
  pin=$(awk '/^[[:space:]]*HARNESS_CLI_VERSION:/ { sub(/^[[:space:]]*HARNESS_CLI_VERSION:[[:space:]]*/, ""); sub(/[[:space:]]+#.*$/, ""); sub(/[[:space:]]+$/, ""); gsub(/["\047]/, ""); print; exit }' .github/workflows/harness-run.yml 2>/dev/null || true)
@@ -49,10 +49,24 @@
49
49
  # The job's `actions: write` covers listing and downloading its own
50
50
  # workflow's artifacts.
51
51
  #
52
- # THE PERMISSIONS. `issues: write` and `pull-requests: write` serve `poll`'s
53
- # reports, which comment on the waiting run's issue or pull request; a
54
- # workflow-level `permissions:` block sets every permission it does not list to
55
- # `none`.
52
+ # THE PERMISSIONS. `permissions: {}` at workflow level grants nothing, and the
53
+ # `poll` job's own block sets every permission it does not list to `none`, so a
54
+ # job added later inherits nothing. `issues: write` and `pull-requests: write`
55
+ # serve `poll`'s reports, which comment on the waiting run's issue or pull
56
+ # request.
57
+ #
58
+ # THE CHECKOUT CREDENTIAL. The `poll` checkout keeps the credential persisted,
59
+ # so zizmor's `artipacked` finding stands on it: `poll` reaches origin through
60
+ # git as well as `gh`. remote-run.sh's `remote_branch_exists` runs
61
+ # `git ls-remote … origin` inside the checkout for every run it examines, and a
62
+ # private repository refuses that call without the credential; `poll` would
63
+ # then never see a deleted run branch, and never drop its poll state. The one
64
+ # upload, `Upload the poller state`, takes its `path:` from POLL_STATE_DIR,
65
+ # `<stateDir>/autonomous_logs/poll_state/current`, set by `Read the
66
+ # configuration` from harness.config.json's `stateDir`: a subdirectory of the
67
+ # state directory holding no `.git/`, so no artifact carries the checkout's
68
+ # .git/config. An edit keeps it so: never point an upload-artifact `path:` at
69
+ # the workspace root or at `.git/` while the checkout persists its credential.
56
70
  #
57
71
  # WHAT IT WRITES. The `harness-poll-state` artifact: the failed-dispatch and
58
72
  # failed-download counts `poll` carries to the next tick, kept 7 days.
@@ -69,17 +83,19 @@
69
83
  # cli/src/config/model.ts DEFAULTS.scriptsDir, DEFAULTS.stateDir
70
84
  #
71
85
  # ACTION PINS.
72
- # actions/checkout@v5
73
- # actions/upload-artifact@v6
74
- # Each is the lowest major whose own action.yml declares `runs.using: node24`,
75
- # per a maintainer's lookups of each action's action.yml and release notes on
76
- # 2026-09-29T08:21Z (UTC). Each of those majors' release notes requires Actions
77
- # Runner 2.327.1 or newer; a GitHub-hosted runner already has it, and a
78
- # self-hosted one must run it (docs/remote-execution.md, section 8). A major
79
- # tag, not a commit sha: both are GitHub's own `actions/` organisation, the
80
- # owner of the runner and GITHUB_TOKEN this job already trusts, and a major tag
81
- # takes the action's own patch and security releases where a sha would freeze
82
- # your copy. Pin shas in your copy if you want them.
86
+ # actions/checkout v5.1.0
87
+ # actions/upload-artifact v6.0.0
88
+ # Each `uses:` names the full commit sha of the release on the comment line
89
+ # above it. Each release is in the lowest major whose own action.yml declares
90
+ # `runs.using: node24`, per a maintainer's lookups of each action's action.yml
91
+ # and release notes on 2026-09-29T08:21Z (UTC). Each of those majors' release
92
+ # notes requires Actions Runner 2.327.1 or newer; a GitHub-hosted runner already
93
+ # has it, and a self-hosted one must run it (docs/remote-execution.md, section
94
+ # 8). A sha, not a tag: a tag is mutable, and this job holds write tokens. A pin
95
+ # moves when `npx autonomous-sdlc-harness@<version> init --upgrade-workflows`
96
+ # re-renders this file at a newer release's pins; a hand bump replaces the sha
97
+ # and its comment line together. The version stays on its own line, never
98
+ # trailing the `uses:` value: a value carrying ` #` is never a plain scalar.
83
99
 
84
100
  name: harness-resume
85
101
 
@@ -88,11 +104,7 @@ on:
88
104
  - cron: '*/30 * * * *'
89
105
  workflow_dispatch:
90
106
 
91
- permissions:
92
- contents: read
93
- actions: write
94
- issues: write
95
- pull-requests: write
107
+ permissions: {}
96
108
 
97
109
  defaults:
98
110
  run:
@@ -101,6 +113,11 @@ defaults:
101
113
  jobs:
102
114
  poll:
103
115
  runs-on: ${{ vars.HARNESS_RUNNER || 'ubuntu-latest' }}
116
+ permissions:
117
+ contents: read
118
+ actions: write
119
+ issues: write
120
+ pull-requests: write
104
121
  # A hand-dispatched tick overlapping a scheduled one would dispatch twice.
105
122
  concurrency:
106
123
  group: harness-resume
@@ -115,7 +132,8 @@ jobs:
115
132
  HARNESS_PUSH_URL: ${{ secrets.HARNESS_PUSH_URL }}
116
133
  steps:
117
134
  - name: Check out the default branch
118
- uses: actions/checkout@v5
135
+ # actions/checkout v5.1.0
136
+ uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09
119
137
  with:
120
138
  ref: ${{ github.event.repository.default_branch }}
121
139
 
@@ -141,7 +159,8 @@ jobs:
141
159
 
142
160
  - name: Upload the poller state
143
161
  if: always() && env.POLL_STATE_DIR != ''
144
- uses: actions/upload-artifact@v6
162
+ # actions/upload-artifact v6.0.0
163
+ uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
145
164
  with:
146
165
  name: harness-poll-state
147
166
  path: ${{ env.POLL_STATE_DIR }}