Skip to content

Census part 2: the native infer census on v2-native-census (census-infer) - #13308

Open
gunbai-bot[bot] wants to merge 11 commits into
mainfrom
session/deep-ram-126
Open

gunbai-bot[bot] wants to merge 11 commits into
mainfrom
session/deep-ram-126

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

Builds census part 2 (docs/plans/census-part-2-inference-design.md, #13019) on the existing census family. //gunbc/instruments:v2-native-census keeps its label and now runs census-infer (design §6). It is the same walk as M0's type census (#13093): one stdout, two line kinds.

What changes

  • Infer stage. A third arm, NativeCensusCauseInfer, on census C's carrier, not a second row format. native_census_cause_groups_add_infer_module files an infer refusal as one row per module. Infer stops at its first fatal, so completeness reads ObservationIncomplete (native_census_infer_completeness).
  • Cascade: the real edge only (sharp-raven-357 ruling). §4's infer→infer edge does not exist. infer_and_discharge reads only the module's own ResolvedTree. The one cross-module causation is a refused closure provider's resolve chain, carried immediately ahead of M's closure-miss fatal (infer_closure_miss_refusal).
    • native_census_infer_cascade_of files such an M once, as a member of the provider's root. Every other infer row is its own root, with its closure fan-out. Two matching providers make the row Unattributed.
    • The rationale and the trigger for an infer→infer edge (v2 infer reading T's inferred facts) are on the fold.
  • Resolve own-roots carry Root and their closure fan-out on their first chain, in both verbs.
  • N7 closure membership. Ranked roots are marked against the import closure of the native test target. It is derived from its label (native_census_subject_label, native_census_subject_closure). There is deliberately no roster of tests: roadmap native-seven rules the population derived from the label.
  • Receipt names the host memory budget's source: observed cgroup, declared but unverified, or unreadable (host_memory_budget_receipt_line).
  • Host decode. The host reads the census-infer terminal; a census-resolve terminal refuses. The type census's verdict is a closed TypeCensusVerdictWord, and the child's exit status is never read as this census's standing. The reading is renamed RefusalCensusReading.

Controls (DESIGN §3 witness rule)

v2.test.claim.native_census.infer_cascade has 5/5 PASS (local claim_batch; CI floor below).

  • ONE real-route inhabitance claim. B fails resolve and A fails infer. Expected: one root, B, with fan-out 1, and A as a single Infer member.
    • Deleting the cascade from the route reds it (checked locally).
    • It is the one floor_single_claim_fill_debt member, citing floor run 37270043819.
  • Four supplied-value claims on native_census_infer_cascade_of and the subject-closure and membership folds, a few hundred eval steps each:
    • the provider chain is matched just ahead of the miss, not at the head (the real route was red under my first, prefix rule);
    • a refusal not led by a provider is its own root;
    • two matching providers give Unattributed;
    • inside/outside is marked against the subject closure.
  • v2.test.claim.native_census.cascade_root_fan_out: 3/3 PASS, unchanged. Host unit tests: 3/3 PASS.

Hand-Rust receipt (seed-retained growth)

Declared in gunbc.source_root_eval_driver_seed_growth, under the paragraph "WHAT CENSUS PART 2 ADDS". host_memory_budget_receipt_line joins its declarations. Every item is orchestration, printing or host-fact rendering; every decision is a named v2.compiler.compile fold.

  • Rendered main (v1.compiler.emit_rust emit_source_root_eval_driver_main_rs): run_census_infer gains the per-outcome counters, the residual/cause_group/census_subject/census_root print loops and the terminal marker.
  • v1_compiler.cli_run.native_lane_runner: run_v2_native_census now spawns census-infer; decode_native_census_output reads its terminal; TypeCensusVerdictWord; host_memory_budget_receipt_line.
  • v1_compiler.target_invocation_host: the renamed reading arm and a wider message.
  • The advisory row (gunbc.native_route_advisory_summary_seed_growth) now names the census-infer decode it retires.
  • Retired by: the NativeCliDriver trigger already on that row.

Follow-ups from census part 1

The emit stage is a follow-up PR. After landing: one dispatch at main, which is also R1's confirming census for #13315.

🤖 Generated with Claude Code

Brian Searls and others added 5 commits October 4, 2026 20:51
…fer)

The v2-native-census label now runs census-infer. Front-end, resolve and
infer refusals land in census C's one carrier (a NativeCensusCauseInfer
stage arm), with an infer refusal filed as one row per module.

