Skip to content

Correct CR-DD-016 capability-observation semantics - #156

Merged
coreytshaffer merged 1 commit into
mainfrom
claude/cr-dd-016-capability-observation-correction
Aug 11, 2026
Merged

coreytshaffer merged 1 commit into
mainfrom
claude/cr-dd-016-capability-observation-correction

Conversation

@coreytshaffer

Copy link
Copy Markdown
Owner

What this is

A corrective amendment to the already-merged CR-DD-016 (#155). Not a new CR — no new
policy or design decision is proposed here. CR-DD-013 remains the governing runtime
semantics; this PR brings CR-DD-016's description of those semantics back into
agreement with what resolve_capability() actually does.

Why

Post-merge, read-only reconciliation against resolve_capability()
(triage_core/capability_evidence.py) and this repository's own tracked
triagecore.toml found that CR-DD-016's causal account of its own motivating evidence
was factually wrong: a [capability] declaration with a resolved model binding
authorizes route consideration without any probe. The repo's own checked-in
triagecore.toml is in exactly that state right now (declare_local_fast = true,
declare_local_heavy = true, both with model bindings, no probe record path set), and
test_declaration_without_observation_is_configured_not_observed pins
local_fast_available is True for exactly this case.

What this PR does

  • Corrects factual/causal claims in Problem Statement, Motivating Evidence, and
    Determination that were discovered wrong after CR-DD-016: Document capability-probe operator workflow discoverability #155 merged.
  • Does not change CR-DD-013 runtime semantics. No file under triage_core/ is
    touched; no schema, CLI, routing, or capability-resolution behavior changes.
  • Withdraws the Aug-8 trial (task_id 12fe348e-94fd-43da-8bb8-2aa61a3eb949) as
    evidence for a probe-absence-causes-blocking claim. Its own runner_selected record
    shows both routes fully available (capability_state: configured, bindings resolved
    for local_fast and local_heavy); the actual block traces to a separate,
    sensitivity-driven human_handoff selection in choose_resilience_route, unrelated to
    capability evidence. Day-1 Trial 001 (which ran before CR-DD-014 added those
    declarations) remains the genuine no-declaration/no-probe example.
  • Corrects Invariant 4, which was itself falsified by the same finding, and the
    future operator-documentation contract (In Scope item 1, Acceptance Criterion 1) to
    describe the real three-case behavior instead of a "Configured-not-Observed block"
    that the code doesn't actually produce on its own.
  • Grants no implementation authority. Status: Proposed and
    Implementation authority: Not authorized are unchanged. The Provisional
    Implementation Allowlist, Explicitly Out of Scope, Non-Goals, and Sequencing sections
    are untouched.

Scope

One file, docs-only:

  • Changed: docs/change/requests/CR-DD-016-capability-probe-operator-workflow-discoverability.md
  • Not touched: any file under triage_core/, docs/daily_driver_quickstart.md, any
    schema, test, backlog, or changelog file.

This correction is deliberately its own PR, landing before any implementation
authorization is considered for CR-DD-016, rather than being folded into that future
implementation work.

Verification

Check Result
git diff --stat 1 file changed, 96 insertions(+), 44 deletions(-)
git diff --check no whitespace errors
git status --short single M entry, no residue

Tests not run: no executable, schema, or test surface changed.

🤖 Generated with Claude Code

Post-merge (#155) read-only reconciliation against CR-DD-013's actual
resolve_capability() code and this repo's own tracked triagecore.toml
found the CR's causal account of its own motivating evidence was wrong:
a declaration with a resolved model binding authorizes route
consideration without any probe, so "no probe means local_only fails
closed" does not hold in general.

- Add a Corrective Amendment section naming what changed and why;
  CR-DD-013 remains the governing runtime semantics.
- Problem Statement / Determination: replace "undiscoverable
  prerequisite for execution" with the actual gap -- the assurance
  role of probing (upgrade vs. override) is undocumented.
- Motivating Evidence: keep Trial 001 (genuinely pre-declaration,
  pre-CR-DD-014) as the real no-declaration/no-probe case; withdraw
  the Aug-8 trial as evidence for probe-absence-caused blocking --
  its capability resolved fully available, and the block traces to a
  sensitivity-driven human_handoff selection, not capability.
- Invariant 4: replace the falsified "fail closed when not observed"
  statement with the actual asymmetry (declaration+binding is
  sufficient absent an observation; a fresh negative observation
  overrides it; only no-usable-evidence-at-all fails closed).
- In Scope / Acceptance Criterion 1: require the future quickstart
  text to document the three-case contract, not a "Configured-not-
  Observed block" that doesn't describe how the code behaves.

Docs-only correction to a requirements contract; grants no
implementation authority. Status remains Proposed.
@netlify

netlify Bot commented Aug 11, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for poetic-quokka-0fd859 ready!

Name Link
🔨 Latest commit 65dca1e
🔍 Latest deploy log https://app.netlify.com/projects/poetic-quokka-0fd859/deploys/6a7ab158430ecb0008102e41
😎 Deploy Preview https://deploy-preview-156--poetic-quokka-0fd859.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coreytshaffer
coreytshaffer merged commit 35de506 into main Aug 11, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant