Skip to content

The code obeys its own ADRs #1096

Description

@ExtraToast

Problem Statement

Two rules this repository wrote down for itself are not kept by the code, and in both cases the code reads as though they are.

docs/adr/frontend/ADR-001-domain-feature-architecture.md says pages/** and components/** may not import @/services/api, and that new feature work goes to domains/<domain> first. The three bulk dialogs under components/common/modals/bulk/ import the generated client directly, and src/utils/contributionEmail.ts holds roughly 230 lines of contribution domain rules outside any domain.

@Positive on the elements of a List<Long> request field does nothing. Kotlin emits JVM type annotations only under -Xemit-jvm-type-annotations, which no Gradle module here sets, so Hibernate Validator has nothing to act on. Several endpoints advertise a constraint they do not have. Confirmed with javap on SendPaymentEmailsRequest.

A rule that only the documentation keeps is worse than no rule: it is read as enforced by everybody after the person who wrote it.

Order

The two slices are independent. Either can land first.

Slices

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

    enhancementNew feature or requestepicA parent issue holding a set of slices

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions