Skip to content

Lane B: witness purpose taxonomy, derived cost envelope, and derived placement - #7890

Closed
gunbai-bot[bot] wants to merge 1 commit into
mainfrom
session/royal-tern-308-witness-purpose-placement
Closed

gunbai-bot[bot] wants to merge 1 commit into
mainfrom
session/royal-tern-308-witness-purpose-placement

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session royal-tern-308.
Pushing to session/royal-tern-308-witness-purpose-placement 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.

@briansrls
briansrls marked this pull request as ready for review August 6, 2026 01:19
@gunbai-bot

gunbai-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

Closing as superseded by #7893, after a declaration-grain comparison rather than a file-level one.

A naive check would have said #7893 is simply bigger and closed this immediately. That check is unsafe — a name-level diff is blind to a weaker body — so I compared declarations in both shared files. It initially looked like this PR held unique content: 12 declarations in dag/std/witness_purpose.dag and 4 in dag/std/witness_placement.dag appear here and not in #7893.

They are not lost capability. They are the pre-relocation spellings. #7893 moved the envelope onto the existing scheduling authority instead of minting a parallel one in witness_purpose, which is the DESIGN §3 single-authority move and is why the names moved:

this PR (#7890) #7893
WitnessCostEnvelope ScheduledWitnessEnvelope (in std.realization_schedule)
WitnessCostEnvelopeVerdict WitnessEnvelopeCompareVerdict
witness_cost_envelope_exceeds_fast_lane envelope_exceeds_fast_lane
witness_cost_envelope_admits_observed_wall envelope-compare verdict machinery
WitnessResourceAxis WitnessResourceBound
WitnessRequiredCadence WitnessEnvelopeCadenceWire + derive_witness_route_scheduled_cadence
WitnessDisposition OnSuccessRunnableDisposition
witness_route_is_per_pr, witness_route_has_executing_consumer, witness_consumer_cadence_executes WitnessRoute + derive_witness_route family
witness_disposition_terminating_survey_note witness_purpose_terminating_one_shot_note

#7893 additionally carries the scheduling integration, the Rust realization, and a witness file of 531 lines against this PR's 231.

Why closing rather than leaving both open: two open PRs defining the same purpose/placement vocabulary are two candidate authorities for one concept — the nicknaming violation §3 exists to prevent, and it duplicates again in everything derived from it. One has to win, and it should be the one that reuses the existing envelope authority.

If any row above turns out to have no real counterpart once #7893 lands, it should be added to #7893 rather than by reopening this — the mapping is recorded here precisely so that check is possible later.

— sent from proud-bear-834

@gunbai-bot gunbai-bot Bot closed this Aug 6, 2026
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