Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
d22c8d6
docs(plans): define ARI skill platform roadmap
kotama7 Aug 1, 2026
4fb3bb3
feat(skills): establish canonical manifest contract
kotama7 Aug 1, 2026
8a0b817
feat(skills): add typed result envelope dispatch
kotama7 Aug 2, 2026
7b3bb34
feat(skills): pin immutable run registry
kotama7 Aug 2, 2026
1dc9fb9
feat(skills): isolate provider environments
kotama7 Aug 2, 2026
fd9d4df
feat(skills): authorize explicit node contexts
kotama7 Aug 2, 2026
b2510de
feat(skills): standardize async lifecycle contracts
kotama7 Aug 2, 2026
4be54dd
feat(skills): complete canonical core admission
kotama7 Aug 2, 2026
11ee6ab
feat(skills): federate scientific MCP catalogs
kotama7 Aug 2, 2026
3dcd7ec
feat(skills): integrate pinned ToolUniverse collection
kotama7 Aug 2, 2026
d57af0b
feat(skills): add pinned OpenROAD experiment profiles
kotama7 Aug 2, 2026
8a7460f
fix(skills): verify provider result digests without artifacts
kotama7 Aug 2, 2026
0950c52
feat(skills): establish reproducible HPC job contracts
kotama7 Aug 2, 2026
b1b5ff2
refactor(skills): expose public HPC runtime package
kotama7 Aug 2, 2026
d0ff1a8
feat(skills): route paper reproduction through typed HPC jobs
kotama7 Aug 2, 2026
61bb270
feat(skills): execute OpenROAD profiles through typed HPC jobs
kotama7 Aug 2, 2026
ac93834
feat(skills): add immutable Qiskit experiment profiles
kotama7 Aug 2, 2026
64a894c
feat(skills): unify bounded execution and measurements
kotama7 Aug 2, 2026
ce0ee4a
fix(skills): align migrated public contracts
kotama7 Aug 2, 2026
867b815
feat(skills): freeze literature and research contracts
kotama7 Aug 2, 2026
cb54097
feat(skills): make retrieval provenance replayable
kotama7 Aug 2, 2026
c1dca1b
feat(skills): make benchmark analysis scientifically typed
kotama7 Aug 2, 2026
c22d659
feat(skills): make research memory content-addressed
kotama7 Aug 2, 2026
b263a15
feat(skills): make scientific evaluation fail closed
kotama7 Aug 2, 2026
c087687
feat(skills): make science data and EAR replayable
kotama7 Aug 2, 2026
73cd92a
feat(skills): bind figure rendering and visual review
kotama7 Aug 2, 2026
514a39d
feat(skills): make paper builds evidence locked
kotama7 Aug 2, 2026
9ebf685
feat(skills): make replication rubrics evidence locked
kotama7 Aug 2, 2026
5929694
feat(paper-re): make reproduction evidence fail closed
kotama7 Aug 2, 2026
c487ea9
feat(orchestrator): add durable authenticated run control
kotama7 Aug 2, 2026
644e771
feat(skills): complete platform migration cleanup
kotama7 Aug 3, 2026
8ad9e06
chore(docs): sync generated README indexes
kotama7 Aug 3, 2026
edb5f37
fix(ci): make README indexes environment-independent
kotama7 Aug 3, 2026
284cfbe
test(core): isolate runtime passthrough from MCP providers
kotama7 Aug 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 7 additions & 9 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,8 @@
# (a Virtual-Scientists fork) and ari-skill-paper-re/vendor/paperbench
# (openai/preparedness) are pinned external forks; auto-bumping their
# submodule SHAs is undesirable.
# * pip "/ari-skill-orchestrator" is NOT listed. That one skill ships no
# pyproject.toml (13 of 14 skills have one); pointing Dependabot at a
# missing manifest would error. Only first-party directories are listed,
# so the vendored pyproject.toml files under the two vendor/ submodule
# trees above are also excluded.
# * Only first-party directories are listed, so vendored pyproject.toml files
# under the two vendor/submodule trees above are excluded.
# * docker ecosystem is NOT added. There are no in-tree Dockerfiles outside
# vendor/ (containers/ holds only a README).
#
Expand All @@ -45,10 +42,9 @@ updates:
- "github-actions"

# --- Python (pip) ---------------------------------------------------------
# One block covering the 15 verified first-party manifest directories:
# the root requirements.txt, ari-core, and the 13 skills that ship a
# pyproject.toml. ari-skill-orchestrator is intentionally absent (no
# manifest). Minor/patch bumps are grouped per directory to cap PR volume
# One block covering the 17 verified first-party manifest directories:
# the root requirements.txt, ari-core, and all 15 skills. Minor/patch bumps
# are grouped per directory to cap PR volume
# across the tree; a low open-PR limit adds a second guardrail.
- package-ecosystem: "pip"
directories:
Expand All @@ -60,10 +56,12 @@ updates:
- "/ari-skill-hpc"
- "/ari-skill-idea"
- "/ari-skill-memory"
- "/ari-skill-orchestrator"
- "/ari-skill-paper"
- "/ari-skill-paper-re"
- "/ari-skill-plot"
- "/ari-skill-replicate"
- "/ari-skill-tool-registry"
- "/ari-skill-transform"
- "/ari-skill-vlm"
- "/ari-skill-web"
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/contracts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,17 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install manifest validation dependencies
run: python -m pip install pydantic pyyaml
- name: Canonical Skill manifest conformance
# Hard gate: an invalid/unversioned manifest, runtime tool drift,
# workflow drift, version drift, generated mcp.json drift, or a
# default-enabled collision is an admission failure.
run: python scripts/check_skill_manifests.py
- name: Generated Skill and execution schema drift
run: python scripts/sync_skill_metadata.py
- name: Generated HPC contract schema drift
run: python ari-skill-hpc/scripts/sync_contracts.py
- name: MCP tool-schema snapshot verify (advisory at Stage 1)
continue-on-error: true
run: python scripts/snapshot_contracts.py --surface mcp --check
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ slurm-*.out
# Checkpoint directories (generated at runtime)
*_ckpt_*/
checkpoints/
# Versioned migration fixtures exercise legacy checkpoint readers in CI.
!/ari-core/tests/fixtures/checkpoints/
!/ari-core/tests/fixtures/checkpoints/**
output*/
results*/

Expand Down Expand Up @@ -92,6 +95,8 @@ ari-core/checkpoints/
# ── Runtime / temp files (generated at runtime, never track) ────
experiment.md
ari-core/experiment.md
# The migration contract intentionally contains historical experiment.md.
!/ari-core/tests/fixtures/checkpoints/v0_7_golden/experiment.md
tmp*.md
GUI_TASK.md
*_TASK.md
Expand Down
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,35 @@

All notable changes to ARI are documented here. Versions follow `MAJOR.MINOR.PATCH`.

## Unreleased — Skill-platform P6 removal

- Removed the deprecated web provider aliases, mutable backend selector,
iterative LLM collector, and `papers`/`results` retrieval projections. Use
`search_papers(provider=...)`, canonical `records`, and explicit broker/workflow
composition.
- Removed coding-skill's flat measurement writer and permissive JSON coercion.
`emit_results` now writes only the typed `measurement_set`; the old reader is
read-only migration support.
- Removed replicate-skill's low-coverage single-call generator, prompt, API/env
switches, GUI controls, and report field. Rubric generation is always
`hierarchical-v2`/`calibrated`, with model-call budgets and repair provenance.
- Removed the five container-specific HPC public aliases and their compilers.
Container work uses `container_submit`. The core-agent `slurm_submit` bridge
remains narrowly supported until that agent emits `JobRequestV1` directly.
- Added the permanent
[compatibility support policy](docs/reference/compatibility_support.md) with
owners and objective re-evaluation gates for retained readers, deployment
paths, PaperBench adaptations, and registry repair.
- Externalized the remaining paper claim-declaration guidance without changing
the bytes sent to the model; prompt and composition digests are regression
tested.
- Removed the completed temporary skill-platform plan set after its
architecture, contracts, migration rules, and retained-support decisions were
transferred to permanent documentation.

Pre-removal rollback boundary: `c487ea9` (`feat(orchestrator): add durable
authenticated run control`).

## v0.9.1 — Contract-preserving refactoring program (73 subtasks) + DONE-verification audit (2026-07-05)

- **73-subtask refactoring program, every contract preserved.** ari-core, the 14
Expand Down
10 changes: 5 additions & 5 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,12 @@ MCP ツール・描画出力のいずれも変更なし。
でドッグフードに使用可能。
- **`container_image` のエンドツーエンド配線** — ウィザード → API ワーカー →
MCP ツール → サンドボックスランナーまで同じ 1 フィールドが流れる。
`pb-env` / `pb-reproducer` の短縮エイリアスは
`scripts/build_pb_images.sh` でビルドされる `image:latest` タグに解決。
v1.0 は immutable なローカル SIF、完全な Docker
`sha256:<image-id>`、または digest 固定 URI のみを許可し、mutable な
`pb-env` / `pb-reproducer` エイリアスは削除した。
- **fail-loud な事前条件チェック** — サンドボックス / GPU の不整合は
既定で `RuntimeError` を送出(従来サイレントに CPU 実行へ降格していた
4 箇所を修正)。互換挙動は `ARI_PHASE1_ALLOW_FALLBACK=1` と
`ARI_SLURM_ALLOW_NO_GRES=1` でオプトイン可能。
エラーで停止する。旧 host-local 再現 fallback は v1.0 で削除され、GPU
要求も黙って降格できない。
- **PaperBench env-truth ガードレール** — Stage 1 のプロンプトに
「scaffold 前にホストを probe する」「言語選択を Python 偏重から
打ち消す」「ホスト実機を反映した `ADDITIONAL NOTES`(バイナリ / GPU /
Expand Down
19 changes: 11 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,12 @@ See [CHANGELOG.md](CHANGELOG.md#v081--structural-refactor-frontend-decomposition
surface. Drives the dogfood CLI via
`scripts/sc_paper_dogfood.py --with-rollout / --with-reproduction`.
- **`container_image` end-to-end** — one field flows wizard → API worker →
MCP tool → sandbox runner, with `pb-env` / `pb-reproducer` aliases
resolved by `scripts/build_pb_images.sh`.
- **Fail-loud preconditions** — sandbox / GPU mismatches now raise
actionable `RuntimeError`s by default (four silent-downgrade sites
fixed); legacy fallbacks behind `ARI_PHASE1_ALLOW_FALLBACK=1` and
`ARI_SLURM_ALLOW_NO_GRES=1`.
MCP tool → sandbox runner. v1.0 admits only a local immutable SIF, a full
Docker `sha256:<image-id>`, or a registry URI pinned by digest; mutable
`pb-env` / `pb-reproducer` aliases were removed.
- **Fail-loud preconditions** — sandbox / GPU mismatches raise actionable
errors. The former host-local reproduction fallback was removed in v1.0;
GPU requests likewise cannot be silently downgraded.
- **PaperBench env-truth** — Stage 1 prompts now probe-before-scaffold,
counter-prime the language choice, and inject a host-truthful
`ADDITIONAL NOTES` block (binaries / GPU / network / Phase-2 isolation).
Expand Down Expand Up @@ -352,7 +352,9 @@ After a run completes, outputs are saved in `./checkpoints/<run_id>/`:

### Skills (MCP plugin servers)

13 skills total. 12 are registered by default in `workflow.yaml`; 1 additional skill (orchestrator) can be enabled by adding it to the config.
15 skills total. 13 are registered by default in `workflow.yaml`; 2 additional
skills (orchestrator and the federated tool registry) are default-off and can be
enabled explicitly.

In v0.6.0 two skills were retired: `ari-skill-figure-router` was folded into `ari-skill-plot` (a single skill now owns both matplotlib plots and SVG architecture diagrams, both feeding the same VLM review loop), and `ari-skill-review` (rebuttal generation) was deleted — the rubric-driven review score is the final quality signal.

Expand All @@ -370,7 +372,9 @@ In v0.6.0 two skills were retired: `ari-skill-figure-router` was folded into `ar
| `ari-skill-benchmark` | CSV/JSON analysis, plotting, statistical tests | ✗ | ✓ |
| `ari-skill-vlm` | Vision-Language model figure/table review | ✓ | ✓ |
| `ari-skill-coding` | Code generation + execution + file read + bash | ✗ | ✓ |
| `ari-skill-replicate` | PaperBench-compatible rubric generation and audit | ✓ | ✓ |
| `ari-skill-orchestrator` | Expose ARI as MCP server, recursive sub-experiments, dual stdio+HTTP transport | ✗ | — |
| `ari-skill-tool-registry` | Immutable federation, scientific admission, and replay for large MCP collections | ✗ | — |

✗ = no LLM, △ = LLM used in some tools only, ✓ = primary tools use LLM.

Expand Down Expand Up @@ -425,4 +429,3 @@ What makes this paper different is not a headline number but a property: **every
## License

MIT. See [LICENSE](LICENSE).

11 changes: 5 additions & 6 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,11 @@ ARI 围绕一个原则设计:**用 Markdown 描述目标 — 其余的交给 A
`scripts/sc_paper_dogfood.py --with-rollout / --with-reproduction`
在自测中驱动。
- **`container_image` 端到端贯通** — 同一个字段从向导 → API worker →
MCP 工具 → 沙盒运行器一路传递;`pb-env` / `pb-reproducer` 短别名
通过 `scripts/build_pb_images.sh` 解析为对应的 `image:latest` 标签。
- **失败时立即报错的前置检查** — 沙盒 / GPU 不匹配的四处原本静默
降级到主机 CPU 的位置,现在默认抛出可操作的 `RuntimeError`;
兼容回退路径通过 `ARI_PHASE1_ALLOW_FALLBACK=1` 与
`ARI_SLURM_ALLOW_NO_GRES=1` 显式启用。
MCP 工具 → 沙盒运行器一路传递。v1.0 仅接受不可变的本地 SIF、完整
Docker `sha256:<image-id>` 或按摘要固定的 registry URI;可变的
`pb-env` / `pb-reproducer` 别名已删除。
- **失败时立即报错的前置检查** — 沙盒 / GPU 不匹配会直接报错。旧的
host-local 再现回退已在 v1.0 删除,GPU 请求也不能静默降级。
- **PaperBench env-truth 护栏** — Stage 1 提示加入
「先 probe 再 scaffold」「对抗语言选择的 Python 偏置」
「按主机实测注入 `ADDITIONAL NOTES`(二进制 / GPU / 网络 / 第二阶段隔离)」
Expand Down
Loading
Loading