Repository navigation
docs/plans: inert-layer lens — observe modeled-but-unreached layers (+ live census) - #5479
Merged
Merged
Conversation
…ive census Operator ask: a lens to observe inert/unwired layers, especially ones that SEEM load-bearing but are unwired. Design + a real census (measured 2026-06-21): - inert = declared AND not reachable from a live RUN-root (reachability, not reference-count: RealizationObjective and ComputeOffer both have 4 consumers but the first is live via ci_floor_plan→realization_width, the second reaches nothing that runs). - target class (0 live consumers, load-bearing): CacheLayerPlan, WorkDemand, ParallelismShape/ IndependentShards/PartitionedReduce, Partitioner, execution_receipt_digest stub. - generalizes the #5433 inert-lens backstop (does NOT fork it): same module-reachability BFS, widened roots (run not test) + output (all modules not just v2.lens.*). - two tiers: module-level buildable now (reuse cli_run.rs:2558); symbol-level needs whole-corpus BindsTo enumeration, gated on #5364 like concept_index. - frontier: decidable ② observing lens now → ① fail-closed wall once the staged-ahead exception roster empties (same ratchet→wall as the realization-vocab guard). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… looks like one
Operator rule-design question (test consumers? dead transitive consumer? 1-but-should-be-10?).
Classified each against the expressibility-frontier:
- test-consumer: separate root set (run vs test) → 'tested but unrun' bucket; wall only on
run-root-inert. ①
- transitive dead consumer: never count locally — membership in the complement of the reachable
set, fixpoint over the whole tree. ①
- dead arms/fields ('should be 10' reading A): arm-level reachability, decidable. ①
- under-consumption ('should be 10' reading B = 10 call-sites should consume it): NOT inertness —
the §2/§3 redundancy/nicknaming dual; 'should be N' is ③ undecidable directly but ② detectable
as hand-rolled equivalents. Keep separate from the inert rule (fusing breaks the wall).
Hard rule = 0-reachability, a wall on 3 conditions (enumerable run-roots + reflective edges count
+ shrinking exception roster).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…his doc's ROADMAP line Operator: extend the reachability rule to DOCS — a plan doc with no ROADMAP link is an orphan, the same shape as an inert carrier. Added §8 generalization (code · docs · lenses are one rule over three graphs; docs = the cheapest wall, pure link reachability) with a live census: 18 docs, 13 reachable, 5 orphans + 1 dangling ROADMAP link (expensive-test-cause-table.md referenced twice, never written). Demonstrates the rule by fixing its own orphan: adds the reachability-completeness ROADMAP §0-meta line in the SAME PR (a PR adding docs/plans/X.md must wire it — the doc-graph analog of 'an inert lens is a lie'). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…sus count (bright-stag) bright-stag (ROADMAP owner) corrections folded in: - DANGLING REF: repoint ROADMAP line 32's [cause table] link expensive-test-cause-table.md → ci-selection-vs-scheduling.md, where the Pop-A/Pop-B debug-amplification content already lives. Do NOT create a new doc (§2/§3 — would duplicate). 0 dangling refs remain. - Corrected the §8 census: the ref was 1× (line 32), not 2× — my first census read a stale local ROADMAP behind main's terse pass; added a methodology note that the lens must run against the live tree (the discipline it enforces). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Operator ask: a lens to observe inert / unwired layers — especially ones that seem load-bearing but are unwired.
This is a design + a real census (model-before-implement), not yet the lens itself.
The core idea: inert = declared AND not reachable from a live run-root. Reachability, not reference-count — because a carrier with consumers can still be inert if the consumers are themselves inert (a self-referencing cluster). Measured proof:
RealizationObjectiveandComputeOffereach have 4 consumer files, but the first is live (ci_floor_plan→realization_width→it) and the second reaches nothing that runs.Census (the discriminating witnesses the lens must reproduce):
CacheLayerPlan,WorkDemand,ParallelismShape/IndependentShards/PartitionedReduce,Partitioner,execution_receipt_digest(a stub returningwork.id).ComputeOffer/the fleet model — projected toRunnerSpecbutci.yml's runner block is still a literal.RealizationObjective/realization_width— the memory-aware width landed.Reuses, does not fork (§3): generalizes the #5433 inert-lens backstop (same module-reachability BFS,
cli_run.rs:2558),concept_index.enumerate_concepts(),unused_parameters'BindsTo-is-the-use authority.Two tiers: module-level buildable now; symbol-level needs whole-corpus
BindsToenumeration (gated on #5364 likeconcept_index).Frontier placement: a ② observing lens now (ranked report + a named shrinking exception roster for staged-ahead carriers) → promote to a ① fail-closed wall once the roster empties — same ratchet→wall shape as the realization-vocab guard.
Open questions in §8 (run-root set; Tier-1-now vs wait for symbol granularity).
🤖 Generated with Claude Code