Record formal P28 collector acceptance and remaining original-unit gates
This commit is contained in:
+96
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"at": 1792510013.129046,
|
||||
"project": "the-tree-p28-01-perf-baseline",
|
||||
"task_id": "P28-01-COLLECTOR",
|
||||
"submitted": "5db97d78a15c2895ac5379a8bbba2fb95f0004dd",
|
||||
"candidate": "0f53a67210227207efa63045de88a9a7c6e45409",
|
||||
"main_base": "90e3e312fece101a932f0434de4e76afad31db63",
|
||||
"state": "completed",
|
||||
"helper_acceptance_complete": 9,
|
||||
"helper_acceptance_total": 9,
|
||||
"original_credit": 0,
|
||||
"original_completed": 22,
|
||||
"original_total": 88,
|
||||
"packages_completed": 4,
|
||||
"packages_total": 30,
|
||||
"evidence": [
|
||||
{
|
||||
"kind": "validation",
|
||||
"commit_sha": "5db97d78a15c2895ac5379a8bbba2fb95f0004dd",
|
||||
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/runs/494eafc467cf4a3e92ac92260da9d5c1-validation.json",
|
||||
"passed": 1,
|
||||
"sha256": "bef659a588349d594d9f6aaace38d2b2ea3a9f6db01561680e6ee9fe46f89922",
|
||||
"raw_checks": [
|
||||
{
|
||||
"id": "p28-01-collector-unit",
|
||||
"exit_code": 0,
|
||||
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/runs/9110f0b9ff114161946c4b6544782e7e",
|
||||
"passed": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind": "review",
|
||||
"commit_sha": "5db97d78a15c2895ac5379a8bbba2fb95f0004dd",
|
||||
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/runs/05499b4430e145c0b4b804095cf450d1/result.json",
|
||||
"passed": 1,
|
||||
"sha256": "23eed6741996a7b9327fcceda2e852104315954105c9c09f0dfcdf35c88c8d41",
|
||||
"raw_checks": null
|
||||
},
|
||||
{
|
||||
"kind": "integration",
|
||||
"commit_sha": "0f53a67210227207efa63045de88a9a7c6e45409",
|
||||
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/runs/f6dcbb4c9e6b4f88ade47c0f00f7a905-integration.json",
|
||||
"passed": 1,
|
||||
"sha256": "ec0658af52ed286e49829310511688e64b1ee0924dc63ccb09e29eba50df1071",
|
||||
"raw_checks": [
|
||||
{
|
||||
"id": "p28-01-collector-unit",
|
||||
"exit_code": 0,
|
||||
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/runs/75259f17bc2a4be1885334f90e5c9223",
|
||||
"passed": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"kind": "final",
|
||||
"commit_sha": "0f53a67210227207efa63045de88a9a7c6e45409",
|
||||
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/runs/6461542b644049289edb809ab1563ab2-final.json",
|
||||
"passed": 1,
|
||||
"sha256": "965610d04da6947172b055dbfe15183c30dcc46b77ce07c53564330dc33a20b7",
|
||||
"raw_checks": [
|
||||
{
|
||||
"id": "p28-01-collector-unit",
|
||||
"exit_code": 0,
|
||||
"artifact": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/runs/ef0202500572402a8dfeaef70551fe04",
|
||||
"passed": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"approval": {
|
||||
"task_id": "P28-01-COLLECTOR",
|
||||
"candidate": "0f53a67210227207efa63045de88a9a7c6e45409",
|
||||
"main_base": "90e3e312fece101a932f0434de4e76afad31db63",
|
||||
"owner": "Root delegated decision under existing human main/push authorization and explicit instruction to decide approvals without repeated confirmation; exact Q0f53a672/M90e3e312 audited in ROOT_EXACT_CANDIDATE_0F53A67.json (de31405646459c062ba31d267b3588e7c12dc9f5ba09349ae3c16c1479ea826d); no new human SHA-specific utterance is claimed.",
|
||||
"created": 1792509753.810463
|
||||
},
|
||||
"traceability_path": "/Users/korizatou114/Library/Application Support/agent-control/the-tree-p28-01-perf-baseline/traceability/P28-01-COLLECTOR.json",
|
||||
"known_low_findings": 3,
|
||||
"P28_original_unit_complete": false,
|
||||
"remaining": [
|
||||
"Integrated final-source full9 windowedR/O measurement",
|
||||
"SeparatePIDsave/restart",
|
||||
"OriginalP28-01 whole-unit evidence/review/final/ledger",
|
||||
"Windows/packagebudget/gamewhole remain unmet"
|
||||
],
|
||||
"diagnostic_only": {
|
||||
"x1_mean_us": 379427,
|
||||
"x1_limit_us": 4000,
|
||||
"stall_max_us": 466395,
|
||||
"stall_limit_us": 50000,
|
||||
"both_budget_passed": false,
|
||||
"final_measurement": false
|
||||
},
|
||||
"no_new_human_SHA_specific_utterance_claimed": true
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"task_id": "P28-01-COLLECTOR",
|
||||
"commit": "5db97d78a15c2895ac5379a8bbba2fb95f0004dd",
|
||||
"status": "pass",
|
||||
"summary": "対象は5db97d7の4ファイルで、すべてallowed_paths(collector/**)の中。製品・fixture・予算値の変更はなく、試験の削除や無効化もない。登録validation p28-01-collector-unitは「Ran 37 tests … OK」で、生ログで確認した。読込は tools/run_all_tests.py と tools/regression/owned_outer.py の2つだけ(load_toolのallowlistとAST試験で確認)。\n\n実機の証拠はROOT_NATIVE_DIAG_5DB97D7。import、parse-base、parse-wrapper、windowed R0の4つが、それぞれ別PIDで実行され、どれもexit0。主な結果:\n- R0は602→612分のちょうど10分で、stop_reason=complete\n- restore=true、登録数は200/50/150/20000\n- start_reportはINVALID_START_TIME、operations_enabled_after=false\n- seed 28012026とrng_streamsは別の欄\n- GPU/CPU描画時間は0のためnullで、理由つき\n- audio drainは実際に通った\n- cleanup_errors=[]\n\nexecution.jsonがpassed=falseなのは、診断で4phaseしか実行していないため、全9phaseの順序チェックが ValueError('phase order') を出したもの。これは全体runの成功ではない。この失敗は記録どおり残し、合格扱いにはしていない。\n\n条件ごとの判断:\n- C1: 速度は main._set_speed(main.gd:2727→GameClock.set_speed、paused=false)だけで与えている。checkerは、f64 deltaによるaccumulatorの再帰(simulation_kernel.gd:54-89と同じ式)、上限8、frame/orderの連続性を照合する。前回のmedium(歩調未検証)は解消し、実R0データでも再計算が一致した。\n- C2: 入力SHAと準備状態SHA、登録・実稼働・描画の3種を別の欄に記録している。描画数は製品の判定と同じ方法で数え、checkerは流用を拒否する。\n- C3: seedとRNG stateは別の欄で、nullには理由が必要。\n- C4: 0以下の生値が1つでもあると、その区間はnullと理由になり、checkerは0や偽の合格を拒否する。\n- C5: R0/O0の段階0、外挿、projected_over_limitならengineを起動しない、run_phaseの上限1800s、probe期限1740s、timeout時もrawを保持。どれも実装と試験がある。\n- C6: private user:// のGuard、owned PID、cleanup、通常playerの照合、stage全体のinventory、raw/owned filesのSHA結合。実runで確認した。\n- C7: source mapを開始前・phaseごと・終了後に照合し、git blobとも照合する。\n- C8: 全frameに機種・build・seed・速度・区間を要求する。平均・P95・最大は再計算して照合する。可読辞書の欠落キーと読取不能を区別するP1〜P3も確認した。\n- C9: 既定のautoloadの世界を使い、§4.3の順序どおりに起動し、mainの実際のOps結果を記録する。開始前の不足(input_shortfall)と計測中の自然な変化を区別し、再注入・状態固定・別Runtimeはない。\n\n以前の指摘も解消を確認した: 前回high(audio close)、K2、K3(最初の不完全frameをbaselineとして除外)、H/R/Jの各指摘。\n\n全9条件を満たすと判断する。ただし次の点は未確認のまま残る。\n- O系(O0/P3/P4)はまだ実機で実行していない\n- 全9phaseの本測定\n- 原本P28-01の完了。統合後にRootの実測が必要\n\n原本の加算は0。",
|
||||
"acceptance_ids": [
|
||||
"P28-01-C1",
|
||||
"P28-01-C2",
|
||||
"P28-01-C3",
|
||||
"P28-01-C4",
|
||||
"P28-01-C5",
|
||||
"P28-01-C6",
|
||||
"P28-01-C7",
|
||||
"P28-01-C8",
|
||||
"P28-01-C9"
|
||||
],
|
||||
"findings": [
|
||||
{
|
||||
"severity": "low",
|
||||
"message": "[C8/§7 checkerの防御の厚み] check_budget_snapshotは、snapshot.values()を回すだけで、metricのキー集合を要求していない。\nそのため、stop_reason=completeのreportで budget_at_warmup_end.data={} にすると、budget_verdictがcounts_unavailable(null)になり、それでもcheckerを通る。予算未達を「取得不能」に偽装できることになる。\nさらに、len(samples_us)==min(lifetime_count,512) のような製品の不変条件も照合していない。\n実際の悪用可能性は低い。probeはSHAで固定され、budget_snapshotは固定の3metricを必ず出す。raw stdoutとreportの結合もある。\n修正案は次の2つ。\n・warmup_endedに達したreport(complete、または measurement.frames>0)では、両方のsnapshotで set(data)=={simulation_x1,simulation_x3,main_thread_stall} を要求する\n・可読エントリで len(samples)==min(count,512) を要求する\nあわせて、それぞれの拒否試験を追加する。"
|
||||
},
|
||||
{
|
||||
"severity": "low",
|
||||
"message": "[計測の偏り・記録済み] 実R0では、observer_usが1フレームあたり約157 msあり、frame_wallの約16%を占める。最初のframeは5.5 sで、セル数の初回計算による。\nこのコストは次のframeのframe_wall_usと、stall_over_50000_us(frame基準)に含まれ、最大値と平均を押し上げる。observer_noteで開示されており、kernelの予算判定(_samples)には影響しない。\nP1〜P4では初回のコストはwarm-up内に収まる。ただし毎frameの負荷が残るため、毎frameのJSON行に入るmetadataとrng_streamsの重複を減らすなど、軽量化を検討するとよい。"
|
||||
},
|
||||
{
|
||||
"severity": "low",
|
||||
"message": "[未実機の経路・情報] Operations ONの新規開始(O0/P3/P4)は、どの診断でもまだ実機で実行していない。\n静的には次の点を確認した: opening_minute==360、start_report.ok、enabled、および失敗時にinput_shortfallを記録すること。\n本測定では、この経路を初めて通すことになる。R0の実測では、x1でも1分あたりkernel約370 ms、frame約1 sで、予算を大幅に超えている(verdictはfalseで正しく記録)。\nRootの本測定でO系の開始とoperations_pauseの停止が実際にどう振る舞うかを確認し、その記録を判断担当に渡すこと。"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user