Skip to content

[Sprint] sprint-loop-44#40

Merged
scealiontach merged 3 commits into
mainfrom
sprint/2026-05-13-sprint-loop-44
May 13, 2026
Merged

[Sprint] sprint-loop-44#40
scealiontach merged 3 commits into
mainfrom
sprint/2026-05-13-sprint-loop-44

Conversation

@scealiontach
Copy link
Copy Markdown
Owner

Sprint Plan: 2026-05-13 Sprint Loop 44

Sprint Goal

Tighten the shell-scripts maintenance surface by closing one missing regression-test gap in log.sh source-time initialization and slimming the shared make definitions to match the repo's actual build, package, archive, and release workflow. Linear only had two eligible Backlog issues after applying the required filters, so this sprint intentionally stays small instead of pulling from another state or project.

Selected Issues

SUR-2855: SUR-2843 follow-up: add tests/log.bats coverage for caller-override preservation

Description summary: SUR-2843 refactored bash/log.sh source-time default handling for LOG_DISABLE_* flags, but its planned tests/log.bats regression coverage was not added. The issue requires tests proving caller pre-set LOG_DISABLE_* values survive LOG_LEVEL=0 defaulting, plus a parallel case proving the LOG_LEVEL default is still applied when no caller pre-set exists.

Rationale: This is a focused test-only follow-up that protects a recently changed logging contract and should be completed before further log.sh changes rely on the behavior.

Definition of Done:

  • tests/log.bats includes a test named for SUR-2347 / SUR-2843 that pre-sets LOG_DISABLE_TRACE=false before sourcing bash/log.sh with LOG_LEVEL=0.
  • The override-preservation test asserts the pre-set value remains false even though level 0 would otherwise disable TRACE.
  • Coverage either exercises TRACE, DEBUG, INFO, and WARNING in turn or documents why a narrower assertion still protects the contract.
  • tests/log.bats includes a no-pre-set case showing LOG_LEVEL=0 derives LOG_DISABLE_TRACE=true.
  • Any tests/sur-2347-*.sh regression scripts are run if present; none were found during planning.
  • tests/bats/bin/bats tests/log.bats passes.
  • make test and pre-commit run --all-files pass.

Dependencies / ordering: Do this first. It is isolated to tests and gives the sprint an early correctness check before touching shared make infrastructure.

SUR-2841: Simplify: standard_defs.mk carries unused Maven/Sonar/FOSSA/toolchain machinery

Description summary: standard_defs.mk contains large unused sections for Maven, SonarQube, FOSSA, NPM, docker toolchain bootstrap, cross-project dispatch, and generic archive behavior. The repo's Makefile only relies on a smaller set of variables and targets, while CI still calls make clean build, make package, gated make analyze, make test, and make archive. The issue asks to remove or extract unreferenced machinery and ensure the remaining file maps to actually used targets.

Rationale: Reducing this file lowers maintenance cost and avoids confusing build failures from inherited toolchain targets that this repository does not use.

Definition of Done:

  • Audit Makefile, .github/workflows/ci.yaml, .github/workflows/pre-commit.yaml, and release usage before deleting targets or variables.
  • Keep required behavior for VERSION, LONG_VERSION, RELEASABLE, MARKERS, build, clean_dirs, archive / archive_git, what_version, and gh-create-draft-release.
  • Remove or isolate unused Maven, Sonar, NPM, FOSSA, DIVE, docker toolchain, and cross-project dispatch blocks from standard_defs.mk.
  • Preserve make clean build, make package, make analyze, make test, make archive, make publish, and make what_version semantics expected by CI.
  • Drop empty analyze from accidental build criticality or keep it as an explicit no-op with a clear repo-local reason.
  • make what_version, make clean build, make package, make test, and make archive pass locally.
  • pre-commit run --all-files passes.

Dependencies / ordering: Start after SUR-2855. The make cleanup has broader blast radius and should be verified with the full command set.

Risks + Mitigations

  • Removing gh-create-draft-release support could break make publish; keep the target and its RELEASABLE guard intact.
  • Simplifying version variables could change release artifact names; verify make what_version before and after the cleanup.
  • archive may depend on marker directory creation; keep build_dirs / MARKERS behavior or update archive prerequisites carefully.
  • CI currently calls gated make analyze; keep an explicit no-op unless the workflow is changed in the same branch.
  • Existing comments may describe legacy Jenkins behavior; update comments only where they would become misleading.
  • standard_defs.mk may be reused by undocumented local workflows; keep the change scoped to issue-listed unused machinery and validate documented commands.
  • tests/log.bats already has SUR-2347 coverage; avoid duplicating identical assertions by extending coverage to the exact LOG_LEVEL=0 override path from SUR-2855.

Out of Scope

  • New logging behavior in bash/log.sh beyond test coverage for the existing caller-override contract.
  • Reworking the release flow, tag strategy, or changelog generation.
  • Changing GitHub Actions workflow structure beyond comments or command expectations required by standard_defs.mk cleanup.
  • Adding or removing Linear labels, assignments, cycles, or project metadata.
  • Selecting issues outside Linear status Backlog at planning time.

Linear Evidence

  • Linear team verified: Surinis
  • Linear project used: shell-scripts
  • Query/filter used: team Surinis, project shell-scripts, state exactly Backlog, archived excluded; full descriptions and comments read for every Backlog issue returned; manual label, blockedBy, sub-issue, and open-PR overlap filters applied.
  • Approx count of Backlog issues reviewed: 2
  • Approx count of manual-labelled Backlog issues skipped: 0
  • Issues skipped due to unmerged blockers: 0 []
  • Issues skipped due to open-PR file overlap: 0 []

Sub-issue Status

No selected or skipped candidate issue had sub-issues in Linear.

Parent Issue Sub-issue Sub-issue Status Eligible?
SUR-2855 None N/A Yes
SUR-2841 None N/A Yes

Linear State Transitions

Issue ID Previous State New State
SUR-2855 Backlog Todo
SUR-2841 Backlog Todo

@scealiontach scealiontach marked this pull request as ready for review May 13, 2026 10:00
@scealiontach scealiontach merged commit 42b8c1b into main May 13, 2026
3 checks passed
@scealiontach scealiontach deleted the sprint/2026-05-13-sprint-loop-44 branch May 13, 2026 10:03
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