v0.1.6: sync 2026-10-03..10-15 core corpus — kanban practice fully retired (#5745), review-artifact schema validation wiring (#5656 N-04/N-06), review-code batching (#4386) + worktree codegraph preamble (#4187), gitea adapter slimming, roles yaml first-line fix (octopus main-repo commits 86047c51d..de16e8704)
This commit is contained in:
@@ -41,11 +41,6 @@ in `_shared/gitea-write-patterns.md`.
|
||||
|
||||
**Orchestrator actions**:
|
||||
|
||||
0. **Move the source issue to the `review` column** on the Pipeline Stages
|
||||
board per `_shared/gitea-write-patterns.md` Pattern 7.5. Skip if no
|
||||
source issue exists. The review stage is a single board column covering
|
||||
all review targets (DAG single gate / code review / audit-process).
|
||||
|
||||
0.5. **Initialize the review-status file** (round 1 only). The Orchestrator
|
||||
creates `<runs-root>/{slug}/reviews/{stage}/status.json` before dispatching
|
||||
round 1, with the full schema-required field set
|
||||
@@ -111,6 +106,13 @@ in `_shared/gitea-write-patterns.md`.
|
||||
`core/skills/_shared/review-orchestrator-rules.md` — Default
|
||||
Explorer Permissions).
|
||||
- Temperature: 0.1 (deterministic output).
|
||||
- StructuredOutput mount ([org-internal #5658]): pass `format: { type:
|
||||
"json_schema", schema: <the reviewer-output.schema.json contents you
|
||||
read at prompt build time> }` on the task dispatch — the reviewer's
|
||||
final emission is schema-enforced (malformed verdict/severity/summary
|
||||
args are rejected with field-path repair feedback inside the reviewer's
|
||||
own loop). The findings FILE remains the canonical Tier-1 artifact; the
|
||||
structured output mirrors it as a self-check.
|
||||
|
||||
4. Wait for all {REVIEWER_OR_AUDITOR}s to complete. Each reviewer writes its
|
||||
dimension result to the skill's configured findings sink:
|
||||
@@ -171,6 +173,11 @@ in `_shared/gitea-write-patterns.md`.
|
||||
`tier1-local` skills; `/tmp/octopus/...` for `tier2-comment` skills)
|
||||
- `permissions`: read + write + edit + bash + glob + grep (all allow)
|
||||
- `temperature`: 0.1
|
||||
- `format` ([org-internal #5658]): `{ type: "json_schema", schema: <the
|
||||
synthesis.schema.json contents you read> }` — the Synthesizer's final
|
||||
emission is schema-enforced (malformed verdict/dimension args rejected
|
||||
with field-path repair feedback in-loop). The posted fenced JSON block
|
||||
remains the canonical artifact; the structured output mirrors it.
|
||||
- Foreground (the Orchestrator waits for completion).
|
||||
|
||||
3. The Synthesizer:
|
||||
|
||||
@@ -32,6 +32,18 @@ Label: {DIMENSION_NAME}
|
||||
|
||||
## Instructions
|
||||
|
||||
### Gate records are deterministic inputs ([org-internal #5656] N-04)
|
||||
|
||||
When the work item carries gate records (`gate` tool results — metadata
|
||||
`exit_code`, `duration_ms`, `ci_run_id`), those records ARE the command
|
||||
outcomes for mechanical questions (tests/typecheck/lint): cite the exit code
|
||||
verbatim (`gate <id> (<tier>): exit_code=<n> -> green|red` — canonical block
|
||||
in `packages/octopus/src/gate/consume.ts`) and never substitute a model's
|
||||
narration of command output. A claim that disagrees with a record's
|
||||
exit_code is a finding (record wins); a mechanical claim with no record is
|
||||
unverifiable — request the citation. A green verdict-cache hit
|
||||
(`metadata.verdict_cache.key`) counts the same as a fresh run.
|
||||
|
||||
{READ_FIRST_STEPS}
|
||||
4. For each checklist item, determine whether the {ARTIFACT_NOUN} satisfies it.
|
||||
Every checklist item must receive a PASS or FAIL verdict.
|
||||
@@ -46,6 +58,21 @@ Label: {DIMENSION_NAME}
|
||||
(reviewer_count > 1), use the slot-prefixed form {DIM}R{k}-F{NNN} with your
|
||||
1-based slot k (e.g. TOPOR1-F001) so parallel slot files never collide on id.
|
||||
{CONTRADICTION_RULE}
|
||||
6b. Code graph availability (worktree sessions): if `codegraph_status` is
|
||||
unavailable or reports no index for the tree under review (typical when
|
||||
reviewing from a session worktree whose per-worktree `.codegraph/` index
|
||||
has not finished building — see `<instance-root>/rules/code-graph.md`), do NOT
|
||||
silently substitute grep+read for structural questions ("who calls /
|
||||
what depends on / where defined"). Instead:
|
||||
- For symbols on the MAIN branch side (baselines, design refs, cross-session
|
||||
frozen contracts), you MAY query the main checkout's index (path given in
|
||||
your dispatch preamble) and cite `main:<path>:<line>`.
|
||||
- If no index is reachable at all, mark the affected checklist items NA
|
||||
with reason "codegraph unavailable — structural check degraded to grep"
|
||||
and emit one INFO finding (id `{DIM}-F001`-style, in your dimension's own
|
||||
code) recording the degradation, so the Synthesizer can surface it.
|
||||
Findings derived purely from grep+read when a graph query was required are
|
||||
treated as low-confidence and may be waived in synthesis.
|
||||
7. Assign severity strictly:
|
||||
{SEVERITY_DEFINITIONS}
|
||||
8. Count every PASS and FAIL. Compute pass_rate = passed / total_checks.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
> Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
# > Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
name: Coordinator
|
||||
purpose: >
|
||||
Pool dispatch coordinator (billing-v2 [org-internal #4041] §7, REQ-F-012): a wake-driven,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
> Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
# > Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
name: Producer
|
||||
purpose: >
|
||||
Write production artifacts — requirements, design, plans, code, fixes,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
> Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
# > Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
name: Reviewer
|
||||
purpose: >
|
||||
Review one dimension of an artifact against its checklist, read-only.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
> Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
# > Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
name: Tool
|
||||
purpose: >
|
||||
Specialized tool agent for image interpretation and other vision/utility
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
> Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
# > Core 中立版(Increment 6a 改写,原 deferHard verbatim)。编号与条目结构严格不变(C-2 不变量);实例术语按 `core/adapters/TERMINOLOGY.md` 绑定。
|
||||
name: Verifier
|
||||
purpose: >
|
||||
Run the iteration's DoD matrix, integration tests, NFR validation, and
|
||||
|
||||
@@ -198,6 +198,14 @@
|
||||
- **Rule 4 — Aggregation, not reinterpretation**: You MUST NOT soften, rephrase,
|
||||
or downgrade reviewer findings. If a reviewer writes "BLOCKER", it stays
|
||||
"BLOCKER" in synthesis.
|
||||
|
||||
1c. **Pass-rate recalc post-check (MANDATORY, [org-internal #5658])**: for
|
||||
every dimension, recompute `pass_rate = passed / total_checks` from its
|
||||
`quantitative_summary` and compare with the reported value. On a mismatch:
|
||||
keep the raw file unchanged, use the RECOMPUTED value in the synthesis
|
||||
digest, and note the mismatch — a reviewer-output whose `pass_rate` does
|
||||
not match its own counts is a malformed artifact (the schema description
|
||||
says exactly this; this step is the enforcement).
|
||||
- **Rule 5 — Anonymous findings preservation**: If two reviewers independently
|
||||
flag the same issue from different dimensions, preserve both entries. Do not
|
||||
deduplicate by discarding one — cross-dimension agreement is itself a signal.
|
||||
@@ -209,6 +217,11 @@
|
||||
Return ONLY this summary as your final message. Do NOT include the full
|
||||
synthesis JSON — it is already posted to the pipeline PR / source issue
|
||||
comment (for audit-process runs, the wiki page `audit/{date}/round{N}/synthesis`).
|
||||
|
||||
When your dispatch carries `format` (StructuredOutput mount, [org-internal
|
||||
[org-internal #5658]]): the structured output is the MIRROR self-check of this summary (same
|
||||
schema, schema-enforced), not a second artifact — the posted fenced JSON block
|
||||
and this summary remain canonical.
|
||||
Persist this summary verbatim to
|
||||
`<runs-root>/{slug}/reviews/{stage}/round{N}/synthesis-return.md` before
|
||||
returning (step 9 above — worker-report persistence [org-internal #2847]).
|
||||
|
||||
Reference in New Issue
Block a user