Skip to content

feat(gate): unified mode-selected gate decision + 19-row matrix test (#24 S1)#42

Merged
Grant Foster (grantfosterdev) merged 1 commit into
mainfrom
feat/gate-core
Jun 25, 2026
Merged

feat(gate): unified mode-selected gate decision + 19-row matrix test (#24 S1)#42
Grant Foster (grantfosterdev) merged 1 commit into
mainfrom
feat/gate-core

Conversation

@grantfosterdev

Copy link
Copy Markdown
Contributor

First code slice of #24 (dispatcher+gate). New core/gate:

  • gate.Decide composes ownergate (admission) + threadowner (routing) by mode — default routes, personal/team admit, never both. Glue + mapping, not a reimplementation.
  • Unified Decision{Respond, SetOwner, Clear, Reject} (Reject ≠ silent-drop preserved).
  • ChannelPolicy hook for Joanne's welcome-routing.
  • The 19-row decision table (design doc docs(#24): dispatcher+gate unification design (draft for review) #41 / draft) ships as the gate-matrix test, verbatim — default/personal/team all green under -race.

No consumers yet (safe to merge+tag). Next: S2 ThreadOwnership interface. Relates to #24.

🤖 Generated with Claude Code

First slice of the dispatcher+gate unification. core/gate.Decide composes the
existing ownergate (admission) and threadowner (routing) predicates by MODE
(default=route, personal/team=admit — never both) and maps their outputs to one
Decision{Respond,SetOwner,Clear,Reject}. ChannelPolicy hook covers Joanne's
welcome-routing. The 19-row decision table from docs/design/dispatcher-gate.md
ships as the gate-matrix test, verbatim. Pure logic, no consumers yet.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@grantfosterdev Grant Foster (grantfosterdev) merged commit 94f916d into main Jun 25, 2026
2 checks passed
@grantfosterdev Grant Foster (grantfosterdev) deleted the feat/gate-core branch June 25, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant