fo-contract: promote «fn»s, add lifecycle arrows, consolidate deferred-module registry#454
Merged
Merged
Conversation
…/halt.rebase-conflict «fn»s; spawn/shutdown arrows; four-entry deferred registry - #1 reuse-condition-4 -> «reuse.model-match» «fn» (fo-dispatch-core), diagnostic pin moved onto its body - #2 «dispatch.next-action» → prose disambiguated deterministic-mechanism-binary-pending - #3 kind-only → runtime-binding arrow on «worker.spawn»/«worker.shutdown»; contractlint guard loosened + over-loosening control - #4 AC cross-check -> «gate.ac-cross-check» «fn» folding bm end-value re-anchor (shared-core) - #5 rebase halt -> «halt.rebase-conflict»(paths) «fn» defined once, FO sites + claude-fo-dispatch reference by name - #6 Dispatch/Merge/Status-Viewer/Write-Scope pointers -> one Deferred Modules registry (4 load-points + 4 greet-guards) - AC-5 runtime-support.md → prose trichotomy + dispatch.build 2-into-1 sync - AC-7/AC-8 structural guards added (contractlint); AC-1/AC-7 moved-pin mutation RED-then-GREEN Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…me-binding arrow Audit-driven (feedback cycle 1): the loosened workerLifecycleArrowViolations only rejected the **Host:** bold-token smuggle, admitting a prose host binding like '- → **runtime-binding**: on Claude, call Agent() directly' green through the suite. Now a host word (Claude/Codex/Pi, whole-word case-insensitive) named on the runtime-binding arrow line in ANY form reds. Added prose-host RED cases (Claude/Codex/Pi) to the discriminator; legit kind-only arrow still passes. Guard-only — shipped contract prose unchanged. In-situ RED-then-GREEN proven against the real «worker.spawn» block. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Six
«fn»-binding legibility refinements from the 0230 audit: promote the heaviest prose comparators to structured«fn»s, add the missing lifecycle arrows, and consolidate the deferred-module pointers into one registry.What changed
«reuse.model-match», the AC cross-check →«gate.ac-cross-check», and the rebase-conflict halt →«halt.rebase-conflict»(paths)— each with guard/effect/block/done-when and its verbatim catastrophe pin moved onto the body.→ runtime-bindingarrows to«worker.spawn»/«worker.shutdown»; loosen the arrow guard to permit that arrow while rejecting a host named in any form (token OR prose).«dispatch.next-action»'s→ prose(deterministic-binary-pending, not judgment) and syncruntime-support.md.## Deferred Modules (registry).Evidence
«gate.ac-cross-check»reproduces the REJECT on the regressed-end-value fixture.Review guidance
AC-4's
fo-dispatch-core.md+429 B is captain-accepted: a faithful«fn»is larger than the flat prose it replaces, and the file is a deferred reference off the greet path (the boot core is net-negative).z4