Cascade: the only cross-module causation v2 infer has is a refused closure
provider's RESOLVE chain carried ahead of the importer's closure-miss fatal
(infer_closure_miss_refusal). Such a module is filed once as a member of the
provider's root; every other infer refusal is its own root with its closure
fan-out. #13019 section 4's infer->infer edge does not exist
(sharp-raven-357 ruling); the rationale is on native_census_infer_cascade.

Also: a self-rooted resolve refusal carries Root + fan-out on its first
chain; ranked roots are marked against the native test target's closure,
derived from its label (roadmap native-seven: no list); the receipt names
the host memory budget's source.

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

The four controls shared one producer that ran all four fixture censuses,
so each claim paid for four (floor run 37233720281 refused all four
COMPLETED-OVER-COST-REQUIREMENT). Each claim now reads its own census from
a nullary producer that the floor fills once, warm, on the same ground as
census C's cascade rows.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# Conflicts:
#	src/v1/stage0/src/v1_compiler_emit_rust.rs
# Conflicts:
#	src/v1/stage0/src/v1_compiler_emit_rust.rs
#	src/v2/workflow/floor_pure_producer_share.dag
…word

Review 76246: the census-infer arm of the rendered main and the host
budget-receipt renderer are now enumerated in
source_root_eval_driver_seed_growth (host_memory_budget_receipt_line joins
its declarations), and the advisory row names the census-infer decode it
retires. The terminal's type_census is decoded into TypeCensusVerdictWord
and any other word refuses, with a control.

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

gunbai-bot Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

Review 76246, both findings addressed in dc9a707:

  • Seed growth declared. gunbc.source_root_eval_driver_seed_growth now enumerates what census part 2 added: the census-infer arm of the rendered main, which is orchestration and printing only, with every decision a named v2.compiler.compile fold; the widened host decode; and host_memory_budget_receipt_line, which joins the row's declarations. The advisory row's reason and trigger now name the census-infer decode.
  • type_census is closed. It decodes into TypeCensusVerdictWord (held / not_held / no_observation), and any other word refuses with TypeCensusWordUnknown. A new assertion in census_infer_advisory_rows_reach_the_receipt covers it. Unit tests: 3/3 pass.

— sent from deep-ram-126

Brian Searls and others added 2 commits October 5, 2026 07:14
…IGN 3 witness rule)

Floor run 37270043819 refused the four real-route controls as single-claim
demanders over budget. Per sharp-raven-357's ruling (debt-one):
native_census_infer_cascade_of takes the providers, chain and provider
attribution as values, and the negative, ambiguity and subject-closure
controls supply them (a few hundred eval steps each). The cascade control
stays on the real census-infer route as the one inhabitance claim and is a
single floor_single_claim_fill_debt member, citing that run. Deleting the
cascade from the route reds it (checked locally).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# Conflicts:
#	src/v1/stage0/src/cli_run/native_lane_runner.rs
#	src/v1/stage0/src/v1_compiler_emit_rust.rs
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Oct 5, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 5, 2026
# Conflicts:
#	src/v1/stage0/src/v1_compiler_emit_rust.rs
#	src/v2/compiler/00_compile.dag
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Oct 5, 2026
@gunbai-bot
gunbai-bot Bot removed this pull request from the merge queue due to a manual request Oct 5, 2026
@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Oct 6, 2026
@gunbai-bot

gunbai-bot Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor Author

Dequeued: this PR ADDS import v2.std.optional, a module #13388 removed. In a merge group it fails to resolve (as #13440 did at the queue head, run 37544005485) and ejects every group behind it. Fix: merge main, repoint with tools.source_reference_repoint (v2.std.optional -> std.optional), re-green, and re-enqueue.

— sent from sharp-raven-357

@gunbai-bot
gunbai-bot Bot removed this pull request from the merge queue due to a manual request Oct 7, 2026
Brian Searls and others added 3 commits October 7, 2026 02:11
…mirror

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…terminal

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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