Skip to content

Remove interactive-debugger remnants and stale rspec-puppet scaffolding - #69

Merged
silug merged 2 commits into
simp:mainfrom
silug:housekeeping-debug-remnants
Jul 30, 2026
Merged

Remove interactive-debugger remnants and stale rspec-puppet scaffolding#69
silug merged 2 commits into
simp:mainfrom
silug:housekeeping-debug-remnants

Conversation

@silug

@silug silug commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Housekeeping follow-up to #52: sweeps out the remaining interactive-debugger hazards and dead test scaffolding noted during the recent PRs.

Removed

  • debug::break() at the end of puppetsync::batch — ran unconditionally on every batch invocation, so any unattended batch run would hang at the finish line.
  • debug::break() in puppetsync::record_stage_results' default case — replaced with a hard fail() naming the stage and offending type. Same reasoning as the pipeline_stage fix in Fail fast on unrecordable stage results instead of binding.pry #64: silently unrecorded results would let failed targets pass later stages' ok-so-far filters. (The branch is nearly unreachable given the function's Variant signature, but if it's ever hit, hanging or continuing are both wrong answers.)
  • The nwops/debug module dependency from bolt-project.yaml — no debug:: callers remain (verified by grep).
  • dist/puppetsync/spec/ — rspec-puppet scaffolding whose only spec tested puppetsync::parse_puppetfile, a function that no longer exists (noted in Add internal CI: task unit tests and Bolt plan smoke test #57). The living test suite is the top-level spec/ that CI runs.

Verification

puppet parser validate on both edited files, bolt plan show puppetsync, the list_pipeline_stages dry run, the idempotency e2e script (which exercises record_stage_results on every stage), and rspec (154 examples, 0 failures) — all green. grep -r "debug::" across dist/, modules/, and bolt-project.yaml confirms nothing references the removed module.

With this merged, there are no interactive debugger entry points left anywhere in the run path — the last prerequisite noise before scheduled/unattended runs (#56) is gone.

🤖 Generated with Claude Code

Follow-up to simp#52 (binding.pry removal), sweeping out the remaining
hazards that could hang unattended runs:

- debug::break() at the end of the puppetsync::batch plan (ran on
  every batch invocation)
- debug::break() in record_stage_results' default case, replaced with
  a hard failure: unrecorded results would let failed targets pass
  later stages' ok-so-far filters, same reasoning as simp#64
- The nwops/debug module dependency in bolt-project.yaml (no callers
  remain)

Also removes dist/puppetsync/spec/ (rspec-puppet scaffolding whose
only spec tested puppetsync::parse_puppetfile, a function that no
longer exists; the live test suite is the top-level spec/ run by CI).

Verified: parser validation, bolt plan show, list_pipeline_stages dry
run, the idempotency e2e (which exercises record_stage_results on
every stage), rspec (154 examples), and a grep confirming no debug::
references remain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@silug
silug marked this pull request as draft July 30, 2026 16:13
CHANGELOG.md is frozen (see simp#71); the squash-merge PR title carries
this change's history.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@silug
silug marked this pull request as ready for review July 30, 2026 16:39
@silug
silug merged commit 12766f3 into simp:main Jul 30, 2026
2 checks passed
@silug
silug deleted the housekeeping-debug-remnants branch July 30, 2026 18:58
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.

2 participants