You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 32e7853
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/plans/routing-fact-ergonomics/plan.md
+25-26Lines changed: 25 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
# Routing-Fact Ergonomics
2
2
3
-
**Plan status:**`Verifying`
3
+
**Plan status:**`Accepted`
4
4
5
-
**Current phase:** R2 exact-head CI and source review complete; connected interface-45 qualification pending
5
+
**Current phase:** R2 accepted; no active implementation or integration slice
6
6
7
-
**Next slice:****R2 — Live agent comparison and accepted cutover**
7
+
**Next slice:**`none`
8
8
9
-
**Acceptance status:**`partial`
9
+
**Acceptance status:**`satisfied`
10
10
11
11
**Composed-design review:**`applicable`; see [the composed-design admission](#simplicity-and-ownership-review).
12
12
@@ -17,8 +17,8 @@
17
17
**Admission:** this plan owns priority 2 of the user's new sequence **2 → 4 → 3**:
18
18
routing-fact ergonomics, review-evidence packaging, then broader test strengthening.
19
19
The prior six-slice refactoring is Accepted and closed. This plan does not reopen it.
20
-
The user admitted `start` against this path; R1 is now implemented. The next
21
-
admission is `verify` for the R2/integration evidence after checking current state.
20
+
The user admitted `start`and then `verify`against this path. R1 and R2 are
21
+
accepted; later priorities require separate admission.
22
22
23
23
## Objective
24
24
@@ -89,12 +89,12 @@ Analysis, native queries and stored contracts. It is not a retired renderer.
89
89
| --- | --- | --- | --- | --- | --- | --- |
90
90
| R-A1 | The new focused input and output fact grammar is explicit, generated, discoverable, and has no old-envelope fallback. | contract | supported locked runtime | automated | satisfied |[Verification and exact-head locked CI](reports/verification.md)|
| R-A3 | Static and snapshot-dependent failures are bounded, useful typed input rejections; no invalid value becomes success, a transport exception or fabricated absence. | contract + negative | both MCP purposes | automated | satisfied |[Verification and remaining environment/host/review claims](reports/verification.md)|
93
-
| R-A4 | Fact binding uses the selected snapshot after qualification; content and full-explanation continuations round-trip that binding without additional capture or compilation. | integration | real SQLite and replacement stdio | automated | satisfied |[Verification and remaining environment/host/review claims](reports/verification.md)|
94
-
| R-A5 | Native query/preview, evidence-backed Analysis, authoring, stored identities/handles and prior retained workflows preserve their contracts and results. | compatibility/retention | baseline producer and candidate consumers | automated | satisfied |[Verification and remaining environment/host/review claims](reports/verification.md)|
92
+
| R-A3 | Static and snapshot-dependent failures are bounded, useful typed input rejections; no invalid value becomes success, a transport exception or fabricated absence. | contract + negative | both MCP purposes | automated | satisfied |[Verification](reports/verification.md)|
93
+
| R-A4 | Fact binding uses the selected snapshot after qualification; content and full-explanation continuations round-trip that binding without additional capture or compilation. | integration | real SQLite and replacement stdio | automated | satisfied |[Verification](reports/verification.md)|
94
+
| R-A5 | Native query/preview, evidence-backed Analysis, authoring, stored identities/handles and prior retained workflows preserve their contracts and results. | compatibility/retention | baseline producer and candidate consumers | automated | satisfied |[Verification](reports/verification.md)|
95
95
| R-A6 | All actual affected producers, consumers, generated examples and live guidance are coordinated; complete required CI and structural checks pass on the relevant material. | integration | current hash-locked CI | automated | satisfied |[Verification and exact-head locked CI](reports/verification.md)|
96
-
| R-A7 | The supported live agent can construct and refine routing facts with the smaller format, use discovery as needed and preserve unknowns, without new repair loops or a required extra call. | user workflow | actual authorized client/model/surface | observed |pending|[Verification and remaining environment/host/review claims](reports/verification.md)|
97
-
| R-A8 | Independent review and acceptance-owner disposition establish the exact candidate's invariants and proportionality; unrelated work and previous acceptance are preserved. | review | independent reviewer and owner | manual |pending|[Verification and remaining environment/host/review claims](reports/verification.md)|
96
+
| R-A7 | The supported live agent can construct and refine routing facts with the smaller format, use discovery as needed and preserve unknowns, without new repair loops or a required extra call. | user workflow | actual authorized client/model/surface | observed |satisfied|[Connected interface-45 navigation and paired comparison](reports/r2-live-agent.md)|
97
+
| R-A8 | Independent review and acceptance-owner disposition establish the exact candidate's invariants and proportionality; unrelated work and previous acceptance are preserved. | review | independent reviewer and owner | manual |satisfied|[External review](reports/external-review.md), [owner findings](issues.md), [final verification](reports/verification.md)|
98
98
99
99
No production standards proposal or publication is necessary for the navigation
100
100
workflow qualification. Required existing authoring regressions and retained-state
@@ -308,7 +308,7 @@ its snapshot-dependent binding and multiple continuation producers.
308
308
309
309
### R1 — Coordinated focused contract and consumers
310
310
311
-
**Status:**`Implemented`
311
+
**Status:**`Accepted`
312
312
313
313
**Goal:** implement the single smaller focused route representation with semantic
314
314
and authority equivalence and useful error behavior.
@@ -341,7 +341,7 @@ current locked CI and generated freshness. Old focused input must fail usefully.
341
341
342
342
### R2 — Live agent comparison and accepted cutover
343
343
344
-
**Status:**`Planned`; depends on the coherent R1 candidate.
344
+
**Status:**`Accepted`; completed against the coherent R1 candidate.
345
345
346
346
**Goal:** establish the externally meaningful reduction in construction burden and
347
347
complete review/acceptance without a new feature slice.
@@ -393,10 +393,8 @@ priority 3 only defers broader unrelated test hardening.
393
393
394
394
## Blockers
395
395
396
-
The source candidate is locally verified. Supported-runtime CI and actual host/model
397
-
behavior and independent review remain unqualified; their owner and procedure are
398
-
R2/integration. The missing environment cannot be
399
-
silently marked passed. Source and static planning checks do not claim R-A7.
396
+
No acceptance blocker remains. The supported-runtime CI, independent review and
397
+
actual connected interface-45 agent check are recorded under their own evidence.
400
398
401
399
## Re-Plan Triggers
402
400
@@ -411,17 +409,18 @@ meaning and uncertainty rather than shipping a permissive fallback.
411
409
412
410
## Final Acceptance
413
411
414
-
Source implementation and local verification are complete. R-A3–R-A5 have the
415
-
requested local/real-process evidence. R-A1/R-A2/R-A6 still require supported locked
416
-
CI; R-A7/R-A8 require actual host/model evidence and independent review/owner
417
-
disposition. See the verification report rather than substituting baseline CI or
418
-
planning probes. Preserve original failures and repaired candidate evidence.
419
-
Use ordinary repository branching/commit/review rules; no prescribed commit count,
420
-
retrospective PR or history rewrite is part of this plan.
412
+
R-A1–R-A8 are satisfied. Exact-source Python 3.12 locked CI covers the integrated
413
+
production candidate; the independent source reviewer found no blocker; the owner
414
+
deferred two advisories with triggers; and the refreshed connected agent completed
415
+
construction, refinement, continuation and supported error cases on interface 45.
416
+
The [verification](reports/verification.md), [live-agent record](reports/r2-live-agent.md),
417
+
[review](reports/external-review.md), [issues](issues.md) and [ledger](execution-ledger.md)
418
+
retain the separate evidence. No authoring boundary changed, so no new proposal
419
+
lifecycle run was required. The earlier accepted six-slice sequence remains closed.
421
420
422
421
After R1/R2 acceptance, the user's next priority is **review-evidence packaging**;
423
422
then **targeted test strengthening**. Neither is implemented or admitted as a source
424
423
slice here, and neither reopens the closed six-slice refactoring.
Copy file name to clipboardExpand all lines: docs/plans/routing-fact-ergonomics/reports/r2-live-agent.md
+21-3Lines changed: 21 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,30 @@
1
1
# R2 connected-agent qualification
2
2
3
-
**State (2026-09-28): incomplete.** The connected authoring-purpose Codex tool catalog still presents interface 44. A direct `runtime_info` call returned instance `acd7ec54-b009-41a3-a5ee-62b2110681a9`, interface `44`, catalog digest `sha256:feedb6e08686a2b2036548c41c05459a7e72c4fd9d2cd217ecc22bf18b6c3d17`, `installation_state: restart-required` and `action: restart-and-reconnect`. The saved registration selects the repository source, purpose `authoring`, and `--output-schemas on-demand`; it has no new routing flag. No store, handle or registration argument was changed.
3
+
**State (2026-09-28): completed after session restart.** The connected authoring-purpose Codex catalog and `runtime_info` both report interface **45**. The live instance is `7b218cb0-a70a-4325-934c-743b3f312e96`, catalog digest `sha256:8235cb21f7d1937be1a003eb2eef570345242194dac36d79463b16e26bb6d65d`, `installation_state: current`, `action: reuse`. The saved registration still selects the repository source, purpose `authoring`, and `--output-schemas on-demand`; it has no new routing flag. No store, handle or registration argument was changed.
4
+
5
+
## Initial stale connection (historical observation)
6
+
7
+
Before restart, the connected catalog still presented interface 44. `runtime_info` returned instance `acd7ec54-b009-41a3-a5ee-62b2110681a9`, catalog digest `sha256:feedb6e08686a2b2036548c41c05459a7e72c4fd9d2cd217ecc22bf18b6c3d17`, `installation_state: restart-required` and `action: restart-and-reconnect`.
4
8
5
9
Through that same connected tool, `routing_facts` returned a real snapshot handle and eight registered enum-set categories. For the representative review/qualification task, known facts were activities `verification, documentation`, boundaries `generated-contract, ipc`, topics `contracts, diagnostics, performance`, and details `topic.contracts.schemas, workflow.verification.oracles`. Other categories remained omitted and unknown. The baseline envelope request was 563 JSON bytes including the returned snapshot and `content.limit=2`. The old process returned the transport error `Engine invocation failed; inspect server stderr` for `route`, so it supplied no valid baseline route or continuation. This failure is not evidence about the interface-45 process. No application or standards mutation occurred.
6
10
7
-
The candidate connection has not yet been refreshed in this agent session. Interface-45 construction, refinement, continuations and mistake feedback through this connected tool remain unobserved, so R-A7 is still open. The separate paired model comparison below does not replace that connected-agent check. Keep the plan `Verifying` until the actual catalog reports 45 and the live workflow is observed. Existing automated disposable-fixture coverage of boolean, nullable and alias cases remains separate from the production vocabulary, which has none of those definitions.
11
+
The paired model comparison below is separate from the connected-session result.
12
+
13
+
## Actual connected interface-45 navigation and mistakes
14
+
15
+
`routing_facts` returned snapshot `snapshot:v1:00d9a08b-4d75-4266-a00c-e172d95df3c1` and eight enum-set definitions. The agent supplied known verification, documentation and commit activities, library application form, contracts/diagnostics/performance topics, and schema/oracle details directly. It left boundaries, frameworks, languages and workflow profile unanswered. The first compact route succeeded with 12 reading entries and four unresolved questions; no `describe_input` call was needed. The boundary question was then answered with `generated-contract` and `ipc` against the **same snapshot**. The refined route succeeded with 18 reading entries; frameworks, languages and workflow profile remained unanswered rather than becoming empty or absent.
16
+
17
+
The returned `content.next` request and the returned full `explanation` request were each passed directly to `route` without rebuilding their facts. Both succeeded, retained the same snapshot and compact fact values, and retained the three unanswered questions. The content page returned one exact item at offset one and a further continuation. A separate explicit-unknown enum-set assertion returned `{"state":"unknown"}` in the echo and kept that fact unanswered. A justified known-empty framework set returned `[]` and removed that question. These separate probes did not alter the main refinement's unknown facts.
| Undeclared fact name |`ROUTE.INPUT_INVALID`, non-exact `/facts` pointer without echoing the caller's key. |
23
+
| Old `{type,state,value}` envelope |`INTERFACE.INVALID_ARGUMENTS`, bounded `/facts/*``oneOf` feedback and `describe_input(route)` hint. |
24
+
25
+
All three were typed invalid outcomes (`isError: true`), not internal transport errors or successful routes. There were no route construction errors, repair calls or extra discovery calls in the successful connected workflow. The production registry has **no aliases, boolean facts or nullable facts**. Alias-collision, false, null and known-absence semantics therefore use the existing disposable-fixture tests in the supported 608/571-test CI, rather than inventing unsupported production facts or mutating standards. The live explicit-unknown and known-empty checks use actual enum-set definitions. No proposal, publication or production standards edit was made.
8
26
9
-
## Paired fresh-model comparison (separate from the connected-session gate)
27
+
## Paired fresh-model comparison (separate from the connected-session result)
10
28
11
29
Two disposable clean checkouts used the same `gpt-6-sol` prompt and authoring/on-demand registration: baseline `ff2e13ed31a42dbe6cc70ee76f7e7a7e58eabe76` (interface 44) and candidate `39d44f007c36684e1ebc546f31a19e20e2e660e5` (interface 45). The model routed a new internal library feature for implementation, verification and documentation, explicitly no application forms, with representation boundaries initially unresolved. It then learned the IPC and generated-contract boundaries, refined against the original snapshot, and followed one returned content page and the full explanation. All four route calls per side succeeded without input repair. The initial candidate explicitly supplied `routing.boundaries: {"state":"unknown"}`; the baseline omitted that still-unknown category. Both preserved other unanswered categories. The candidate's later calls used the returned compact facts directly.
0 commit comments