Start Opus-directed shared Runtime support without adding delivery units

This commit is contained in:
Takeshi
2026-10-14 17:48:33 +09:00
parent d4747dd7e1
commit ed3ee23709
8 changed files with 110 additions and 4 deletions
@@ -0,0 +1,10 @@
[
{
"id": "P08-03-RTPREVIEW",
"requirement_id": "P08-03",
"text": "Internal shared-runtime implementation proof only; does not close or add original P08-03/88. All required native/purity/precedence cases, impact verification, independent review and integration required.",
"validation_ids": [
"runtime-preview-proof"
]
}
]
@@ -0,0 +1,26 @@
{
"id": "P08-03-RTPREVIEW",
"title": "P08-03を閉じるための共有配置プレビュー判定",
"requirement_ids": [
"P08-03"
],
"acceptance_ids": [
"P08-03-RTPREVIEW"
],
"spec_ref": "docs/spec/acceptance/P08-03-RTPREVIEW.json",
"base_commit": "d4747dd7e12e8fd19e404ad444bdc1e56d03f088",
"worker": "codex",
"allowed_paths": [
"autoload/simulation_runtime.gd",
"tests/transport/test_runtime_build_preview.gd",
"tests/transport/test_runtime_build_preview.gd.uid"
],
"depends_on": [],
"resource_locks": [
"p08-shared-build-runtime"
],
"validation_ids": [
"runtime-preview-proof"
],
"max_repair_attempts": null
}
@@ -0,0 +1,23 @@
{
"max_implementers": 1,
"max_llm": 2,
"max_heavy_tests": 1,
"max_llm_runs": null,
"timeout_seconds": 900,
"test_timeout_seconds": 300,
"max_repair_attempts": null,
"api_fallback": false,
"owner_approval_required": true,
"allowed_services": [
"codex",
"claude",
"agy"
],
"ui_mode": "semi-automatic",
"claude_max_budget_usd": null,
"models": {
"codex": "gpt-6.1-sol",
"claude": "claude-opus-5-5",
"agy": null
}
}
@@ -0,0 +1,11 @@
{
"runtime-preview-proof": {
"argv": [
"{python}",
"-B",
"-c",
"import os,json,pathlib,hashlib,subprocess; r=pathlib.Path.cwd(); p=pathlib.Path(os.environ[\"BUILD_OUTPUT_DIR\"])/\"runtime-preview-proof.json\"; x=json.loads(p.read_text()); sha=subprocess.check_output([\"git\",\"rev-parse\",\"HEAD\"],text=True).strip(); assert x[\"candidate\"]==sha; assert x[\"protocol\"]==\"guarded-runtime-preview-v1\"; assert x[\"native_executed\"] is True and x[\"owned_engine_ended\"] is True; assert not x[\"guard_errors\"] and not x[\"cleanup_errors\"]; required={\"landing_rejection\",\"landing_positive\",\"unknown_definition\",\"operations_precedence\",\"unsupported_vertical\",\"elevator_before_rotation\",\"invalid_rotation\",\"preview_purity\"}; assert required<=set(x[\"cases\"]); assert all(x[\"cases\"][n] is True for n in required); assert x[\"snapshot_before_sha256\"]==x[\"snapshot_after_sha256\"]; assert x[\"command_log_before\"]==x[\"command_log_after\"] and x[\"events_before\"]==x[\"events_after\"]; [(lambda f,pin: (_ for _ in ()).throw(AssertionError(f)) if hashlib.sha256(f.read_bytes()).hexdigest()!=pin else None)(r/path,pin) for path,pin in x[\"sources\"].items()]; assert len(x[\"sources\"])>=3; print(\"Runtime preview proof integrity verified; independent review remains required\")"
],
"timeout_seconds": 180
}
}