目的
Issue #97 / PR #98でresult-freeに再固定したreal-task feedback shadow protocol v3を、protocol merge後に到着する将来のeligible Codex taskへ一度だけ適用し、used_q3_s1とconfirmed_r05_s1のnon-serving shadow batchを観測する。
このIssueは実タスクpacketのappend-only capture、固定batchのone-time replay、final aggregateと限定的な支持・不支持・判定不能の記録だけを扱う。serving retrieval、library/MCP default、local registration、remote deploymentは変更しない。
検証済み前提と固定入力
初回観測のfail-closed記録
Issue #95 / PR #96ではv2 merge後の新規taskをslot 1候補としてcaptureし、root packetとconfirmed correction自体はcanonical/exclusive registrationとfrozen snapshot exact verifierを通した。しかしv2のresult-free testがfuture packet registryにも永久空を要求することが判明し、protocol integrity gate Iを保ったままCIをgreenにできない。
観測後にv2 test / manifest hashを書き換える救済は行わない。PR #96は未mergeでcloseし、#95のquery、trace、snapshot、source-use、outcome、packetを後継protocolや再開後batchへ再利用しない。accepted slotは0、T0と30日窓は未開始のままとする。Issue #97 / PR #98は観測前にmerge済みであり、PR #98 merge後に到着する次の新しいeligible taskを待って本Issueを再開する。
Inclusion、snapshot、観測窓
- protocol merge後かつ本Issueの事前登録完了後に到着する最初のeligible taskをslot
1とし、以後eligible taskを到着順のsequential slotへ登録する。結果を見た選別、slot skip、遡及登録を禁止する。
- slot
1 capture直前を観測開始T0とし、その時点でSQLite snapshotを一度だけfreezeする。全packetは同一snapshot SHA-256を共有し、snapshot差、slot欠落、順序差をfail closedにする。
- 最大
12 eligible tasks、観測窓30日とする。slot 12のexclusive capture完了時刻とT0 + 30日の早い方でcaptureを停止する。
- 停止後の延長、task置換、追加captureを行わない。pending outcomeはslotを保持し、後続taskで置き換えない。
- capture中の訂正はprotocolどおりsuperseding packetで表し、既存packetを編集しない。
Outcome evidence
objective outcomeはprotocolで固定した次の四kindだけを受理する。
test_passed
citation_verified
review_accepted
rollback_or_correction
Codexの自己評価だけをobjective outcomeにしない。pendingはslotと監査記録を保持するがprimary outcome集合から除外する。corrected / rolled_backからnegative reinforcementやweight rollbackを追加しない。
Evidence sufficiency
各credited edge identity eについて、duplicate/idempotent replayを除くdistinct eligible slotのused evidence数をu(e)とする。
H = |{ e : u(e) >= 3 }| >= 3
final stop時にHが偽なら比較はinconclusiveで終了する。taskを追加、置換、延長してsufficiencyを救済しない。candidate支持判定にはさらに、objective outcome集合にconfirmedが1件以上、correctedまたはrolled_backが1件以上あることを要求する。
固定metric
primary outcome集合Pはfinal stop時にobjective evidenceが成立したnon-pending packet、Cはそのうちconfirmed、Nはcorrectedまたはrolled_backとする。arm a、packet pについて、used nodeのpost-event rankをr_a(p)、top-kのused node以外のentry/exit数をchurn_a(p)とする。used nodeがtop-k外ならrankはprotocolどおりlimit + 1で扱う。
- False reinforcement:
F_a(N) = Nでcredited edgeへの正のactual_deltaが発生したpacket数。
- Confirmed path限定mutation:
Cの各packetでconfirmed_r05_s1の正のmutation edgeがpacketのfrozen credited path edge集合の部分集合であること。
- q3比retrieval non-regression: 全
p in Pでr_confirmed(p) <= r_q3(p)、かつMRR_confirmed(P) >= MRR_q3(P)。MRR_a(P) = sum(1 / r_a(p)) / |P|。
- Non-target churn:
Churn_a(P) = sum(churn_a(p) for p in P)。
secondaryは取得できたtaskのtool_calls、research_count、token_count、elapsed_secondsだけを保存する。未取得値はnullとし、欠損補完、task間の効率改善推測、primary gateへの利用を行わない。
Final gate
Protocol integrity gate Iは、全packetのcanonical/exclusive/append-only検証、同一snapshot hash、sequential slot、二arm同一入力、exact semantic replay、idempotency、determinism、source snapshot不変がすべて成立した場合だけ真とする。
support
次をすべて満たす場合だけ、frozen batch上でconfirmed policyを支持する。
IとHが真で、|C| >= 1かつ|N| >= 1。
F_confirmed(N) = 0。
Cの全mutationがfrozen credited path限定で、少なくとも一つのconfirmed packetに正のcredited-path mutationがある。
- q3比retrieval non-regressionが全packet条件とaggregate MRR条件の両方で成立する。
Churn_confirmed(P) <= Churn_q3(P)。
- strict comparative signalとして、
F_q3(N) > 0、または一つ以上のp in Pでr_confirmed(p) < r_q3(p)、またはChurn_confirmed(P) < Churn_q3(P)の少なくとも一つが成立する。
これはfrozen observed batch内の限定supportであり、default adoption、production quality、他repository/taskへのgeneralizationを意味しない。
non-support
IとHが真で|C| >= 1かつ|N| >= 1だが、上記support条件2-6のいずれかが偽ならnon-supportとする。全metricと失敗条件をそのまま保存し、gate、task、snapshot、packetを変更しない。
inconclusive
停止時にHが偽、CまたはNが空、またはIを証明できない場合はinconclusiveとする。pendingが多いこと、snapshot/input不整合、再現不能をsupport/non-supportへ読み替えず、追加taskや再実行で救済しない。
Captureとfinal aggregate
- packet captureはprotocolのatomic registry lockとexclusive createだけを使い、append-onlyとする。
- development/holdout packet、Issue #85結果、既存frozen/observed artifactを再利用、変更、再実行、再集計しない。
- stop到達後にeffective registryをslot順で一回だけreplayし、final aggregateをexclusive createする。
- final aggregateの再実行、上書き、再集計、field reorder、結果に応じた解釈gate変更を禁止する。
- raw machine-readable packet/resultと、
support / non-support / inconclusiveの一つだけを記録する。
完了条件
- stop rule到達までeligible taskを到着順にcaptureし、全slotと同一snapshot hashを監査できる。
- final aggregateを一回だけ生成し、packet registry + snapshotからexact semantic verificationを通す。
- primary metric、nullable secondary field、evidence sufficiency、final gate verdictを保存する。
- full suite、placeholder protocol verification、demo/eval smoke、optional MCP、CIがgreenである。
- serving default、local registration、remote deployment、既存frozen/observed artifactを変更しない。
想定変更箇所
artifacts/real-task-feedback-shadow-v3/packets/ - append-only eligible task packet
artifacts/real-task-feedback-shadow-v3/observed/ - one-time final aggregate
docs/real-task-feedback-shadow-observation.md - frozen batch内に限定した解釈
tests/test_real_task_shadow_observation.py - immutable result、exact verification、gate再計算
Related
目的
Issue #97 / PR #98でresult-freeに再固定したreal-task feedback shadow protocol v3を、protocol merge後に到着する将来のeligible Codex taskへ一度だけ適用し、
used_q3_s1とconfirmed_r05_s1のnon-serving shadow batchを観測する。このIssueは実タスクpacketのappend-only capture、固定batchのone-time replay、final aggregateと限定的な支持・不支持・判定不能の記録だけを扱う。serving retrieval、library/MCP default、local registration、remote deploymentは変更しない。
検証済み前提と固定入力
d2b898bfc66c2105cd2b8bd4927683bb52979bcdのreal-task-feedback-shadow-v3だけとする。初回観測のfail-closed記録
Issue #95 / PR #96ではv2 merge後の新規taskをslot 1候補としてcaptureし、root packetとconfirmed correction自体はcanonical/exclusive registrationとfrozen snapshot exact verifierを通した。しかしv2のresult-free testがfuture packet registryにも永久空を要求することが判明し、protocol integrity gate
Iを保ったままCIをgreenにできない。観測後にv2 test / manifest hashを書き換える救済は行わない。PR #96は未mergeでcloseし、#95のquery、trace、snapshot、source-use、outcome、packetを後継protocolや再開後batchへ再利用しない。accepted slotは0、T0と30日窓は未開始のままとする。Issue #97 / PR #98は観測前にmerge済みであり、PR #98 merge後に到着する次の新しいeligible taskを待って本Issueを再開する。
Inclusion、snapshot、観測窓
1とし、以後eligible taskを到着順のsequential slotへ登録する。結果を見た選別、slot skip、遡及登録を禁止する。1capture直前を観測開始T0とし、その時点でSQLite snapshotを一度だけfreezeする。全packetは同一snapshot SHA-256を共有し、snapshot差、slot欠落、順序差をfail closedにする。12eligible tasks、観測窓30日とする。slot 12のexclusive capture完了時刻とT0 + 30日の早い方でcaptureを停止する。Outcome evidence
objective outcomeはprotocolで固定した次の四kindだけを受理する。
test_passedcitation_verifiedreview_acceptedrollback_or_correctionCodexの自己評価だけをobjective outcomeにしない。
pendingはslotと監査記録を保持するがprimary outcome集合から除外する。corrected/rolled_backからnegative reinforcementやweight rollbackを追加しない。Evidence sufficiency
各credited edge identity
eについて、duplicate/idempotent replayを除くdistinct eligible slotのused evidence数をu(e)とする。H = |{ e : u(e) >= 3 }| >= 3final stop時に
Hが偽なら比較はinconclusiveで終了する。taskを追加、置換、延長してsufficiencyを救済しない。candidate支持判定にはさらに、objective outcome集合にconfirmedが1件以上、correctedまたはrolled_backが1件以上あることを要求する。固定metric
primary outcome集合
Pはfinal stop時にobjective evidenceが成立したnon-pending packet、Cはそのうちconfirmed、Nはcorrectedまたはrolled_backとする。arma、packetpについて、used nodeのpost-event rankをr_a(p)、top-kのused node以外のentry/exit数をchurn_a(p)とする。used nodeがtop-k外ならrankはprotocolどおりlimit + 1で扱う。F_a(N)=Nでcredited edgeへの正のactual_deltaが発生したpacket数。Cの各packetでconfirmed_r05_s1の正のmutation edgeがpacketのfrozen credited path edge集合の部分集合であること。p in Pでr_confirmed(p) <= r_q3(p)、かつMRR_confirmed(P) >= MRR_q3(P)。MRR_a(P) = sum(1 / r_a(p)) / |P|。Churn_a(P) = sum(churn_a(p) for p in P)。secondaryは取得できたtaskの
tool_calls、research_count、token_count、elapsed_secondsだけを保存する。未取得値はnullとし、欠損補完、task間の効率改善推測、primary gateへの利用を行わない。Final gate
Protocol integrity gate
Iは、全packetのcanonical/exclusive/append-only検証、同一snapshot hash、sequential slot、二arm同一入力、exact semantic replay、idempotency、determinism、source snapshot不変がすべて成立した場合だけ真とする。support次をすべて満たす場合だけ、frozen batch上でconfirmed policyを支持する。
IとHが真で、|C| >= 1かつ|N| >= 1。F_confirmed(N) = 0。Cの全mutationがfrozen credited path限定で、少なくとも一つのconfirmed packetに正のcredited-path mutationがある。Churn_confirmed(P) <= Churn_q3(P)。F_q3(N) > 0、または一つ以上のp in Pでr_confirmed(p) < r_q3(p)、またはChurn_confirmed(P) < Churn_q3(P)の少なくとも一つが成立する。これはfrozen observed batch内の限定supportであり、default adoption、production quality、他repository/taskへのgeneralizationを意味しない。
non-supportIとHが真で|C| >= 1かつ|N| >= 1だが、上記support条件2-6のいずれかが偽ならnon-supportとする。全metricと失敗条件をそのまま保存し、gate、task、snapshot、packetを変更しない。inconclusive停止時に
Hが偽、CまたはNが空、またはIを証明できない場合はinconclusiveとする。pendingが多いこと、snapshot/input不整合、再現不能をsupport/non-supportへ読み替えず、追加taskや再実行で救済しない。Captureとfinal aggregate
support/non-support/inconclusiveの一つだけを記録する。完了条件
想定変更箇所
artifacts/real-task-feedback-shadow-v3/packets/- append-only eligible task packetartifacts/real-task-feedback-shadow-v3/observed/- one-time final aggregatedocs/real-task-feedback-shadow-observation.md- frozen batch内に限定した解釈tests/test_real_task_shadow_observation.py- immutable result、exact verification、gate再計算Related
d2b898bfc66c2105cd2b8bd4927683bb52979bcd- observation lifecycle contradictionを観測前に修正したsuperseding result-free v3 protocol