Skip to content

Commit 362e9bb

Browse files
docs: bind CK-08R1B reviewer corrections (#432)
Freeze the corrected non-consuming 21-path CK-08R1B successor authority after independent review and green hosted CI.
1 parent dce25ea commit 362e9bb

8 files changed

Lines changed: 154 additions & 43 deletions

docs/INDEX.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,11 @@ product assertion failed.
5858
R1C is accepted at exact main `fb0c57886097a6b985d2f321b2de858cbdfc0a97`.
5959
The [CK-08R1B answer-semantics join authority](decisions/evidence/ck08r1b/answer-semantics-join-authority.json)
6060
binds the exact R1A producer artifacts, preserves R1C closure independence,
61-
and permits only the proved query admission, synthetic hierarchy/coordinate
62-
materialization, Q-WF-02 evaluator requalification, and deterministic 80-case
63-
fixture transition. R1B is Ready only for its existing held worker after that
61+
and permits only the proved query admission, production-owned synthetic
62+
hierarchy materialization, explicit tool coordinates and straddling lifecycle,
63+
duplicate-ID rejection, Q-REV-03 direct-fact/internal-formula binding, and
64+
deterministic 80-case production-compiler fixture transition. R1B is Ready only
65+
for its existing held worker and PR #430 after that
6466
authority is merged and exact-main verified; the authority does not accept the
6567
implementation. CK-08R1, CK-08R4, CK-08RG, CK-09, and CK-07 remain blocked or
6668
held by their existing gates.

docs/decisions/evidence/ck08r1b/answer-semantics-join-authority.json

Lines changed: 71 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
"r1a_production": 135
7373
}
7474
],
75-
"successor_sha256": "8edca141d69cbb89d875d09c7618ce471f04ef41d1c0ecbc8520ed531344e037",
75+
"successor_sha256": "1615c02e5617b80b43d1d3dda57a4dd7a575cf659e6459a0ba946ba96179d4b5",
7676
"grading_or_expected_rows_import": "forbidden"
7777
}
7878
},
@@ -110,6 +110,23 @@
110110
"semantic_change": "none",
111111
"worker_pr_edit": "forbidden"
112112
},
113+
"review_correction": {
114+
"base_sha": "dce25ea306382b271391ce62036623996205c29e",
115+
"source_pr": 430,
116+
"worker_head_sha": "3a86a10b12122d6ff9bec70f5f62105157af25c8",
117+
"review_disposition": "requested_changes_preserved_open_unmerged",
118+
"superseded_patch_sha256": "38c0db5c2242a962b20fa2abd05c264fb08e36f6d9dc542fe5763ca69986c690",
119+
"selected_patch_sha256": "74776e524db39a8687963faa8a163dccd848fd9bf7ca81697ca3c86c5e5a0d5a",
120+
"selected_successor_paths": 21,
121+
"findings": [
122+
"production publication preparation, not a test database adapter, owns complete session hierarchy materialization",
123+
"Q-WF-02 selects tool start and succeeded terminal boundaries independently across a half-open window",
124+
"the independent Q-WF-02 evaluator rejects duplicate call, tool, and state-change stable IDs",
125+
"Q-REV-03 delegation_metrics and token_deltas are direct fact-derived answers; exclusive/inclusive and scalar total delta formulas are explicit internal diagnostics because their result shapes cannot bind the frozen answer shapes"
126+
],
127+
"worker_pr_edit": "forbidden",
128+
"implementation_acceptance": "not_granted"
129+
},
113130
"consumer_join": {
114131
"query_compiler": {
115132
"path": "src/codex_usage_tracker/agent_kernel/query/compiler.py",
@@ -124,15 +141,19 @@
124141
},
125142
"synthetic_materialization": {
126143
"paths": [
144+
"src/codex_usage_tracker/agent_kernel/publication/preparation.py",
145+
"tests/agent_kernel/publication/test_preparation.py",
127146
"tests/agent_kernel/fact_adapters/support.py",
128147
"tests/agent_kernel/fixtures/oracles/cases_v2.py",
148+
"tests/agent_kernel/fixtures/oracles/database_replay.py",
129149
"tests/agent_kernel/fixtures/tiny-v2/question-scenarios.json",
130150
"tests/agent_kernel/fixtures/tiny-v2/oracle-bundle.json",
131151
"tests/agent_kernel/fixtures/tiny-v2/manifest.json"
132152
],
133153
"owner": "existing CK-08R1B worker",
134154
"requirements": [
135-
"every selected session has one complete acyclic parent chain",
155+
"production publication materializes every selected session with one complete acyclic parent chain before query compilation",
156+
"the full 80-case database replay uses DatabaseV1FactCompiler rather than a test fact adapter",
136157
"tool starts and terminals materialize their separately declared coordinates",
137158
"canonical calls materialize exact measurement_mask and four token classes",
138159
"Q-WF-02 session_selector excludes same-window foreign-session facts",
@@ -148,51 +169,77 @@
148169
"production_role": "derive actual rows and compare only",
149170
"copied_expected_rows": "forbidden",
150171
"grading_source_imported_into_production": "forbidden"
172+
},
173+
"q_rev_03_binding_decision": {
174+
"answer_fields": [
175+
"delegation_metrics",
176+
"token_deltas"
177+
],
178+
"classification": "direct_fact",
179+
"formula_diagnostics": [
180+
"exclusive_inclusive_scope_v1",
181+
"side_by_side_delta_v1",
182+
"total_tokens_v1"
183+
],
184+
"reason": "the frozen answer fields require a two-sided delegation object and a five-field token-delta object while the named formulas return one-side exclusive/inclusive and one scalar delta",
185+
"grading_or_expected_rows_as_input": "forbidden"
151186
}
152187
},
153188
"selected_successor_cohort": {
154-
"preflight_base_sha": "97ea3aed8f67c7840a34b610e7e0588b7eaf3c4d",
155-
"patch_sha256": "38c0db5c2242a962b20fa2abd05c264fb08e36f6d9dc542fe5763ca69986c690",
189+
"preflight_base_sha": "dce25ea306382b271391ce62036623996205c29e",
190+
"patch_sha256": "74776e524db39a8687963faa8a163dccd848fd9bf7ca81697ca3c86c5e5a0d5a",
156191
"files": [
157-
{"path": "config/agent-kernel/logical-contract-v1.json", "predecessor_sha256": "27981ec9bac8c245306e02784b8730e8ff9216b33a81da9efb8409403431fe3d", "sha256": "3d7412156c735a9e1e497049ec86c8130c20632da27e009deed24d19c5836e84"},
158-
{"path": "config/agent-kernel/plan-operand-contract-v1.json", "predecessor_sha256": "19b9c69f50f67b01321e1f269cee2f70370ca64c0c666ff4dac2cc52efa314b4", "sha256": "0f21a484b66c36bb467bc659f2656fd20c31619e9bc7b6e8edd89250855edffe"},
159-
{"path": "experiments/physical-architecture/candidate_a/queries.py", "predecessor_sha256": "dd2a121480920cf96cd51ec43084a76a278009a8b72153b15963862d9619fe89", "sha256": "53c947fa8468db211428104aa4276e9138d6c48160de8c99821b5c509ae5929e"},
192+
{"path": "config/agent-kernel/formula-contract-v1.json", "predecessor_sha256": "2e16599f244ac179313aa7bf7263caaddbd49f2c0984dbfa424ba89713e70ffa", "sha256": "3db5d4315d74f3c949cce6f6292f09026a5f26b4a1107c0434dbdd361c6a246c"},
193+
{"path": "config/agent-kernel/logical-contract-v1.json", "predecessor_sha256": "27981ec9bac8c245306e02784b8730e8ff9216b33a81da9efb8409403431fe3d", "sha256": "cf10cd6efd7bb149bd41d92dc817e7656fe74b999639b129d019b4d69773ecd7"},
194+
{"path": "config/agent-kernel/plan-operand-contract-v1.json", "predecessor_sha256": "19b9c69f50f67b01321e1f269cee2f70370ca64c0c666ff4dac2cc52efa314b4", "sha256": "e4a030893495e971e7890043c7ebe6c16843f5e457ad8c9aaa65202744364b06"},
195+
{"path": "experiments/physical-architecture/candidate_a/queries.py", "predecessor_sha256": "dd2a121480920cf96cd51ec43084a76a278009a8b72153b15963862d9619fe89", "sha256": "4c14507bba3259d725a9432c2e193f7a5bdac14c880bdf145d548552aad01a7f"},
160196
{"path": "scripts/generate_ck07a_fixture.py", "predecessor_sha256": "d24be0a95b302a9c52d413c300f23536d8c0287512c4b446ed03f8d33ce0863f", "sha256": "f7adde83efb963121e841aec8d71ebd2e2be1fa3a1c2745d8e5ec05e6884cb68"},
161-
{"path": "src/codex_usage_tracker/agent_kernel/domain/plan_derivations_structural.py", "predecessor_sha256": "c63b5ae2528852768c7a0906c2dccd537587192116fd2cec956110bcc8ed1367", "sha256": "1c0441ca1d26c1d774aba9b53e0e10b04fcec2c6de7c1453a3e42aabcffa20ad"},
197+
{"path": "src/codex_usage_tracker/agent_kernel/domain/plan_derivations_structural.py", "predecessor_sha256": "c63b5ae2528852768c7a0906c2dccd537587192116fd2cec956110bcc8ed1367", "sha256": "04673e50cdd7d3cc2c212295b64299b6a017bf86ebc74628e0c9bc1719aa0144"},
198+
{"path": "src/codex_usage_tracker/agent_kernel/publication/preparation.py", "predecessor_sha256": "6689d61fbf6d7948e1958a9d0bc58b4ea326a7f04221914b74c0651e0be1e37c", "sha256": "d00df193b1bb44af6149734c67af9fe235dd7eed384c9dbb5c0732cf5a6c0868"},
162199
{"path": "src/codex_usage_tracker/agent_kernel/query/compiler.py", "predecessor_sha256": "0e57ddb03c5bff28eb74dc2eaa98f35491c649de71e7e9ba680c358a5adc0286", "sha256": "c3c43f044a43b5d2aed18cc03b88f1a5156a6570dd4d1cfc2f47a8b4d1833ffa"},
163-
{"path": "tests/agent_kernel/contracts/test_plan_derivations_structural.py", "predecessor_sha256": "853f5d6d44d17ef4a19bff0ab383d758d52541ec7c7b8bf92d008d93b3fb40fb", "sha256": "8531e34b4a1c11c4e55c49efbf369ee82126bdf2a4c373896b0142c6acdae915"},
164-
{"path": "tests/agent_kernel/contracts/test_plan_operand_contract.py", "predecessor_sha256": "72e9e205d56623eec9e26cba2fd8877190da1ee9675a779f49d527e989ad0988", "sha256": "b267512d0195c8e461a796af8c29671ce74ad71559ea6b6ffcac96269335ba6d"},
165-
{"path": "tests/agent_kernel/contracts/vectors/plan-operands-v1.json", "predecessor_sha256": "cc4d944354356136c45c6a22aa0a289849fe6c4804e4a5d5bd5574cac1ab72c2", "sha256": "8b83417dc5e7cd25ec1711fcd4b1152b90412d3594df918e3b5f2fdd363f845d"},
166-
{"path": "tests/agent_kernel/fact_adapters/database.py", "predecessor_sha256": "30c3f34d3847e75faeb5a5d543ec88b30939ad218ae38071e1929acddba6a63e", "sha256": "f81cad1e5c5875f9e6183047911265dbf21cb44266dfe0bfe1838cff8b26df92"},
200+
{"path": "tests/agent_kernel/contracts/test_plan_derivations_structural.py", "predecessor_sha256": "853f5d6d44d17ef4a19bff0ab383d758d52541ec7c7b8bf92d008d93b3fb40fb", "sha256": "80a5df1cce9fa33e9203edd459d749d03530b4b76e5f4a7a2911129698972122"},
201+
{"path": "tests/agent_kernel/contracts/test_plan_operand_contract.py", "predecessor_sha256": "72e9e205d56623eec9e26cba2fd8877190da1ee9675a779f49d527e989ad0988", "sha256": "1f7216e96232098d8efac7b19b205e399b9571d1e9ed6f3b489bb0c08f84b9d0"},
202+
{"path": "tests/agent_kernel/contracts/vectors/plan-operands-v1.json", "predecessor_sha256": "cc4d944354356136c45c6a22aa0a289849fe6c4804e4a5d5bd5574cac1ab72c2", "sha256": "d23fb7a0b68f3b403f1add8d4b99a5a3d3d5881677f7bb2e144f4402cd2ee22b"},
203+
{"path": "tests/agent_kernel/fact_adapters/database.py", "predecessor_sha256": "30c3f34d3847e75faeb5a5d543ec88b30939ad218ae38071e1929acddba6a63e", "sha256": "9ee0f23056aaa87a07981df56a0d130c5a976084fe945378182d9e0c9bc43471"},
167204
{"path": "tests/agent_kernel/fact_adapters/support.py", "predecessor_sha256": "2e8447613ce12fd0f82cb36af7ddebb2ba1e4eef1b6d53f31a990564b0be94c5", "sha256": "4e9ae26ce21909579bb5ccb1494cd55aaf1c2629ab547a50a8fda049829ad896"},
168-
{"path": "tests/agent_kernel/fact_adapters/test_contracts.py", "predecessor_sha256": "11f75a8025374455e90a0c4fb4eb9b2dc78bcce157e362fbe83aa001d6343536", "sha256": "cff89ea3b858df35695641cad6eed3ff2a04bf5dc9f2249b8d29108aa28d79b8"},
169-
{"path": "tests/agent_kernel/fixtures/independent/semantic.py", "predecessor_sha256": "8d46b9f65676087437386c270d975f2be8651a8eb299ee1e6d525b5eda913443", "sha256": "4c9729d9d0d7ad17f8ab3c341f5e71e377757bf5d16273aac8274f1efb9837d9"},
205+
{"path": "tests/agent_kernel/fixtures/independent/semantic.py", "predecessor_sha256": "8d46b9f65676087437386c270d975f2be8651a8eb299ee1e6d525b5eda913443", "sha256": "1615c02e5617b80b43d1d3dda57a4dd7a575cf659e6459a0ba946ba96179d4b5"},
170206
{"path": "tests/agent_kernel/fixtures/oracles/cases_v2.py", "predecessor_sha256": "4ab32f4f924aef5f71e3b3d48478e5ae33eb86736a3b75de4b52621f4dae679b", "sha256": "7042fd002c1345c555a13148163cef326b3f6b4cf362ea7c922511e80c321b39"},
207+
{"path": "tests/agent_kernel/fixtures/oracles/database_replay.py", "predecessor_sha256": "a22169f3884390ff7f98b871daf778aaae1fec7c5d0805eec3a9ce0db07219b6", "sha256": "73b3a0e796c0885d5ce09e8f5349f704a34138515b32729def3f139c17058467"},
171208
{"path": "tests/agent_kernel/fixtures/tiny-v2/manifest.json", "predecessor_sha256": "fb40a8a91d6ad537171e7a23e3f6fa9bd519080b513981b9483f9791e5e99e7d", "sha256": "4e33fc263f75cdd7d532d2972232b92c5320f58c0628154deaa74380d8875a8c"},
172209
{"path": "tests/agent_kernel/fixtures/tiny-v2/oracle-bundle.json", "predecessor_sha256": "97b78d11fa64eb2dac0a5f605bd9056f331ac9dd1fd210703e5f42b23935b40e", "sha256": "e5f682332b7529a85b420f1e1d2c543a5f867eef617fcb484ecc2d04c517da72"},
173210
{"path": "tests/agent_kernel/fixtures/tiny-v2/question-scenarios.json", "predecessor_sha256": "6ffca4917386c5bc13237952904d2a560a531e37c6eeba89b69ea53d76f35cd8", "sha256": "986d2f9689f0abf6515247655d75ad8c3587cf7635b201479801de0c94431014"},
174-
{"path": "tests/agent_kernel/test_ck08r1c_independent_evaluator.py", "predecessor_sha256": "db9c0dd58dbd24bb28a76cb1a603516686bf552e0303c451b5d1949c4b62e693", "sha256": "7fb178208c70c8e83525a0eb09018efa523766c2f8ac8aa8aecb097eb4e900c0"}
211+
{"path": "tests/agent_kernel/publication/test_preparation.py", "predecessor_sha256": "2b43cdfca0d935d4f08aa44a16bd176713ddf3ef7083ff3e76b42d4d0c8687e3", "sha256": "d0c277af4c655efb9b57c9bd7605592ce8a4959a12ffdad030935af5a4df6ce9"},
212+
{"path": "tests/agent_kernel/test_ck08r1c_independent_evaluator.py", "predecessor_sha256": "db9c0dd58dbd24bb28a76cb1a603516686bf552e0303c451b5d1949c4b62e693", "sha256": "defac63d1ee27c83a67c4f3f9e8dae24d713a263582614b83c9f9b20279d4ce2"}
175213
],
176214
"focused_test_identities": [
177215
{
178216
"path": "tests/agent_kernel/contracts/test_plan_derivations_structural.py",
179-
"sha256": "8531e34b4a1c11c4e55c49efbf369ee82126bdf2a4c373896b0142c6acdae915"
217+
"sha256": "80a5df1cce9fa33e9203edd459d749d03530b4b76e5f4a7a2911129698972122"
218+
},
219+
{
220+
"path": "tests/agent_kernel/publication/test_preparation.py",
221+
"sha256": "d0c277af4c655efb9b57c9bd7605592ce8a4959a12ffdad030935af5a4df6ce9"
180222
},
181223
{
182224
"path": "tests/agent_kernel/test_ck08r1c_independent_evaluator.py",
183-
"sha256": "7fb178208c70c8e83525a0eb09018efa523766c2f8ac8aa8aecb097eb4e900c0"
225+
"sha256": "defac63d1ee27c83a67c4f3f9e8dae24d713a263582614b83c9f9b20279d4ce2"
226+
},
227+
{
228+
"path": "tests/agent_kernel/fixtures/oracles/database_replay.py",
229+
"sha256": "73b3a0e796c0885d5ce09e8f5349f704a34138515b32729def3f139c17058467"
184230
}
185231
],
186232
"focused_validation": {
187-
"result": "182 passed",
233+
"result": "135 passed focused preflight",
188234
"case_count": 80,
189235
"independent_rows_equal_production_rows": true,
190236
"independent_grades_equal_frozen_grades": true,
191237
"fixture_source_jsonl_unchanged": true,
192238
"review_mutations": [
193-
"Q-WF-02 no-match and same-window foreign-session selector isolation",
194-
"Q-WF-02 valid before-window and after-window tool exclusion",
195-
"Q-REV-03 missing, null, and mask-value mismatch while capability is unavailable"
239+
"Q-WF-02 start-before/terminal-inside and start-inside/terminal-after straddling",
240+
"production publication complete hierarchy plus dangling and cyclic rejection",
241+
"independent evaluator duplicate call, tool, and state-change stable-ID rejection",
242+
"Q-REV-03 direct fact answers and bound internal formula diagnostics"
196243
]
197244
}
198245
},
@@ -201,12 +248,14 @@
201248
"missing, null, malformed, or value-mismatched canonical-call measurement_mask rejects even when structural-context capability is unavailable",
202249
"Q-WF-02 session selector excludes same-window foreign-session calls, tools, and state changes",
203250
"valid Q-WF-02 tools before or after the selected half-open window are excluded",
251+
"Q-WF-02 start and succeeded terminal membership are selected independently for both straddling directions",
204252
"partial or null start coordinate rejects",
205253
"partial or null terminal coordinate rejects",
206254
"terminal without start rejects",
207255
"succeeded lifecycle without terminal succeeded transition rejects",
208256
"terminal ordered before start rejects",
209257
"duplicate stable session, turn, call, tool, state-change, or resource identity rejects",
258+
"Q-REV-03 declared formula diagnostics are internal and bound while answer fields remain exact fact-derived values",
210259
"grading sentinel and grading inaccessible leave both evaluators unchanged",
211260
"production-source mutation changes production only and exposes a mismatch",
212261
"canonical-fact mutation changes both evaluators",
@@ -251,7 +300,7 @@
251300
"tests/kernel/test_kernel_scope.py"
252301
],
253302
"implementation_allowlist": [
254-
"the exact eighteen selected_successor_cohort paths",
303+
"the exact twenty-one selected_successor_cohort paths",
255304
"focused tests for query compiler, fact adapters, structural derivation, R1C evaluator, fixture reconciliation, and fixture generation"
256305
],
257306
"locks": [

docs/decisions/evidence/ck08r1b/answer-semantics-join-authority.schema.json

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"independent_truth_authority",
1616
"held_candidate",
1717
"identity_correction",
18+
"review_correction",
1819
"consumer_join",
1920
"selected_successor_cohort",
2021
"negative_mutations",
@@ -66,6 +67,40 @@
6667
},
6768
"additionalProperties": false
6869
},
70+
"review_correction": {
71+
"type": "object",
72+
"required": [
73+
"base_sha",
74+
"source_pr",
75+
"worker_head_sha",
76+
"review_disposition",
77+
"superseded_patch_sha256",
78+
"selected_patch_sha256",
79+
"selected_successor_paths",
80+
"findings",
81+
"worker_pr_edit",
82+
"implementation_acceptance"
83+
],
84+
"properties": {
85+
"base_sha": {"const": "dce25ea306382b271391ce62036623996205c29e"},
86+
"source_pr": {"const": 430},
87+
"worker_head_sha": {"const": "3a86a10b12122d6ff9bec70f5f62105157af25c8"},
88+
"review_disposition": {"const": "requested_changes_preserved_open_unmerged"},
89+
"superseded_patch_sha256": {"const": "38c0db5c2242a962b20fa2abd05c264fb08e36f6d9dc542fe5763ca69986c690"},
90+
"selected_patch_sha256": {"const": "74776e524db39a8687963faa8a163dccd848fd9bf7ca81697ca3c86c5e5a0d5a"},
91+
"selected_successor_paths": {"const": 21},
92+
"findings": {
93+
"type": "array",
94+
"minItems": 4,
95+
"maxItems": 4,
96+
"uniqueItems": true,
97+
"items": {"type": "string", "minLength": 1}
98+
},
99+
"worker_pr_edit": {"const": "forbidden"},
100+
"implementation_acceptance": {"const": "not_granted"}
101+
},
102+
"additionalProperties": false
103+
},
69104
"consumer_join": {"$ref": "#/$defs/object"},
70105
"selected_successor_cohort": {
71106
"type": "object",
@@ -75,8 +110,8 @@
75110
"patch_sha256": {"$ref": "#/$defs/sha"},
76111
"files": {
77112
"type": "array",
78-
"minItems": 18,
79-
"maxItems": 18,
113+
"minItems": 21,
114+
"maxItems": 21,
80115
"uniqueItems": true,
81116
"items": {"$ref": "#/$defs/transitionPathDigest"}
82117
},

docs/roadmap/REMAINING_EXECUTION_PLAN.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ their meaning and closure. R1C is accepted at exact main
3535
`fb0c57886097a6b985d2f321b2de858cbdfc0a97`; the exact
3636
[R1B join authority](../decisions/evidence/ck08r1b/answer-semantics-join-authority.json)
3737
makes only the existing R1B worker Ready to reconcile the shared
38-
query/evidence/grading seams, and R1 remains their blocked requalification join.
38+
query/evidence/grading seams. Its exact reviewer correction binds production
39+
publication hierarchy ownership, independent start/terminal window membership,
40+
duplicate stable-ID rejection, production-compiler replay, and the Q-REV-03
41+
direct-fact/internal-formula decision. R1 remains their blocked requalification
42+
join.
3943
CK-QG1A removed R2's two page-executor C/B/B violations
4044
without changing behavior or the frozen maintainability baseline and is
4145
accepted at exact main `30983d4b5005e7e2a507757c76a3c05ab56281e6`.

0 commit comments

Comments
 (0)