Skip to content

test: publish resident supervisor seam proof - #244

Draft
nestharus wants to merge 6 commits into
mainfrom
prototype-test-age-274-clarify
Draft

test: publish resident supervisor seam proof#244
nestharus wants to merge 6 commits into
mainfrom
prototype-test-age-274-clarify

Conversation

@nestharus

Copy link
Copy Markdown
Owner

Verdict

DECOMPOSE. The frozen branch provides passing, independently reviewable proof for a physically non-mutating read path, an isolated durable lifecycle model, and a resident session-owner seam. The evidence supports delivering the production work through the mapped implementation tickets rather than one combined change; it does not prove the production joins, targeted recovery, or legacy cutover.

Reviewer focus

Review follows ~/ai/conventions/prototype-review.md. Please comment on test design, alignment between the observed outcomes and the dossier, traceability of the no-marker carry-forward obligations, and whether the tests support the DECOMPOSE verdict. This is not a review of disposable prototype source quality.

Test manifest

  • Prototype-test branch/ref: prototype-test-age-274-clarify at 7a32b34ad49d36bbed9325a44a25db0e8c4ce770.
  • Review base: main at 00c33ed448e777eed1837ee94b4fbe4b313ac17b.
  • Focused result at the frozen ref: 17 passed; 0 failed.
  • Expected fail-if-unmasked command: not applicable. These tests pass without pending markers, so inventing an expected-failure command would misstate the evidence.

Published test paths, copied from dossier/test-publication-manifest.md:

  • crates/oulipoly-runtime/tests/session_supervisor_loop.rs -> AGE-277, AGE-280, AGE-279, AGE-278 through the exact nodes below.
  • crates/oulipoly-state/tests/age274_durable_lifecycle_prototype.rs -> AGE-276, AGE-277, AGE-280, AGE-279, AGE-278 through the exact nodes below.
  • crates/oulipoly-state/tests/age274_mailbox_read_only_characterization.rs -> AGE-275, AGE-277, AGE-279, AGE-278 through the exact nodes below.
  • crates/oulipoly-runtime/tests/observability_snapshot.rs -> AGE-275 and AGE-278 through the exact node below.

Published node IDs and their production carry-forward mappings:

  • owner_queues_active_notifications_and_stays_alive_across_turns -> AGE-277, AGE-280, AGE-279, AGE-278.
  • notification_order_and_child_exits_are_isolated_per_session -> AGE-277, AGE-280, AGE-279, AGE-278.
  • one_supervisor_lease_requires_the_exact_process_generation_and_token_fence -> AGE-276, AGE-277, AGE-278.
  • one_nonterminal_turn_is_enforced_for_known_and_late_attached_sessions -> AGE-276, AGE-277.
  • authoritative_transition_and_event_append_commit_or_roll_back_together -> AGE-276, AGE-277.
  • events_have_session_sequences_causality_and_replay_safe_dispositions -> AGE-276, AGE-277, AGE-278.
  • external_ingress_cursor_is_monotonic_persisted_and_session_local -> AGE-276, AGE-280, AGE-278.
  • acknowledgement_stages_are_distinct_idempotent_and_exact_fenced -> AGE-276, AGE-280, AGE-279, AGE-278.
  • bounded_reconstruction_returns_only_one_sessions_authoritative_state -> AGE-276, AGE-277, AGE-278.
  • mailbox_open_read_only_missing_path_creates_no_parent_schema_or_sidecars -> AGE-275, AGE-278.
  • mailbox_open_read_only_preserves_files_and_recovers_claim_and_attempt_history -> AGE-275, AGE-278.
  • mailbox_open_read_only_recovers_committed_wal_state_without_mutating_source -> AGE-275, AGE-278.
  • pid_identity_open_read_only_preserves_source_and_recovers_exact_identity -> AGE-275, AGE-277, AGE-278.
  • read_only_missing_paths_for_all_facades_create_nothing -> AGE-275, AGE-278.
  • state_open_read_only_recovers_committed_wal_invocation_and_turn_without_mutating_source -> AGE-275, AGE-279, AGE-278.
  • writer_open_paths_retain_current_schema_and_wal_behavior -> AGE-275, AGE-276.
  • observability_sidecar_reads_preserve_physical_file_inventory_and_bytes -> AGE-275, AGE-278.

The manifest also carries the structural source obligation p2_no_poll_scan_sweep_sleep_timer_structural_signal, mapped to AGE-277, AGE-280, and AGE-278. Its exact command is:

! rg -n 'poll|scan|sweep|sleep|timer|interval|recv_timeout|try_recv|park_timeout' crates/oulipoly-runtime/src/session_supervisor.rs

That signal passed with no matches at the frozen ref. It applies only to the prototype module and is not an eighteenth Rust test or evidence that legacy polling, scans, and the process-global sweeper have already been removed.

Pending markers

The published frozen proof ref contains no prototype-pending: markers. All 17 seam tests pass unchanged at the frozen SHA; adding skip, ignore, fixme, or xfail markers would weaken the proof and falsely create an expected-failure signal.

If a downstream production adaptation genuinely becomes fail-expected, ~/ai/conventions/prototype-pending-tests.md requires this exact reason format:

prototype-pending: implementation pending in <ticket-key-or-url>; remove marker and make this test pass

Such markers are traceable implementation handoff debt, not generic skip or xfail permission. An implementation must remove an introduced marker or supersede the inherited test with a traceable strictly stronger equivalent. The marker is not permission to discard or weaken the original assertions.

Dossier link

  • Verdict and rationale: dossier/answer.md.
  • Risk analysis: dossier/risk-profile.md.
  • Claim-level proof and command transcripts: dossier/evidence/.
  • Proof-test review: dossier/proof-test-audit.md.
  • Publication contract and exact mappings: dossier/test-publication-manifest.md.
  • Implementation scopes and dependency order: dossier/spawned-tickets.md.

Spawned implementation tickets

The passing tests are durable seam proof. Each ticket must adapt and preserve its mapped proof at the production boundary; none of these links means that the production joins or cutover are already implemented.

  • AGE-275 retains the physical read-only substrate and its production observability proof.

Remove the prototype-pending: markers in the listed test files, make these tests pass, and preserve the original assertions unless the manifest, spawned ticket payload, or Phase 6 Step 6b output index records a strictly stronger equivalent supersession.

  • AGE-276 owns the durable lifecycle repository and production migration.

Remove the prototype-pending: markers in the listed test files, make these tests pass, and preserve the original assertions unless the manifest, spawned ticket payload, or Phase 6 Step 6b output index records a strictly stronger equivalent supersession.

  • AGE-277 owns resident session-supervisor integration with durable lifecycle authority.

Remove the prototype-pending: markers in the listed test files, make these tests pass, and preserve the original assertions unless the manifest, spawned ticket payload, or Phase 6 Step 6b output index records a strictly stronger equivalent supersession.

  • AGE-280 owns mailbox ingress, acknowledgement, and PTY evidence adapters.

Remove the prototype-pending: markers in the listed test files, make these tests pass, and preserve the original assertions unless the manifest, spawned ticket payload, or Phase 6 Step 6b output index records a strictly stronger equivalent supersession.

  • AGE-279 owns provider-turn execution and exact caller-result adapters.

Remove the prototype-pending: markers in the listed test files, make these tests pass, and preserve the original assertions unless the manifest, spawned ticket payload, or Phase 6 Step 6b output index records a strictly stronger equivalent supersession.

  • AGE-278 owns targeted recovery, diagnostics, joined proof, production cutover, and legacy-path removal.

Remove the prototype-pending: markers in the listed test files, make these tests pass, and preserve the original assertions unless the manifest, spawned ticket payload, or Phase 6 Step 6b output index records a strictly stronger equivalent supersession.

Anti-scope

This is not a production implementation PR. Reviewers should not request disposable prototype-source quality changes. CodeRabbit is not run by default, and production PR-review gates are not applied by default. This PR does not claim that the durable repository is installed through a production migration, that the resident owner is joined to production mailbox, PTY, provider, caller-result, or recovery paths, or that legacy wake scans and the process-global sweeper have been removed.

@linear

linear Bot commented Aug 8, 2026

Copy link
Copy Markdown

AGE-274

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