mirror of
https://github.com/Imbad0202/academic-research-skills.git
synced 2026-09-14 13:51:17 +08:00
docs(release): v3.21.2 — model currency, checkpoint decision provenance, and CJK title-matching repairs [skip-closes-check] (#822)
Promotes the [Unreleased] block to v3.21.2 (2026-09-06) and aligns every version-bearing surface, following the v3.21.1 release-prep file set: CHANGELOG heading (empty [Unreleased] anchor kept), plugin/marketplace manifests, CITATION.cff, POSITIONING.md, MODE_REGISTRY.md, .claude/CLAUDE.md (table row, Key Additions, Version Info), academic-pipeline/SKILL.md plus its content-lock hash, docs/ARCHITECTURE.md current markers, the five README badges/headings/entries, and the spec-consistency lint pins with their fixtures. Claude-Session: https://claude.ai/code/session_011sWwwG3oCbtL4cGhRsr5US Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
committed by
GitHub
parent
0861bc8538
commit
8fa3d651ad
@@ -10,7 +10,7 @@
|
||||
"name": "academic-research-skills",
|
||||
"source": "./",
|
||||
"description": "4 skills + 27 modes + Material Passport pipeline. Includes v3.6.7 cross-model audit gate and v3.6.8 generator-evaluator contract.",
|
||||
"version": "3.21.1",
|
||||
"version": "3.21.2",
|
||||
"license": "CC-BY-NC-4.0",
|
||||
"skills": [
|
||||
"./academic-paper",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "academic-research-skills",
|
||||
"version": "3.21.1",
|
||||
"version": "3.21.2",
|
||||
"description": "Contract-audited academic research pipeline for Claude Code: research → write → review → revise → finalize. 4 skills, 27 modes, 39 prompt roles (3 plugin-exposed agents; the rest run inline by default), v3.7.3 + v3.8 L3 claim-faithfulness gate, v3.9.0 cross-index triangulation, v3.10 triangulation policy layer, v3.11 deterministic citation verification gate (#182). Capability ceilings: docs/STAGE_CAPABILITY_MATRIX.md.",
|
||||
"author": {
|
||||
"name": "Cheng-I Wu",
|
||||
|
||||
+10
-3
@@ -9,7 +9,14 @@ A suite of Claude Code skills for rigorous academic research, paper writing, pee
|
||||
| `deep-research` v2.12.1 | 13-agent research team | full, quick, socratic, review, lit-review, three-way-scan, fact-check, systematic-review |
|
||||
| `academic-paper` v3.3.1 | 12-agent paper writing | full, plan, outline-only, revision, revision-coach, abstract-only, lit-review, format-convert, citation-check, disclosure, rebuttal-audit |
|
||||
| `academic-paper-reviewer` v1.11.1 | Multi-perspective paper review (5 reviewers + optional cross-model DA critique) | full, re-review, quick, methodology-focus, guided, calibration |
|
||||
| `academic-pipeline` v3.21.1 | Full pipeline orchestrator | (coordinates all above) |
|
||||
| `academic-pipeline` v3.21.2 | Full pipeline orchestrator | (coordinates all above) |
|
||||
|
||||
## v3.21.2 Key Additions (model currency + checkpoint provenance + CJK title-matching repairs)
|
||||
|
||||
- **Model currency follows the September 2026 system cards.** Docs name Claude Fable 5.1 as the current frontier model; `gpt-6-astra` is listed as a provisional cross-model verifier on both transports and becomes the recommended OpenAI verifier under the #783 generation-currency policy, while `gpt-5.6-sol` keeps its transport-qualified validated status. The contained Codex citation transport accepts `ultra` reasoning effort as part of its closed set. No new bakeoff result is claimed.
|
||||
- **Two vendor-motivated guardrails, both prompt-level.** Checkpoint decision provenance (authority in the pipeline state machine, mirrored by the orchestrator, indexed as risk R11): only a user turn is a checkpoint decision, and decisions are re-transmitted to subagents verbatim. Provider-side monitoring and safety interventions are named as a transport-failure case that is never a verdict; model tiering records that the resolved tier is the declared model, not a per-call attestation.
|
||||
- **Harness-retirement audit retires nothing.** `audits/harness-retirement-2026-09-model-update.md` maps both cards' behavioral findings to the ARS mechanisms that assume them: 0 prompt-text retirements, 4 applied currency fixes, 2 deferred items, 8 keep-as-debt annotations now backed by a system-card citation.
|
||||
- **Matching and lint repairs.** CJK titles pass the shared exact-title gate in the four index resolvers, and wrapper marks are stripped only as one balanced unit (#798, #800); a skill-inventory parity lint (#809) requires set-equality across the skill directories, `skills/` symlinks, the CLAUDE.md table, and the marketplace manifest; the autolink round-trip test declares its dependency (#801); `check_surface_form_parity` names a broken environment instead of the manifest; the R10 residual gap and an MLA key-rules line are de-staled (#813, #805).
|
||||
|
||||
## v3.21.1 Key Additions (bounded workflow substrates + transport-qualified verification)
|
||||
|
||||
@@ -365,7 +372,7 @@ Materials: Complete paper text. field_analyst_agent auto-detects domain and conf
|
||||
Materials: Editorial Decision Letter, Revision Roadmap, Per-reviewer detailed comments
|
||||
|
||||
## Version Info
|
||||
- **Suite version**: 3.21.1 (per CHANGELOG.md)
|
||||
- **Last Updated**: 2026-08-24
|
||||
- **Suite version**: 3.21.2 (per CHANGELOG.md)
|
||||
- **Last Updated**: 2026-09-06
|
||||
- **Author**: Cheng-I Wu
|
||||
- **License**: CC-BY-NC 4.0
|
||||
|
||||
@@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.21.2] - 2026-09-06 — Model currency for Claude Fable 5.1 and GPT-6 Astra, checkpoint decision provenance, and CJK title-matching repairs
|
||||
|
||||
### Added
|
||||
|
||||
- **GPT-6 Astra listed as a provisional cross-model verifier; the OpenAI recommendation moves to the current generation (2026-09 model update).** `gpt-6-astra` (released 2026-09-03) joins the canonical model table in `shared/cross_model_verification.md` as **provisional on both transports** — no bakeoff run exists; the only evidence is an entry-gate smoke on the ChatGPT-subscription citation transport (`scripts/cross_model_smoke_test_codex.sh`, 2026-09-05, codex-cli 0.153.4: `VERIFIED` with one bound source on the Vaswani et al. fixture), which is the precondition for a Promotion Bakeoff, not one. The recommendation moves to `gpt-6-astra` under the existing #783 policy (recommendation follows generation currency; `validated` is earned only by the sealed bakeoff), so the move carries no measurement claim. `gpt-5.6-sol` keeps its validated status on the citation transport and its provisional status on the API route; `gpt-5.5` / `gpt-5.5-pro` / `gemini-3.1-pro-preview` are unchanged. The id-status allowlist, the quick-setup and codex blocks in `docs/SETUP.md` / `docs/SETUP.zh-TW.md` (same example set in both, parity-linted), `.claude/CLAUDE.md`, and the bakeoff section (now naming the per-transport baseline: `gpt-5.5` on the API route, `gpt-5.6-sol` on the citation transport) move together. Two vendor-reported facts are recorded where they bite: high verbalized evaluation awareness (system card §8.6 / §8.8.1) as a caveat on any bakeoff or calibration result, and GPT-6 Astra's unrecorded list pricing in the cost table. The contained Codex citation transport's reasoning-effort vocabulary gains `ultra` (system card §10.1.2.5: the Codex harness ran at Ultra effort) as a named constant with a test pinning turn/start forwarding and fail-closed rejection of unknown values; the app-server schema on 0.153.4 types `ReasoningEffort` as any non-empty string, so this set is ARS's own guard and the provider still rejects what the served model does not advertise.
|
||||
|
||||
+2
-2
@@ -27,8 +27,8 @@ keywords:
|
||||
- peer-review
|
||||
- scholarly-writing
|
||||
license: CC-BY-NC-4.0
|
||||
version: 3.21.1
|
||||
date-released: 2026-08-24
|
||||
version: 3.21.2
|
||||
date-released: 2026-09-06
|
||||
# Zenodo concept DOI — represents all versions, always resolves to the latest.
|
||||
# (Per-release version DOIs are minted by Zenodo automatically; citing the
|
||||
# concept DOI above always resolves to the latest version.)
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ Single source of truth for all modes across the ARS suite. **27 modes** across 4
|
||||
|
||||
When adding or modifying modes, update this file first — SKILL.md files and CLAUDE.md should reference this registry.
|
||||
|
||||
Last updated: v3.21.1 (2026-08-24)
|
||||
Last updated: v3.21.2 (2026-09-06)
|
||||
|
||||
---
|
||||
|
||||
|
||||
+1
-1
@@ -95,5 +95,5 @@ These reflect our policy intent. See the [CC BY-NC 4.0 license](https://creative
|
||||
If you use ARS in your research, please cite it:
|
||||
|
||||
```
|
||||
Wu, C.-I. (2026). Academic Research Skills for Claude Code (Version 3.21.1) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.20696614
|
||||
Wu, C.-I. (2026). Academic Research Skills for Claude Code (Version 3.21.2) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.20696614
|
||||
```
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
# Claude Code 向け Academic Research Skills
|
||||
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.1)
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.2)
|
||||
[](https://doi.org/10.5281/zenodo.20696614)
|
||||
[](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
[](https://buymeacoffee.com/crucify020v)
|
||||
@@ -252,7 +252,7 @@ You: "status"
|
||||
|
||||
基準ごとの証拠に紐づく **ナラティブ判断** を行う 7 エージェントの多視点レビュー。モード: full、re-review、quick、methodology-focus、guided、calibration。現在の live review と Schema 6 package は常に `NOT_CALIBRATED` で、full calibration は有界な候補 profile のみを生成し、live review への適用は未実装です。固定総得点を Accept / Minor Revision / Major Revision / Reject に対応させません。初回レビューパネル vs. 契約管理された再レビューディスパッチの境界: ARCHITECTURE.md §3 Stage 3 / Stage 3' を参照。
|
||||
|
||||
### Academic Pipeline(v3.21.1)
|
||||
### Academic Pipeline(v3.21.2)
|
||||
|
||||
整合性検証、二段階レビュー、ソクラテス式コーチング、コラボレーション評価を持つ 10 ステージのオーケストレーター。パイプライン保証: 各ステージにユーザー確認チェックポイントが必要。整合性検証(Stage 2.5 + 4.5)は MANDATORY であり、記録されないバイパス経路は存在しない(すべてのオーバーライドは Stage 6 のためにユーザーの理由の記録を要する)。R&R Traceability Matrix(Schema 11)は著者の改訂主張を独立に検証する。v3.4 は Stage 2.5 / 4.5 に Compliance Agent(PRISMA-trAIce + RAISE)を追加した。v3.5 はすべての FULL/SLIM チェックポイントとパイプライン完了時に **Collaboration Depth Observer**(`collaboration_depth_agent`、advisory のみ — 決してブロックしない)を追加する。MANDATORY 整合性ゲート(2.5 / 4.5)は、コンプライアンスチェックが希薄化されないよう observer を明示的にスキップする。Wang & Zhang(2026), IJETHE 23:11 に基づく。エージェント、成果物、ゲートを含むステージごとのマトリクス: ARCHITECTURE.md §3 を参照。
|
||||
|
||||
@@ -335,6 +335,10 @@ https://github.com/Imbad0202/academic-research-skills
|
||||
|
||||
## Changelog
|
||||
|
||||
### v3.21.2 (2026-09-06) — モデル現況の整合(Fable 5.1 / GPT-6 Astra)、チェックポイント決定の出所、CJK タイトル照合の修正
|
||||
|
||||
> **新機能ではなく、現況整合と出所の明示:** v3.21.2 は 2026 年 9 月の 2 つのベンダー system card にスイートを整合させます。`gpt-6-astra` は両トランスポートで provisional としてクロスモデル表に入り、世代現況ポリシーに基づき推奨 OpenAI 検証モデルになります。`gpt-5.6-sol` は ChatGPT サブスクリプション引用トランスポートでの validated を維持し、新たな bakeoff 結果は主張しません。封じ込め型 Codex トランスポートの reasoning-effort 集合に `ultra` が加わります。2 つのガードレールを追加しますが、いずれもプロンプト層であり、ARS の測定ではなくベンダー文書に基づきます。チェックポイント決定の出所(ユーザーのターンのみが決定であり、決定はサブエージェントへ逐語的に再送される。リスク R11)と、プロバイダー側の監視・安全介入をトランスポート失敗として扱い、決して判定としない規定です。両カードに対する harness-retirement 監査は何も廃止しません(プロンプト文の廃止 0 件。keep-as-debt 8 件にカード引用を付与)。修正:CJK タイトルが 4 つのインデックスリゾルバの完全一致タイトルゲートで失敗しなくなり(#798)、外側の括弧は 1 つの均衡した単位を成す場合のみ除去します(#800)。autolink ラウンドトリップテストが依存関係を宣言し(#801)、`check_surface_form_parity` はマニフェストではなく壊れた環境を名指しし、skill 一覧の整合 lint を追加し(#809)、R10 の残存ギャップを最新化し(#813)、MLA 規則の 1 行を修正しました(#805)。スイート/pipeline → v3.21.2、deep-research → v2.12.1、academic-paper → v3.3.1、academic-paper-reviewer → v1.11.1。
|
||||
|
||||
### v3.21.1 (2026-08-24) — 境界付きワークフロー基盤、封印済み bakeoff、トランスポート強化
|
||||
|
||||
> **明記された箇所のみ測定済み、それ以外は境界付き:** v3.21.1 は codex-cli 0.147.0 向けの隔離された ChatGPT サブスクリプション引用 transport を修復し、最初の Promotion Bakeoff を記録します。`gpt-5.6-sol` が validated なのはこのサブスクリプション transport に限られ、first-party API 経路では provisional のままです。今後の bakeoff には封印済みの事前登録が必須となります。また、default-off の研究ワークフロー profile 基盤(オフラインの決定論的 conformance のみ。pipeline hook も、研究ファミリー固有の出荷済み profile もなし)、opt-in の inquiry-ledger alpha(`ARS_INQUIRY_LEDGER=1`)、および未実装の design-only alternative register を追加します。これらの行動的証拠は `NOT_RUN` のままであり、ユーザビリティ、回復、novelty、正確性、研究成果の改善を主張しません。レビュー基準 registry には、出典に裏付けられた例示用の MSR 2027 exact-profile proving set を 1 件追加しますが、投稿先(会議・ジャーナル)/分野の網羅性、実在著者による attest、constructive-review の証拠を意味せず、必要な独立した人間による評価も未完了です。その他、`data_access_level` の整合、markdown lint 文法の統合、guard launcher の degradation 登録、非推奨・非保証のコミュニティ統合としての OrcaRouter 掲載を含みます。スイート/pipeline → v3.21.1;deep-research → v2.12.1;academic-paper → v3.3.1;academic-paper-reviewer → v1.11.1。
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
# Claude Code를 위한 Academic Research Skills
|
||||
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.1)
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.2)
|
||||
[](https://doi.org/10.5281/zenodo.20696614)
|
||||
[](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
[](https://buymeacoffee.com/crucify020v)
|
||||
@@ -259,7 +259,7 @@ You: "status"
|
||||
|
||||
기준별 증거에 연결된 **서술형 판단**을 수행하는 7개 에이전트 다관점 심사. 모드: full, re-review, quick, methodology-focus, guided, calibration. 현재 live review와 Schema 6 package는 항상 `NOT_CALIBRATED`이며, full calibration은 제한된 candidate profile만 만들고 live review 적용은 아직 연결되지 않았습니다. 고정 총점을 Accept / Minor Revision / Major Revision / Reject에 매핑하지 않습니다. 1차 심사 패널 대 계약 기반 re-review 디스패치 경계: ARCHITECTURE.md §3 Stage 3 / Stage 3' 참조.
|
||||
|
||||
### Academic Pipeline (v3.21.1)
|
||||
### Academic Pipeline (v3.21.2)
|
||||
|
||||
무결성 검증, 2단계 심사, 소크라테스식 코칭, 협업 평가를 갖춘 10단계 오케스트레이터. 파이프라인 보장: 모든 단계는 사용자 확인 체크포인트를 요구하며, 무결성 검증(Stage 2.5 + 4.5)은 MANDATORY이며 기록 없는 우회 경로가 없고(모든 오버라이드는 Stage 6를 위해 사용자 사유 기록을 요구), R&R Traceability Matrix(Schema 11)는 저자의 수정 주장을 독립적으로 검증합니다. v3.4는 Stage 2.5 / 4.5에 Compliance Agent(PRISMA-trAIce + RAISE)를 추가했습니다. v3.5는 모든 FULL/SLIM 체크포인트와 파이프라인 완료 시점에 **Collaboration Depth Observer**(`collaboration_depth_agent`, 자문 전용 — 절대 차단하지 않음)를 추가합니다. 필수(MANDATORY) 무결성 게이트(2.5 / 4.5)는 컴플라이언스 점검이 희석되지 않도록 observer를 명시적으로 건너뜁니다. Wang & Zhang (2026), IJETHE 23:11에 기반합니다. 에이전트·산출물·게이트를 포함한 단계별 매트릭스: ARCHITECTURE.md §3 참조.
|
||||
|
||||
@@ -348,6 +348,10 @@ https://github.com/Imbad0202/academic-research-skills
|
||||
|
||||
## 변경 이력
|
||||
|
||||
### v3.21.2 (2026-09-06) — 모델 현황 정렬(Fable 5.1 / GPT-6 Astra), 체크포인트 결정 출처, CJK 제목 매칭 수정
|
||||
|
||||
> **새 기능이 아니라 현황 정렬과 출처 명시:** v3.21.2는 2026년 9월에 나온 두 벤더 system card에 스위트를 정렬합니다. `gpt-6-astra`는 두 전송 경로 모두에서 provisional로 교차 모델 표에 들어가며, 세대 현황 정책에 따라 권장 OpenAI 검증 모델이 됩니다. `gpt-5.6-sol`은 ChatGPT 구독 인용 전송 경로에서의 validated 상태를 유지하며, 새로운 bakeoff 결과는 주장하지 않습니다. 격리된 Codex 전송 경로의 reasoning-effort 집합에 `ultra`가 추가됩니다. 두 가지 가드레일을 추가하되 둘 다 프롬프트 수준이며 ARS 측정이 아닌 벤더 문서에 근거합니다. 체크포인트 결정 출처(사용자 턴만 결정으로 간주하고, 결정은 서브에이전트에 그대로 재전달. 위험 R11), 그리고 제공자 측 모니터링이나 안전 개입을 전송 실패로 다루고 결코 판정으로 보지 않는 규정입니다. 두 카드에 대한 harness-retirement 감사는 아무것도 폐기하지 않았습니다(프롬프트 문구 폐기 0건. keep-as-debt 8건에 카드 인용 추가). 수정: CJK 제목이 네 인덱스 리졸버의 정확 제목 게이트에서 더 이상 실패하지 않으며(#798), 바깥 괄호는 하나의 균형 잡힌 단위를 이룰 때만 제거합니다(#800). autolink 왕복 테스트가 의존성을 선언하고(#801), `check_surface_form_parity`는 매니페스트 대신 깨진 환경을 지목하며, skill 목록 일치 lint를 추가하고(#809), R10 잔여 격차를 최신화하고(#813), MLA 규칙 한 줄을 바로잡았습니다(#805). 스위트/pipeline → v3.21.2; deep-research → v2.12.1; academic-paper → v3.3.1; academic-paper-reviewer → v1.11.1.
|
||||
|
||||
### v3.21.1 (2026-08-24) — 범위가 제한된 워크플로 기반, 봉인된 bakeoff, 전송 강화
|
||||
|
||||
> **명시된 항목만 측정되었으며 나머지는 범위가 제한됨:** v3.21.1은 codex-cli 0.147.0용으로 격리된 ChatGPT 구독 인용 transport를 복구하고 첫 Promotion Bakeoff를 기록합니다. `gpt-5.6-sol`은 이 구독 transport에서만 validated이며 first-party API 경로에서는 여전히 provisional입니다. 향후 bakeoff에는 봉인된 사전등록이 필요합니다. 또한 default-off 연구 워크플로 profile 기반(오프라인 결정론적 conformance만 제공하며 pipeline hook과 연구 계열별 출시 profile은 없음), opt-in inquiry-ledger alpha(`ARS_INQUIRY_LEDGER=1`), 아직 구현되지 않은 design-only alternative register를 추가합니다. 이들의 행동 증거는 `NOT_RUN`이며 사용성, 복구, novelty, 정확성 또는 연구 성과 개선을 주장하지 않습니다. 리뷰 기준 registry에는 출처에 근거한 예시용 MSR 2027 exact-profile proving set 하나가 추가되지만, 투고 대상(학술지·학회) 및 학문 분야 범위, 실제 저자 attest 또는 constructive-review 증거를 뜻하지 않으며 필요한 독립적 인간 평가도 아직 완료되지 않았습니다. 그 밖에 `data_access_level` 정렬, markdown lint 문법 통합, guard launcher degradation 등록, 비보증·비추천 커뮤니티 통합으로 OrcaRouter 등재가 포함됩니다. 스위트/pipeline → v3.21.1;deep-research → v2.12.1;academic-paper → v3.3.1;academic-paper-reviewer → v1.11.1.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Academic Research Skills for Claude Code
|
||||
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.1)
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.2)
|
||||
[](https://doi.org/10.5281/zenodo.20696614)
|
||||
[](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
[](https://buymeacoffee.com/crucify020v)
|
||||
@@ -269,7 +269,7 @@ Per-agent responsibilities and per-stage artifacts now live in [`docs/ARCHITECTU
|
||||
|
||||
7-agent multi-perspective review with **criterion-bound narrative judgements**. Modes: full, re-review, quick, methodology-focus, guided, calibration. Current live reviews and Schema 6 packages remain `NOT_CALIBRATED`; full calibration can produce a bounded candidate profile, but application to a live review is not wired. No numerical total is mapped to Accept, Minor Revision, Major Revision, or Reject. First-round review panel vs. contract-governed re-review dispatch boundary: see ARCHITECTURE.md §3 Stage 3 / Stage 3'.
|
||||
|
||||
### Academic Pipeline (v3.21.1)
|
||||
### Academic Pipeline (v3.21.2)
|
||||
|
||||
10-stage orchestrator with integrity verification, two-stage review, Socratic coaching, and collaboration evaluation. Pipeline guarantees: every stage requires user confirmation checkpoint; integrity verification (Stage 2.5 + 4.5) is MANDATORY with no unrecorded bypass (every override requires user reasoning recorded for Stage 6); R&R Traceability Matrix (Schema 11) independently verifies author revision claims. v3.4 added the Compliance Agent (PRISMA-trAIce + RAISE) at Stage 2.5 / 4.5. v3.5 adds the **Collaboration Depth Observer** (`collaboration_depth_agent`, advisory only — never blocks) at every FULL/SLIM checkpoint and at pipeline completion. MANDATORY integrity gates (2.5 / 4.5) explicitly skip the observer so compliance checks are not diluted. Based on Wang & Zhang (2026), IJETHE 23:11. Stage-by-stage matrix with agents, artifacts, and gates: see ARCHITECTURE.md §3.
|
||||
|
||||
@@ -358,6 +358,10 @@ https://github.com/Imbad0202/academic-research-skills
|
||||
|
||||
## Changelog
|
||||
|
||||
### v3.21.2 (2026-09-06) — Model currency for Claude Fable 5.1 and GPT-6 Astra, checkpoint decision provenance, and CJK title-matching repairs
|
||||
|
||||
> **Currency and provenance, not new capability:** v3.21.2 aligns the suite to the two September 2026 vendor system cards. `gpt-6-astra` enters the cross-model table as provisional on both transports and becomes the recommended OpenAI verifier under the generation-currency policy; `gpt-5.6-sol` keeps its validated status on the ChatGPT-subscription citation transport, and no new bakeoff result is claimed. The contained Codex transport's reasoning-effort set gains `ultra`. Two guardrails are added, both prompt-level and vendor-motivated rather than ARS-measured: checkpoint decision provenance (only a user turn is a decision; decisions are re-transmitted to subagents verbatim; risk R11) and provider-side monitoring or safety interventions named as a transport failure that is never a verdict. A harness-retirement audit against both cards retires nothing (0 prompt-text retirements; 8 keep-as-debt items now carry a card citation). Fixes: CJK titles no longer fail the exact-title gate in the four index resolvers (#798) and wrapper marks are stripped only as one balanced unit (#800); the autolink round-trip test declares its dependency (#801); `check_surface_form_parity` names a broken environment instead of the manifest; a skill-inventory parity lint (#809); the R10 residual gap de-staled (#813); an MLA key-rules line corrected (#805). Suite/pipeline → v3.21.2; deep-research → v2.12.1; academic-paper → v3.3.1; academic-paper-reviewer → v1.11.1.
|
||||
|
||||
### v3.21.1 (2026-08-24) — Bounded workflow substrates, sealed bakeoffs, and transport hardening
|
||||
|
||||
> **Measured where stated; otherwise bounded:** v3.21.1 repairs the contained ChatGPT-subscription citation transport for codex-cli 0.147.0 and records the first Promotion Bakeoff: `gpt-5.6-sol` is validated only for that subscription transport, while it remains provisional on the first-party API route. Future bakeoffs now require sealed preregistration. The release also adds a default-off research-workflow profile substrate (offline deterministic conformance only; no pipeline hook or family-specific shipped profile), an opt-in inquiry-ledger alpha (`ARS_INQUIRY_LEDGER=1`), and a design-only alternative register that is not implemented. Their behavioral evidence remains `NOT_RUN`; no usability, recovery, novelty, correctness, or research-outcome benefit is claimed. The review-criteria registry gains one source-backed illustrative MSR 2027 exact-profile proving set—not venue/discipline coverage, a real-author attestation, or constructive-review evidence—and its required independent-human evaluation remains open. Additional changes align `data_access_level`, consolidate markdown lint grammar, register guard-launcher degradations, and list OrcaRouter as a community integration without endorsement. Suite/pipeline → v3.21.1; deep-research → v2.12.1; academic-paper → v3.3.1; academic-paper-reviewer → v1.11.1.
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
# Academic Research Skills for Claude Code
|
||||
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.1)
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.2)
|
||||
[](https://doi.org/10.5281/zenodo.20696614)
|
||||
[](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
[](https://buymeacoffee.com/crucify020v)
|
||||
@@ -252,7 +252,7 @@ ARS Stage 2 写作 → 用验证过的实验结果撰写论文
|
||||
|
||||
7 个 Agent 的多视角审查,采用 **逐准则、证据锚定的叙事判断**。模式:full、re-review、quick、methodology-focus、guided、calibration。目前 live review 与 Schema 6 package 一律为 `NOT_CALIBRATED`;完整 calibration 可产生有界候选 profile,但尚未接入 live review。不得以固定总分映射接受、小修、大修或退稿。第一轮审查面板 vs. 契约治理再审调度的分界:见 ARCHITECTURE.md §3 Stage 3 / Stage 3'。
|
||||
|
||||
### Academic Pipeline (v3.21.1)
|
||||
### Academic Pipeline (v3.21.2)
|
||||
|
||||
10 阶段调度器,含学术诚信验证、两阶段审查、苏格拉底指导、协作质量评估。Pipeline 保证:每个阶段都需用户确认 checkpoint;学术诚信验证(Stage 2.5 + 4.5)为 MANDATORY 且没有不留记录的绕过路径(所有覆写都须记录用户理由、供 Stage 6 使用);R&R 追溯矩阵(Schema 11)独立验证作者修订主张。v3.4 添加 Compliance Agent(PRISMA-trAIce + RAISE)于 Stage 2.5 / 4.5。v3.5 添加 **协作深度观察员**(`collaboration_depth_agent`,仅咨询性质、永不阻挡流程)于每一次 FULL/SLIM checkpoint 与 pipeline 完成时。MANDATORY 学术诚信闸门(2.5 / 4.5)明确跳过观察员,避免稀释合规检查。理论基础:Wang & Zhang (2026), IJETHE 23:11。逐阶段矩阵(agent、产出物、闸门):见 ARCHITECTURE.md §3。
|
||||
|
||||
@@ -318,6 +318,10 @@ https://github.com/Imbad0202/academic-research-skills
|
||||
|
||||
## 更新纪录
|
||||
|
||||
### v3.21.2(2026-09-06)— 模型现况对齐(Fable 5.1 / GPT-6 Astra)、检查点决策来源与 CJK 标题匹配修复
|
||||
|
||||
> **对齐现况与决策来源,不是新能力:**v3.21.2 依据两份 2026 年 9 月的厂商 system card 对齐套件。`gpt-6-astra` 以 provisional 身份进入跨模型表(两条传输均如此),并依世代现况政策成为推荐的 OpenAI 验证模型;`gpt-5.6-sol` 保留其在 ChatGPT 订阅引用传输上的 validated 身份,本版不声称任何新的 bakeoff 结果。受限的 Codex 传输 reasoning-effort 集合新增 `ultra`。新增两道 guardrail,均为 prompt 层、由厂商文档而非 ARS 测量驱动:检查点决策来源(只有用户回合算决策;决策逐字转交子代理;风险 R11),以及供应商端监控或安全介入一律视为传输失败、永远不是判定。针对两份卡片的 harness 淘汰审计没有淘汰任何东西(0 条 prompt 文字淘汰;8 条 keep-as-debt 项目补上卡片引注)。修复:CJK 标题不再在四个索引解析器的精确标题门失败(#798),外层引号只在构成单一平衡单位时才剥除(#800);autolink round-trip 测试明示其依赖(#801);`check_surface_form_parity` 改为指名坏掉的环境而非 manifest;新增 skill 清单一致性 lint(#809);R10 残余缺口去过时化(#813);修正一行 MLA 规则(#805)。套件/pipeline → v3.21.2;deep-research → v2.12.1;academic-paper → v3.3.1;academic-paper-reviewer → v1.11.1。
|
||||
|
||||
### v3.21.1(2026-08-24)— 有界工作流基础、封存式 bakeoff 与传输强化
|
||||
|
||||
> **有明确测量才视为已测量,其余保持有界:**v3.21.1 修复 codex-cli 0.147.0 下受限的 ChatGPT 订阅引用传输,并记录首次 Promotion Bakeoff:`gpt-5.6-sol` 仅在该订阅传输上取得 validated,first-party API 路径仍为 provisional;今后的 bakeoff 则必须采用封存式预注册。本版还新增 default-off 的研究工作流 profile 基础(只有离线、确定性的 conformance;没有 pipeline hook,也未提供特定研究家族的成品 profile)、opt-in 的 inquiry-ledger alpha(`ARS_INQUIRY_LEDGER=1`),以及尚未实现、仅冻结设计的 alternative register。其行为证据保持 `NOT_RUN`,不声明可用性、恢复、创新性、正确性或研究结果收益。评审标准 registry 新增一组有来源支持、仅用于示范的 MSR 2027 exact-profile proving set;这不代表投稿期刊/会议与学科覆盖、真实作者 attest,也不是 constructive-review 证据,所需的独立人类评估仍未完成。其他变更包括对齐 `data_access_level`、合并 markdown lint 语法、登记 guard launcher 的降级路径,以及在不背书的前提下将 OrcaRouter 列为社区集成。套件/pipeline → v3.21.1;deep-research → v2.12.1;academic-paper → v3.3.1;academic-paper-reviewer → v1.11.1。
|
||||
|
||||
+6
-2
@@ -1,6 +1,6 @@
|
||||
# Academic Research Skills for Claude Code
|
||||
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.1)
|
||||
[](https://github.com/Imbad0202/academic-research-skills/releases/tag/v3.21.2)
|
||||
[](https://doi.org/10.5281/zenodo.20696614)
|
||||
[](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
[](https://buymeacoffee.com/crucify020v)
|
||||
@@ -254,7 +254,7 @@ ARS Stage 2 寫作 → 用驗證過的實驗結果撰寫論文
|
||||
|
||||
7 個 Agent 的多視角審查,採 **逐準則、證據錨定的敘事判斷**。模式:full、re-review、quick、methodology-focus、guided、calibration。目前 live review 與 Schema 6 package 一律為 `NOT_CALIBRATED`;完整 calibration 可產生有界候選 profile,但尚未接上 live review。不得以固定總分對照接受、小修、大修或退稿。第一輪審查面板 vs. 契約治理再審派送的分界:見 ARCHITECTURE.md §3 Stage 3 / Stage 3'。
|
||||
|
||||
### Academic Pipeline (v3.21.1)
|
||||
### Academic Pipeline (v3.21.2)
|
||||
|
||||
10 階段調度器,含誠信驗證、兩階段審查、蘇格拉底指導、協作品質評估。Pipeline 保證:每個階段都需使用者確認 checkpoint;誠信驗證(Stage 2.5 + 4.5)為 MANDATORY 且沒有不留紀錄的繞過路徑(所有覆寫都須記錄使用者理由、供 Stage 6 使用);R&R 追溯矩陣(Schema 11)獨立驗證作者修訂宣稱。v3.4 新增 Compliance Agent(PRISMA-trAIce + RAISE)於 Stage 2.5 / 4.5。v3.5 新增 **協作深度觀察員**(`collaboration_depth_agent`,僅諮詢性質、永不阻擋流程)於每一次 FULL/SLIM checkpoint 與 pipeline 完成時。MANDATORY 誠信閘門(2.5 / 4.5)明確跳過觀察員,避免稀釋合規檢查。理論基礎:Wang & Zhang (2026), IJETHE 23:11。逐階段矩陣(agent、產出物、閘門):見 ARCHITECTURE.md §3。
|
||||
|
||||
@@ -320,6 +320,10 @@ https://github.com/Imbad0202/academic-research-skills
|
||||
|
||||
## 更新紀錄
|
||||
|
||||
### v3.21.2(2026-09-06)— 模型現況對齊(Fable 5.1 / GPT-6 Astra)、檢查點決策來源與 CJK 標題比對修復
|
||||
|
||||
> **對齊現況與決策來源,不是新能力:**v3.21.2 依兩份 2026 年 9 月的廠商 system card 對齊套件。`gpt-6-astra` 以 provisional 身分進入跨模型表(兩條傳輸皆然),並依世代現況政策成為建議的 OpenAI 驗證模型;`gpt-5.6-sol` 保留其在 ChatGPT 訂閱引用傳輸上的 validated 身分,本版不宣稱任何新的 bakeoff 結果。受限的 Codex 傳輸 reasoning-effort 集合新增 `ultra`。新增兩道 guardrail,皆為 prompt 層、由廠商文件而非 ARS 量測所驅動:檢查點決策來源(只有使用者回合算決策;決策逐字轉交子代理;風險 R11),以及供應商端監控或安全介入一律視為傳輸失敗、永遠不是判定。針對兩份卡片的 harness 汰除審計沒有汰除任何東西(0 條 prompt 文字汰除;8 條 keep-as-debt 項目補上卡片引註)。修復:CJK 標題不再在四個索引解析器的精確標題閘失敗(#798),外層引號只在構成單一平衡單位時才剝除(#800);autolink round-trip 測試明示其相依套件(#801);`check_surface_form_parity` 改為指名壞掉的環境而非 manifest;新增 skill 清單一致性 lint(#809);R10 殘餘缺口去過時化(#813);修正一行 MLA 規則(#805)。套件/pipeline → v3.21.2;deep-research → v2.12.1;academic-paper → v3.3.1;academic-paper-reviewer → v1.11.1。
|
||||
|
||||
### v3.21.1(2026-08-24)— 有界工作流程基礎、封存式 bakeoff 與傳輸強化
|
||||
|
||||
> **有明示量測才視為量測,其餘維持有界:**v3.21.1 修復 codex-cli 0.147.0 下受限的 ChatGPT 訂閱引用傳輸,並記錄第一次 Promotion Bakeoff:`gpt-5.6-sol` 僅在該訂閱傳輸上取得 validated,first-party API 路徑仍為 provisional;往後的 bakeoff 則必須採用封存式預註冊。本版也新增 default-off 的研究工作流程 profile 基礎(只有離線、確定性的 conformance;沒有 pipeline hook,也未提供特定研究家族的成品 profile)、opt-in 的 inquiry-ledger alpha(`ARS_INQUIRY_LEDGER=1`),以及尚未實作、僅凍結設計的 alternative register。其行為證據維持 `NOT_RUN`,不宣稱可用性、復原、創新性、正確性或研究成果效益。審查準則 registry 新增一組有來源支持、僅供示範的 MSR 2027 exact-profile proving set;這不代表投稿期刊/會議與學科覆蓋、真實作者 attest,亦非 constructive-review 證據,所需的獨立人類評估仍未完成。其他變更包含對齊 `data_access_level`、整併 markdown lint 文法、登錄 guard launcher 的降級路徑,以及在不背書的前提下把 OrcaRouter 列為社群整合。套件/pipeline → v3.21.1;deep-research → v2.12.1;academic-paper → v3.3.1;academic-paper-reviewer → v1.11.1。
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
name: academic-pipeline
|
||||
description: "Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory, coverage-bounded integrity checks, two-stage peer review, and auditable quality-assurance artifacts. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end paper, research-to-publication, complete paper workflow, 연구부터 논문까지, 연구 주제 설정부터 논문 완성까지, 논문 전체 워크플로."
|
||||
metadata:
|
||||
version: "3.21.1"
|
||||
last_updated: "2026-08-24"
|
||||
version: "3.21.2"
|
||||
last_updated: "2026-09-06"
|
||||
depends_on: "deep-research, academic-paper, academic-paper-reviewer"
|
||||
status: active
|
||||
data_access_level: raw
|
||||
@@ -14,7 +14,7 @@ metadata:
|
||||
- academic-paper-reviewer
|
||||
---
|
||||
|
||||
# Academic Pipeline v3.21.1 — Full Academic Research Workflow Orchestrator
|
||||
# Academic Pipeline v3.21.2 — Full Academic Research Workflow Orchestrator
|
||||
|
||||
A lightweight orchestrator that manages the complete academic pipeline from research exploration to final manuscript. It does not perform substantive work — it only detects stages, recommends modes, dispatches skills, manages transitions, and tracks state.
|
||||
|
||||
@@ -723,8 +723,8 @@ When `ARS_MODEL_TIERING` is set, the dispatching session routes this skill's age
|
||||
|
||||
| Item | Content |
|
||||
|------|---------|
|
||||
| Skill Version | 3.21.1 |
|
||||
| Last Updated | 2026-08-24 |
|
||||
| Skill Version | 3.21.2 |
|
||||
| Last Updated | 2026-09-06 |
|
||||
| Maintainer | Cheng-I Wu |
|
||||
| Dependent Skills | deep-research v2.0+, academic-paper v2.0+, academic-paper-reviewer v1.1+ |
|
||||
| Role | Full academic research workflow orchestrator |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ARS Pipeline Architecture (v3.21.1)
|
||||
# ARS Pipeline Architecture (v3.21.2)
|
||||
|
||||
Full pipeline view across stages × skills × artifacts × gates. Every completed stage requires a user-confirmation checkpoint (per `academic-pipeline/SKILL.md` and `pipeline_state_machine.md`); the diagrams below surface the **decision-heavy** checkpoints visually so they are easy to locate. The post-stage confirmation checkpoints at 2.5 and 4.5 are machine-verified first, then confirmed by the user — they are not skipped.
|
||||
|
||||
@@ -99,17 +99,17 @@ flowchart TD
|
||||
|---|---|---|---|---|---|
|
||||
| **1. RESEARCH** | `deep-research` v2.12.1 (full / socratic / lit-review / three-way-scan / systematic-review / fact-check / review / quick) | RAW | RQ Brief; Methodology Blueprint; Annotated Bibliography (S2-verified); Synthesis Report; INSIGHT Collection. **Search Strategy report includes PRE-SCREENED block (v3.6.5)** when Material Passport carries `literature_corpus[]` | research_question_agent; research_architect_agent; **📚 bibliography_agent (v3.6.5+ corpus reader — corpus-first / search-fills-gap flow)**; source_verification_agent; synthesis_agent; meta_analysis_agent; editor_in_chief_agent; devils_advocate_agent; risk_of_bias_agent; ethics_review_agent; **🟦 socratic_mentor_agent (v3.5.1 reading-check probe layer, opt-in)**; report_compiler_agent; monitoring_agent (13 agents); **👁 collaboration_depth_agent (v3.5.0, advisory)** | 🧑 **Decision-heavy checkpoint:** user confirms RQ brief + methodology. Machine checks: S2 API Tier-0 verification (Levenshtein ≥ 0.70); evidence hierarchy graded; anti-sycophancy on DA (score 1-5, concede only ≥ 4); **corpus-first flow with 4 Iron Rules + F3/F4 provenance reporting (v3.6.5)** when corpus present. 👁 Observer runs post-checkpoint; never blocks |
|
||||
| **2. WRITE** | `academic-paper` v3.3.1 (full / plan / outline-only / lit-review / revision-coach / abstract-only / citation-check / disclosure / format-convert / revision) | REDACTED | Paper Configuration Record; Outline; Argument Map; Draft Text; Bilingual Abstract; Figures + Captions; Citation List. **Literature Search Report includes PRE-SCREENED block (v3.6.5)** when Material Passport carries `literature_corpus[]`; merged `final_included` set feeds the Literature Matrix and Research Gap Identification | 12-agent pipeline: intake_agent; **📚 literature_strategist_agent (v3.6.5+ corpus reader — corpus-first / search-fills-gap flow)**; structure_architect_agent; argument_builder_agent; draft_writer_agent; citation_compliance_agent; abstract_bilingual_agent; peer_reviewer_agent; formatter_agent; socratic_mentor_agent; visualization_agent; revision_coach_agent; **👁 collaboration_depth_agent (v3.5.0, advisory)** | 🧑 **Decision-heavy checkpoint:** outline approved before drafting. Machine checks: anti-leakage protocol (unsupported fill → `[MATERIAL GAP]`); VLM figure verification (10-pt APA checklist, max 2 refinements); style calibration vs user voice; Stage 2 parallelization (Phase 1 + visualization after outline); **corpus-first flow with 4 Iron Rules + F3/F4 provenance reporting (v3.6.5)** when corpus present. 👁 Observer runs post-checkpoint; never blocks |
|
||||
| **2.5 INTEGRITY** | `academic-pipeline` v3.21.1 (gate) | VERIFIED_ONLY | Material Passport (Schema 9, required) + `repro_lock` (v3.3.5, declared — populated or `null`); Claim Verification Report (pre-review sampling: #549 risk-stratified — 100% HIGH-IMPACT + 10% random sentinel, min(10, total) — per `claim_verification_protocol.md`); Data Provenance Audit | integrity_verification_agent; state_tracker_agent; pipeline_orchestrator_agent. **👁 collaboration_depth_agent: SKIPPED (MANDATORY gate — observer dilution explicitly prevented)** | ✓ **Integrity gate** + user ack. 7-mode AI failure checklist (Lu 2026, canonical order per `ai_research_failure_modes.md`): **M1** implementation bug passing AI self-review; **M2** hallucinated citation; **M3** hallucinated experimental result; **M4** shortcut reliance; **M5** implementation bug reframed as novel insight; **M6** methodology fabrication; **M7** frame-lock at early pipeline stage. Pre-review claim sampling mode. FAIL → fix + re-verify (max 3 rounds) |
|
||||
| **2.5 INTEGRITY** | `academic-pipeline` v3.21.2 (gate) | VERIFIED_ONLY | Material Passport (Schema 9, required) + `repro_lock` (v3.3.5, declared — populated or `null`); Claim Verification Report (pre-review sampling: #549 risk-stratified — 100% HIGH-IMPACT + 10% random sentinel, min(10, total) — per `claim_verification_protocol.md`); Data Provenance Audit | integrity_verification_agent; state_tracker_agent; pipeline_orchestrator_agent. **👁 collaboration_depth_agent: SKIPPED (MANDATORY gate — observer dilution explicitly prevented)** | ✓ **Integrity gate** + user ack. 7-mode AI failure checklist (Lu 2026, canonical order per `ai_research_failure_modes.md`): **M1** implementation bug passing AI self-review; **M2** hallucinated citation; **M3** hallucinated experimental result; **M4** shortcut reliance; **M5** implementation bug reframed as novel insight; **M6** methodology fabrication; **M7** frame-lock at early pipeline stage. Pre-review claim sampling mode. FAIL → fix + re-verify (max 3 rounds) |
|
||||
| **3. REVIEW** | `academic-paper-reviewer` v1.11.1 (full / guided / quick / methodology-focus / calibration) | VERIFIED_ONLY | **First-round review package** (per `academic-paper-reviewer/SKILL.md`): 5 review reports (Journal-Fit Reviewer + R1 methodology + R2 domain + R3 interdisciplinary + Devil's Advocate) + Editorial Decision (Accept / Minor / Major / Reject) + Revision Roadmap. **Schema 13.2 Sprint Contract (`shared/sprint_contract.schema.json`) is required** for `full` and `methodology-focus` modes (other modes reserved with pre-v3.6.2 behaviour). | field_analyst_agent (auto-detects domain, configures 3 field-adaptive reviewers); eic_agent; methodology_reviewer_agent; domain_reviewer_agent; perspective_reviewer_agent; devils_advocate_reviewer_agent; **🔒 editorial_synthesizer_agent (role-scoped three-step mechanical protocol + forbidden-ops list)** (7 agents); **👁 collaboration_depth_agent (v3.5.0, advisory)** | 🧑 **Decision-heavy checkpoint:** user reviews editorial decision. Machine checks: concession threshold protocol (DA rebuttal scored 1-5, no concede below 4); attack intensity preserved through revisions; cross-model DA critique (optional, `ARS_CROSS_MODEL` env); read-only constraint (no new claims). **Sprint Contract two-phase protocol**: each reviewer runs paper-content-blind Phase 1 (eligible-dimension trigger commitments) then paper-visible Phase 2 via `<phase1_output>`; `check_phase_conformance.py` validates the boundary and the synthesizer applies two-stage eligible-seat arithmetic. 👁 Observer runs post-checkpoint; never blocks |
|
||||
| **3 → 4 Revision Coaching** | `academic-paper-reviewer` (Journal-Fit Reviewer Socratic sub-stage) | VERIFIED_ONLY | Revision strategy dialogue (not an artifact handed forward; feeds Stage 4 revision plan) | eic_agent | 🧑 **Decision-heavy checkpoint:** Socratic dialogue with the Journal-Fit Reviewer (max 8 rounds). User may say "just fix it for me" to skip. Source: `two_stage_review_protocol.md` |
|
||||
| **4. REVISE** | `academic-paper` v3.3.1 (revision / revision-coach) | REDACTED | Point-by-Point Response; Revised Draft; Delta Report (what changed + why) | revision_coach_agent (v3.3 Socratic mode); draft_writer_agent (re-entry); argument_builder_agent (if structural); **👁 collaboration_depth_agent (v3.5.0, advisory)** | 🧑 **Decision-heavy checkpoint:** user confirms changes. The orchestrator performs a narrative, evidence-anchored comparison per named criterion; unresolved decision-bearing regressions trigger review and changed criteria become `NOT_COMPARABLE`. No numerical delta or typed machine trajectory is currently emitted. 👁 Observer runs post-checkpoint; never blocks |
|
||||
| **3'. RE-REVIEW** | `academic-paper-reviewer` v1.11.1 (re-review — the default; a user-requested fresh full review at 3' dispatches full mode instead) | VERIFIED_ONLY | **Verification package** (re-review mode, per the spec in `academic-paper-reviewer/SKILL.md`): Revision response checklist + residual issues list + new Decision (Accept / Minor / Major) + **R&R Traceability Matrix (Schema 11)** with Author's Claim + Verified? columns. Fresh full review at 3' emits the normal full-review package instead (no R&R matrix) | **Contract-governed re-review dispatch**: orchestrating layer + three sequential fenced calls (Phase 1/2A use frozen-card routed personas; Phase 2B is one dedicated integration call; neither loads the first-round `eic_agent` / `editorial_synthesizer_agent` files), followed by the mandatory synthesis checker. Round-1 cards are reused and field_analyst_agent is NOT re-run except the protocol's visible regeneration fallback; a user-requested fresh full review at 3' runs full mode instead. **👁 collaboration_depth_agent (v3.5.0, advisory)** | 🧑 **Decision-heavy checkpoint:** user reviews verification decision. Hard cap: **max 1 RE-REVISE round; 2 revision loops total** across Stages 4 + 4'. Major outcome at 3' → Residual Coaching → Stage 4'. 👁 Observer runs post-checkpoint; never blocks |
|
||||
| **3' → 4' Residual Coaching** | `academic-paper-reviewer` (Journal-Fit Reviewer Socratic sub-stage) | VERIFIED_ONLY | Residual-issue dialogue | eic_agent | 🧑 **Decision-heavy checkpoint:** Socratic dialogue on trade-offs for residual issues (max 5 rounds). User may skip. Source: `two_stage_review_protocol.md` |
|
||||
| **4'. RE-REVISE** | `academic-paper` v3.3.1 (revision) | REDACTED | Final Revised Draft (terminal; advances to 4.5) | draft_writer_agent; revision_coach_agent; **👁 collaboration_depth_agent (v3.5.0, advisory)** | 🧑 **Decision-heavy checkpoint:** user confirms content frozen. No further review loop permitted. 👁 Observer runs post-checkpoint; never blocks |
|
||||
| **4.5 FINAL INTEGRITY** | `academic-pipeline` v3.21.1 (gate) | VERIFIED_ONLY | Updated Material Passport (`verification_status: VERIFIED`) + `repro_lock` declared — populated or explicit `null` (honest opt-out); Claim Verification Report (**final-check mode: 100% of E1 registered claims; semantic extraction completeness unknown** per `claim_verification_protocol.md`) | integrity_verification_agent (deeper re-run of 7 modes); state_tracker_agent. **👁 collaboration_depth_agent: SKIPPED (MANDATORY gate — observer dilution explicitly prevented)** | ✓ **Integrity gate** + user ack. Zero named gate defects within the registered/sampled populations; no skip permitted. Any mode SUSPECTED at 2.5 must be CLEAR or user-Overridden by 4.5. `repro_lock` is **not** read by the integrity gate at runtime (per `artifact_reproducibility_pattern.md`); if populated, `stochasticity_declaration` must be verbatim and is validated by the standalone `check_repro_lock.py` — this is post-hoc documentation, not a runtime block or global correctness certificate |
|
||||
| **4→5 CLAIM-AUDIT** (v3.8, opt-in via `ARS_CLAIM_AUDIT=1`) | `academic-pipeline` v3.21.1 (gate) | VERIFIED_ONLY | `claim_audit_results[]` + `claim_drifts[]` + `uncited_assertions[]` + `constraint_violations[]` + `audit_sampling_summaries[]` aggregates; reads `claim_intent_manifests[]` (writer-side pre-commitment baseline). Emits 5 HIGH-WARN annotation classes consumed by Stage 5 formatter REFUSE rules 6-10 | claim_ref_alignment_audit_agent (Stage 4→5 dispatch slot, after v3.7.1 cite finalizer, before formatter hard gate) | ✓ **Audit gate** (default OFF for v3.8.0). Per-citation LLM-as-judge against retrieved excerpt; 8-row finalizer matrix discriminates paywall (LOW-WARN) / fabricated (HIGH-WARN) / anchorless (HIGH-WARN) / audit_tool_failure (MED-WARN) via `ref_retrieval_method`. Calibration runner (`scripts/test_claim_audit_calibration.py`) gates with FNR<0.15 + FPR<0.10 on the shipped 20-tuple gold set. Spec: `docs/design/2026-05-15-issue-103-claim-alignment-audit-spec.md` |
|
||||
| **4.5 FINAL INTEGRITY** | `academic-pipeline` v3.21.2 (gate) | VERIFIED_ONLY | Updated Material Passport (`verification_status: VERIFIED`) + `repro_lock` declared — populated or explicit `null` (honest opt-out); Claim Verification Report (**final-check mode: 100% of E1 registered claims; semantic extraction completeness unknown** per `claim_verification_protocol.md`) | integrity_verification_agent (deeper re-run of 7 modes); state_tracker_agent. **👁 collaboration_depth_agent: SKIPPED (MANDATORY gate — observer dilution explicitly prevented)** | ✓ **Integrity gate** + user ack. Zero named gate defects within the registered/sampled populations; no skip permitted. Any mode SUSPECTED at 2.5 must be CLEAR or user-Overridden by 4.5. `repro_lock` is **not** read by the integrity gate at runtime (per `artifact_reproducibility_pattern.md`); if populated, `stochasticity_declaration` must be verbatim and is validated by the standalone `check_repro_lock.py` — this is post-hoc documentation, not a runtime block or global correctness certificate |
|
||||
| **4→5 CLAIM-AUDIT** (v3.8, opt-in via `ARS_CLAIM_AUDIT=1`) | `academic-pipeline` v3.21.2 (gate) | VERIFIED_ONLY | `claim_audit_results[]` + `claim_drifts[]` + `uncited_assertions[]` + `constraint_violations[]` + `audit_sampling_summaries[]` aggregates; reads `claim_intent_manifests[]` (writer-side pre-commitment baseline). Emits 5 HIGH-WARN annotation classes consumed by Stage 5 formatter REFUSE rules 6-10 | claim_ref_alignment_audit_agent (Stage 4→5 dispatch slot, after v3.7.1 cite finalizer, before formatter hard gate) | ✓ **Audit gate** (default OFF for v3.8.0). Per-citation LLM-as-judge against retrieved excerpt; 8-row finalizer matrix discriminates paywall (LOW-WARN) / fabricated (HIGH-WARN) / anchorless (HIGH-WARN) / audit_tool_failure (MED-WARN) via `ref_retrieval_method`. Calibration runner (`scripts/test_claim_audit_calibration.py`) gates with FNR<0.15 + FPR<0.10 on the shipped 20-tuple gold set. Spec: `docs/design/2026-05-15-issue-103-claim-alignment-audit-spec.md` |
|
||||
| **5. FINALIZE** | `academic-paper` v3.3.1 (format-convert / disclosure) | VERIFIED_ONLY | Publication-ready MD; DOCX (Pandoc, if available); LaTeX (user confirms); PDF (tectonic); default venue AI applicability/status bundle (`REQUIRED` / `ACTION_ONLY` / `NOT_REQUIRED` / `UNKNOWN` plus typed halt) or policy-anchor-specific render | formatter_agent | 🧑 **Decision-heavy checkpoint:** user selects format before render. The disclosure output must match the selected venue or policy anchor (15-entry venue database: ICLR / NeurIPS / Nature / Science / ACL / EMNLP + medical-publishing targets incl. ICMJE, NEJM, The Lancet, JAMA, BMJ, PLOS, Frontiers, and two Chinese-language policy targets — one publisher-wide and one journal; see `venue_disclosure_policies.md`). **v3.8 terminal hard gate (formatter_agent REFUSE rules 6-10)** refuses output on any unresolved `[HIGH-WARN-CLAIM-NOT-SUPPORTED]` / `[HIGH-WARN-NEGATIVE-CONSTRAINT-VIOLATION]` / `[HIGH-WARN-FABRICATED-REFERENCE]` / `[HIGH-WARN-CLAIM-AUDIT-ANCHORLESS]` / `[HIGH-WARN-CONSTRAINT-VIOLATION-UNCITED]` annotation when `ARS_CLAIM_AUDIT=1` was set upstream. **v3.10 rule 11** refuses on any `severity=HIGH-BLOCK` terminal-policy token (generic; co-emitted by the finalizer under a strict `terminal_policies` mode). **v3.11 rule 12 (#182)** refuses on a `lookup_verified == false` citation-existence row ONLY under `terminal_policies.citation_existence == strict` — default advisory passes (`/ars-mark-read`-ack-able); the narrowed ID-keyed `false` never fires on a title-only-unmatched `unresolvable` citation |
|
||||
| **6. PROCESS SUMMARY** | `academic-pipeline` v3.21.1 | VERIFIED_ONLY | Paper Creation Process Record (MD + PDF); AI Self-Reflection Report (concession rate, sycophancy risk, health alerts, Failure Mode Audit Log); narrative criterion-regression notes when recorded; **Collaboration Depth Chapter (v3.5.0)** summarising the per-checkpoint observer reports from `collaboration_depth_history[]` | state_tracker_agent; pipeline_orchestrator_agent; **👁 collaboration_depth_agent (v3.5.0, pipeline-completion dispatch — final advisory report)** | 🧑 **Decision-heavy checkpoint:** language confirmed with user. Collaboration quality evaluated. No typed criterion-trajectory visualization is claimed until its producer/validator is implemented. Post-publication audit report (if peer-review published). 👁 Observer runs final pipeline-completion dispatch; never blocks |
|
||||
| **6. PROCESS SUMMARY** | `academic-pipeline` v3.21.2 | VERIFIED_ONLY | Paper Creation Process Record (MD + PDF); AI Self-Reflection Report (concession rate, sycophancy risk, health alerts, Failure Mode Audit Log); narrative criterion-regression notes when recorded; **Collaboration Depth Chapter (v3.5.0)** summarising the per-checkpoint observer reports from `collaboration_depth_history[]` | state_tracker_agent; pipeline_orchestrator_agent; **👁 collaboration_depth_agent (v3.5.0, pipeline-completion dispatch — final advisory report)** | 🧑 **Decision-heavy checkpoint:** language confirmed with user. Collaboration quality evaluated. No typed criterion-trajectory visualization is claimed until its producer/validator is implemented. Post-publication audit report (if peer-review published). 👁 Observer runs final pipeline-completion dispatch; never blocks |
|
||||
|
||||
## 4. Data Access Level Flow (v3.3.2+)
|
||||
|
||||
@@ -217,7 +217,7 @@ Authoritative references: [`academic-pipeline/references/literature_corpus_consu
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
Pipeline[academic-pipeline<br/>orchestrator<br/>v3.21.1<br/>Agent Team: 5]
|
||||
Pipeline[academic-pipeline<br/>orchestrator<br/>v3.21.2<br/>Agent Team: 5]
|
||||
Observer[collaboration_depth_agent<br/>observer · advisory only<br/>blocking: false]
|
||||
DR[deep-research<br/>13 agents<br/>v2.12.1<br/>+ corpus reader]
|
||||
AP[academic-paper<br/>12 agents<br/>v3.3.1<br/>+ corpus reader]
|
||||
@@ -440,4 +440,4 @@ timeline
|
||||
| `deep-research` v2.12.1 | full, quick, socratic, review, lit-review, three-way-scan, fact-check, systematic-review (8) |
|
||||
| `academic-paper` v3.3.1 | full, plan, outline-only, revision, revision-coach, abstract-only, lit-review, format-convert, citation-check, disclosure, rebuttal-audit (11) |
|
||||
| `academic-paper-reviewer` v1.11.1 | full, re-review, quick, methodology-focus, guided, calibration (6) |
|
||||
| `academic-pipeline` v3.21.1 | orchestrator (delegates to sub-skill modes) + `resume_from_passport=<hash>` (v3.6.3 — resume a prior pipeline run from a Material Passport reset boundary; no flag required to invoke. The producing session must have set `ARS_PASSPORT_RESET=1` to emit boundary entries.) + `ARS_CLAIM_AUDIT=1` (v3.8 — opt-in Stage 4→5 L3 claim-faithfulness audit gate; default OFF) + v3.9.4 temporal verification advisory layer (M1 timeline_extraction_agent + M2 5-pass verifier at Phase 4→5 + M3 IRON RULE + M6 first-party Crossref/pdftotext) |
|
||||
| `academic-pipeline` v3.21.2 | orchestrator (delegates to sub-skill modes) + `resume_from_passport=<hash>` (v3.6.3 — resume a prior pipeline run from a Material Passport reset boundary; no flag required to invoke. The producing session must have set `ARS_PASSPORT_RESET=1` to emit boundary entries.) + `ARS_CLAIM_AUDIT=1` (v3.8 — opt-in Stage 4→5 L3 claim-faithfulness audit gate; default OFF) + v3.9.4 temporal verification advisory layer (M1 timeline_extraction_agent + M2 5-pass verifier at Phase 4→5 + M3 IRON RULE + M6 first-party Crossref/pdftotext) |
|
||||
|
||||
@@ -70,7 +70,7 @@ REPO_ROOT = Path(__file__).resolve().parent.parent
|
||||
# reviewed against the #528 resolutions.
|
||||
# ---------------------------------------------------------------------------
|
||||
CONTENT_LOCKS = {
|
||||
"academic-pipeline/SKILL.md": "5b9b92ad1df7a3a55c1f67f0d2d554af63e476c5019e0d3497b3f28ebacf9116",
|
||||
"academic-pipeline/SKILL.md": "dcb91d5b73eab40aa6a66f77ab2e130a23061c6bcae049c14dca56300b093589",
|
||||
"academic-pipeline/agents/pipeline_orchestrator_agent.md": "56c4d8eaede4c6228404c13608b3e2113972d97e7884fd5b1a51fb982fd31bf7",
|
||||
"academic-pipeline/agents/state_tracker_agent.md": "2716bab5686a6129777f595ad86bf1e1cc01fa5d8d1ec192fa8880018dfe968a",
|
||||
"academic-pipeline/references/pipeline_state_machine.md": "6ef7703d3b24152812c5767570f36f01578846383cb9fd2d42bc8f79084e57ae",
|
||||
|
||||
@@ -75,7 +75,7 @@ def check_relative_markdown_links(rel_path: str) -> None:
|
||||
def check_mode_registry() -> None:
|
||||
rel_path = "MODE_REGISTRY.md"
|
||||
text = read(rel_path)
|
||||
expect_contains(rel_path, "Last updated: v3.21.1 (2026-08-24)")
|
||||
expect_contains(rel_path, "Last updated: v3.21.2 (2026-09-06)")
|
||||
for heading in (
|
||||
"## deep-research (8 modes)",
|
||||
"## academic-paper (11 modes)",
|
||||
@@ -89,7 +89,7 @@ def check_claude_md() -> None:
|
||||
rel_path = ".claude/CLAUDE.md"
|
||||
expect_contains(rel_path, "integrity check (Stage 2.5)")
|
||||
expect_contains(rel_path, "final integrity check (Stage 4.5)")
|
||||
expect_contains(rel_path, "**Suite version**: 3.21.1")
|
||||
expect_contains(rel_path, "**Suite version**: 3.21.2")
|
||||
for forbidden in (
|
||||
"6th independent reviewer",
|
||||
"Peer review gains 6th independent reviewer",
|
||||
@@ -295,8 +295,8 @@ def check_readme_sections() -> None:
|
||||
rel_path = "README.md"
|
||||
text = read(rel_path)
|
||||
|
||||
expect_contains(rel_path, "version-v3.21.1-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.1")
|
||||
expect_contains(rel_path, "version-v3.21.2-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.2")
|
||||
expect_contains(rel_path, "### v3.12.0 (2026-06-08)")
|
||||
expect_contains(rel_path, "### v3.11.1 (2026-06-06)")
|
||||
expect_contains(rel_path, "### v3.11.0 (2026-06-04)")
|
||||
@@ -329,7 +329,7 @@ def check_readme_sections() -> None:
|
||||
"### Deep Research (v2.12.1)",
|
||||
"### Academic Paper (v3.3.1)",
|
||||
"### Academic Paper Reviewer (v1.11.1)",
|
||||
"### Academic Pipeline (v3.21.1)",
|
||||
"### Academic Pipeline (v3.21.2)",
|
||||
):
|
||||
if heading not in text:
|
||||
fail(f"{rel_path}: missing heading {heading!r}")
|
||||
@@ -378,8 +378,8 @@ def check_readme_ja_sections() -> None:
|
||||
rel_path = "README.ja-JP.md"
|
||||
text = read(rel_path)
|
||||
|
||||
expect_contains(rel_path, "version-v3.21.1-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.1")
|
||||
expect_contains(rel_path, "version-v3.21.2-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.2")
|
||||
expect_contains(rel_path, "### v3.12.0 (2026-06-08)")
|
||||
expect_contains(rel_path, "### v3.11.1 (2026-06-06)")
|
||||
expect_contains(rel_path, "### v3.11.0 (2026-06-04)")
|
||||
@@ -413,7 +413,7 @@ def check_readme_ja_sections() -> None:
|
||||
"### Deep Research(v2.12.1)",
|
||||
"### Academic Paper(v3.3.1)",
|
||||
"### Academic Paper Reviewer(v1.11.1)",
|
||||
"### Academic Pipeline(v3.21.1)",
|
||||
"### Academic Pipeline(v3.21.2)",
|
||||
):
|
||||
if heading not in text:
|
||||
fail(f"{rel_path}: missing heading {heading!r}")
|
||||
@@ -447,8 +447,8 @@ def check_readme_ko_sections() -> None:
|
||||
rel_path = "README.ko-KR.md"
|
||||
text = read(rel_path)
|
||||
|
||||
expect_contains(rel_path, "version-v3.21.1-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.1")
|
||||
expect_contains(rel_path, "version-v3.21.2-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.2")
|
||||
expect_contains(rel_path, "### v3.18.0 (2026-07-18)")
|
||||
expect_contains(rel_path, "### v3.12.0 (2026-06-08)")
|
||||
expect_contains(rel_path, "### v3.11.1 (2026-06-06)")
|
||||
@@ -483,7 +483,7 @@ def check_readme_ko_sections() -> None:
|
||||
"### Deep Research (v2.12.1)",
|
||||
"### Academic Paper (v3.3.1)",
|
||||
"### Academic Paper Reviewer (v1.11.1)",
|
||||
"### Academic Pipeline (v3.21.1)",
|
||||
"### Academic Pipeline (v3.21.2)",
|
||||
):
|
||||
if heading not in text:
|
||||
fail(f"{rel_path}: missing heading {heading!r}")
|
||||
@@ -508,7 +508,7 @@ ZH_README_CONFIGS = (
|
||||
"### Deep Research (v2.12.1)",
|
||||
"### Academic Paper (v3.3.1)",
|
||||
"### Academic Paper Reviewer (v1.11.1)",
|
||||
"### Academic Pipeline (v3.21.1)",
|
||||
"### Academic Pipeline (v3.21.2)",
|
||||
),
|
||||
"paper_start": "#### Academic Paper(學術論文撰寫,11 種模式)",
|
||||
"reviewer_start": "#### Academic Paper Reviewer(論文審查,6 種模式)",
|
||||
@@ -525,7 +525,7 @@ ZH_README_CONFIGS = (
|
||||
"### Deep Research (v2.12.1)",
|
||||
"### Academic Paper (v3.3.1)",
|
||||
"### Academic Paper Reviewer (v1.11.1)",
|
||||
"### Academic Pipeline (v3.21.1)",
|
||||
"### Academic Pipeline (v3.21.2)",
|
||||
),
|
||||
"paper_start": "#### Academic Paper(学术论文撰写,11 种模式)",
|
||||
"reviewer_start": "#### Academic Paper Reviewer(论文审查,6 种模式)",
|
||||
@@ -541,8 +541,8 @@ def check_readme_zh_sections() -> None:
|
||||
rel_path = config["rel_path"]
|
||||
text = read(rel_path)
|
||||
|
||||
expect_contains(rel_path, "version-v3.21.1-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.1")
|
||||
expect_contains(rel_path, "version-v3.21.2-blue")
|
||||
expect_contains(rel_path, "releases/tag/v3.21.2")
|
||||
expect_contains(rel_path, "### v3.12.0(2026-06-08)")
|
||||
expect_contains(rel_path, "### v3.11.1(2026-06-06)")
|
||||
expect_contains(rel_path, "### v3.11.0(2026-06-04)")
|
||||
|
||||
@@ -169,7 +169,7 @@ KO_README_TEMPLATE = """\
|
||||
|
||||
## 변경 이력
|
||||
|
||||
### v3.21.1 (2026-08-24) — current release
|
||||
### v3.21.2 (2026-09-06) — current release
|
||||
### v3.18.0 (2026-07-18) — prior minor
|
||||
### v3.12.0 (2026-06-08) — prior release
|
||||
### v3.11.1 (2026-06-06) — prior patch
|
||||
@@ -358,7 +358,7 @@ class TestReadmeJaSections(unittest.TestCase):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
csc.ROOT = root
|
||||
_write_ja_readme(root, version="3.21.1")
|
||||
_write_ja_readme(root, version="3.21.2")
|
||||
|
||||
csc.check_readme_ja_sections()
|
||||
|
||||
@@ -378,17 +378,17 @@ class TestReadmeJaSections(unittest.TestCase):
|
||||
# Write the "current" v3.9.4.2 release block but downgrade only
|
||||
# the badge and tag link to v3.9.4.0. This is the realistic shape
|
||||
# of drift when one place gets forgotten during a release.
|
||||
stale = JA_README_TEMPLATE.format(ver="3.21.1").replace(
|
||||
"version-v3.21.1-blue", "version-v3.9.4.0-blue"
|
||||
stale = JA_README_TEMPLATE.format(ver="3.21.2").replace(
|
||||
"version-v3.21.2-blue", "version-v3.9.4.0-blue"
|
||||
).replace(
|
||||
"releases/tag/v3.21.1", "releases/tag/v3.9.4.0"
|
||||
"releases/tag/v3.21.2", "releases/tag/v3.9.4.0"
|
||||
)
|
||||
(root / "README.ja-JP.md").write_text(stale, encoding="utf-8")
|
||||
|
||||
csc.check_readme_ja_sections()
|
||||
|
||||
self.assertTrue(
|
||||
any("README.ja-JP.md" in e and "v3.21.1" in e for e in csc.ERRORS),
|
||||
any("README.ja-JP.md" in e and "v3.21.2" in e for e in csc.ERRORS),
|
||||
msg=f"expected ja-JP drift error in: {csc.ERRORS!r}",
|
||||
)
|
||||
|
||||
@@ -412,7 +412,7 @@ class TestReadmeKoSections(unittest.TestCase):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
csc.ROOT = root
|
||||
_write_ko_readme(root, version="3.21.1")
|
||||
_write_ko_readme(root, version="3.21.2")
|
||||
|
||||
csc.check_readme_ko_sections()
|
||||
|
||||
@@ -427,17 +427,17 @@ class TestReadmeKoSections(unittest.TestCase):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
csc.ROOT = root
|
||||
stale = KO_README_TEMPLATE.format(ver="3.21.1").replace(
|
||||
"version-v3.21.1-blue", "version-v3.9.4.0-blue"
|
||||
stale = KO_README_TEMPLATE.format(ver="3.21.2").replace(
|
||||
"version-v3.21.2-blue", "version-v3.9.4.0-blue"
|
||||
).replace(
|
||||
"releases/tag/v3.21.1", "releases/tag/v3.9.4.0"
|
||||
"releases/tag/v3.21.2", "releases/tag/v3.9.4.0"
|
||||
)
|
||||
(root / "README.ko-KR.md").write_text(stale, encoding="utf-8")
|
||||
|
||||
csc.check_readme_ko_sections()
|
||||
|
||||
self.assertTrue(
|
||||
any("README.ko-KR.md" in e and "v3.21.1" in e for e in csc.ERRORS),
|
||||
any("README.ko-KR.md" in e and "v3.21.2" in e for e in csc.ERRORS),
|
||||
msg=f"expected ko-KR drift error in: {csc.ERRORS!r}",
|
||||
)
|
||||
|
||||
@@ -448,7 +448,7 @@ class TestReadmeKoSections(unittest.TestCase):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
csc.ROOT = root
|
||||
broken = KO_README_TEMPLATE.format(ver="3.21.1").replace(
|
||||
broken = KO_README_TEMPLATE.format(ver="3.21.2").replace(
|
||||
"#### Deep Research (8개 모드)", "#### Deep Research (8 modes)"
|
||||
)
|
||||
(root / "README.ko-KR.md").write_text(broken, encoding="utf-8")
|
||||
@@ -465,7 +465,7 @@ class TestReadmeKoSections(unittest.TestCase):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
csc.ROOT = root
|
||||
broken = KO_README_TEMPLATE.format(ver="3.21.1").replace(
|
||||
broken = KO_README_TEMPLATE.format(ver="3.21.2").replace(
|
||||
"### v3.18.0 (2026-07-18)",
|
||||
"### v3.18.0(2026-07-18)",
|
||||
)
|
||||
@@ -504,8 +504,8 @@ class TestReadmeZhSections(unittest.TestCase):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
csc.ROOT = root
|
||||
_write_zh_tw_readme(root, version="3.21.1")
|
||||
_write_zh_cn_readme(root, version="3.21.1")
|
||||
_write_zh_tw_readme(root, version="3.21.2")
|
||||
_write_zh_cn_readme(root, version="3.21.2")
|
||||
|
||||
csc.check_readme_zh_sections()
|
||||
|
||||
@@ -521,18 +521,18 @@ class TestReadmeZhSections(unittest.TestCase):
|
||||
with TemporaryDirectory() as tmp:
|
||||
root = Path(tmp)
|
||||
csc.ROOT = root
|
||||
_write_zh_tw_readme(root, version="3.21.1")
|
||||
stale = ZH_CN_README_TEMPLATE.format(ver="3.21.1").replace(
|
||||
"version-v3.21.1-blue", "version-v3.9.4.0-blue"
|
||||
_write_zh_tw_readme(root, version="3.21.2")
|
||||
stale = ZH_CN_README_TEMPLATE.format(ver="3.21.2").replace(
|
||||
"version-v3.21.2-blue", "version-v3.9.4.0-blue"
|
||||
).replace(
|
||||
"releases/tag/v3.21.1", "releases/tag/v3.9.4.0"
|
||||
"releases/tag/v3.21.2", "releases/tag/v3.9.4.0"
|
||||
)
|
||||
(root / "README.zh-CN.md").write_text(stale, encoding="utf-8")
|
||||
|
||||
csc.check_readme_zh_sections()
|
||||
|
||||
self.assertTrue(
|
||||
any("README.zh-CN.md" in e and "v3.21.1" in e for e in csc.ERRORS),
|
||||
any("README.zh-CN.md" in e and "v3.21.2" in e for e in csc.ERRORS),
|
||||
msg=f"expected zh-CN drift error in: {csc.ERRORS!r}",
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user