Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
2ff6272
v1_rt Witness/Diagnostic decouple — design note (Gate-1 root, design-…
briansrls Jul 25, 2026
0109de0
chore: regenerate drifted generated artifacts (ci auto-heal)
Jul 25, 2026
e9f05c1
feat(witness): §2.B witness_from_optional + Optional hoist (v2.std.wi…
Jul 25, 2026
f283a3c
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
030bc93
Revert "WIP: v1_rt decouple — Witness/Diagnostic carrier architecture…
Jul 25, 2026
859ec7c
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
9c7a3f1
Merge origin (auto-heal revert of transient WIP push) — keep complete…
briansrls Jul 25, 2026
232aae8
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
4c0f8ea
v1_rt decouple Stage 2: lookup returns Option<V>, delete native Witne…
briansrls Jul 25, 2026
d3e859b
DESIGN.md: link v1_rt Witness/Diagnostic decouple design note (fix or…
briansrls Jul 25, 2026
0bb2786
fix(stage0): restore v1_rt Witness seeds — partial decouple broke build
Jul 25, 2026
181d7af
Merge origin — supersede Cursor auto-fix bot's Witness-seed restore w…
briansrls Jul 25, 2026
5f6f1ad
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
6090077
v1_rt Witness/Diagnostic decouple — design note (Gate-1 root, design-…
briansrls Jul 25, 2026
7321cb4
chore: regenerate drifted generated artifacts (ci auto-heal)
Jul 25, 2026
cb05391
feat(witness): §2.B witness_from_optional + Optional hoist (v2.std.wi…
Jul 25, 2026
bd9e44e
DESIGN.md: link v1_rt Witness/Diagnostic decouple design note (fix or…
briansrls Jul 25, 2026
f8ad284
v1_rt decouple Stage 2: fix .lookup field-access typing + re-assert s…
briansrls Jul 25, 2026
d24fa3c
Merge origin — recover from external force-push that discarded Stage-…
briansrls Jul 25, 2026
7ce1234
chore: regenerate drifted generated artifacts (ci auto-heal)
Jul 25, 2026
0dac529
Merge origin — restore DESIGN.md orphan-doc-gate link removed by ci a…
briansrls Jul 25, 2026
ef36dce
Restore DESIGN.md orphan-doc-gate link removed by ci-auto-heal bot's …
briansrls Jul 25, 2026
eceff5d
chore: regenerate drifted generated artifacts (ci auto-heal)
Jul 25, 2026
41c7c44
fix(docs): restore orphan-doc link + update stale §3 citation (review…
Jul 25, 2026
ffe5fca
Merge origin — reconcile after external auto-fix bot dropped Stage-2 …
briansrls Jul 25, 2026
8fe19ad
Fix split-brain lookup() consumer call sites to Present/Absent (revie…
briansrls Jul 25, 2026
a9191f7
fix(docs): ground v1_rt decouple open-thread in design_document.dag a…
Jul 25, 2026
38dd77d
Merge origin — reconcile after Cursor auto-fix bot force-reverted Sta…
briansrls Jul 25, 2026
5923e7e
feat(emit): Stage 3 — de-alias modeled Witness from v1_rt (§2.C)
Jul 25, 2026
57a804f
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
c9d16d0
v1_rt decouple: strip dead native-Witness prelude imports; PartialFun…
briansrls Jul 25, 2026
f82a24e
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
a282ab5
Merge remote-tracking branch 'origin/main' into session/tidy-boar-444
briansrls Jul 25, 2026
0ac4514
merge main: keep preparatory-only PR scope (drop partial Stage-2+3 WIP)
Jul 25, 2026
58762af
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
8500f51
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
ec8c897
Merge origin — restore Stage 2+3 composite dropped by branch reset (0…
briansrls Jul 25, 2026
8aa9cec
Merge origin/main (#7174 trait-derive completeness) — brings in 2 new…
briansrls Jul 25, 2026
06f44f9
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
2b83a6d
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
e3b5fe2
Align lookup witnesses with Optional boundary after v1_rt decouple.
Jul 25, 2026
c96e08f
Fix review 42673 residue: Optional lookup witness + open-thread order.
Jul 25, 2026
b01f02e
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
7d0492a
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
6eb7d32
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
c38ca34
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
49a101f
Merge remote-tracking branch 'origin/session/tidy-boar-444' into sess…
briansrls Jul 25, 2026
0ea8a2f
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
c014c50
Fix CI: qualify Present/Absent to v2.std.optional in spec_facts fns (…
briansrls Jul 25, 2026
8e2baae
Fix CI: migrate remaining Map.lookup closures to Optional
Jul 25, 2026
517b49c
Clean up dead helpers after Optional lookup migration (review 42762)
Jul 25, 2026
1cbea01
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
be9b9b4
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
2136c7c
Fix review 42768: remove landed v1_rt decouple from open threads
Jul 25, 2026
e304020
Fix review 42780: restore cache-digest facts-map sensitivity witness
Jul 25, 2026
c40563b
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
e682791
Merge remote-tracking branch 'origin/main' into session/tidy-boar-444
briansrls Jul 25, 2026
a750d43
Fix review 42787: bind design note in doc graph, update landed status
Jul 25, 2026
f88349f
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
ccc7c5a
Fix CI: resolve merge conflict markers in cache digest test
Jul 25, 2026
3c275ce
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
d19b92e
Fix CI: cargo fmt on v1_interpreter.rs
Jul 25, 2026
abe5963
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
5f52c5c
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
eac17f3
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
faea0ec
Fix Optional lookup typing in infer and Map.lookup stubs.
Jul 25, 2026
2036a84
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
22b1834
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
dd5a442
Fix structural-resolution lens fixtures for Optional map lookup.
Jul 25, 2026
3afa828
Fix CI: cargo fmt on v1_compiler_infer.rs
Jul 25, 2026
b4cdafc
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
9845bd5
Fix regen: drop orphaned GUNBC_DEBUG_CASCADE from emitted infer seed.
Jul 25, 2026
5d65f7f
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
ec60bb5
Merge remote-tracking branch 'origin/main' into session/tidy-boar-444
briansrls Jul 25, 2026
51dd985
Fix CI: remove second orphaned GUNBC_DEBUG_CASCADE from infer seed.
Jul 25, 2026
2d706e2
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
1562d97
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
e348c74
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
494f007
Fix regen: use `_` for unused callable-local match arm.
Jul 25, 2026
f566a89
Merge remote-tracking branch 'origin/session/tidy-boar-444' into sess…
briansrls Jul 25, 2026
f28807d
WIP: v1_rt decouple — Witness/Diagnostic carrier architecture (design…
briansrls Jul 25, 2026
dca0d73
Fix compile_eval_thesis_proof witness: import cross-module eval bindi…
Jul 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions dag/gunbc/doc_graph_roots.dag
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,12 @@ data hand_authored_doc_binds: List<HandAuthoredDocBind> = [
work: DeclarationRef { module_path: "v2.lens.extdeps_shape_transport_policy", decl_name: "extdeps_shape_transport_policy_clean_holds", field: WholeDeclaration },
dissolution: HasTrigger { text: "the extdeps positioning restructure PR (pure git mv + import repoint: os/ de-grab-bag + findings 1-4 hub-loose, all under the §3 extdeps discipline this lens enforces) lands and the extdeps directories are §3-congruent — the brief's scope is discharged; delete this row and the doc together" },
},
HandAuthoredDocBind {
home: PlanDoc,
slug: "v1rt-witness-diagnostic-carrier-decouple-design",
work: DeclarationRef { module_path: "v2.std.witness", decl_name: "witness_from_optional", field: WholeDeclaration },
dissolution: HasTrigger { text: "Stage-4 Gate-1 E0308 burn-down probe receipt lands (design note §3 — measurement only); doc archives or registers as a gunbc.plan.Plan row" },
},
]

fn hand_authored_doc_graph_roots() -> List<String> {
Expand Down
4 changes: 2 additions & 2 deletions dag/gunbc/host_toolchain_ensure.dag
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ data host_toolchain_ensure_apply_dispatch_scaffold: Disposition = Scaffold {

data host_toolchain_reach_pairing_note: String = "Access is DERIVED FROM THE TARGET HOST, never looked up independently from the requested host. Before 2026-07-24 these were two parallel decisions: host_toolchain_ensure_target_host was kind-aware (srv3 + OsInstallActuator resolves to the SELECTED actuator host) while the access lookup keyed on the requested host alone and pinned srv3 to ci_deploy_srv1_operator_access. Two defects followed, both silent. (1) A BuildCache request for srv3 targeted srv3 but authenticated to srv1, so the provisioning effect would have landed on the WRONG MACHINE and reported success — a §5 fail-open, and the exact kind this lane adds. (2) The srv1 pin is only correct in the actuator selector's UNSATISFIABLE FALLBACK arm; whenever ActuatorSelected names a different host the access still pointed at srv1. Pairing target and access in one return value makes the disagreement unwritable (§5 construction over validation) rather than a check that could flag it afterwards. Consequence: this module no longer consumes ci_deploy_srv1_operator_access, which is construction-identical to host_identity_srv1_access (same principal, host, transport, privileged commands — witnessed by host_toolchain_srv1_access_rows_are_one_concept); that §3 nickname still has consumers elsewhere and its corpus-wide dissolution is a separate lane, not smuggled in here."

type HostToolchainReach = HostToolchainReach {
type HostToolchainReach = ResolvedHostToolchainReach {
target: ComputeHost,
access: DeployAccess,
}
Expand Down Expand Up @@ -75,7 +75,7 @@ fn host_toolchain_ensure_reach(
Present { value: target } =>
match host_toolchain_direct_access(host: target.identity) {
Present { value: access } =>
ReachResolved { reach: HostToolchainReach { target: target, access: access } }
ReachResolved { reach: ResolvedHostToolchainReach { target: target, access: access } }
Absent => ReachAccessAbsent { target_identity: target.identity }
}
Absent => ReachTargetAbsent {}
Expand Down
4 changes: 2 additions & 2 deletions dag/std/algebra.dag
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ type FreeMonoid<T>
| Cons { head: T, tail: FreeMonoid<T> }

type PartialFunction<K, V> {
lookup: fn(K) -> Witness<V>
lookup: fn(K) -> V?
empty: PartialFunction<K, V>
get: fn(K) -> V?
insert: fn(K, V) -> PartialFunction<K, V>
Expand Down Expand Up @@ -309,7 +309,7 @@ fn partial_function_templates() -> List<AlgebraFieldTemplate> {
[
{ name: "get", param_types: [ReceiverSelf, ReceiverKey], return_type: OptionalOf { inner: ReceiverValue }, size_effect: none, cost_shape: none, callback_element_position: none },
{ name: "map_get", param_types: [ReceiverSelf, ReceiverKey], return_type: OptionalOf { inner: ReceiverValue }, size_effect: none, cost_shape: none, callback_element_position: none },
{ name: "lookup", param_types: [ReceiverSelf, ReceiverKey], return_type: WitnessOf { inner: ReceiverValue }, size_effect: none, cost_shape: none, callback_element_position: none },
{ name: "lookup", param_types: [ReceiverSelf, ReceiverKey], return_type: OptionalOf { inner: ReceiverValue }, size_effect: none, cost_shape: none, callback_element_position: none },
{ name: "map_insert", param_types: [ReceiverSelf, ReceiverKey, ReceiverValue], return_type: ReceiverSelf, size_effect: none, cost_shape: none, callback_element_position: none },
{ name: "map_merge", param_types: [ReceiverSelf, ReceiverSelf], return_type: ReceiverSelf, size_effect: none, cost_shape: none, callback_element_position: none },
{ name: "has", param_types: [ReceiverSelf, ReceiverKey], return_type: NamedTemplate { name: "Bool" }, size_effect: none, cost_shape: none, callback_element_position: none },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,15 @@ import v2.workflow.floor_naming_hygiene {
}
import v2.std.algebra { length, list_head, HeadFound, HeadAbsent }
import std.disposition { Disposition, Scaffold, SingleAuthority }
import v2.std.collection { Absent, List, Optional, Present, fold_list }
import v2.std.collection {
List,
fold_list
}
import v2.std.optional {
Absent,
Optional,
Present
}
import std.types { Bool, String }
import std.disposition { Scaffold, SingleAuthority }
import v2.std.live_tree { LiveTreeDisposition, SubstrateInputsOnly }
Expand Down
6 changes: 3 additions & 3 deletions dag/test/claim/map_lookup_dual_dispatch_witness_test.dag
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ test fn map_index_routes_through_dual_dispatch_chokepoint() -> Bool {
test fn lookup_builtin_routes_through_dual_dispatch_chokepoint() -> Bool {
let m = empty_map() |> map_insert("k", 7)
match lookup(m, "k") {
Holds { value: v } => v == 7
_ => false
Present { value: v } => v == 7
Absent => false
}
}

data lookup_witness_contract_note: String = "lookup routes through the dual-dispatch chokepoint, which wraps the hit in the Witness coproduct (Holds { value } | Violates) — proven by execution 2026-07-12. The earlier bare `lookup(m, k) == 7` compared the Holds wrapper against a native Int, which the cross-representation equality guard refuses by design (DESIGN §5); matching Holds is the discriminating form — a raw 7 here would mean the bare builtin BYPASSED the chokepoint."
data lookup_witness_contract_note: String = "lookup routes through the dual-dispatch chokepoint, which wraps the hit in the Optional coproduct (Present { value } | Absent) — the v1_rt Witness<V> carrier was deleted (v1_rt-witness-diagnostic-carrier-decouple-design.md); lookup now returns Option<V> natively. Matching Present is still the discriminating form — a raw 7 here would mean the bare builtin BYPASSED the chokepoint, and Present/Absent proves the modeled dispatch runs."

test fn std_graph_build_adjacency_views_evaluates() -> Bool {
let names = ["a", "b"]
Expand Down
2 changes: 1 addition & 1 deletion dag/test/claim/srv3_subsumption_witness_test.dag
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ fn reach_pair_agrees_for(reach: HostToolchainReach) -> Bool {
}

test fn reach_wrong_machine_pairing_is_unwritable() -> Bool {
let old_shape = HostToolchainReach {
let old_shape = ResolvedHostToolchainReach {
target: srv3_host,
access: host_identity_srv1_access,
}
Expand Down
11 changes: 10 additions & 1 deletion dag/tools/self_host_module_behavioral_transport_roster.dag
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,16 @@ import tools.self_host_curated_seed_linked_harness {
cssl_seed_linked_behavioral_receipt
}
import v2.std.algebra { fold_list }
import v2.std.collection { List, Optional, Absent, Present, optional_absent, optional_present }
import v2.std.collection {
List
}
import v2.std.optional {
Optional,
Absent,
Present,
optional_absent,
optional_present
}
import v2.std.logic { Bool }
import v2.std.text { String }

Expand Down
Loading
Loading