Skip to content

feat(sdk-review): batch 4/6 — structural checks + BREAKING family#205

Merged
tiagoek merged 2 commits into
feat/sdk-review-skillfrom
feat/sdk-review-batch-4
Jul 7, 2026
Merged

feat(sdk-review): batch 4/6 — structural checks + BREAKING family#205
tiagoek merged 2 commits into
feat/sdk-review-skillfrom
feat/sdk-review-batch-4

Conversation

@tiagoek

@tiagoek tiagoek commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Description

Adds 5 checks: check-docs (DC-01..16 including BTP dependency documentation), check-bdd (cross-language parity via aliases), check-patterns, check-versioning + BREAKING-01..04 family (BLOCK_LOCKED, AST-based diff detection), check-commits (Conventional Commits with parent-count merge detection).

This is part 4 of 6 in the incremental delivery of the SDK Module Review skill (AFSDK-3937).

Each sub-PR is scoped to be reviewable in ≤ 30 minutes and satisfies these isolation criteria:

  • Compiles alone (shellcheck / ruff pass)
  • Testable alone (bats/pytest pass on top of the prior batches)
  • Revert-safe (prior batches keep working if this one is reverted)
  • No breaking changes for subsequent batches

Related Issue

Internal tracking: AFSDK-3937

Type of Change

  • New feature (non-breaking change that adds functionality)

How to Test

git checkout feat/sdk-review-batch-4
bats tests/sdk-review/          # if applicable to this batch
shellcheck -x --severity=error .claude/scripts/**/*.sh

Batch progression

After all 6 batches are merged into feat/sdk-review-skill, a final cosmetic PR will merge feat/sdk-review-skill into main.

Checklist

  • Follows Conventional Commits
  • Isolated (see criteria above)
  • No sensitive information (fixture strings are placeholder patterns, not real credentials)

@tiagoek tiagoek changed the base branch from feat/sdk-review-skill to feat/sdk-review-batch-3 July 6, 2026 15:06
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-3 branch from 1284315 to 2ca08b4 Compare July 6, 2026 15:18
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-4 branch from 5afd4f7 to ab90a3c Compare July 6, 2026 15:18
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-3 branch from 2ca08b4 to 597305e Compare July 6, 2026 15:52
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-4 branch from ab90a3c to aa08669 Compare July 6, 2026 15:52
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-3 branch from 597305e to 9cf9da1 Compare July 6, 2026 15:59
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-4 branch 2 times, most recently from 582b50f to 869b41d Compare July 6, 2026 19:30
tiagoek added 2 commits July 6, 2026 17:12
Adds 5 checks that enforce structural conventions:

## Checks (.claude/scripts/)
- check-docs.sh — DC-01..16 (user-guide.md sections; BTP dependency
  documentation for Destination/Fragments/Certificates/Regional Availability)
- check-bdd.sh — BDD-01..05 (feature files + cross-language parity via
  module-aliases.yaml)
- check-patterns.sh — PT-01..11 (factory pattern, py.typed, exception
  hierarchy, type hints). Scope-gated to client modules.
- check-versioning.sh — VER-01..07 + BREAKING-01..04 family. Uses
  breaking-detector.py (from batch 1) for AST-based diff. BREAKING-01/02
  BLOCK_LOCKED — cannot be suppressed.
- check-commits.sh — COM-01 Conventional Commits. Merge commits skipped
  via parent-count detection (robust regardless of message shape).

Part 4 of 6. Ref: AFSDK-3937
- check-commits/check-versioning: resolve BASE_SHA from origin/${GITHUB_BASE_REF}
  merge-base rather than HEAD~10 (which fails on branches with <10 commits)
- check-versioning: set -e enabled; \s+ → [[:space:]]+ in version regex;
  BREAKING checkbox accepts *, +, or - bullets and case-insensitive label
- check-bdd: alias YAML parser handles indented values and single-quoted
  scalars; BDD-01 new-module detection walks diff blocks (new file mode +
  next +++ b/…) instead of matching them on the same line
- check-docs: DC-12/13/14 use word-bounded SAP-namespaced references so
  DocumentFragment, AWSRegion, and 'region_id' in docstrings no longer
  trigger false positives
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-3 branch from a025df1 to 46f1495 Compare July 6, 2026 20:13
@tiagoek tiagoek force-pushed the feat/sdk-review-batch-4 branch from 869b41d to 1a7ccc8 Compare July 6, 2026 20:13
Base automatically changed from feat/sdk-review-batch-3 to feat/sdk-review-skill July 7, 2026 15:08
@tiagoek tiagoek merged commit 1a7ccc8 into feat/sdk-review-skill Jul 7, 2026
3 checks passed
@tiagoek tiagoek deleted the feat/sdk-review-batch-4 branch July 7, 2026 15:08
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