Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
3ff77d3
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
28511a9
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
f4184c2
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
53fc32a
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
8fbc725
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
fec23b6
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
76d907e
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
6418b65
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
91bd5b7
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
bd45258
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
e5c087e
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
b007f44
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
cc4f64a
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
92a9041
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
91b6cb2
Merge remote-tracking branch 'origin/main' into session/bright-raven-…
Jul 10, 2026
66d69f9
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
89533fb
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
9e9d8a1
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
8cdcf9c
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
3f62874
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
900937a
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
2df6f72
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
bc87c24
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
a9d1cb3
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
2e66d14
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
c902e19
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
8d43cd9
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
1d156cd
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
2151a29
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
d31b78e
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
db01326
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
db9ec1a
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
a527381
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
4ea515d
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
d414933
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
0883fe1
fix(milestone-b): keep primary_expr on terminal stamp for std/logic m…
Jul 10, 2026
ba59db6
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
8fc4be3
fix(milestone-b): rename truth-table witness param to avoid BitWidth …
Jul 10, 2026
73abd1f
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
1340358
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
74e0267
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
b295ca0
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
bba9be3
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
99986a0
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
8577612
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
b18b4b3
fix(resolve): bind coproduct variant names without harvesting fn-body…
Jul 10, 2026
f819830
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
cdbdc88
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
98ffbc0
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
d8856d3
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
8fd6d75
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
57c80f3
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
2c662d4
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
ac18c0d
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
54e952c
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
8a3ba28
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
ea4b8f6
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
5d1b085
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
de11b6b
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
9a0baf4
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
a5bd13f
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
9ec5c21
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
63552b8
fix(ci): drop accidental std_logic emit dump test breaking cargo fmt
Jul 10, 2026
931e9b7
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
54505d2
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
2ad9280
fix(ci): revert broken program_partition WIP and drop emit dump test
Jul 10, 2026
3ccf35e
fix(partition): reset program_partition.dag to origin/main baseline
Jul 10, 2026
33a365f
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
1fd799c
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
48feb71
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
f09dc95
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
33b9ed2
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
6b0c060
WIP: S2 weak self-host — Milestone B: std/logic behaviorally self-hos…
Jul 10, 2026
77a2242
WIP: S2 Self Emit
Jul 10, 2026
d2f4416
WIP: Weak Self Host -> Strong Self Host
Jul 10, 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
18 changes: 18 additions & 0 deletions dag/gunbc/commit_workflow.dag
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,24 @@ data commit_gate_roster: List<CommitCheckEnrollment> = [
},
surfaces: [GithubActionsCiJob]
},
CommitCheckEnrollment {
check: CommitWitnessClaim {
entry: "src/v2/test/claim/self_host/std_logic_emit_probe_test.dag",
check_fns: ["std_logic_emit_probe_all_holds"],
kind: CorpusWitnessKind,
span: SpanUndeclared
},
surfaces: [GithubActionsCiJob]
},
CommitCheckEnrollment {
check: CommitWitnessClaim {
entry: "src/v2/test/claim/execution/std_logic_behavioral_selfhost_witness_test.dag",
check_fns: ["std_logic_behavioral_selfhost_all_holds"],
kind: ExecutionWitnessKind,
span: SpanUndeclared
},
surfaces: [GithubActionsCiJob]
},
CommitCheckEnrollment {
check: CommitCargoFmtCheck,
surfaces: [GitPrePushHook]
Expand Down
6 changes: 5 additions & 1 deletion src/v2/compiler/03_name_resolve.dag
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import v2.compiler.resolve {
DeclaredBinding,
Namespace,
ResolvedTree,
namespace_bindings_augment_from_module_atoms,
resolve_with_namespace,
try_edge_declared_binding
}
Expand Down Expand Up @@ -517,7 +518,10 @@ fn namespace_for_subject(
Accepted {
value: AdmittedSubject {
namespace: Namespace {
bindings: b,
bindings: namespace_bindings_augment_from_module_atoms(
root: subject_module_root,
bindings: b
),
canonical_symbols: base.canonical_symbols
},
subject_root: subject_module_root
Expand Down
66 changes: 66 additions & 0 deletions src/v2/compiler/03_resolve.dag
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import v2.std.node {
Bind,
ComputationNode,
Conj,
Disj,
Edge,
Named,
Node,
Expand All @@ -54,6 +55,7 @@ import v2.std.node {
Transform,
TypeNode,
fold_node,
node_subtree_nodes,
node_with_occurrence_id,
well_formed
}
Expand Down Expand Up @@ -140,6 +142,63 @@ fn harvest_direct_atom_binding(root: Node, acc: Map<Symbol, Symbol>) -> Map<Symb
)
}

data resolve_variant_visibility_dissolution_trigger: String = "🟡 dissolve-on: interim per-module Disj variant visibility — a bare variant name (e.g. `True` in `match a { True => .. }`) is made resolvable ONLY when exactly one type in the subject module declares it (module-unique); a name declared by >=2 types stays unbound and REFUSES (fail-closed, no silent mis-bind). Dissolves when patterns-via-scrutinee (namespace-only-resolution, rolled into the final self-host fan-out) adds scrutinee-type disambiguation of the ambiguous residue; at that point resolution reads the containment tree via SymbolIndex, not this per-module count."

fn harvest_variant_count_of(counts: Map<Symbol, Int>, sym: Symbol) -> Int {
match map_get(counts, sym) {
Accepted { value: opt, diagnostics: _ } => match opt {
Present { value: n } => n
Absent => 0
}
Rejected { diagnostics: _ } => 0
}
}

fn harvest_disj_variant_counts(root: Node) -> Map<Symbol, Int> {
fold(
node_subtree_nodes(root: root),
init: empty_map(),
f: fn(counts, n) {
match n.kind {
TypeNode { connective: Disj } =>
fold(n.children, init: counts, f: fn(c, e) {
match e.label {
Named { name: sym } =>
map_insert(m: c, key: sym, value: harvest_variant_count_of(counts: c, sym: sym) + 1)
Positional => c
}
})
_ => counts
}
}
)
}

fn harvest_unique_disj_variant_bindings(root: Node, acc: Map<Symbol, Symbol>) -> Map<Symbol, Symbol> {
let counts = harvest_disj_variant_counts(root: root)
fold(
node_subtree_nodes(root: root),
init: acc,
f: fn(a, n) {
match n.kind {
TypeNode { connective: Disj } =>
fold(n.children, init: a, f: fn(a2, e) {
match e.label {
Named { name: sym } =>
if harvest_variant_count_of(counts: counts, sym: sym) == 1 {
map_insert(m: a2, key: sym, value: sym)
} else {
a2
}
Positional => a2
}
})
_ => a
}
}
)
}

fn add_module_named_exports(root: Node, acc: Map<Symbol, Symbol>) -> Map<Symbol, Symbol> {
harvest_conj_named_bindings(root: root, acc: acc)
}
Expand Down Expand Up @@ -189,6 +248,13 @@ fn build_program_namespace(tree: NormalizedTree, lm: LanguageModel) -> Namespace
}
}

fn namespace_bindings_augment_from_module_atoms(
root: Node,
bindings: Map<Symbol, Symbol>
) -> Map<Symbol, Symbol> {
harvest_unique_disj_variant_bindings(root: root, acc: bindings)
}

fn scope_from_namespace(namespace: Namespace) -> Scope {
ScopeRoot { module: namespace }
}
Expand Down
Loading
Loading