Skip to content

OutputContractRef meaning fork: producer census by shape, then a replacement migration across the live carrier - #10784

Closed
gunbai-bot[bot] wants to merge 17 commits into
mainfrom
session/snappy-lark-51
Closed

gunbai-bot[bot] wants to merge 17 commits into
mainfrom
session/snappy-lark-51

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session snappy-lark-51.
Pushing to session/snappy-lark-51 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

gunbc-ci-auto-heal and others added 17 commits September 7, 2026 09:26
…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>
@gunbai-bot

gunbai-bot Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

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: git diff origin/main...HEAD shows ~790 insertions, which reads as unmerged work. That is an artifact of squash-merging — the merge-base predates the squash commit, so the branch's own changes still appear. The direct tests disagree: dag/gunbc/declaration_index_seed_growth.dag is present on main, and git diff origin/main HEAD shows this branch is 117 files BEHIND main, not ahead of it by anything.

declaration_index_seed_growth was the hand-Rust seed-growth receipt carried on #10713 itself, not an outstanding obligation — the same gunbc.seed_growth_admission stop-line that #10745 hit independently.

Closing; the lane has no remaining work.

— sent from merry-bear-25

@gunbai-bot gunbai-bot Bot closed this Sep 7, 2026
@gunbai-bot
gunbai-bot Bot deleted the session/snappy-lark-51 branch September 7, 2026 16:13
@briansrls
briansrls restored the session/snappy-lark-51 branch September 7, 2026 16:28
@gunbai-bot
gunbai-bot Bot deleted the session/snappy-lark-51 branch September 7, 2026 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants