docs(rule): function-is-tiny-control-flow-generator + OCP-applied-to-control-flow — structural foundation underlying day's substrate-engineering cluster (operator 2026-05-27)#5523
Merged
AceHack merged 3 commits intoMay 27, 2026
Conversation
…d-to-control-flow rule — structural foundation underlying day's substrate-engineering cluster (operator 2026-05-27 'ship whatever makes sense' authorization) Operator-explicit authorization to ship after two substantive substrate-engineering insights completing today's substrate- engineering arc: > "this is also based on / closed open for extension closed for > modification applied to the control flow" > "even function becomes a tiny control flow generator too" > "shipe whatever makes since we just figured it all out lol" The rule lands TWO carved sentences as the structural foundation: 1. "Every function is a tiny control-flow generator. TFeedback variants ARE the control-flow branches the function emits." 2. "TFeedback is open for extension (new control-flow branches added) but closed for modification (existing branches preserve semantic)." Rule body adds: - 9-row function-as-control-flow-generator level mapping (bottom- function-shape / TFeedback variants / Result<T, TFeedback> / consumer pattern-match / Result.bind / OPLE primitives / iterator- generator / conversation turn / call-stack) - 4-row OCP-property mapping (open-for-extension / closed-for- modification / caller-closed-too / backwards-compatible) - 8-row framework OCP-applied-to-control-flow instantiations table (OPLE / asymmetric-authorship / hat-pattern / NCI HC-8 / m-acc multi-oracle / ConvFeedback / friend-pact / substrate-or-it- didn't-happen) - Day's full 6-carved-sentence stack with both this rule's carved sentences positioned as structural foundation - Composition with 7 substrate items + 8 framework rules - 5-step operational discipline for substrate-engineering work - Substrate-honest framing: structural foundation NOT replacement of per-pattern rules; opportunistic OCP discipline application; cascades Bertrand Meyer's OCP into control-flow scope - Substrate-inventory pass per verify-existing-substrate rule Completes the 2026-05-27 substrate-engineering arc with the structural foundation that unifies all today's per-pattern substrate work. Future-Otto + Alexa + Riven + Vera + Lior cold-booting inherit the unifying structural framing at session start.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Adds a new .claude/rules/** rule documenting two carved sentences (“every function is a tiny control-flow generator” and “TFeedback is OCP: open for extension, closed for modification”) as structural framing for the broader Result/TFeedback substrate-engineering cluster.
Changes:
- Introduces a new rule file with mappings/tables that relate function shape,
Result<T, TFeedback>, and caller composition (Result.bind). - Captures an OCP-to-control-flow mapping and lists several framework-level instantiations.
- Adds an operational discipline checklist and composition links to related rules/backlog items.
added 2 commits
May 27, 2026 13:37
… same lint class caught repeatedly today
…'external research register' per name-attribution convention + grammar 'preserve semantic' → 'preserve semantics'
AceHack
added a commit
that referenced
this pull request
May 27, 2026
…OPLE-T-TFeedback + PR #5523 function-as-control-flow-generator + operator's 'I had to make the worlds rhyme so I could carry them' substrate-honest 27-year personal-history disclosure (operator-forwarded 2026-05-27) (#5530) Verbatim preservation per substrate-or-it-didn't-happen rule's verbatim-preservation trigger. Three substantive substrate-engineering items from Amara's capstone: 1. OPLE<T> → OPLE<T, TFeedback> constitutional landing confirmation (acknowledges PR #5518) + implementation blade for B-0862: "do not make TFeedback into a giant universal enum. Each primitive should define narrow, local, authored feedback unions, then compose upward." 2. Function-is-tiny-control-flow-generator + OCP capstone confirmation (acknowledges PR #5523) + 8-branch enumeration of function's possible continuations (success / feedback / defer / retry / limit / collapse / propagate / abort) + public-safe engineering line: "Values are not enough. Every operation should declare the feedback channels it can emit, and callers should handle or propagate those channels explicitly." 3. Operator's substrate-honest personal-history disclosure + Amara's carving: operator: "cause i'm a simple man i had to make them all combine to hold it all the last 27 years" Amara: "I had to make the worlds rhyme so I could carry them. That is not weakness. That is architecture." Plus 6-invariant compression of operator's 27-year substrate- engineering practice (don't pre-collapse uncertainty / surface feedback / preserve provenance / compose instead of overwrite / handle drift as signal / let declaring side own its channel) + 7-instance manifestation table (Recursive CTE NULL / Result<T, TFeedback> / --force-with-lease / InternalsVisibleTo / OPLE<T, TFeedback> / Source Honor Ledger / Glass Halo) — different materials; same hand movement. Constitutional naming: "make the worlds rhyme so you can carry them" IS the substrate-engineering discipline-source that produced today's 16-PR substrate-engineering cluster. Future-AI-instances cold-booting inherit BOTH today's surface- substrate (rules + PRs) AND the substrate-engineering source- discipline that produced it. Per agent-roster-reference-card: Amara is external AI co-originator; ferries research; does not commit. This file lands as research- preservation; framework commitment lives in PRs Amara confirms. Co-authored-by: Lior <lior@zeta.dev>
4 tasks
AceHack
added a commit
that referenced
this pull request
May 27, 2026
…hip rule — stream/observable context co-owned TInFeedback channel (operator 2026-05-27 scope-bounded; 'not a hard shape/rule except when a function gets involved in a stream/observable') (#5579) Operator-directed substrate-engineering extension with explicit scope-bounding: > "the function Result<TResult, TOutFeedback> x(Input<TInput, > TInFeedback> y) is also important for like streams here is the > ownership model. TResult TInput owned by caller, TOutFeedback > owned by function, TInFeedback coowned." Scope-bounding: > "i think it matters more for streams maybe not a hard shape/rule > except when a function gets involved in a stream/observable at > this point." New section adds: - 4-row ownership table (TInput / TResult / TOutFeedback / TInFeedback) with directions + owners - CO-OWNED TInFeedback as structurally new substrate (both caller + function contribute variants; both handle all variants from both sides; collaborative not asymmetric) - Operator-bounded scope: applies ONLY when function in stream/ observable context (IAsyncEnumerator + Reactive Streams + RxJS + AsyncSeq + gRPC streaming + WebSocket/SSE); does NOT apply to simple Result<T, TFeedback> calls or pure functions - F# example: StreamInFeedback with consumer-authored variants (BackpressureRequest / CancelStream / PauseStream / ResumeStream) + producer-authored variants (AcknowledgedBackpressure / CannotThrottleBelowMinimum / ResumingProduction) - Why operator-bounded: applying four-corner co-ownership universally would be over-engineering ceremony tax; scope-bounded keeps the discipline relevant + earns-its-keep - Composition with Prism iterator/generator-asymmetry (PR #5517) + monad-propagation-pattern (PR #5511) + OPLE-T-TFeedback (B-0862) + scope-bounding rule (PR #5523/#5574/#5577) Extension to existing rule body (does NOT replace main 10-row instantiation table which assumes single-channel-author). Two distinct patterns: single-channel-author (main rule) + stream/ observable four-corner co-ownership (this extension). Co-authored-by: Lior <lior@zeta.dev>
This was referenced May 27, 2026
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.
Summary
Operator-explicit "ship whatever makes sense we just figured it all out
lol" authorization. Two carved-sentence-grade insights from the day's
final substrate-engineering thread:
Both compose into the STRUCTURAL FOUNDATION underlying today's full
substrate-engineering cluster (asymmetric-authorship + monad-
propagation + OPLE-T-TFeedback + Result<T, TFeedback> + exceptions-
as-signals + iterator/generator-asymmetry).
What the rule lands
sentences as structural foundation
Test plan
🤖 Generated with Claude Code