docs(rfc): record recurring failures and gate their repair - #1557
Merged
Teingi merged 14 commits intoSep 12, 2026
Conversation
1 task
Align the bilingual RFC with the Issue oceanbase#1554 evidence-accounting decision. Constraint: Preserve prepare as a completely read-only path and keep the change limited to the RFC. Rejected: Recording candidate_not_selected, treating missing selected provenance as recall failure, or changing runtime behavior in this documentation update. Confidence: high Scope-risk: low Tested: git diff --cached --check; local Markdown-link resolution for both RFCs; pnpm lint; pnpm generate; pnpm check:links (blocked by existing repository-wide link failures in 184 files, including historical RFCs). Not-tested: Static-site build did not run because the repository-wide link gate failed before Next.js compilation. Co-authored-by: OmX <omx@oh-my-codex.dev>
Correct the Handoff receipt provenance chain and give embedded Task Outcome evidence a replayable locator. Constraint: receipt-aware provenance; avoided requires condition and check item references; exact matching only. Rejected: direct TaskCheck Source refs; new rejection Source kinds; human-confirmed recurrence matches. Confidence: high Scope-risk: low Tested: git diff --cached --check; RFC local links; Markdown structure; pnpm lint; pnpm generate. Not-tested: pnpm check:links is blocked by the repository-wide link baseline (184 files, 810 errors). Co-authored-by: OmX <omx@oh-my-codex.dev>
Require verified same-outcome evidence for avoided events and preserve the exact failed item for recurrence events. Constraint: prepare remains read-only; receipt provenance stays accepted/exact; all ledger evidence is replayable from immutable Source content. Rejected: treating declared checks as proof of avoidance; counting a whole Task Outcome without its failing item; direct Outcome-to-Handoff linkage. Confidence: high Scope-risk: low Tested: git diff --cached --check; RFC local links; Markdown fence structure; RFC evidence-invariant assertions; pnpm lint; pnpm generate. Not-tested: pnpm check:links remains blocked by the repository-wide link baseline (184 files, 810 errors). Co-authored-by: OmX <omx@oh-my-codex.dev>
Make the fixture's avoided, recurred, and unknown outcomes mutually exclusive and require event-level validation before persistence. Constraint: event IDs include all evidence locators; selected remains receipt-derived; prepare stays read-only. Rejected: shared contradictory fixture outcomes; idempotency keys that omit embedded evidence; permissive event rows. Confidence: high Scope-risk: low Tested: git diff --cached --check; RFC local links; Markdown fence structure; recurrence-invariant assertions; pnpm lint; pnpm generate. Not-tested: pnpm check:links remains blocked by the repository-wide link baseline (184 files, 810 errors). Co-authored-by: OmX <omx@oh-my-codex.dev>
AlexStocks
commented
Sep 12, 2026
AlexStocks
commented
Sep 12, 2026
AlexStocks
commented
Sep 12, 2026
AlexStocks
commented
Sep 12, 2026
Bind avoided evidence to the reviewed verification fields, route recurrence without causal claims, and use immutable Task Outcome journal positions for replayable streaks. Constrain experience-content repairs to Experience revisions and preserve unlinked recurrence evidence without allowing it to imply avoidance. Co-authored-by: OmX <omx@oh-my-codex.dev>
AlexStocks
commented
Sep 12, 2026
AlexStocks
commented
Sep 12, 2026
AlexStocks
commented
Sep 12, 2026
AlexStocks
commented
Sep 12, 2026
Persist frozen candidate sets and match decisions so recurrence attribution is replayable across Source processing and Experience revisions. Define failure evidence states and expose recurrence statistics through the public scoped statistics contract. Co-authored-by: OmX <omx@oh-my-codex.dev>
Exercise the frozen match decision and revision-head boundary in the minimum replayable source graph. Co-authored-by: OmX <omx@oh-my-codex.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue or RFC does this PR close? Answers the design question in #1554 (
feat: localize recurring failures to memory components and gate their repair). It does not close that issue: this PR adds an RFC only and does not ship a capability. # Scope Adds the bilingual RFC 1557 only. It changes no runtime code, OpenAPI contract, generated source, persistence format, or currentpreparebehavior. # Design direction - Add an optionalfailureblock toExperienceContent: a machine-matchable signature, a Review-confirmedrepair_surface, and a verification binding. - Keeppreparecompletely read-only. Do not recordcandidate_not_selected; a byte-budget omission is not a negative result. - Reconstructselectedonly from immutable provenance:TaskOutcome.handoff_receipt_ref-> Handoff Receipt Source -> accepted/exactselected_revision-> Handoff revision ->HandoffArtifactCitation-> Experience revision. Missing linkage is a provenance-coverage gap, never proof of a recall-policy fault. - Treatavoidedas evidence-gated. The same linked Task Outcome must contain a verified condition observation and a verified, passing bound check; both need exact evidence and replayable item locators. A declared check, a task that stayed quiet, or an unexercised check remainsunknown. - Retainfailure_reffor eachrecurredevent, so recurrence counters, replay, and Review all identify the same immutable failing observation or check. - Keep events append-only and idempotent. The signature is a match key, while immutable(artifact_id, revision)remains the Artifact identity. - Use Review-gated follow-up only. The RFC proposes no automatic retirement, decay, deactivation, ranking change, or cross-scope learning. # User-facing changes None in this PR. The RFC proposes future implementation work, including an optionalfailureobject onExperienceProposal; that implementation would require the normal OpenAPI generation and contract checks. # Validation -git diff --check- Local relative-link validation for both RFCs - Markdown fence and heading structure validation - RFC consistency checks for receipt-aware provenance, embedded-item locators, and exact-only matching -website/pnpm lint-website/pnpm generateGitHub Actions passed all 17 reported checks onaafd14c85da95a24bdb731c53d0f34a000ec5aaa, including Main, E2E harness, Native personal service, License Check, and CLA. Localwebsite/pnpm check:linksis blocked by the repository-wide website-link baseline: 184 files and 810 errors across pre-existing documentation. The two changed RFCs pass their direct relative-link check. # AI usage statement WorkBuddy and Codex were used to inspect the current implementation and related RFCs, check Issue #1554 decisions against the RFC, validate referenced model constraints, draft the bilingual RFC, and perform iterative review. The design decisions, scope boundaries, and final edits were reviewed interactively with the author.