You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
arch-fix: move Flavor and convention types to internal/convention (#280)
* refactor(arch): relocate convention types from markdownflavor to internal/convention
Hoist Convention, RulePreset, and Flavor data shapes plus
ParseFlavor / Lookup / Names out of the markdownflavor rule
into a new internal/convention package. internal/config now
imports internal/convention instead of reaching into a rule
package, restoring the layering direction recorded in the
architecture hub.
The markdownflavor rule keeps its rule.Rule impl and the
Feature/support table that maps flavor → which features it
accepts; r.Flavor is now convention.Flavor and Supports is a
free function in the rule package taking a convention.Flavor.
Adds TestConfigDoesNotImportRules to guard the new direction:
it parses every non-test file under internal/config/ and fails
if any import path contains internal/rules/.
Closes plan/155.
https://claude.ai/code/session_01SEJY8ZzkXWkinVyUYMiiKB
* fix(convention): tighten Flavor.IsValid to reject unknown values
Flavor.IsValid previously returned true for any non-zero
value, so an out-of-range cast like Flavor(999) would slip
past the check and reach the markdownflavor rule, which would
then treat every feature as unsupported. The docstring already
promised "reports whether f names a recognised flavor", so the
fix is to delegate to String — every recognised flavor has a
name, every other value returns "".
Adds a Flavor(999) case to TestFlavorIsValid.
https://claude.ai/code/session_01SEJY8ZzkXWkinVyUYMiiKB
* fix(plan): use numeric:id sort to keep PLAN.md in plan-id order
The catalog directive header reverted to `sort: id` after the
rebase, which sorts lexicographically — so plan 155 lands above
plan 52 in the rendered table. The `numeric:id` prefix was
added in 8d37e44 specifically for this case; restore it and
regenerate.
https://claude.ai/code/session_01SEJY8ZzkXWkinVyUYMiiKB
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments