Skip to content

Restore the inert-layer-lens §8 sibling-family note that #6649's regen silently deleted - #6671

Closed
gunbai-bot[bot] wants to merge 23 commits into
mainfrom
fix/inert-layer-lens-drift
Closed

gunbai-bot[bot] wants to merge 23 commits into
mainfrom
fix/inert-layer-lens-drift

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor

Purpose changed since this PR opened. It was a main-unblock; main is now green (via #6649). It is now a content restoration. See below — the original version of this PR would now RE-RED main, which is why it was rebased and re-verified rather than merged as-was.

What happened, in order

  1. vacuity lens #6638 added the §8 "Sibling family" blockquote directly to docs/plans/inert-layer-lens.md — a generated projection of dag/gunbc/plans/inert_layer_lens.dag. The authority never carried it → drift.
  2. Docs-only diffs skip the witness corpus, and the drift gate is floor-resident, so nothing caught it on the PR. It reddened main instead (05:10 onward), and every open PR inherited it.
  3. Wave 1 Gate 1 Stage D — general body producer subsumes the produce_* fixture family (by execution), then delete the bespoke flat-token grammar + StampBinding tables + fixture pass-throughs. Base on PR #6632 (C1). = the Wave-2 trigger. #6649 regenerated the doc from the authority. Drift resolved, main green — but the note was silently deleted. No one was told; the content simply vanished.

Net: an authored design note was lost to a mechanical regen, and the only signal was main going green.

What this PR does

Restores the note in its correct home:

  • dag/gunbc/plans/inert_layer_lens.dag §8 carries the note via the existing quote(blocks: [...]) helper (already imported/used in this file).
  • docs/plans/inert-layer-lens.md is regenerated from that authority, so the two agree.

The regen diff is exactly the 2 lines #6649 removed — no other doc churn.

Verified by execution (on the merged head)

state drift gate
authority-only, doc not regenerated (= this PR's previous version, post-#6649) FAIL
authority + regenerated doc (this PR) PASS

That first row matters: the earlier version of this PR was approved and CI-green against a pre-#6649 base, and would have re-red main if merged after #6649 landed. Caught by re-running the gate on the rebased head rather than trusting the prior green.

The systemic gap this demonstrates (flagged, not fixed here)

A generated docs/plans/*.md can be hand-edited with no PR-time gate (docs-only skips the floor; the drift guard is floor-resident). The content then lives until someone regenerates, at which point it is silently discarded. Both failure directions are silent to the author.

The allowlist already excludes some generated carriers (.gitignore, README.md/CLAUDE.md/DESIGN.md symlinks) for exactly this class — #6236: "their only drift guard is floor-resident; whitelisting them would self-shortcut that gate." Generated docs/plans/*.md projections are not excluded, so the self-shortcut is open for them. This will recur.

If the note is not wanted, close this PR — the note stays deleted and main stays green. This PR exists because the deletion looked accidental (a regen sweeping up drift), not deliberate.

🤖 Generated with Claude Code

briansrls and others added 23 commits July 14, 2026 03:40
…)/2b/2c signed, B1 working-default typed-target) + tick landed slice-0/1 roadmap boxes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…uperseded) + clear the stale FLAG-gating text in the critical-path summary

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ce-0/1 ticks + slice-2 in-flight note into roadmap_authority.dag (done+operator-sign rows) and regenerate via main_wet; drift gate PASS locally

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ciated concat over receipt lines → balanced pairwise join, O(len·n) → O(len·log n) copying, byte-identical output by associativity

Opus noted-and-waived the defect on #6586; the standing operator ruling (DESIGN §6, 2026-07-10) forbids the 'n is small here' waiver. Proven by srv3_typed_receipt_emit_uses_printf_not_naive_echo (content assertion) green. Root cause — no std linear join authority (N hand-rolled joins: join_slash, join_mirror_urls_for_shell, this) — goes on the Wave 4 ledger, not patched per-site here.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… it) + add Srv3InstallDiagnosticObserve / OsInstallActuatorToolchainEnsure arms (#6587's variants landed armless — fifth composition-skew instance); whole-tree compile 0 diagnostics

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…(unblocks main)

main is red on `generated_artifact_drift_gate_passes` (batch 4), and every open
PR inherits it. Cause: #6638 added the §8 "Sibling family" blockquote directly to
`docs/plans/inert-layer-lens.md`, which is a GENERATED projection of
`dag/gunbc/plans/inert_layer_lens.dag`. The authority never carried the note, so
regeneration no longer reproduced the committed doc — drift.

Fix restores the single authority rather than reverting the content: the note is
added to the authority via the existing `quote(blocks: [...])` helper, so the
authority now generates exactly the bytes already committed. `docs/` is
byte-unchanged by this diff — the author's content was right; its home was not.

Proven by execution, both directions:
  - authority fixed  -> PASS run_generated_artifact_drift_gate
  - authority stashed -> FAIL run_generated_artifact_drift_gate (discriminating control)

Note on how this landed: docs-only diffs skip the witness corpus per the interim
plan-artifact scoping, and the drift gate is floor-resident — so a hand-edit to a
generated `docs/plans/*.md` projection is not gated on the PR and only reds main
afterward. The allowlist already excludes some generated carriers (.gitignore,
README/CLAUDE/DESIGN symlinks) for exactly this class (#6236); generated
`docs/plans/*.md` projections are not excluded. Flagged separately — not fixed here.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rebased onto main after #6649 (f62330d) landed. That PR resolved the drift by
regenerating docs/plans/inert-layer-lens.md from its authority — which DISCARDED
the §8 sibling-family note #6638 had hand-added to the generated doc. main went
green by losing the content, not by homing it.

This PR's purpose therefore changes: it is no longer a main-unblock (main is
green), it RESTORES the lost note and puts it in the right home. The authority
carries the note; the generated doc is regenerated to match. Both agree, gate green.

Verified by execution on the merged head:
  - authority-only (pre-regen) -> FAIL run_generated_artifact_drift_gate
    (i.e. merging the prior version of this PR would have RE-RED main)
  - authority + regenerated doc -> PASS run_generated_artifact_drift_gate
  - the regen diff is exactly the 2 lines #6649 removed, no other doc churn

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot changed the title Unblock main: restore single authority for inert-layer-lens §8 sibling-family note Restore the inert-layer-lens §8 sibling-family note that #6649's regen silently deleted Jul 15, 2026
gunbai-bot Bot pushed a commit that referenced this pull request Jul 15, 2026
Note restoration is owned by #6671; revert dag and md to origin/main
so this PR stays the pure 5-file classifier de-fork and drift-green.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request Jul 15, 2026
* WIP: W0.1 lens de-fork: unify effect/idempotency/ownership/parallelism classi

* WIP: W0.1 lens de-fork: unify effect/idempotency/ownership/parallelism classi

* Import AlgebraicIdempotenceProven in idempotency lens after de-fork.

The variant moved to algebraic_composition.dag with the classifier rows;
idempotency.dag still pattern-matches it in witness/equality helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Drop stale-base revert of inert-layer-lens.md (not part of W0.1).

Restore the vacuity sibling-family blockquote from main; the prior
regenerated-artifact drift fix was an unrelated lane change that would
orphan vacuity-lens-design.md from the doc graph.

Co-authored-by: Cursor <cursoragent@cursor.com>

* WIP: W0.1 lens de-fork: unify effect/idempotency/ownership/parallelism classi

* WIP: W0.1 lens de-fork: unify effect/idempotency/ownership/parallelism classi

* Drop inert_layer_lens changes from W0.1 PR scope.

Note restoration is owned by #6671; revert dag and md to origin/main
so this PR stays the pure 5-file classifier de-fork and drift-green.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #6672 (9e1f354), which landed the same §3 fix — restore the note via the inert_layer_lens Plan authority + regenerate the projection — with better content.

#6672 rewrote the note as "Kin families (§2/§3, distinct invariants)" rather than restoring #6638's original "Sibling family … opposite end of the plurality axis (0 vs ≥2)". That is a real correction, not a paraphrase: the original framed inertness and vacuity as two ends of one axis, whereas they are distinct invariants that share a counted-relation mechanism but diverge in verdict and remedy (inertness → reachability gate/roster; vacuity → oracle provenance). This PR would have restored the weaker wording.

Closing rather than resolving the conflict. main already has the note in both the authority and its generated doc, which is the outcome this PR existed to reach.

Worth recording, since this PR's history is a compact case study in the drift trap:

  1. vacuity lens #6638 hand-edited a generated docs/plans/inert-layer-lens.md → drift. Docs-only diffs skip the witness corpus and the drift gate is floor-resident, so nothing caught it at PR time — it reddened main instead.
  2. Wave 1 Gate 1 Stage D — general body producer subsumes the produce_* fixture family (by execution), then delete the bespoke flat-token grammar + StampBinding tables + fixture pass-throughs. Base on PR #6632 (C1). = the Wave-2 trigger. #6649 regenerated the doc → main green, note silently deleted. Recovery by discarding authored content.
  3. This PR (approved 2/2, CI green on a pre-Wave 1 Gate 1 Stage D — general body producer subsumes the produce_* fixture family (by execution), then delete the bespoke flat-token grammar + StampBinding tables + fixture pass-throughs. Base on PR #6632 (C1). = the Wave-2 trigger. #6649 base) then became actively harmful — merging it post-Wave 1 Gate 1 Stage D — general body producer subsumes the produce_* fixture family (by execution), then delete the bespoke flat-token grammar + StampBinding tables + fixture pass-throughs. Base on PR #6632 (C1). = the Wave-2 trigger. #6649 would have re-red main (proven: FAIL run_generated_artifact_drift_gate on the rebased head). Stale green is not safety.
  4. Restore the vacuity sibling-family paragraph via the inert_layer_lens Plan row (the authority). Context: the vacuity lane (#6638/#6664) hand-added a 'Sibling family (§2 redundancy, the other half)' blockquote to the GENERATED docs/plans/inert-layer-lens.md §8 without updating dag/gunbc/plans/inert_l #6672 and this PR fixed the same thing in parallel, because the debt had no owner.

The underlying gap stands: a generated docs/plans/*.md is ungated at PR time and silently discarded by the next regen — both failure directions invisible to the author. The docs-only allowlist already excludes .gitignore and the README/CLAUDE/DESIGN symlinks for exactly this class (#6236: "their only drift guard is floor-resident; whitelisting them would self-shortcut that gate"); generated docs/plans/*.md projections are not excluded.

— sent from calm-ferret-849

@gunbai-bot gunbai-bot Bot closed this Jul 15, 2026
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