Skip to content

Add opt-in enforcement/lint for the generated stack rule #14

Description

@ivklgn

Problem

/archcore:init seeds a project-stack rule whose imperative is "do not introduce alternative frameworks without an ADR", but nothing enforces it. The plugins/archcore/bin/check-* hooks cover doc quality, alignment, cascade and staleness — none check code or dependency changes against the seeded stack rule. The rule is context-only.

Expected result

An opt-in / advisory guardrail (a hook or an /archcore:audit check) that warns when a manifest change introduces a framework / persistence / styling choice that contradicts the accepted stack rule without a corresponding ADR.

Impact

Turns the seeded stack rule from passive context into a gentle guardrail, catching architectural drift (e.g. a second HTTP framework) at the moment it is introduced.

Proposed approach

  • Ship advisory-only first (warn, never block).
  • Heuristics for "new framework/persistence/styling without an ADR" derived from the stack rule.

Acceptance criteria

  • Adding a dependency that contradicts the stack rule (without an ADR) emits an advisory.
  • The guardrail never blocks and is opt-in.

References

Design rationale: .archcore/plugin/zero-content-onboarding-implementation.plan.md and magic-first-day-init.plan.md (both "Out of scope: enforcement"). Code: plugins/archcore/bin/check-*.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions