feat: unverified ceiling, ledger retention, dead surface purge (0.0.46) - #45
Merged
Merged
Conversation
judgment posture kept counting with no terminal condition, so a window could reach 150 unverified writes past 31 ignored advisories. FUSION_INLINE_UNVERIFIED_CEILING (eight budgets, forty writes) denies past that point, the last two advisories name the number, and the denial names both moves that reopen the window so the demand predicate matches the acceptance predicate.
the ledger had no retention while the guard audit and the codex monitor both did, so every shim for a retired record shape had to live indefinitely. FUSION_WORKER_RETENTION_DAYS defaults to ninety, sweeps when the next task is created, and never removes a record whose transport is still live.
its record filter matched only fusion:fast-worker, so claude-worker and trivial-worker silently lost breaker coverage when that lane retired in 0.0.43.
the brief envelope's sizing field is the real control for turn and token budgets, so the four environment overrides that only ever proved they parsed are gone. the wall clock, stall, and settle staleness knobs stay because each is the only seam that makes a long threshold reachable in a test.
readManifestHashes stays exported because setup/SKILL.md instructs the model to import it at runtime, a reference no code only scan can see.
…ontract grok's required headless flag surface still holds at 0.2.117, where --no-auto-update and --no-wait-for-background are accepted but absent from --help, so the verified version moves while every statement about 0.2.112 behavior stays as written. grok-composer-2.5-fast leaves the model table because the live listing no longer offers it.
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
FUSION_INLINE_UNVERIFIED_CEILING(eight budgets, forty writes, zero to switch off) denies past that point, the last two advisories name the number so the stop is never a surprise, and the denial names both moves that reopen the window so the demand predicate matches the acceptance predicate. forty sits in a measured gap: across 31 sessions the depth distribution is p50 7, p75 10, p90 30, then 60, 80 and 154, with the 40 to 49 band emptyFUSION_WORKER_RETENTION_DAYS(ninety by default) expires terminal records and their sidecars on the next task creation and never touches a live transport. the point is not disk (12MB) but that a retention horizon lets a compatibility shim for a retired record shape expire on a schedule instead of having to be argued awayfusion:fast-worker, sofusion:claude-workerandfusion:trivial-workersilently lost breaker coverage when that lane retired in 0.0.43; it now advises per live lane. the remaining fast-worker paths (hook matchers, execution and brief agent sets) are gone, while theAGENT_TYPESalias stays because 207 live ledger records still carry itFUSION_WORKER_WALL_CLOCK_MS,FUSION_WORKER_STALL_MS,FUSION_SETTLE_DEMAND_STALE_MSandFUSION_BREAKER_LOOKBACK_HOURSwere on the same candidate list and stay, because each is the only seam that makes a long threshold reachable in a test--no-auto-updateand--no-wait-for-backgroundare accepted but absent from--help), soverified-versions.jsonand the README move while every statement about 0.2.112 behavior stays as writtenbreaking changes
FUSION_WORKER_BRIEF_MAX_BYTES,FUSION_WORKER_MAX_TURNS,FUSION_WORKER_MAX_OUTPUT_TOKENS,FUSION_WORKER_MAX_UNCACHED_TOKENSandFUSION_WORKER_DEBUG_COLLECTION_RESPONSEno longer do anything. the brief envelope'ssizingfield is the supported control for turn and token budgetsgrok-composer-2.5-fastis out of the shipped model table; an installedmodel-routing.jsonstill holding it needsfusion-config.mjs remove grok-composer-2.5-fasttest plan
already verified
npm test-> 1067 tests, 1066 pass, 0 fail, 1 skipgrok --no-auto-update --no-wait-for-background --helpaccepted on grok 0.2.117, confirming the preflight flag surface still holdspending_asyncrecord older than the cutoffreviewer should verify
/fusion:statsrendersUnverified ceiling stopsin the coercion ledgernotes