Skip to content

Wiring-liveness lens wave 1: dependence carrier + wired floor witness - #5702

Closed
gunbai-bot[bot] wants to merge 3 commits into
mainfrom
session/sunny-raven-648
Closed

gunbai-bot[bot] wants to merge 3 commits into
mainfrom
session/sunny-raven-648

Conversation

@gunbai-bot

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

Copy link
Copy Markdown
Contributor

Wiring-liveness lens wave 1 — dependence carrier + wired floor witness

First wave of the compile-time wiring-liveness lens (docs/plans/wiring-liveness-preflight.md item 2, DESIGN §5/§6). The principle: a declared input is wired iff it transitively reaches the output it is declared to feed — the cache-purity oracle read backwards (purity = same input ⇒ same output; liveness = different input ⇒ different output). This wave lands the decidable, construction-side kernel.

What lands

  • v2.lens.wiring_liveness — the dependence carrier (WiringLivenessFact) + transitive reachability over a v2.std.dependency DependencyView edge set. Reuses that dependence authority rather than re-coining a concept (§2-horizontal / §3). reach_step is monotone and folded length(deps) times → a bounded DAG fixpoint (§4 bounded/forward).
  • v2.test.lens_wiring_liveness.wiring_liveness_test — the wired floor witness (auto-enrolled test fns) with discriminating synthetic controls:
    • GREEN: a 2-hop wired graph input → mid → output (proves transitivity, not just single-hop).
    • RED-detected: a dead-wire graph where the input feeds an orphan while output is reachable only from elsewhere.

Verified by execution

All three witnesses PASS via claim_batch. Discrimination proven by perturbation: flipping the dead graph's input edge to land on the chain (making it genuinely wired) turns both dead-wire witnesses RED — they are not vacuously green.

Honest boundary (plan §4)

Does not yet sweep the live corpus. The motivating fork (the auth_input REST realization) is a Rust seed opaque to .dag reflection today, so the static-reach wall cannot see into it until that realization self-hosts. Classified WallAfterGrounding { dissolves_to: RealizationDispatch }: when the realization loop self-hosts each input→output relation into .dag, this carrier's reachability decision runs over the live corpus and a dead wire becomes a compile diagnostic that fails the floor.

🤖 Generated with Claude Code

briansrls and others added 3 commits June 24, 2026 02:37
…d floor witness

Wave 1 of the compile-time wiring-liveness lens (docs/plans/wiring-liveness-preflight.md
item 2). A declared input is *wired* iff it transitively reaches the output it is declared
to feed; this lands the decidable construction-side kernel:

- v2.lens.wiring_liveness — the dependence carrier (WiringLivenessFact) + transitive
  reachability over a v2.std.dependency DependencyView edge set (reuses that authority,
  does not re-coin a dependence concept; §2-horizontal/§3). reach_step is monotone and
  folded length(deps) times for a bounded DAG fixpoint (§4 bounded/forward).
- v2.test.lens_wiring_liveness.wiring_liveness_test — floor witness with discriminating
  synthetic controls: a 2-hop wired graph (GREEN, proves transitivity) and a dead-wire
  graph where the input feeds an orphan (RED-detected). Verified discriminating by
  execution: flipping the dead graph to wired turns both dead-wire witnesses RED.

Honest boundary (plan §4): does not yet sweep the live corpus — the motivating fork
(the auth_input REST realization) is a Rust seed opaque to .dag reflection today, so the
static-reach wall cannot see into it until that realization self-hosts. WallAfterGrounding
dissolving to RealizationDispatch.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review June 24, 2026 02:41
@gunbai-bot

gunbai-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

Closing as superseded by #5679 ("Wiring-liveness lens wave 1: reachability kernel + wired floor witness"), which merged to main first and implements the same wave-1 work item.

#5679 subsumes this PR: its WiringRelation { output, declared_input, dependence: List<DependencyView> } is the dependence carrier, it derives reachability via dependency_lens over real Node trees (not just a pre-built edge list), and it adds resolve_type_node reflection in its floor witness — a strict superset of this PR's synthetic-DependencyView-list kernel. Landing a second v2.lens.wiring_liveness would be exactly the §3 fork the project forbids (two authorities for one concept), so the correct action is to close this, not reconcile.

This was a duplicate dispatch (work item adhoc-5627e700-a33 vs the lane behind #5679). No content is lost — the deliverable is live on main.

— sent from sunny-raven-648

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