anchor.diff:  
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).
   
  --export([has/3, for/3, cache_dump/0]).
  -
  --compile([export_all]).
  +-export([has/3, for/3, cache_dump/0, reset/0]).
   
   -record(cstate, {re, table, storage}).
   
   -define(SERVER, ?MODULE).
  +
  +-include("dlog.hrl").
   
   start_link() ->
       Result = gen_server:start_link({local, ?SERVER}, ?MODULE, [], []),
  
positive.code:     Config.
  
  cache_find(Kind, Name, Commit, #cstate{table=Cache}) ->
      error_logger:warning_msg("cache_find/4 Kind=~p, Name=~p, Commit=~p~n", [Kind, Name, Commit]),
      case ets:match(Cache, {{Kind, Name, Commit}, '$1'}) of
  	[[Config]] ->
  	    {value, Config};
  
negative.code: cache_dump() ->
      gen_server:call(?SERVER, {cache_dump}).
  
  reset() ->
      gen_server:call(?SERVER, {reset}).
  
  %%% gen_server callbacks
  handle_cast(stop, State) ->
      {stop, normal, State}.
  
  handle_call({cache_dump}, _From, #cstate{table=C}=State) ->
      {reply, ets:tab2list(C), State};
  handle_call({reset}, _From, #cstate{table=C}=State) ->
      {reply, ets:delete_all_objects(C), State};
  handle_call({has_config, Kind, Name, Commit}, _From, #cstate{storage=StoreMod}=State) ->
      Result = generic_lookup(Kind, Name, Commit, State, false),
      case Result of
  