Skip to content

Commit 8838953

Browse files
Merge branch 'main' into user/jameslim/aci-azmi-api-2026-05-01
2 parents 11e1549 + a9aeac6 commit 8838953

4,860 files changed

Lines changed: 512258 additions & 54330 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/agents/arm-api-review-critic.agent.md

Lines changed: 52 additions & 50 deletions
Large diffs are not rendered by default.

.github/agents/arm-api-reviewer.agent.md

Lines changed: 90 additions & 107 deletions
Large diffs are not rendered by default.
Lines changed: 66 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,28 @@
11
<!-- Source of truth for the Critic-invocation input block. Both the
22
Reviewer (Step 7) and the Critic (Operating mode) link here.
3-
Schema definitions live in `arm-api-review-critic.protocol.md`; this file
4-
is the **literal template** the Reviewer copies into every dispatch
5-
prompt and every session-handoff paste. -->
6-
7-
# Critic input-block template
8-
9-
The Reviewer MUST embed exactly one fenced YAML block with this schema
10-
in the prompt body it sends to the Critic dispatch (or pastes into the
11-
session-handoff prompt). The Critic MUST refuse to validate any
12-
invocation whose prompt does not contain exactly one such block. Field
13-
semantics, the empty-list rule, and the sentinel-string contract are
14-
defined in [`arm-api-review-critic.protocol.md` → Inputs the Reviewer passes
15-
to the Critic](./arm-api-review-critic.protocol.md#inputs-the-reviewer-passes-to-the-critic).
16-
17-
## Template (copy verbatim; substitute placeholders)
18-
19-
````markdown
20-
```yaml
21-
# critic-inputs/v1
22-
pr_url: https://github.com/<owner>/<repo>/pull/<number>
23-
session_sha: <full-40-char-sha> # Input #2
24-
files_reviewed: # Input #4
25-
- path/to/file-a.json
26-
- path/to/file-b.tsp
27-
previous_version: # Input #5; null when new service
28-
base_sha_or_ref: <sha-or-ref>
29-
path: specification/<service>/.../stable/<prev-version>
30-
prior_fail_sets: # Input #7; [] on iteration 1
31-
iteration_n_minus_1: []
32-
iteration_n_minus_2: []
33-
considered_and_declined: [] # Input #8; [] on iteration 1
34-
graphs_produced: true # Input #9; true | false | downgraded | degraded
35-
iteration: 1 # Input #10; 1..3
3+
Schema definitions and the non-empty response invariant live in
4+
`arm-api-review-critic.protocol.md`; this file is the **reference
5+
template** the Reviewer uses when constructing dispatch prompts. -->
6+
7+
# Critic input block template
8+
9+
The Reviewer includes a labeled input block in every Critic dispatch
10+
prompt. The Critic uses **tolerant prose parsing**: it reads the labeled
11+
fields in any order, and applies the documented default for any optional
12+
field that is absent or unclear. Only PR URL, Session SHA, and the
13+
Step 6 findings report are required.
14+
15+
## Template (copy and fill in; fields in any order are accepted)
16+
17+
```text
18+
PR: https://github.com/<owner>/<repo>/pull/<number>
19+
Session SHA: <full-40-char-sha>
20+
Iteration: 1
21+
Graphs: true
22+
Files reviewed: path/to/file-a.json, path/to/file-b.tsp
23+
Previous version: specification/<service>/.../stable/<prev-version> at <sha-or-ref>
24+
Prior fail sets: none
25+
Considered and declined: none
3626
```
3727

3828
## Step 6 findings report
@@ -42,26 +32,46 @@ iteration: 1 # Input #10; 1..3
4232
## Step 5.5 reconciliation plan
4333

4434
<verbatim Step 5.5 plan from the Reviewer, or the literal string `reconciliation skipped`>
45-
````
46-
47-
## Required invariants
48-
49-
- The `# critic-inputs/v1` header comment is part of the contract;
50-
removing it FAILs Critic input validation.
51-
- Inputs #7 and #8 MUST be explicit empty containers (`[]` or `none`)
52-
on iteration 1, not omitted.
53-
- Input #6 is either a real plan under the `## Step 5.5 reconciliation
54-
plan` heading or the literal sentinel `reconciliation skipped` --
55-
never an empty plan or omitted heading.
56-
- `session_sha` is the full 40-char commit SHA; short SHAs are a
57-
validation failure.
58-
- `iteration` is `1`, `2`, or `3` -- the iteration cap (see
59-
[protocol → Iteration discipline](./arm-api-review-critic.protocol.md#critic-verdict-tracks)).
60-
61-
## When something cannot be assembled
62-
63-
If a required field cannot be filled in (e.g., session SHA never pinned
64-
because Step 1 failed), do **not** dispatch the Critic. Surface the gap
65-
to the human per Reviewer Step 7's fallback ladder; the Critic will
66-
return `Finding accuracy = FAIL` reason `missing-inputs` against any
67-
incomplete block.
35+
36+
## Field reference
37+
38+
| Field | Required? | Default when absent | Notes |
39+
| ---------------------------- | --------- | ------------------------ | ------------------------------------------------------------------------------- |
40+
| PR | **Yes** || Full GitHub URL or `owner/repo#number`. |
41+
| Session SHA | **Yes** || Full 40-char commit SHA pinned at Reviewer Step 1. |
42+
| Iteration | No | `1` | `1` through `3`. |
43+
| Graphs | No | `false` | `true` = Mermaid graphs in report; full graph-diff. `false` = graph N/A. |
44+
| Files reviewed | No | Derived from findings | Comma-separated or line-separated workspace-relative paths. |
45+
| Previous version | No | `None - new service` | Path and SHA/ref used for [NEW]/[EXISTING] classification. |
46+
| Prior fail sets | No | Empty (none) | Rule-ID + file/line tuples from prior iterations; `none` on iteration 1. |
47+
| Considered and declined | No | Empty (none) | Candidates the Reviewer chose not to promote, with one-line rationales. |
48+
| Step 6 findings report | **Yes** || Verbatim, under the `## Step 6 findings report` heading. |
49+
| Step 5.5 reconciliation plan | No | `reconciliation skipped` | Verbatim, under the `## Step 5.5 reconciliation plan` heading, or the sentinel. |
50+
51+
## Compact-mode template (iterations 2 and 3)
52+
53+
For iterations 2 and 3, the Reviewer MAY send a compact payload. Include
54+
only the changed findings under `## Step 6 findings report` and a brief
55+
carry-over summary under `## Carry-over verdicts`. Re-pin the session SHA
56+
and run the file-drift check before sending.
57+
58+
```text
59+
PR: https://github.com/<owner>/<repo>/pull/<number>
60+
Session SHA: <full-40-char-sha> (re-verified before this dispatch)
61+
Iteration: 2
62+
Graphs: true
63+
Prior fail sets: <rule-ID + file/line tuples from iteration 1>
64+
Considered and declined: <candidates declined in iteration 1 with rationales>
65+
```
66+
67+
## Step 6 findings report
68+
69+
<only the changed/added findings since iteration 1>
70+
71+
## Carry-over verdicts
72+
73+
<brief list: finding label — prior verdict — carry-over-stale: no/yes>
74+
75+
## Step 5.5 reconciliation plan
76+
77+
<verbatim plan, or `reconciliation skipped`>

0 commit comments

Comments
 (0)