What
A built-in account module and per-connection authentication, so nicknames and
channels can be owned/registered (NickServ/ChanServ-style pattern) instead of
relying solely on classic first-join-gets-operator.
Why it's deferred, not forgotten
specs/001-ircv3-server/spec.md documents this as User Story 3 (P3,
Deferred): "This story is not mandatory for the first iteration... It is
documented now so the boundary it requires (the account module) can be
designed for without committing to build it yet." The associated
requirements — FR-009, FR-010, FR-023, FR-024, FR-026, FR-027 — and success
criterion SC-007 are marked deferred alongside it.
Per the spec's identity clarification: "Identity verification MUST support
external account systems (pluggable), AND the initial release MUST ship a
basic, built-in account module (its own minimal account store) as the
default pluggable implementation" — so the built-in module is a committed
future requirement, not just an option.
Current state
Confirmed unimplemented: no SASL, no account store, no nickname/channel
registration anywhere in the codebase. Classic first-join-gets-operator
(FR-013) is the only channel-operator behavior in effect today.
Relates to
What
A built-in account module and per-connection authentication, so nicknames and
channels can be owned/registered (NickServ/ChanServ-style pattern) instead of
relying solely on classic first-join-gets-operator.
Why it's deferred, not forgotten
specs/001-ircv3-server/spec.mddocuments this as User Story 3 (P3,Deferred): "This story is not mandatory for the first iteration... It is
documented now so the boundary it requires (the account module) can be
designed for without committing to build it yet." The associated
requirements — FR-009, FR-010, FR-023, FR-024, FR-026, FR-027 — and success
criterion SC-007 are marked deferred alongside it.
Per the spec's identity clarification: "Identity verification MUST support
external account systems (pluggable), AND the initial release MUST ship a
basic, built-in account module (its own minimal account store) as the
default pluggable implementation" — so the built-in module is a committed
future requirement, not just an option.
Current state
Confirmed unimplemented: no SASL, no account store, no nickname/channel
registration anywhere in the codebase. Classic first-join-gets-operator
(FR-013) is the only channel-operator behavior in effect today.
Relates to
against this module once it exists.
away-notify and batch capabilities #4/chathistory capability #7, which turned out not to be).