Rule Life Cycle

The life-cycle of a rule goes like this.

List Of Rule States

Rules in sandbox:

Rules in core:

Deleted rules:

Legacy:

(History: [http://www.nabble.com/hackathon-notes-from-Sat-p1887702.html mailing list message])

State Transitions

The permitted transitions for those rule states, therefore, are as follows:

List Of Build States

Some rules are only used from certain build states. Here are the list of states that SpamAssassin goes through, or that rules are packaged as, during various parts of its build process.

Build States vs. Rule States Matrix

And here's the table listing what rules are usable, where. {OK} indicates that a rule in that state is indeed usable from the listed build state.

experimental

s_poor

s_good

c_poor

c_good

code_tied

builddir

{OK}

{OK}

{OK}

{OK}

{OK}

{OK}

make_test

{OK}

{OK}

{OK}

{OK}

{OK}

{OK}

mass_check

{OK}

{OK}

{OK}

{OK}

{OK}

{OK}

bbtest

{OK}

{OK}

{OK}

{OK}

{OK}

{OK}

bbmass

{OK}

{OK}

{OK}

{OK}

{OK}

{OK}

nightly

{OK}

{OK}

{OK}

{OK}

{OK}

{OK}

make_install

{OK}

{OK}

{OK}

tarball

{OK}

{OK}

{OK}

sa_update

{OK}

{OK}

{OK}