Skip to content

feat: idd-verify depends on parallel-ai-agents' canonical ensemble engine — three-tier resolution, frozen fork (#207) - #208

Merged
kiki830621 merged 2 commits into
mainfrom
idd/207-idd-verify-depend-on-pai-engine
Jul 2, 2026
Merged

feat: idd-verify depends on parallel-ai-agents' canonical ensemble engine — three-tier resolution, frozen fork (#207)#208
kiki830621 merged 2 commits into
mainfrom
idd/207-idd-verify-depend-on-pai-engine

Conversation

@kiki830621

Copy link
Copy Markdown
Member

Refs #207

Summary

依使用者「需要官方就直接依賴」裁決:verify workflow backend 改三層解析——已安裝 pai canonical 引擎(cache 版本發現、MIN_PAI=2.18.0 閘門——契約前引擎會靜默丟 agentModel 故永不使用)→ 凍結的 vendored fork(FROZEN banner,新功能一律上游 pai)→ manual fan-out。canonical tier 以 pai 官方契約表達 IDD 語意:profile:'custom' + 四 IDD lens(focus 與 vendored LENSES 字面一致)+ daFocus + DATA_GUARD contextBlock(顯式組裝;pai 端 sentinel 雙層包)+ IDD_AGENT_MODEL 直通。Engine 模板接線揭露實際 backend + 雙路徑 dispatchModel。時序解耦:現裝 pai 2.17.0 → 鏈自然走 fallback;pai#21 merge + dist-sync 後 canonical 零改動點亮。

Verification

6-AI verify master report 見 issue #207:2×HIGH(Engine 模板未接線,同根因)+ MEDIUMs(CONTEXT_BLOCK 懸空、dispatchModel 路徑)當輪全修;DA 的「對未釋出契約零測試」以 Tier-1 契約 live smoke 關死(run wf_27d7d3dd-c35:pai 2.18.0 branch 引擎 × 完整 args 映射 × 種雙 bug diff——lens attribution/context 送達/巢狀 stats.dispatchModel/5×claude-opus-4-8 全數實證)。spectra validate 綠。

Checklist

  • Diagnose ✓(Spectra / A_parallel_safe)
  • Spectra idd-verify-depend-on-pai-engine(artifacts 4/4、tasks 11/11 含 verify-fix 段)
  • Verify ✓(post-fix 0 blocking;含 canonical 契約 live smoke)
  • Verify-gated: ready to merge → after merge, run /idd-close manually

Related


🤖 Generated by /idd-all. Do NOT add a GitHub close trailer.

…gine; vendored fork frozen (#207)

Per the owner's direct-dependency ruling (recorded verbatim on
pai#20), the workflow backend now resolves through a three-tier
chain: the installed pai engine first (plugin-cache discovery,
sort -V highest, version gate >= 2.18.0 — the agentModel + STABLE
external-consumer contract start; a pre-contract engine would
silently drop agentModel and reintroduce #205, so the gate falls
back rather than ever using it), then the vendored fork — now
carrying a FROZEN fallback-only banner (features and fixes go
upstream to pai) — then manual fan-out. The canonical tier maps
IDD's semantics onto the contract: profile:'custom' with the four
IDD lenses (focus text byte-identical to the vendored LENSES,
grep-verified), the DA refutation focus, a DATA_GUARD-prefixed
contextBlock that pai's own sentinel machinery double-wraps,
diffFile, IDD's own vendored codexCallPath, and the resolved
IDD_AGENT_MODEL threaded as agentModel. Notice and Engine lines
disclose the resolved backend, pai version, and dispatchModel.

Ships safely before pai 2.18.0 is installed: with today's cache
at 2.17.0 the chain keeps using the fallback and the canonical
path lights up on the pai#21 merge + dist-sync with zero further
changes here.

Spectra change idd-verify-depend-on-pai-engine (proposal/design/
spec delta/tasks 7/7). Refs #207
…le CONTEXT_BLOCK, dual-path dispatchModel; Tier-1 contract live-proven

The two master-report Engine templates (local/branch + PR mode) now
interpolate ${BACKEND_DESC}, model: ${DISPATCH_MODEL} instead of the
hardcoded '5 general-purpose Agents' line — the resolution chain sets
BACKEND_DESC per tier, so a canonical run can no longer be posted as
the manual engine (the disclosure-fabrication class the version gate
itself guards against; both HIGHs shared this one un-wired root).
DISPATCH_MODEL extraction reads both return shapes: the vendored fork
reports top-level dispatchModel, pai nests it under stats (verified
in the 2.18.0 engine at lines 431/464/562 including early returns);
the request-echo fallback is labeled as such. $CONTEXT_BLOCK gains an
explicit assembly step (DATA_GUARD literal + per-issue text +
attachments) — it was consumed but never built, which would have
dispatched canonical reviewers blind. Hardening: semver-only cache
dirs enter version comparison, the fallback notice names the actual
degrade reason, the D3 prose distinguishes codexCall vs codexCallPath
per tier, and the section heading/status prose now describes the
three-tier reality.

The dormant-path risk (DA: 'coded against an unreleased contract,
entirely untested') is closed with a live contract smoke, not
argument: run wf_27d7d3dd-c35 drove the pai 2.18.0 branch engine
with the exact Tier-1 args on a planted-bug diff — IDD lens keys
attributed, contextBlock demonstrably delivered (the requirements
lens quotes the issue's acceptance examples verbatim), nested
stats.dispatchModel='opus' confirmed, and all five agents ran on
claude-opus-4-8 from a Fable session. Evidence recorded in the
design contract; tasks.md re-checked honestly (1.3 was prose-only
at first pass — the templates are now truly wired).

Refs #207
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant