Skip to content

Retire the node_grounding_frontier_note prose row (DESIGN §4c) - #12226

Merged
briansrls merged 3 commits into
mainfrom
session/witty-heron-282-frontier-note
Sep 25, 2026
Merged

briansrls merged 3 commits into
mainfrom
session/witty-heron-282-frontier-note

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Part 2 of node adhoc-a672d4e5-35c, split out at neat-boar-16's direction so it is not held by part 1.

v2.compiler.infer node_grounding_frontier_note was a data …: String prose row, which §4c classifies as unclassified prose.

  • Rationale (why GroundingNotDerived exists, and the self-typing defect it replaced) → a // annotation on v2.compiler.inferred_tree NodeGrounding, the type whose arm is the frontier.
  • Typed facts: the per-rule descriptions duplicated each rule function's own annotation, so they were dropped. The "6 of 12 kinds" count was transcribed and stale, and is not re-homed (§6: name the instrument; the counted infer_grounding_not_derived diagnostic is that instrument). The dissolve trigger stays with the compile_door_cause_ownership flip_triggers, which now cite NodeGrounding.
  • The row is deleted, and every citation (the doc_graph_roots DeclarationRef, the flip_triggers, comments, plan docs) is repointed to the symbol.

No behavior change. Nothing had read the row as data: its only consumer was the doc-bind DeclarationRef. with Claude Code

Rework (review from neat-boar-16)

  • The retirement condition is typed: v2.workflow.compile_door_cause_ownership node_grounding_frontier_retirement (FrontierRetirement, the four grounding causes). It replaces the retirement prose in the flip_trigger strings.
  • gunbc.witness_v2_native_route native_route_frontier_retirement_standing consumes it. It joins the causes to the route's observed population (file refusals plus refused members) and returns Open { remaining }, Retired, or CauseUnowned. The admission clause FrontierRetirementCausesUnowned refuses when a retirement cause has no fatal-grain ownership row.
  • The NodeGrounding // keeps only the historical self-typing rationale. The plan docs no longer carry kind counts. The root-partition bind now points at the producer, v2.compiler.infer inferred_facts_not_derived.
  • Claims in src/v2/test/v2_native_route_test.dag:
    • discriminating: Open with exactly 2 across both populations
    • positive control: Retired
    • red: an unowned cause stands Unowned
  • They are being run on srv1 because BuildBuddy runners page-thrash on this module.

Named frontier, deliberately not a gate: no admission clause refuses when the grounding frontier reaches zero, because that would be a wall about a goal, not a defect. Nobody has measured today's native-route count. Trigger: once that count is measured (the seven canary gives it), retirement becomes a typed standing that consumers read, still not a gate.

🤖 Generated with Claude Code

Brian Searls and others added 3 commits September 24, 2026 13:44
Its rationale moves to a // annotation on v2.compiler.inferred_tree NodeGrounding,
the carrier whose GroundingNotDerived arm IS the frontier. Its transcribed kind
count was stale and is not re-homed (§6: the counted infer_grounding_not_derived
diagnostic is the instrument). Citations repointed to the symbol.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ute's population

Review on #12226: the retirement condition lived in an unread String and in
prose. It is now v2.workflow.compile_door_cause_ownership
node_grounding_frontier_retirement (FrontierRetirement), consumed by
gunbc.witness_v2_native_route native_route_frontier_retirement_standing and
an admission clause refusing a retirement over an unowned cause. The
NodeGrounding annotation keeps only the historical rationale; plan docs drop
the kind counts; the root-partition bind points at the producer
v2.compiler.infer inferred_facts_not_derived.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Sep 24, 2026

Copy link
Copy Markdown
Contributor Author

srv1 claim_batch receipt at 0aa1189 (run by neat-boar-16), v2.test.v2_native_route: PASS the_grounding_frontier_is_open_over_both_populations, PASS the_grounding_frontier_retires_when_no_cause_is_observed, PASS a_retirement_over_an_unowned_cause_is_not_retired, PASS the_refusal_tally_counts_each_refusal_once_at_fatal_grain. BuildBuddy page-thrashed on this module, so srv1 was used. — sent from witty-heron-282

@briansrls
briansrls added this pull request to the merge queue Sep 25, 2026
Merged via the queue into main with commit 364ec54 Sep 25, 2026
5 checks passed
@briansrls
briansrls deleted the session/witty-heron-282-frontier-note branch September 25, 2026 07:53
@briansrls
briansrls restored the session/witty-heron-282-frontier-note branch September 25, 2026 07:58
gunbai-bot Bot pushed a commit that referenced this pull request Sep 25, 2026
…ain's list_find_first with the moved fns from std.algebra; both RFM occurrence receipts kept

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.

1 participant