feat(event-driven): REAL_ASYNC_BRIDGE acceptance persistence + gate reconciliation #348

Merged
conductor merged 7 commits from event-driven-clean into master 2026-09-19 04:06:23 +01:00
Owner

REAL_ASYNC_BRIDGE — acceptance persistence + governed closure

Implementation was already proven in the final unobserved acceptance run
(ci-5b61f8a8bb8273d0fbe5124dd81a952f208ef41c, verdict
REAL_ASYNC_BRIDGE_COMPLETE — see store/scaffold/real_bridge_final_acceptance.json
for the raw persisted timeline). This PR persists evidence and reconciles
gate truth; it contains NO new async feature work.

Contents

  • Acceptance evidence artifact: raw timeline, model call counts, wake
    classification (watchdog nuance preserved: failure-detector cycle = 1,
    completion discovered by watchdog = 0), canonical terminal state,
    observer contamination audit, latency table with precision labels,
    14/14 acceptance conditions.
  • Gate reconciliation (evidence-specific): real_bridge 14 PASS /
    R13 PARTIAL (branch proven; PR+master flows unrun) / R8 UNRUN;
    mimo_semantics 10 PASS / M9+M10 UNRUN.
  • Drive-skip correctness fix: self-resume detection keyed on explicit
    ext.resume_mode marker instead of resume_cmd absence — records without
    inline resume_cmd remain dispatchable via the WR_RESUME_CMD env template
    (daemon suites 45/45, 36/36, 7/7 green).
  • Lost-event FAILURE-RECOVERY spec persisted, deliberately NOT executed
    (separate from healthy-path statistics).

Test evidence

  • Full repo suite at HEAD: 2196 passed / 0 failed (.ci-venv)
  • Daemon suites: v02 45/45, v03 36/36, v04 7/7
  • Integration/targeted: 43 + 24 passed post-fix

Post-acceptance items (recorded, deferred)

  • Operation semantics bound at creation (not inferred from id shape)
  • Nonblocking MiMo harness (execSync occupies tool host)
  • Tool-return-to-model-turn latency attribution (SOURCE_UNKNOWN)

Propagation: async bridge acceptance evidence persisted (final unobserved run ci-5b61f8a, verdict REAL_ASYNC_BRIDGE_COMPLETE); state-ownership fix (resume_mode=self, terminal guard) verified by frozen tests tests/test_real_async_integration.py (15) + daemon suites v02 45/45, v03 36/36, v04 7/7; full suite 2196/0 at HEAD; dep-lock refreshed for upstream platformdirs 4.11.11 drift; no umbrella map changes required (no new runtime modules; bridge/daemon is deployed infra source, drive-skip keyed on ext.resume_mode marker).

## REAL_ASYNC_BRIDGE — acceptance persistence + governed closure **Implementation was already proven** in the final unobserved acceptance run (ci-5b61f8a8bb8273d0fbe5124dd81a952f208ef41c, verdict REAL_ASYNC_BRIDGE_COMPLETE — see store/scaffold/real_bridge_final_acceptance.json for the raw persisted timeline). This PR persists evidence and reconciles gate truth; it contains NO new async feature work. ### Contents - **Acceptance evidence artifact**: raw timeline, model call counts, wake classification (watchdog nuance preserved: failure-detector cycle = 1, completion discovered by watchdog = 0), canonical terminal state, observer contamination audit, latency table with precision labels, 14/14 acceptance conditions. - **Gate reconciliation** (evidence-specific): real_bridge 14 PASS / R13 PARTIAL (branch proven; PR+master flows unrun) / R8 UNRUN; mimo_semantics 10 PASS / M9+M10 UNRUN. - **Drive-skip correctness fix**: self-resume detection keyed on explicit ext.resume_mode marker instead of resume_cmd absence — records without inline resume_cmd remain dispatchable via the WR_RESUME_CMD env template (daemon suites 45/45, 36/36, 7/7 green). - **Lost-event FAILURE-RECOVERY spec** persisted, deliberately NOT executed (separate from healthy-path statistics). ### Test evidence - Full repo suite at HEAD: 2196 passed / 0 failed (.ci-venv) - Daemon suites: v02 45/45, v03 36/36, v04 7/7 - Integration/targeted: 43 + 24 passed post-fix ### Post-acceptance items (recorded, deferred) - Operation semantics bound at creation (not inferred from id shape) - Nonblocking MiMo harness (execSync occupies tool host) - Tool-return-to-model-turn latency attribution (SOURCE_UNKNOWN) Propagation: async bridge acceptance evidence persisted (final unobserved run ci-5b61f8a, verdict REAL_ASYNC_BRIDGE_COMPLETE); state-ownership fix (resume_mode=self, terminal guard) verified by frozen tests tests/test_real_async_integration.py (15) + daemon suites v02 45/45, v03 36/36, v04 7/7; full suite 2196/0 at HEAD; dep-lock refreshed for upstream platformdirs 4.11.11 drift; no umbrella map changes required (no new runtime modules; bridge/daemon is deployed infra source, drive-skip keyed on ext.resume_mode marker).
conductor added 2 commits 2026-09-19 03:00:33 +01:00
chore(event-driven): diagnostic run evidence — full B-chain observed (contaminated window, superseded by final unobserved run)
CI Pipeline / lint (push) Successful in 54s
CI Pipeline / canary (push) Successful in 31s
CI Pipeline / best-practices (push) Successful in 6s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / type-check (push) Successful in 32s
CI Pipeline / gitea-offline (push) Successful in 18s
deploy / deploy (push) Skipped
CI Pipeline / unit-tests (push) Successful in 4m34s
CI Pipeline / required-checks (push) Successful in 4s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 7s
5b61f8a8bb
chore(event-driven): acceptance persistence + gate reconciliation + lost-event spec — REAL_ASYNC_BRIDGE healthy path COMPLETE
CI Pipeline / best-practices (push) Successful in 9s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / lint (push) Failing after 35s
CI Pipeline / canary (push) Successful in 37s
deploy / deploy (push) Skipped
CI Pipeline / gitea-offline (push) Successful in 20s
CI Pipeline / type-check (push) Successful in 33s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 7s
CI Pipeline / unit-tests (pull_request) Failing after 39s
CI Pipeline / lint (pull_request) Failing after 42s
CI Pipeline / best-practices (pull_request) Successful in 8s
CI Pipeline / documentation (pull_request) Successful in 8s
CI Pipeline / canary (pull_request) Successful in 1m1s
CI Pipeline / gitea-offline (pull_request) Successful in 27s
CI Pipeline / type-check (pull_request) Successful in 34s
CI Pipeline / required-checks (pull_request) Failing after 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 8s
Spec gate (headless) / spec-gate (pull_request) Successful in 18s
CI Pipeline / unit-tests (push) Successful in 5m4s
CI Pipeline / required-checks (push) Failing after 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 15s
a7ec1b49d7
Acceptance evidence (store/scaffold/real_bridge_final_acceptance.json):
final unobserved run ci-5b61f8a — raw timeline, model counts (1 await-
operation, 0 other tools/sleeps/polls/rearms/observers), wake
classification (event=1, watchdog-discovered=0, deadline=0,
WATCHDOG_FAILURE_DETECTOR_CYCLE_COUNT=1 with the nuance preserved),
canonical terminal state (COMPLETED/success/authority_verified_terminal,
no FIFO contradiction), latency table with precision labels, 14/14
acceptance conditions PASS.

Gate reconciliation (evidence-specific, no bulk-pass):
- real_bridge_gates: 14 PASS, R13 PARTIAL (branch proven; PR/master flows
  unrun), R8 UNRUN (deliberate lost-event fault test not executed)
- mimo_semantics_gates: 10 PASS, M9/M10 UNRUN (PR/master via tool unrun)

Drive-skip correctness fix: self-resume detection keyed on explicit
ext.resume_mode marker instead of resume_cmd absence — records without
inline resume_cmd remain dispatchable via the WR_RESUME_CMD env template
(v02 T12/T10/v03 F regressions were stale-daemon interference on the test
root, but the absence-keyed skip was still wrong design; daemon suites
45/45 + 36/36 + 7/7 green after fix).

Lost-event FAILURE-RECOVERY spec persisted (lost_event_recovery_spec.json)
— specified, deliberately NOT executed; separate from healthy-path stats.

Implementation was proven in the final unobserved run; this commit is
acceptance evidence persistence, not feature work.
gitea-actions Bot added the buggovernanceinfrastructurememory labels 2026-09-19 03:00:46 +01: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>
conductor added 1 commit 2026-09-19 03:08:56 +01:00
chore: retrigger CI (transient duplicate-run nondeterminism: 9464/9467 failure vs local lint-clean + 2196/0; documented quirk remedy)
CI Pipeline / best-practices (push) Successful in 11s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / lint (push) Failing after 36s
CI Pipeline / canary (push) Successful in 41s
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / type-check (push) Successful in 35s
CI Pipeline / lint (pull_request) Failing after 37s
CI Pipeline / best-practices (pull_request) Successful in 6s
CI Pipeline / unit-tests (pull_request) Failing after 36s
CI Pipeline / canary (pull_request) Successful in 42s
CI Pipeline / documentation (pull_request) Successful in 8s
deploy / deploy (push) Skipped
CI Pipeline / gitea-offline (pull_request) Successful in 21s
CI Pipeline / type-check (pull_request) Successful in 38s
Spec gate (headless) / spec-gate (pull_request) Successful in 22s
CI Pipeline / unit-tests (push) Successful in 4m54s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 5s
CI Pipeline / required-checks (pull_request) Failing after 11m43s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 19s
0722dc2339

🤖 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>
conductor added 1 commit 2026-09-19 03:32:38 +01:00
style: ruff-format branch-added python files
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / documentation (push) Successful in 8s
CI Pipeline / lint (push) Failing after 29s
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / type-check (push) Successful in 33s
CI Pipeline / lint (pull_request) Failing after 31s
CI Pipeline / best-practices (pull_request) Successful in 7s
CI Pipeline / unit-tests (pull_request) Failing after 37s
CI Pipeline / documentation (pull_request) Successful in 8s
CI Pipeline / canary (pull_request) Successful in 33s
CI Pipeline / gitea-offline (pull_request) Successful in 18s
CI Pipeline / type-check (pull_request) Successful in 34s
Spec gate (headless) / spec-gate (pull_request) Successful in 17s
deploy / deploy (push) Skipped
CI Pipeline / required-checks (pull_request) Failing after 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 8s
CI Pipeline / canary (push) Successful in 32s
CI Pipeline / unit-tests (push) Successful in 4m46s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 6s
16164c6f5e
CI lint's format-check on added files (base-range dependent) failed on
files that predate the format gate's effective coverage. Formatting-only:
no semantic changes; integration tests 15/15, ruff check clean, ratchet
PASS, daemon convergence re-verified.

🤖 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>
conductor added 1 commit 2026-09-19 03:45:05 +01:00
chore(deps): refresh lock — platformdirs 4.11.10 -> 4.11.11 (upstream release drift)
CI Pipeline / best-practices (push) Successful in 10s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 36s
CI Pipeline / lint (push) Successful in 46s
CI Pipeline / type-check (push) Successful in 32s
CI Pipeline / gitea-offline (push) Successful in 18s
CI Pipeline / lint (pull_request) Successful in 44s
CI Pipeline / unit-tests (pull_request) Failing after 35s
CI Pipeline / canary (pull_request) Successful in 38s
CI Pipeline / best-practices (pull_request) Successful in 5s
CI Pipeline / documentation (pull_request) Successful in 7s
deploy / deploy (push) Skipped
CI Pipeline / type-check (pull_request) Successful in 34s
CI Pipeline / gitea-offline (pull_request) Successful in 18s
Spec gate (headless) / spec-gate (pull_request) Successful in 19s
CI Pipeline / required-checks (pull_request) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 8s
CI Pipeline / unit-tests (push) Successful in 4m35s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 6s
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 1s
a2c4a11b0d
Root cause of the six consecutive CI lint failures (9464/9467/9471/9472/
9480/9479): the dep-lock ratchet correctly detected upstream drift
(platformdirs 4.11.11 released; uv pip compile regenerates a different
lock). Not a code defect — proven locally: fresh-venv reproduction of the
lint job's dep-lock step failed with exactly this mismatch. Remedy per
#150: regenerate + commit.

🤖 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>
conductor added 1 commit 2026-09-19 03:52:49 +01:00
chore: retrigger PR CI (umbrella propagation body now present; push CI green at 9485)
CI Pipeline / best-practices (push) Successful in 12s
CI Pipeline / documentation (push) Successful in 5s
CI Pipeline / canary (push) Successful in 36s
CI Pipeline / lint (push) Successful in 51s
CI Pipeline / gitea-offline (push) Successful in 17s
CI Pipeline / type-check (push) Successful in 31s
CI Pipeline / lint (pull_request) Successful in 46s
CI Pipeline / canary (pull_request) Successful in 42s
CI Pipeline / best-practices (pull_request) Successful in 16s
CI Pipeline / documentation (pull_request) Successful in 11s
CI Pipeline / type-check (pull_request) Successful in 33s
CI Pipeline / gitea-offline (pull_request) Successful in 24s
deploy / deploy (push) Skipped
Spec gate (headless) / spec-gate (pull_request) Successful in 30s
CI Pipeline / unit-tests (push) Successful in 4m39s
CI Pipeline / required-checks (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 7s
CI Pipeline / unit-tests (pull_request) Successful in 4m55s
CI Pipeline / required-checks (pull_request) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 5s
a168cd935e

🤖 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>
conductor added 1 commit 2026-09-19 03:59:49 +01:00
Merge branch 'master' into event-driven-clean
CI Pipeline / documentation (push) Successful in 8s
CI Pipeline / best-practices (push) Successful in 10s
CI Pipeline / canary (push) Successful in 38s
CI Pipeline / canary (pull_request) Successful in 34s
CI Pipeline / best-practices (pull_request) Successful in 27s
CI Pipeline / documentation (pull_request) Successful in 6s
CI Pipeline / gitea-offline (pull_request) Successful in 18s
CI Pipeline / type-check (pull_request) Successful in 31s
deploy / deploy (push) Skipped
CI Pipeline / lint (push) Successful in 42s
CI Pipeline / type-check (push) Successful in 33s
CI Pipeline / gitea-offline (push) Successful in 17s
Spec gate (headless) / spec-gate (pull_request) Successful in 12s
CI Pipeline / lint (pull_request) Successful in 40s
CI Pipeline / unit-tests (push) Successful in 4m35s
CI Pipeline / required-checks (push) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 6s
CI Pipeline / unit-tests (pull_request) Successful in 4m34s
CI Pipeline / required-checks (pull_request) Successful in 1s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 14s
Auto-version and Release / release (pull_request) Failing after 1m10s
96f0e7e263

🤖 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>
conductor merged commit c7b2edd4fc into master 2026-09-19 04:06:23 +01:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#348