docs+test(research): R0 canonical protocol ratification and drift characterization (#2617) #2623

Open
conductor wants to merge 1 commits from feat/2617-research-r0 into master
pull from: feat/2617-research-r0
Owner

Relates to #2617

R0 ratification

  • Ratifies the canonical chain: ISSUE → INWARD → OUTWARD → APPLICABILITY → optional INNOVATION → ADVERSARIAL → SYNTHESIS → QUALIFY.
  • Defines RESEARCH_REPORT versus BUILD_PLAN/BUILD_BASIS and their distinct evidence-sufficiency versus implementation-readiness gates.
  • Ratifies the query/receipt/source-read/claim mapping, contradiction, independent-origin, and disposition evidence schema; validate-then-advance transactional acceptance; refinement/reopen lineage; and migration of the legacy Gitea gate followed by retirement of its four-phase schema after canonical parity.
  • Documents 17 R1/R2 invariants in docs/RESEARCH_PROTOCOL_V1.md. No production behavior changes are included.

Proposed depth profiles

These are explicitly PROPOSED, not current behavior:

  • INWARD: ISSUE → INWARD → SYNTHESIS → QUALIFY.
  • OUTWARD: ISSUE → INWARD → OUTWARD → APPLICABILITY → SYNTHESIS → QUALIFY.
  • INNOVATION_WARRANTED or adversarial need in an abbreviated profile escalates to FULL rather than removing safeguards. FULL retains conditional INNOVATION and mandatory ADVERSARIAL.

Historical fixtures and drift characterization

Five verbatim issue-163 fixtures preserve the intended full chain and actual drifts. The held-out battery contains 11 passing invariant tests and 17 strict expected-failure drift tests, with no skips or XPASS.

Expected failures cover: generic research routing (2); missing contextual planner invocation; ignored required_stages; OUTWARD/APPLICABILITY contradiction (compiler + historical fixture); filename-only INWARD claims; prompt-compiler bypass; lossy evidence handoff; non-transactional placement rejection; mutation before route-validation rejection; nested reopen left as PROCEED; incomplete refinement bookkeeping; missing RESEARCH_REPORT terminal shape; construction-only SYNTHESIS; construction-only QUALIFY; and the parallel legacy four-phase gate.

Verification

  • --runxfail: 17 failed, 11 passed — every intended drift reproduced.
  • Normal characterization run: 11 passed, 17 xfailed.
  • Original audit suites: 83 passed + 118 passed = 201 passed.
  • Combined original + R0 suites: 212 passed, 17 xfailed.
  • Pinned Ruff 0.16.5: All checks passed.
  • All five fixtures are byte-identical to research/issue-163 sources; staged construction gate GREEN.
  • Research-gate sweep resolves the R0 contract GREEN. The repository-wide sweep still reports one unchanged pre-existing violation for ADMIT-release-reporting; R0 does not modify it.

Construction contract: ADMIT-wave-research-r0-2617.

Relates to #2617 ## R0 ratification - Ratifies the canonical chain: ISSUE → INWARD → OUTWARD → APPLICABILITY → optional INNOVATION → ADVERSARIAL → SYNTHESIS → QUALIFY. - Defines RESEARCH_REPORT versus BUILD_PLAN/BUILD_BASIS and their distinct evidence-sufficiency versus implementation-readiness gates. - Ratifies the query/receipt/source-read/claim mapping, contradiction, independent-origin, and disposition evidence schema; validate-then-advance transactional acceptance; refinement/reopen lineage; and migration of the legacy Gitea gate followed by retirement of its four-phase schema after canonical parity. - Documents 17 R1/R2 invariants in docs/RESEARCH_PROTOCOL_V1.md. No production behavior changes are included. ## Proposed depth profiles These are explicitly PROPOSED, not current behavior: - INWARD: ISSUE → INWARD → SYNTHESIS → QUALIFY. - OUTWARD: ISSUE → INWARD → OUTWARD → APPLICABILITY → SYNTHESIS → QUALIFY. - INNOVATION_WARRANTED or adversarial need in an abbreviated profile escalates to FULL rather than removing safeguards. FULL retains conditional INNOVATION and mandatory ADVERSARIAL. ## Historical fixtures and drift characterization Five verbatim issue-163 fixtures preserve the intended full chain and actual drifts. The held-out battery contains 11 passing invariant tests and 17 strict expected-failure drift tests, with no skips or XPASS. Expected failures cover: generic research routing (2); missing contextual planner invocation; ignored required_stages; OUTWARD/APPLICABILITY contradiction (compiler + historical fixture); filename-only INWARD claims; prompt-compiler bypass; lossy evidence handoff; non-transactional placement rejection; mutation before route-validation rejection; nested reopen left as PROCEED; incomplete refinement bookkeeping; missing RESEARCH_REPORT terminal shape; construction-only SYNTHESIS; construction-only QUALIFY; and the parallel legacy four-phase gate. ## Verification - `--runxfail`: 17 failed, 11 passed — every intended drift reproduced. - Normal characterization run: 11 passed, 17 xfailed. - Original audit suites: 83 passed + 118 passed = 201 passed. - Combined original + R0 suites: 212 passed, 17 xfailed. - Pinned Ruff 0.16.5: All checks passed. - All five fixtures are byte-identical to research/issue-163 sources; staged construction gate GREEN. - Research-gate sweep resolves the R0 contract GREEN. The repository-wide sweep still reports one unchanged pre-existing violation for ADMIT-release-reporting; R0 does not modify it. Construction contract: ADMIT-wave-research-r0-2617.
conductor added 1 commit 2026-10-26 01:30:53 +00:00
docs+test(research): R0 canonical protocol and drift characterization (#2617) (ADMIT-wave-research-r0-2617)
deploy / deploy (push) Skipped
CI Pipeline / go-surface (push) Canceled after 0s
CI Pipeline / rust-surface (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 0s
CI Pipeline / best-practices (push) Canceled after 0s
CI Pipeline / documentation (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 0s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 21s
CI Pipeline / lint (push) Canceled after 45s
Auto-label / auto-label (pull_request) Successful in 1s
Local-Model First-Pass Review (#131) / first-pass-review (pull_request) Successful in 20s
Spec gate (headless) / spec-gate (pull_request) Successful in 16s
CI Pipeline / lint (pull_request) Failing after 44s
CI Pipeline / go-surface (pull_request) Failing after 24s
CI Pipeline / rust-surface (pull_request) Failing after 7s
CI Pipeline / unit-tests (pull_request) Failing after 1m17s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / type-check (pull_request) Failing after 43s
CI Pipeline / canary (pull_request) Failing after 1m3s
CI Pipeline / gitea-offline (pull_request) Successful in 20s
CI Pipeline / required-checks (pull_request) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Failing after 5s
e06fdf2602
gitea-actions Bot added the P1 — highbugcustodiangovernanceperception labels 2026-10-26 01:31:01 +00:00

🤖 Headless spec gate (non-blocking, #204 first slice)

Spec-gate agent produced no text output — check runner logs.

Deterministic floors still govern the merge

This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.

🤖 **Headless spec gate (non-blocking, #204 first slice)** Spec-gate agent produced no text output — check runner logs. <details><summary>Deterministic floors still govern the merge</summary> This comment is advisory. Required checks (lint, tests, canaries, type-check, coverage, dependency lock, impact gate) remain the merge authority per docs/adversarial-review.md proportionality.</details>
Some required checks failed
deploy / deploy (push) Skipped
CI Pipeline / go-surface (push) Canceled after 0s
CI Pipeline / rust-surface (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 0s
CI Pipeline / best-practices (push) Canceled after 0s
CI Pipeline / documentation (push) Canceled after 0s
CI Pipeline / type-check (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 0s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / unit-tests (push) Canceled after 21s
CI Pipeline / lint (push) Canceled after 45s
Auto-label / auto-label (pull_request) Successful in 1s
Local-Model First-Pass Review (#131) / first-pass-review (pull_request) Successful in 20s
Spec gate (headless) / spec-gate (pull_request) Successful in 16s
CI Pipeline / lint (pull_request) Failing after 44s
CI Pipeline / go-surface (pull_request) Failing after 24s
CI Pipeline / rust-surface (pull_request) Failing after 7s
CI Pipeline / unit-tests (pull_request) Failing after 1m17s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / documentation (pull_request) Successful in 3s
CI Pipeline / type-check (pull_request) Failing after 43s
CI Pipeline / canary (pull_request) Failing after 1m3s
CI Pipeline / gitea-offline (pull_request) Successful in 20s
CI Pipeline / required-checks (pull_request) Failing after 1s
Required
Details
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Failing after 5s
This pull request has changes conflicting with the target branch.
  • store/scaffold/segments/observations.jsonl
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/2617-research-r0:feat/2617-research-r0
git checkout feat/2617-research-r0
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#2623