Repository navigation
OutputContractRef meaning fork: producer census by shape, then a replacement migration across the live carrier - #10784
gunbai-bot[bot] wants to merge 17 commits into
Conversation
…sealed roster OutputContractRef held both plain names and content-serialised obligation payloads, so no consumer could tell which it held. Keep the opaque name, put DeclaredOutputObligations on WorkContract, and mint terminal-success rosters only through resolve_output_obligations (sole_constructor RED). Co-authored-by: Cursor <cursoragent@cursor.com>
…le_constructor rung Warm-moth-142: revision identity alone does not answer start-vs-gate; the sealed result now carries OutputObligationsJudgment. Also correct the unwritable claim to path-scoped rung 4 on source→.dag with a named degradation when a Rust seed consumer appears. Co-authored-by: Cursor <cursoragent@cursor.com>
Body and field-inline // comments refuse under the annotation channel; CI floor failed on WorkContract and required_build_contract_from_materials. Co-authored-by: Cursor <cursoragent@cursor.com>
resolve_output_obligations now takes requirements and refuses a foreign work_key (WorkKeyDoesNotMatchContract). Declared frontier: warm-moth-142 admit_job_publication (#10641). Reclassify content-addressed digests as opaque. Co-authored-by: Cursor <cursoragent@cursor.com>
A bare `= WorkKeyDoesNotMatchContract` parsed as a type alias, so resolve and heal both refused unresolved type / undefined variable. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Bare ContentHash alias let any digest inhabit the sealed revision field; brand matches every other identity carrier in work.dag (§3 / §6). Co-authored-by: Cursor <cursoragent@cursor.com>
ContentHash is a sum; casting a variant into ContentHash-where-brand refused at runtime. Same identity shape as WorkKey: serialize then brand. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
serialize_content_hash is family-asymmetric; this carrier never enters the other arms, so revision identity is not riding the incidental width split. Co-authored-by: Cursor <cursoragent@cursor.com>
Concatenating required-build manifests made split and collapsed id lists the same WorkKey. Kind is identity material; resolution still returns ids. Co-authored-by: Cursor <cursoragent@cursor.com>
An ids-only constructor silently stamped OutputArtifactObligation, so terminal subjects (floor summary, outputs-verdict) minted the wrong work key. Training now owes a stable adapter id rather than reusing the contract digest. Co-authored-by: Cursor <cursoragent@cursor.com>
Declarations was failing the floor on three stamp required_capability refs and one fixture absence. Those names must stay unresolved; PLANTED_CONTROL is the wrong roster because resolve there means a lost control. Same join as Co-authored-by: Cursor <cursoragent@cursor.com>
The work key already treated artifact vs terminal as distinct owed subjects; dropping kind at resolve made same-id mixed rosters collapse for the gate. Co-authored-by: Cursor <cursoragent@cursor.com>
…-growth roster. The four production fns and the discriminating test landed in the same boundary the justification already lists at item grain; leaving them off the roster was a silent delta. Co-authored-by: Cursor <cursoragent@cursor.com>
…th roster. The join helpers were listed; the production roster they close over was not. PRE_EXISTING_CITATION_DEBT is already a DeclarationRef on the same justification. Co-authored-by: Cursor <cursoragent@cursor.com>
PLANTED_CONTROL stays empty; #10706 stamp sites remain on NEXT_RUNG_TRIGGER_CITATIONS. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Duplicate auto-open: this branch's content already merged as #10713 (squash), so there is nothing here to land. Verified rather than assumed, because the obvious check misleads:
Closing; the lane has no remaining work. — sent from merry-bear-25 |
Auto-opened by session-dashboard for session
snappy-lark-51.Pushing to
session/snappy-lark-51advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan