Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

/qa can finish green having merged nothing, and the file that would explain why dies with the worktree

オープン
#463 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
活発
技術スタック
yaml
領域
cli, tooling

調査の方向性

Start with unic-dlc-qa.yaml, especially the uat-prep and merge nodes, then compare it with unic-dlc-build.yaml and ADR-0034. Trace how qa-checks.md is written and how skipped nodes affect completion. Done requires an agreed scope and behavior for preserving QA evidence and reporting a run that merges nothing.

索引モデルが issue の本文から書いたものです。

説明

app:unic-archon-dlc bug needs-specs

What this is

Two findings from the review of PR #461, left out of it on purpose: neither is a defect that PR introduced, both are decisions rather than typos, and one of them asks /qa to do something it has never done.

They are filed together because they compound, and the compound is worse than either.

1. /qa writes its durable block and nothing commits it

uat-prep writes <artifacts_dir>/<slug>/qa-checks.md — the block naming every check that came back unresolved and whether an install ran. #430's criterion 10 requires that block to be durable, in those words:

the block is durable — it lands in a file under <artifacts_dir>/<slug>/, the repo-relative Session dir, and a block that exists only in a node's console output does not satisfy this criterion.

The letter is met. The purpose is not. Nothing in unic-dlc-qa.yaml ever commits that file: grep -c 'git add\|git commit\|git push' returns 0 for that Box and 8 for unic-dlc-build.yaml. The file is written into an Archon worktree, and the worktree is removed by archon complete or by /cleanup. The block dies with it.

/build does not have this problem for the same reason it never came up: open-pr stages SESSION/report.md onto the PR branch. /qa has no open-pr and no report node — that absence is exactly why criterion 10's amendment gave uat-prep the Write tool in the first place.

Why this was not fixed in #461: giving /qa a commit is new behaviour, not a correction. It puts a QA record on the feature branch and into the merge, which is a product decision about what a merged branch should carry. The criterion's author specified uat-prep writing the file, and #461 did exactly that.

2. /qa declares no evidence_policy, so a run that merges nothing still reports success

unic-dlc-build.yaml declares evidence_policy: { required: true }. /qa, /pr-review and /explore declare none — grep -c evidence_policy returns 4, 0, 0, 0 across the four Boxes. That is ADR-0034's explicit scope: "No other Box gains an evidence gate in this ADR."

Since #461, /qa's merge node is gated on $test.output.result == 'pass'. So with an unresolved test:

  1. merge's when: is false, so merge is skipped.
  2. merge is the last of the Box's ten nodes.
  3. A skipped node is terminal, and no node reports on it.
  4. The run reaches completed.

A /qa run therefore finishes green having merged nothing, and its exit status says so to nobody.

The compound, which is the actual reason to file this

Set gates.qa: afk, which is the mode /qa is built to support, and run it against a project whose config declares no test:

  • uat-gate and merge-gate are skipped — both are when: gate == 'hitl'.
  • uat-prep still runs and writes qa-checks.md, which explains exactly what went wrong.
  • merge is skipped on the floor.
  • The run reports completed.
  • archon complete removes the worktree, and qa-checks.md goes with it.

No human is at any gate, nothing is merged, no explanation survives, and the run's status is success. Finding 1 destroys the evidence and finding 2 removes the signal; either one alone leaves a way to notice.

This is the same shape #430 was opened about — a result that reads green while nothing was checked — arriving through the Box that merges rather than the Box that builds.

What would settle each

Not proposed as decided. Both need grilling, and the second may be a two-line change or may be out of scope entirely.

  • For 1: either /qa commits qa-checks.md (and then: onto which branch, at which node, and does it belong in the merge?), or the block goes somewhere already durable, or criterion 10's durability requirement is honestly narrowed to the two Boxes that can satisfy it. The third is a real option and should not be dismissed for looking like a retreat.
  • For 2: either /qa gains an evidence_policy of its own, which reopens what ADR-0034 deliberately closed, or merge stops being silent when its when: blocks — a node after it that reports the non-merge would cost less and change no engine behaviour.

Out of scope

  • Anything about /build's evidence gate. It works, and ADR-0034 §4 already records the one cost it accepts (a red build still opens a PR).
  • /pr-review and /explore having no evidence_policy. Neither merges nor certifies anything, so neither has a silent-success failure of this shape.
主要言語
HTML
スター
1
フォーク
0
平均マージ
31分
マージ済み PR(30日)
29

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

unic/unic-agents-plugins のほかの issue

unic/unic-agents-plugins の issue をすべて見る

似ている issue

CLI の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。