docs: propose observed local capability binding (CR-DD-013)#115
Merged
Conversation
Add CR-DD-013, the first M1 slice: bind the existing validated local_backend_probe_record.v1 observation into ResilienceRouteInput so route selection stops asserting local availability it has never checked. The proposal specifies one additive validated capability-evidence field on ResilienceRouteInput, shaped as a discriminated union of ObservedAvailable, ObservedUnavailable, Configured, and Unknown, each with its own required and forbidden fields, built as a validated projection of the probe record rather than an embedding of it. Unknown is never promoted to availability and the tc run construction path may not synthesize True from it. Observed failure is conclusive for dependent routes; a single reachability result may not assert both local_fast and local_heavy. Ordinary backend configuration does not qualify as a capability declaration. Evidence uses the existing open route_decision payload extension point; no new ledger schema. Also re-pin the daily-driver spec to current main, correct CR-DD-012A from "merge is pending" to merged through PR #107 as bccaaad, and rewrite G4/M1 to record that observation already exists via tc probe and the missing slice is binding it. CR-DD-012B is unchanged and retains its CR-YK-002 gate. Documentation only; no runtime implementation and no implementation authority granted. Readiness percentages are unchanged and remain planning estimates. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
No reproducible generation path for TriageCore_DailyDriver_Spec.docx exists in the repository, so it was not regenerated alongside the re-pin and was left unmodified rather than hand-edited. Record the drift and the bounded follow-up explicitly, and state that the markdown remains authoritative where the two disagree. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
✅ Deploy Preview for poetic-quokka-0fd859 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
The 6a./6b. entries were not valid ordered-list markers, so GitHub absorbed them into item 6 as literal text and rendered 13 items instead of 15. Renumber to a flat 1-15 sequence. Verified against the GitHub Markdown API: 15 list items, no literal 6a./6b. leak. No content change beyond the numbering. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the CR-DD-013 proposal for binding existing local-backend observations into governed route selection without introducing a new probe, router, provider integration, or runtime implementation.
The proposal:
Also corrects CR-DD-012A's merged status, re-pins the daily-driver specification to current
main, updates the verified G4/M1 scope, and records the DOCX mirror drift.Documentation only; no Python, schemas, routing behavior, provider backends, or authorization code changed.
Scope
Exactly five documentation paths:
docs/change/requests/CR-DD-013-observed-local-capability-binding.md(new)docs/architecture/daily_driver_orchestrator_spec.mddocs/change/requests/CR-DD-012A-governed-decision-foundation.mddocs/change/requests/CR-DD-012-shared-governed-run-decision.mddocs/current_backlog.mdNotes for review
tc runconstruction path may no longer synthesizeTruefrom unknown evidence. This is a deliberate behavioral change for operators with neither an observation nor an explicit configured declaration, and the CR states it plainly rather than describing it as inert.Unknown.route_decisionpayload extension point. No new ledger schema and no schema-version bump. The closedroute-worker-ledger.v1contract is untouched.Verification
git diff --check origin/main...HEAD: cleangit diff --name-only origin/main...HEAD: exactly the five paths aboveThe lone xfail (
tests/test_authz.py::test_concurrent_consume_race_documented) is pre-existing, strict, and unrelated: it documents CR-YK-001's non-atomic receipt consumption, with atomic claiming deferred to CR-YK-002.🤖 Generated with Claude Code