Skip to content

config-space: the flag matrix exhausted, and the order that breaks it - #9

Closed
sajonaro wants to merge 1 commit into
paymentsfrom
config-space
Closed

sajonaro wants to merge 1 commit into
paymentsfrom
config-space

Conversation

@sajonaro

@sajonaro sajonaro commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Stacked on #8 (base payments).

Adds config-space/: four feature flags and two modes (64 combinations) under four product rules, with admin operations whose guards are the rules read as preconditions.

  • Guarded operations: they reach exactly the 21 configurations the rules allow, and nothing else. Exit 0.
  • Shortcut: disable-sso checks authentication but not the shard latch. The route enable-legacy-auth → shard → disable-sso reaches a forbidden state, and only in that order: disable SSO first and shard refuses. recoverable still holds, which is why the bug would ship.
  • --fiber cfg.region (FR-10): only the US fiber fails. The EU deployment is protected by accident, because legacy auth is forbidden there and is the route's first step.
  • v2 adds new-billing, whose enable also turns tenancy on. compare: never-unsafe LOST witness: 1. enable-new-billing. check also reports unadmitted enable-new-billing.
  • final-phase (ct.rules §3) names exactly the sharded configurations. That is what the one-way shard costs, asked without a goal.

Differences from the plan: the pair is the realistic one-condition mistake the plan described, not an "everything unguarded" UI, which would break every rule trivially.

Cross-check: 56 → 60 properties (58 compared). ./run-tests.sh all: 329 checks, 0 failed.

🤖 Generated with Claude Code

Four flags and two modes, 64 combinations; the guarded operations reach
exactly the 21 the product's rules allow. The shortcut's disable-sso checks
authentication but not the shard latch: enable-legacy-auth, shard, disable-sso
reaches a forbidden state, and only in that order. --fiber cfg.region shows
the EU deployment is safe from it by accident. v2 adds a billing flag whose
enable turns tenancy on: compare reports never-unsafe LOST in one move, and
check reports the new operation unadmitted. final-phase names exactly the
sharded configurations.

Cross-check 56 -> 60 properties (58 compared); 329 checks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sajonaro

sajonaro commented Oct 3, 2026

Copy link
Copy Markdown
Contributor Author

Superseded: reached main through #10.

@sajonaro sajonaro closed this Oct 3, 2026
@sajonaro
sajonaro deleted the config-space branch October 3, 2026 17:52
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant