Skip to content

feat(relation): refuse reverse input-process-outcome event time - #138

Draft
seonghobae wants to merge 1 commit into
mainfrom
agent/outcome-order
Draft

feat(relation): refuse reverse input-process-outcome event time#138
seonghobae wants to merge 1 commit into
mainfrom
agent/outcome-order

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Input→process→outcome edges require a strict later event-time rank (ADR 0002/0003). input_to and process_to cannot move backward or stay contemporaneous. outcome_of may point at an earlier producer and cannot become a forward state transition. Recovery is the computed share of recovered IPO kinds that match known truth versus collapsing every kind to input_to.

Complementary to relation_graph forward-order validation. This crate owns IPO-versus-provenance identity and event-time rank order. Event-time ranks are opaque ordinals, not clock identities.

Local gates:

  • cargo test -p outcome_order --all-targets GREEN after RED (package did not exist)
  • clippy -D warnings PASS
  • workspace contract PASS
  • docstring contract PASS
  • lines 19/19; nightly-2026-08-01 branches 6/6

Does not allocate migration 0008. Does not recreate translation_edge, retrospective_edge, citation_edge, or clock crates.

Keep this PR draft. Preferred merge remains #46 only when exact-head required Checks pass and a qualifying independent (non-Cursor/CodeRabbit) APPROVE exists. OpenCode CHANGES_REQUESTED on #46 is a coverage-evidence race (live checks are green) — do not empty-commit.

input_to and process_to require a strict later event-time rank
(ADR 0002/0003). outcome_of may point at an earlier producer and
cannot become a state transition. Recovery is the computed share of
IPO kinds that match known truth versus collapsing every kind to
input_to.
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f9da4ba9-093c-4300-bd84-020c5d4a4ee5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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