index template

    my $template = $c->stash->{template}
      || ( $c->request->match || $c->request->action )
      . $self->config->{TEMPLATE_EXTENSION};

Catalyst::View::TTでは、パス部のマッチした部分をもとにテンプレートのファイル名を生成するようになっていますが、index action の場合には当然ながら「/」で終わるパスがそのまま使われてしまいます。
例えば、MyApp::Controller::Edit というクラスで index アクションが呼ばれる場合には、「'match' => 'edit/'」となっているため、そのままTEMPLATE_EXTENSIONをくっつけた「{INCLUDE_PATH}/edit/.tt」というファイルを探しに行ってしまいます。
ちなみに、defaultアクションも、そのままだと /edit/hoge にアクセスしても、「{INCLUDE_PATH}/edit/default.tt」ではなく「{INCLUDE_PATH}/default.tt」を探しに行きます。こちらは意見が分かれるところかも。
この辺りを「きれいに」やる方法って無いかなあ。諦めてCatalyst::View::TTをそのまま自分の好きなように直すのでも良いんだけど、upgradeが面倒だし……。