// ケースノート
UnmetRadar:監査可能な市場調査エンジン
すべての結論が根拠を伴う市場調査バックエンド
収集した根拠を市場調査の結論に変換し、その一つひとつを出典まで辿れるようにするバックエンドエンジン。
データベーススキーマとマイグレーション、マルチテナントのセキュリティモデル、ジョブパイプライン、AIワークフローのオーケストレーション、テスト・評価基盤まで単独で設計・実装。
根拠が十分にあるかという判断と、機会として魅力的かという判断を切り分けたことで、独立した2つの判定ゲートが必要になりました。テナント分離も、アプリケーション側の実装漏れに頼らずデータベースで保証しています。
_背景
UnmetRadarは、事業アイデアに取り組む価値があるかを評価する市場調査ツールのバックエンドエンジンです。同じくらい重要な点として、根拠が薄いときには確信を持った回答を出すことを拒みます。個別のスコアは推測せずに判断を保留し、矛盾する根拠は支持する根拠と併記され、人による修正は以前のレポートを黙って上書きするのではなく、出所を明示した修正記録として残ります。着手は2026年7月です。現在はコマンドラインツールとバックグラウンドワーカーとして動作しており、UIはまだなく、根拠の登録も手作業です。デプロイしたことも、顧客に使われたこともありません。
_担当範囲
システムは一人で構築しています。PostgreSQLのスキーマとレビュー済みのマイグレーション、顧客ごとのデータを分離する行レベルセキュリティ、耐障害性のあるジョブパイプライン、モデル呼び出しを包むオーケストレーション層、そしてモックではなく実際のデータベースに対して実行するテストスイートを担当しています。
_構築したもの
- 約150テーブルのPostgreSQLスキーマ。手作業でレビューした44本のマイグレーション、データベースレベルの制約、テナント分離のための強制的な行レベルセキュリティを備えています。
- 境界を強制したモジュラーモノリス:11のドメインモジュールをそれぞれ単一の公開エントリポイントの背後に置き、importルールを慣習任せにせず自動で検査しています。
- 耐障害性のあるジョブパイプラインと、範囲を限定したAIワークフローのオーケストレーション層。すべてのモデル呼び出しは自前のアダプター、実行許可チェック、コスト台帳を経由します。
- テスト・評価基盤:コンテナ上の実データベースに対して実行するテストスイートに加え、追跡可能性、矛盾の扱い、プロンプトインジェクション耐性を対象とした複数モデルの評価マトリクス。
_示せること
- マルチテナント分離を主張ではなく検証で担保:142テーブルで行レベルセキュリティを強制し、それを回避できない権限で実際のPostgreSQLを起動するテストを用意しているため、保護のない新しいテーブルはリリースできません。
- アーキテクチャ規約そのものをテスト対象に:正しいコードと並べて規約に違反するファイルを手書きで用意し、各境界ルールが本当に失敗すべきときに失敗するかを確認しています。
- モデルの出力も外部から取得したコンテンツも、一貫して信頼できない入力として扱っています。レスポンスはスキーマで検証し、DNSリバインディングやリダイレクトのケースに型付きの失敗コードを返す専用フェッチャーを用意し、複数モデルによる敵対的評価も実施しています。
_詳細について
事業戦略、評価用データセット、プロバイダーの認証情報は非公開です。プロダクトは未デプロイでユーザーもいないため、公開URLもライブデモもありません。UIと自動データ収集は後続フェーズの予定です。業務上の面談では、アーキテクチャ、セキュリティモデル、テスト方針について説明できます。