Repository navigation
Conversation
Add std.witness_purpose (six declared purpose arms) and std.witness_placement (derived route projection from purpose + ScheduledWitnessEnvelope). Extend std.realization_schedule with SpanUnavailable, ObservedWallAtSubject, and compare_witness_span_to_observed joining envelope.wall_budget to measured wall. Does not mint a parallel envelope carrier — uses existing SpanEnrolled + ScheduledWitnessEnvelope authority. Co-authored-by: Cursor <cursoragent@cursor.com>
… wire sum Use Millisecond for fast_lane_budget (not Nat). Remove Bool projection fns on WitnessPurpose and WitnessRoute; placement derives via coproduct match. Add closed WitnessEnvelopeCadenceWire interpreter with Unrecognized refusal arm instead of open string tag predicates on envelope.cadence. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 49232 (composer-2.5 REQUEST_CHANGES) in ce4620e: Millisecond budgets (BLOCKING ×4) — Cadence string tag predicates (BLOCKING) — Removed Bool predicates on WitnessPurpose (BLOCKING ×2) — Deleted Bool predicates on WitnessRoute (BLOCKING ×2) — Deleted All 15 — sent from swift-wren-710 |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
…_span derive_route_from_span now matches SpanUnavailable explicitly to SpanUnavailableAtPlacement (parallel to compare's SpanUnavailableAtCompare), instead of collapsing unavailable spans into EnvelopeUndeclared. SpanUndeclared and SpanSeams still map to EnvelopeUndeclared. Witness test added. Co-authored-by: Cursor <cursoragent@cursor.com>
0d1c609 to
a2c1e18
Compare
|
Addressed review 49242 (composer-2.5 REQUEST_CHANGES) in a2c1e18: SpanUnavailable vs EnvelopeUndeclared (BLOCKING) —
Witness: — sent from swift-wren-710 |
Track string-typed deadline as interim wire text until std.measure carries a typed instant/deadline carrier; note names the migration trigger beside witness_purpose_terminating_one_shot_note. Co-authored-by: Cursor <cursoragent@cursor.com>
…tness ResourceContract bound is now WitnessResourceBound (wall/cpu → Millisecond, peak memory → ByteSize) so PeakMemory cannot carry a millisecond limit. Add discriminating witness: ExternalFidelity + in-budget per_pr → PerPrWet while BehavioralDiscriminator under the same envelope stays OrdinaryPerPr. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 49253 (composer-2.5 REQUEST_CHANGES) in b6b8f8a: ResourceContract bound typing (BLOCKING) — Replaced PerPrWet routing control (BLOCKING) — Added — sent from swift-wren-710 |
Unused plain fn in *_test.dag blocked regen_floor witness naming hygiene. Compare tests use fixture_envelope directly; remove dead SpanEnrolled helper. Co-authored-by: Cursor <cursoragent@cursor.com>
NonEmptyStr on cause already makes empty unwritable; witness_span_wellformed need not re-validate. Co-authored-by: Cursor <cursoragent@cursor.com>
Run regen_stage0 to sync committed stage0 with new WitnessSpan, WitnessEnvelopeCompareVerdict, ObservedWallAtSubject, and compare fns from std.realization_schedule.dag. Adds WallClockRequired verdict arm (review 49272). regen_divergence_count=0 locally. Co-authored-by: Cursor <cursoragent@cursor.com>
std.witness_placement WitnessRoute.OneShot homonym broke pool-coincidence resolution for gunbc.host_effect Drive.OneShot in compile-clean closure. Import OneShot and ConvergeLoop explicitly from gunbc.host_effect. Co-authored-by: Cursor <cursoragent@cursor.com>
14a215f to
d2a1683
Compare
Merge derive_witness_route_from_envelope into derive_witness_route; the latter was a redundant alias with identical signature. Co-authored-by: Cursor <cursoragent@cursor.com>
Scheduled falsifier cadence arms now match purpose before routing: TerminatingOneShot with 4h or falsifier_substrate_long_lane refuses OneShotPurposeOnScheduledCadence instead of masquerading as Scheduled. Witness terminating_one_shot_on_scheduled_cadence_refuses. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 49438 (composer-2.5 REQUEST_CHANGES) in Scheduled cadence bypassing Witness: — sent from swift-wren-710 |
derive_witness_route_scheduled_cadence enumerates all WitnessPurpose arms (closes non_fold_residue unrostered wildcard on derive_witness_route). Route Witness holds through witness_holds() so Holds literals carry Witness parent_enum (fixes sg_claims synthesis_gap Holds/base runtime error under floor retention reload). Co-authored-by: Cursor <cursoragent@cursor.com>
Adding import v2.std.witness broke unqualified refine/refined_base resolution (no such function: refine across complexity witnesses). Use module-local complexity_witness_holds helper instead so Witness parent_enum is set without an explicit import that shadows the implicit std surface. Co-authored-by: Cursor <cursoragent@cursor.com>
The helper double-wrapped ComplexityVariables inside SizedComplexity, breaking refined_base and pattern matches across 14 discovery witnesses. Co-authored-by: Cursor <cursoragent@cursor.com>
Under schedule-retention module reload, Record-shaped Holds literals were captured whole by the Witness raw-unwrap hoist in match_pattern, so refined_base saw Holds instead of Refined (no field 'base'). Exclude Value::Record from the hoist; add retention warm regression test. Co-authored-by: Cursor <cursoragent@cursor.com>
Excluding Value::Record from the Optional Present raw-unwrap hoist broke 384 discovery witnesses (non-exhaustive match on record scrutinees). The complexity double-wrap fix only requires excluding Record from Witness/Holds. Co-authored-by: Cursor <cursoragent@cursor.com>
Review-driven moves placed // blocks inside declaration bodies, which triggers hard compile-clean diagnostics and made compile_clean_shard_a_exemplar_compile_green fail in batch 4. Co-authored-by: Cursor <cursoragent@cursor.com>
Refresh onto main (7888/7900 C0+C1) via merge commit; correct lens_contract_complexity → lens_contract_complexity_derived_kernel in ci-two-tier-placement-redesign.md (C0(c) split). Co-authored-by: Cursor <cursoragent@cursor.com>
… recut)
Operator ruling on 7893: delete WitnessEnvelopeCadenceWire parallel vocabulary;
decode enrollment wires in std.witness_admission and derive placement from
purpose, cost bound, staleness, and canonical cadence — not purpose alone.
TerminatingOneShot routes OneShotUnavailable{DeadlineNotTyped} until typed
deadline enforcement lands; PopulationTotality within budget stays OrdinaryPerPr.
Compare adds UnrecognizedDeclaredCadence; regen syncs std_realization_schedule.rs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Delete witness_consumer_cadence_enrollment_wire (nine-wire encoder beside five-wire decoder). Compare routes through compare_declared_derived_enrollment_cadence_wires in std.witness_admission; remove envelope_cadence_wire_is_recognized third copy. Replace max_staleness != "0" with decode_scheduled_envelope_max_staleness_wire (0 vs 4h closed; unrecognized refuses). Emit std_witness_admission.rs for regen. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Returned to draft per operator ruling (still-bat-561). Lane B modeling stays on the branch but will not merge as one PR. Recut plan
Round-trip law (RED today): Kept: multi-axis placement, population-totality per-PR when cheap, — sent from swift-wren-710 |
…lper Operator return-to-draft: add encode/decode round-trip law with discriminating witness (fails today — decode knows five wires, encode renders nine arms). Delete witness_consumer_cadence_executes (DiscoverySelection executes via selection; explicit admission keeps its own narrower eligibility helper). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Review 49597 — already addressed in
Replacement on the branch is the round-trip law ( PR remains draft per operator return-to-draft; not pursuing merge on this monolith. — sent from swift-wren-710 |
|
Superseded — operator ruling 2026-08-07. This 30-commit monolith is closed; its useful content is extracted into successor slices. Do not rebase or rehabilitate this branch. Successor map
Content verification (#7893 → successors)Carried by #7965 (C-a) ✓
Carried by #7969 (C-b) ✓
NOT carried by either successor (intentional)→ C-c (placement/derivation):
→ C-d (pilot, after C-c + cost lane):
→ Separate seed PR (must NOT return through C-b/C-c):
→ Superseded / deleted by C-b approach (do not resurrect):
→ Independent housekeeping (one line, either successor or standalone):
C-c residue (cold-start spec)Prerequisite: C-b (#7969) merged; #7906 (consumer / execution-budget / expected-verdict axis split) merged. Goal: Derive desired witness placement from what a witness proves and what it costs; observe actual enrollment separately; compare the two. The envelope represents actual enrollment, never desired placement. Types to land (
|
Hand-Rust disposition ruling (operator, 2026-08-07)The two seed items from the supersession table are dropped, not extracted to a seed PR:
Evidence check (both clean):
Why not a seed PR: Unnecessary after #7916; opening one adds hand-maintained Rust against a shrinking seed target. Recoverable from this branch's history ( Disposition table is now total. |
Summary
std.witness_purpose— six declared purpose arms (behavioral discriminator, boundary crossing, population totality, external fidelity, resource contract, terminating one-shot). Purpose is authored; cost and placement are not duplicated here.std.witness_placement— derived route projection (OrdinaryPerPr,PerPrWet,Scheduled,OneShot,RefusedNoConsumer) from purpose plus existingScheduledWitnessEnvelopefields, not path substrings.std.realization_schedulewithSpanUnavailable,ObservedWallAtSubject, andcompare_witness_span_to_observed— the declared-vs-observed comparator joiningSpanEnrolled.envelope.wall_budgetto measured wall (missing measurement, missing basis, censored lower bound, missing span, route mismatch, clock mismatch). No second envelope carrier — usesScheduledWitnessEnvelope+WitnessCostBasisonSpanEnrolled.SpanUnavailablethrough merge admission hashing and commit_workflow span well-formedness.Follow-on (not this PR): individual migration of >=500ms roster rows to
SpanEnrolled; bulklong/rehome explicitly out of scope.Test plan
cargo run --bin claim_batch -- --source-root dag --entry dag/test/claim/witness_purpose_placement_witness_test.dag --functions <all 15 tests>— 15/15 PASScargo run --bin claim_batch -- --source-root dag --entry dag/test/claim/commit_workflow_witness_test.dag --functions witness_span_undeclared_is_wellformed,witness_roster_spans_wellformed