GenerationPlan: Trivial edges, as mere graph completeness tool, do not qualify for weak rule rewriting (Translating JDK7 <= blInternal, found Empty <= JDK7, erroneously decided blInternal has no dependency from JDK7).
Turn on fine grouping (by generator, if possible) to reduce loops withing a microstep.
GenerationPlan: priority rule to ensure descriptor generator runs earlier than BL (until we sort generators according to target languages); explicit dependencies between MC in lang.editor (ActionMap and KeyMap used to be independent, while main expects them to happen at the same step); dump generation phases prior to by-generator grouping.
Module dependencies: remove/relax superfluous generator dependencies; look for these superfluous dependencies only if there are chances to know all cross-generator references (to avoid false warnings)
GenerationPlan: Seems that we can't throw away weak edges as it might lead to absence of the dependency expressed with weak edge. E.g. A <=B;  X < A, B < Y, replacement gives X < B and A < Y, and no dependency between X and Y dependency between A and B is not respected. If A <= B is left and replaced with A<B, what's the point in replacement of other rules then?
actions generator: explicit 'earlier' than smodel rule to address limitation of no respect to target languages. ACTL_main generates QueirsGenerated with smodel elements, but doesn't prioritise ACTL_main to run before smodel.
lang.editor generator: CellIdReferenceSelector, reduced together with lang.smodel, needs a reference to an object reduced with lang.editor (MAPPING_main). With smodel and editor generators at different step, resolution fails. A DotExpression rule added to handle editor-specific SNodeOperation subclass independent from smodel generator.
Drop empty generator in core.xml
lang.descriptor: drop explicit 'not later' than BL rule as it's implicit based on target language now.
GenerationPlan: respect generator's target language to prioritise steps. Add 'not later' rule for each target language automatically.
build lang: drop odd way to extend workflow project parts with BuildPlugins - use template switch one could extend instead of bizarre reduction rule playing role of a drop rule (accompanied by weird generation priorities)
ide.build refreshed to reflect actual module dependencies
typesystem: there's an ugly hack, Inequation for a rule without explicit nodeToCheck looks for first ancestor of BaseMethodDeclaration and takes its first parameter. If a rule is inside a closure, ancestor differs depending on whether Inequations are applied before or after closure processing. To resolve, rule's nodeToCheck made to point explicitly to closure argument.
Rebuild lang.pattern.test: pattern.testLang goes before lang.pattern and gives new root container, and hence variable name suffix.
Do not add 'not later than target language' rules if there's explicit rule between the generators. Given A and its target language B, and explicit B < A rule (weird, but is possible for selected MC), implicit A <= B makes a cycle in priority graph.
Conflict reporting shall respect that implicit rules do not belong to any generator.
Track dependencies between distinct MC established explicitly, and add implicit 'not later than target language' only when no explicit relation exists.
Get rid of smodel language uses in console.blCommand templates to match its intention to run after smodel (see commit 749c1acd May 2nd, 2014, which establishes 'after smodel').
console.script got explicit duplicate of 'after smodel' rule from blCommand, as present GenerationPlan is not capable to respect transitive A < B , C = B when deciding about implicit C <= A (A: smodel, B: blCommand, C:scripts).
LightQuotation to replace quotations with own types to avoid using of language's generator for its typesystem and behavior
GenerationPlan: refactor cycle detection in priority graph (towards better error reporting)
References to external generators are wrapped as generators of checkedNames, leading to confusion in conflicts output
Drop explicit priorities 'together with' BL, as (a) there seems to be no reason to enforce same step for this generator; (b) this leads to conflicts (generator has lang.collections as target, which is 'strictly before' BL).