Skip to content

chore(steward): non-vacuous ADR-0005 arch gate + marshal.json reconcile - #135

Merged
cuioss-oliver merged 2 commits into
mainfrom
chore/steward-upgrade-archtest-guard
Jul 30, 2026
Merged

chore(steward): non-vacuous ADR-0005 arch gate + marshal.json reconcile#135
cuioss-oliver merged 2 commits into
mainfrom
chore/steward-upgrade-archtest-guard

Conversation

@cuioss-oliver

Copy link
Copy Markdown
Collaborator

Summary

Two unrelated-in-origin but co-landed changes from a /marshall-steward upgrade pass:

1. test(arch) — make the ADR-0005 framework-agnostic gate non-vacuous

FrameworkAgnosticArchTest ran its real rule with allowEmptyShould(true). A renamed
package or a single misspelled entry in AGNOSTIC_PACKAGES would therefore have matched
zero classes, found zero violations, and stayed green while protecting nothing. The
existing negative control could not catch that — it exercises its own hardcoded package,
so it proves the ArchUnit mechanism works while saying nothing about whether the real
package list still resolves.

  • Dropped allowEmptyShould(true) from the real rule.
  • Added everyAgnosticPackageResolvesToClasses(), which asserts every entry in
    AGNOSTIC_PACKAGES resolves to at least one production class and names the offending
    entry when it does not.
  • Extended FRAMEWORK_PACKAGES with io.smallrye.., io.netty.. and org.jboss... The
    class Javadoc already names the per-route SmallRye Fault-Tolerance guard as precisely the
    coupling that keeps routing out of the agnostic set; leaving it unlisted would let an
    agnostic-core class acquire that same coupling unchecked. Netty and JBoss arrive
    transitively with the Quarkus/Vert.x stack and are framework by any reading of ADR-0005.
  • The negative control keeps allowEmptyShould(true) deliberately — there the
    asymmetry is load-bearing: an emptied control package makes check pass, which makes
    assertThrows fail loudly, telling us the control stopped controlling anything.

2. chore(steward) — reconcile marshal.json

Steward upgrade against plan-marshall 0.1.1274: sync-defaults back-filled
system.retention.no_plan_body_days and re-stamped the provisioning fields. Executor
regenerated (141 scripts); 30 superseded plugin-cache version dirs pruned.

Verification

verify -Ppre-commit passed (exit 0, 231s).

Review

Labelled skip-bot-review.

cuioss-oliver and others added 2 commits July 30, 2026 20:45
The rule ran with allowEmptyShould(true), so a renamed or misspelled entry in
AGNOSTIC_PACKAGES would have matched zero classes, found zero violations, and
stayed green while protecting nothing. Drop that setting on the real rule and
add a guard asserting every protected package resolves to at least one
production class, naming the offending entry when it does not.

Also extend FRAMEWORK_PACKAGES with io.smallrye.., io.netty.. and org.jboss..:
the class Javadoc already names the SmallRye Fault-Tolerance guard as the
coupling that keeps routing out of the agnostic set, and Netty/JBoss arrive
transitively with the Quarkus/Vert.x stack.

The negative control keeps allowEmptyShould(true) deliberately — there it is
load-bearing, so an emptied control package fails assertThrows loudly instead
of passing for the wrong reason.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0192te7j2ceUn2ASBjuXzWPU
Steward upgrade against plan-marshall 0.1.1274: sync-defaults back-filled
system.retention.no_plan_body_days and re-stamped the provisioning fields.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0192te7j2ceUn2ASBjuXzWPU
@cuioss-oliver cuioss-oliver added the skip-bot-review Skip automated review bots on this PR label Jul 30, 2026
@cuioss-oliver
cuioss-oliver enabled auto-merge July 30, 2026 18:46
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🚫 Excluded labels (none allowed) (1)
  • skip-bot-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: cuioss/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: df85bda0-ae4e-4115-b123-8dee4056720e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@cuioss-oliver
cuioss-oliver added this pull request to the merge queue Jul 30, 2026
Merged via the queue into main with commit 4279e15 Jul 30, 2026
27 checks passed
@cuioss-oliver
cuioss-oliver deleted the chore/steward-upgrade-archtest-guard branch July 30, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-bot-review Skip automated review bots on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant