Skip to content

integration/wave-1 is superseded and must not be merged to main #138

Description

@ChelseaKR

integration/wave-1 is still on origin, 12 commits "ahead" of main. It looks like unmerged work. It is not, and merging it would regress main. This records the check so the next reader does not have to redo it.

It carries nothing main lacks

$ comm -13 <(git ls-tree -r --name-only origin/main | sort) \
           <(git ls-tree -r --name-only origin/integration/wave-1 | sort)
(no output)

Its two once-unique files, src/exitdrill/atomic_write.py and tests/test_atomic_write.py, landed on main byte-identically as #127. Everything else on the branch is an earlier variant of work main now has, usually under a different test name:

on integration/wave-1 on main
test_partial_scoped_shortfall_is_counted_by_the_fail_closed_floor test_restoration_only_dimensions_report_exactly_the_shortfall (#117)
test_is_sha256_hex_accepts_what_the_hashers_above_produce + rejects test_is_sha256_hex_accepts_only_what_the_hashers_emit (#119)
the bound renderer / discovery / binding trio test_every_declared_bound_constant_appears_in_the_bounds_tables and the threat-model bound tests (#121)
test_the_json_recursion_arms_are_named_with_the_depth_that_still_reaches_them test_the_json_recursion_arms_are_still_present_and_still_reachable (#136)
test_the_subcommand_binding_rejects_a_name_no_document_carries same name, ported to main's own matcher (#137)
atomic_write.write_bounded_file and its four tests identical, via #127
the closed-key validator (#91), the digest predicate (#92) contracts.py (#116), canonical.is_sha256_hex (#119)
scripts/ coverage + the three floors (#86) #125
the 3.12/3.13/3.14 matrix (#90) #118, plus an aggregate verify job the branch does not have

Merging it would take things away

main is 13 commits ahead of the merge base on its own side. The branch predates, and so would fight with:

It would also land Claude attribution in permanent history

Seven of its twelve commits carry a Co-authored-by: Claude trailer and a Claude-Session: line:

b9bbf67 04174616 338e78d4 9111ac79 68e51e24 217dc097 2ceb2318

The standing rule is that no Claude attribution appears anywhere in git history. A squash merge composes its message from the branch's commits and appends co-author trailers it finds there, so merging this branch — by any route — would add all seven to main at once. History is never to be rewritten to remove them afterwards, so the only control is not adding them.

What to do

Owner's call, and nothing is urgent:

  • Delete the branch, since main now contains everything it was for; or
  • Keep it as a record of the wave, with this issue as the reason it is not merged.

Either way: do not merge it, and do not cherry-pick from it without diffing against main first — most of what looks missing is present under another name.

Prepared with AI assistance; reviewed before submission.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions