架空講座の制御フロー教材（固定応答・ローカルのみ）

分類と返信は原稿制作AIが用意した固定応答です。モデル接続、外部への問い合わせ、受信連携、メール送信、人の承認時間の計測は行いません。Python標準ライブラリのみを使います。

実行方法
1. Python 3を実行できる環境で、ZIPを作業用フォルダへ展開します。
2. N050-workflow-demo.pyのあるフォルダで、python N050-workflow-demo.py を実行します。環境のコマンド名がpython3なら読み替えます。
3. 標準出力は events:7 / records:2 / R001:RECORDED / R003:REVIEW になります。
4. 同じフォルダ内にN050フォルダを作り、control-flow-results.json、fixed-response-examples.json、このREADME、配布用ZIPを書き出します。同名ファイルは上書きします。

結果の読み方
- eventsは処理履歴7件で、新規受付7件ではありません。
- states_before_retryはR001:REVIEW、R003:FAILEDです。
- final_recordsはR001:RECORDED、R003:REVIEWの2件。完了条件に達したのはR001の1件です。
- R002は空欄のためeventsにINPUT_REQUIREDが残り、受付のレコードには入りません。
- DUPLICATEやID_CONFLICTはその入力の処理結果です。元の受付の状態や本文をそれらで上書きしません。
- メモリー内DBは実行終了で消えます。JSONは結果の控えで、次回起動時に復旧する入力ではありません。再実行すると例を最初から作ります。
- fixed-response-examples.jsonも出力の控えです。変更しても次回の入力は変わりません。コード内のfixturesとreceive呼び出しでR001/R003の例を固定しています。任意の新IDへ自動で回答を生成するコードではありません。

コマンドが見つからない場合はPythonの起動方法、ファイルが見つからない場合はZIPの展開と現在のフォルダを確認します。新旧の結果を比べるなら、実行前に元の結果を別名で保存してください。
本番の永続化、同時処理、障害復旧、返信品質、処理費用・人の確認時間はこの教材では保証・測定しません。
