{
    "status": "success",
    "generatedAt": "2026-11-14T16:17:06+09:00",
    "generatedAtUtc": "2026-11-14T07:17:06Z",
    "timeRange": {
        "since": "2026-05-14T16:17:03+09:00",
        "sinceUtc": "2026-05-14T07:17:03Z",
        "until": "2026-11-14T16:17:03+09:00",
        "untilUtc": "2026-11-14T07:17:03Z",
        "months": 6,
        "timezone": "Asia/Tokyo (+09:00)",
        "description": "直近 6 ヶ月 (2026-05-14T16:17:03+09:00 〜 2026-11-14T16:17:03+09:00)"
    },
    "totalProjects": 6,
    "totalCommits": 67,
    "githubTokenConfigured": true,
    "aiInstructionHint": "このJSONの各プロジェクトのコミット履歴（commits）およびデプロイ状況（deployment）、版別情報（variants）を照合してください。コミットの変更ファイル一覧（changedFiles）やタイトル・本文から、修正依頼が「完了済み（本番反映済み）」か「未着手」かを判定し、未完了のものは期日順に仕分けしてリマインド報告を作成してください。",
    "projects": [
        {
            "id": "cchub",
            "name": "CC Hub",
            "tagline": "全プロジェクト統合管理＆更新履歴レーダー",
            "brand": "HRD",
            "productionUrl": "https://cchub.hrdapp.net",
            "variants": [
                {
                    "id": "portal",
                    "name": "CC Hub 統合ダッシュボード",
                    "path": "/",
                    "url": "https://cchub.hrdapp.net/",
                    "customDomainUrl": "https://cchub.hrdapp.net/",
                    "cloudRunUrl": "https://cchub-238247655707.asia-northeast1.run.app/"
                },
                {
                    "id": "api_summary",
                    "name": "AI用 過去6ヶ月全アプリ更新履歴 JSON",
                    "path": "/api/summary.json",
                    "url": "https://cchub.hrdapp.net/api/summary.json",
                    "customDomainUrl": "https://cchub.hrdapp.net/api/summary.json",
                    "cloudRunUrl": "https://cchub-238247655707.asia-northeast1.run.app/api/summary.json"
                },
                {
                    "id": "batch_runner",
                    "name": "中央バッチランナー (Cloud Scheduler)",
                    "path": "/api/runner.php?action=status",
                    "url": "https://cchub.hrdapp.net/api/runner.php?action=status",
                    "customDomainUrl": "https://cchub.hrdapp.net/api/runner.php?action=status",
                    "cloudRunUrl": "https://cchub-238247655707.asia-northeast1.run.app/api/runner.php?action=status"
                }
            ],
            "repoUrl": "https://github.com/apphrdins/cchub",
            "branch": "main",
            "stack": {
                "runtime": "PHP 8.2",
                "webServer": "Apache",
                "db": "none",
                "hasDatabase": false,
                "ai": "GitHub API Commit Aggregator"
            },
            "deployment": {
                "serviceName": "cchub",
                "deployedBranch": "main",
                "deploymentTrigger": "Cloud Build 自動ビルド (push to main)",
                "isLatestCommitDeployed": true,
                "deployedCommitHash": "b96f65b",
                "deployedAt": "2026-11-13T14:58:07+09:00",
                "latestReadyRevision": "cchub-auto",
                "liveStatus": "ACTIVE",
                "maxInstances": "default (Auto-scaling)"
            },
            "fetch": {
                "status": "SUCCESS",
                "source": "github_api",
                "error": null,
                "totalCommitsFound": 9,
                "returnedCommitsCount": 9,
                "limit": 100,
                "isTruncated": false
            },
            "latestCommit": {
                "hash": "b96f65b",
                "title": "feat: add custom domains (hrdapp.net) as primary URLs while retaining original cloudRunUrls",
                "date": "2026-11-13T14:58:07+09:00",
                "displayDate": "2026-11-13 14:58:07 JST"
            },
            "commits": [
                {
                    "hash": "b96f65b",
                    "title": "feat: add custom domains (hrdapp.net) as primary URLs while retaining original cloudRunUrls",
                    "message": "feat: add custom domains (hrdapp.net) as primary URLs while retaining original cloudRunUrls",
                    "body": null,
                    "fullMessage": "feat: add custom domains (hrdapp.net) as primary URLs while retaining original cloudRunUrls",
                    "author": "tarohrdins",
                    "date": "2026-11-13T14:58:07+09:00",
                    "dateUtc": "2026-11-13T05:58:07Z",
                    "displayDate": "2026-11-13 14:58:07 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/b96f65b56b535fd35ac23dfed3ae6e7f063434f3"
                },
                {
                    "hash": "009ef87",
                    "title": "feat: align central batch runner to 3-job architecture (lunch 13:15, evening 16:30, 10min targetDM)",
                    "message": "feat: align central batch runner to 3-job architecture (lunch 13:15, evening 16:30, 10min targetDM)",
                    "body": null,
                    "fullMessage": "feat: align central batch runner to 3-job architecture (lunch 13:15, evening 16:30, 10min targetDM)",
                    "author": "tarohrdins",
                    "date": "2026-11-11T14:10:14+09:00",
                    "dateUtc": "2026-11-11T05:10:14Z",
                    "displayDate": "2026-11-11 14:10:14 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/009ef875c8f47efc9fe83a530eebe8cad9e8adb6"
                },
                {
                    "hash": "b79fb6b",
                    "title": "feat: implement centralized batch runner endpoint and dashboard control for Cloud Scheduler",
                    "message": "feat: implement centralized batch runner endpoint and dashboard control for Cloud Scheduler",
                    "body": null,
                    "fullMessage": "feat: implement centralized batch runner endpoint and dashboard control for Cloud Scheduler",
                    "author": "tarohrdins",
                    "date": "2026-11-11T08:44:33+09:00",
                    "dateUtc": "2026-11-10T23:44:33Z",
                    "displayDate": "2026-11-11 08:44:33 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/b79fb6be463a75dc1ae49106832b7dd91134a918"
                },
                {
                    "hash": "bfc5af3",
                    "title": "fix: render commit message and body correctly in changelog table",
                    "message": "fix: render commit message and body correctly in changelog table",
                    "body": null,
                    "fullMessage": "fix: render commit message and body correctly in changelog table",
                    "author": "tarohrdins",
                    "date": "2026-11-11T01:16:18+09:00",
                    "dateUtc": "2026-11-10T16:16:18Z",
                    "displayDate": "2026-11-11 01:16:18 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/bfc5af302161b34497f550480c99d41309cca4f8"
                },
                {
                    "hash": "fe5dc0c",
                    "title": "chore: update repository URLs to apphrdins organization",
                    "message": "chore: update repository URLs to apphrdins organization",
                    "body": null,
                    "fullMessage": "chore: update repository URLs to apphrdins organization",
                    "author": "tarohrdins",
                    "date": "2026-11-09T15:38:26+09:00",
                    "dateUtc": "2026-11-09T06:38:26Z",
                    "displayDate": "2026-11-09 15:38:26 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/fe5dc0cc4001499e7bfc89ed3fbf0bc1075835e6"
                },
                {
                    "hash": "f39fc33",
                    "title": "feat: implement enhanced AI summary schema with deployment status, ISO timezones, changed files, variants, and truncation metrics",
                    "message": "feat: implement enhanced AI summary schema with deployment status, ISO timezones, changed files, variants, and truncation metrics",
                    "body": null,
                    "fullMessage": "feat: implement enhanced AI summary schema with deployment status, ISO timezones, changed files, variants, and truncation metrics",
                    "author": "tarohrdins",
                    "date": "2026-11-05T11:22:56+09:00",
                    "dateUtc": "2026-11-05T02:22:56Z",
                    "displayDate": "2026-11-05 11:22:56 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/f39fc3343fbd7558156d5174ffeec947ffb3a83b"
                },
                {
                    "hash": "1d7829b",
                    "title": "fix: use correct CURLOPT_USERAGENT constant and add file_get_contents stream fallback",
                    "message": "fix: use correct CURLOPT_USERAGENT constant and add file_get_contents stream fallback",
                    "body": null,
                    "fullMessage": "fix: use correct CURLOPT_USERAGENT constant and add file_get_contents stream fallback",
                    "author": "tarohrdins",
                    "date": "2026-11-05T10:39:54+09:00",
                    "dateUtc": "2026-11-05T01:39:54Z",
                    "displayDate": "2026-11-05 10:39:54 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/1d7829bd6e5becf66ed81b84c212328ed24e84be"
                },
                {
                    "hash": "fff42bb",
                    "title": "feat: add clear diagnostics and GITHUB_TOKEN fallback for private repo commit fetching",
                    "message": "feat: add clear diagnostics and GITHUB_TOKEN fallback for private repo commit fetching",
                    "body": null,
                    "fullMessage": "feat: add clear diagnostics and GITHUB_TOKEN fallback for private repo commit fetching",
                    "author": "tarohrdins",
                    "date": "2026-11-05T10:28:28+09:00",
                    "dateUtc": "2026-11-05T01:28:28Z",
                    "displayDate": "2026-11-05 10:28:28 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/fff42bb08efcacfdd344ca8eb518b2da97d31f15"
                },
                {
                    "hash": "a092302",
                    "title": "feat: initial commit of CC Hub with 6-month changelog radar and AI summary endpoint",
                    "message": "feat: initial commit of CC Hub with 6-month changelog radar and AI summary endpoint",
                    "body": null,
                    "fullMessage": "feat: initial commit of CC Hub with 6-month changelog radar and AI summary endpoint",
                    "author": "tarohrdins",
                    "date": "2026-11-05T10:03:19+09:00",
                    "dateUtc": "2026-11-05T01:03:19Z",
                    "displayDate": "2026-11-05 10:03:19 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/cchub/commit/a09230270e21d280501127b91f29247bf45ee52a"
                }
            ]
        },
        {
            "id": "qcard56",
            "name": "qCard56",
            "tagline": "質問カード＆思考突破トレーニング",
            "brand": "HRD",
            "productionUrl": "https://qcard56.hrdapp.net",
            "variants": [
                {
                    "id": "portal",
                    "name": "目次ポータル",
                    "path": "/",
                    "url": "https://qcard56.hrdapp.net/",
                    "customDomainUrl": "https://qcard56.hrdapp.net/",
                    "cloudRunUrl": "https://qcard56-238247655707.asia-northeast1.run.app/",
                    "dir": "/"
                },
                {
                    "id": "original",
                    "name": "Original版 (自習・カードめくり特化)",
                    "path": "/original/",
                    "url": "https://qcard56.hrdapp.net/original/",
                    "customDomainUrl": "https://qcard56.hrdapp.net/original/",
                    "cloudRunUrl": "https://qcard56-238247655707.asia-northeast1.run.app/original/",
                    "dir": "original/"
                },
                {
                    "id": "verA",
                    "name": "Ver.A (思考突破アドバイス・受講者サポート版)",
                    "path": "/verA/",
                    "url": "https://qcard56.hrdapp.net/verA/",
                    "customDomainUrl": "https://qcard56.hrdapp.net/verA/",
                    "cloudRunUrl": "https://qcard56-238247655707.asia-northeast1.run.app/verA/",
                    "dir": "verA/"
                },
                {
                    "id": "prototype",
                    "name": "Prototype版 (講師カンペ・WS切替フル版)",
                    "path": "/prototype/",
                    "url": "https://qcard56.hrdapp.net/prototype/",
                    "customDomainUrl": "https://qcard56.hrdapp.net/prototype/",
                    "cloudRunUrl": "https://qcard56-238247655707.asia-northeast1.run.app/prototype/",
                    "dir": "prototype/"
                }
            ],
            "repoUrl": "https://github.com/apphrdins/qCard56",
            "branch": "main",
            "stack": {
                "runtime": "PHP 8.2",
                "webServer": "Apache",
                "db": "none",
                "hasDatabase": false,
                "ai": "LiteLLM Gateway / Gemini 2.5 Flash / OpenAI"
            },
            "deployment": {
                "serviceName": "qcard56",
                "deployedBranch": "main",
                "deploymentTrigger": "Cloud Build 自動ビルド (push to main)",
                "isLatestCommitDeployed": true,
                "deployedCommitHash": "17c14ed",
                "deployedAt": "2026-11-05T02:48:34+09:00",
                "latestReadyRevision": "qcard56-auto",
                "liveStatus": "ACTIVE",
                "maxInstances": "default (Auto-scaling)"
            },
            "fetch": {
                "status": "SUCCESS",
                "source": "github_api",
                "error": null,
                "totalCommitsFound": 18,
                "returnedCommitsCount": 18,
                "limit": 100,
                "isTruncated": false
            },
            "latestCommit": {
                "hash": "17c14ed",
                "title": "fix(verA): isolate breakthrough hint close button to top-right and enable full-text reading for AI advice",
                "date": "2026-11-05T02:48:34+09:00",
                "displayDate": "2026-11-05 02:48:34 JST"
            },
            "commits": [
                {
                    "hash": "17c14ed",
                    "title": "fix(verA): isolate breakthrough hint close button to top-right and enable full-text reading for AI advice",
                    "message": "fix(verA): isolate breakthrough hint close button to top-right and enable full-text reading for AI advice",
                    "body": null,
                    "fullMessage": "fix(verA): isolate breakthrough hint close button to top-right and enable full-text reading for AI advice",
                    "author": "tarohrdins",
                    "date": "2026-11-05T02:48:34+09:00",
                    "dateUtc": "2026-11-04T17:48:34Z",
                    "displayDate": "2026-11-05 02:48:34 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/17c14ed13221ce9370b86fef83c8f015661eff3f"
                },
                {
                    "hash": "11bfd76",
                    "title": "fix(ui): prevent badge wrapping, remove character name from entry badge, and ensure uniform note input height",
                    "message": "fix(ui): prevent badge wrapping, remove character name from entry badge, and ensure uniform note input height",
                    "body": null,
                    "fullMessage": "fix(ui): prevent badge wrapping, remove character name from entry badge, and ensure uniform note input height",
                    "author": "tarohrdins",
                    "date": "2026-10-29T23:50:42+09:00",
                    "dateUtc": "2026-10-29T14:50:42Z",
                    "displayDate": "2026-10-29 23:50:42 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/11bfd76362755e2830907e622ceba49b90f33065"
                },
                {
                    "hash": "3f67d71",
                    "title": "feat(guide): add mobile-first responsive facilitator guide HTML fully covering FACILITATOR_GUIDE_verA.md",
                    "message": "feat(guide): add mobile-first responsive facilitator guide HTML fully covering FACILITATOR_GUIDE_verA.md",
                    "body": null,
                    "fullMessage": "feat(guide): add mobile-first responsive facilitator guide HTML fully covering FACILITATOR_GUIDE_verA.md",
                    "author": "tarohrdins",
                    "date": "2026-10-29T19:34:27+09:00",
                    "dateUtc": "2026-10-29T10:34:27Z",
                    "displayDate": "2026-10-29 19:34:27 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/3f67d71ba7812c48becf2d422d736e0cfa553fd1"
                },
                {
                    "hash": "e3d5516",
                    "title": "refactor(original): clean up into dedicated solo-reader edition with restored card hints, continuous stage flow, and verA thinking aids",
                    "message": "refactor(original): clean up into dedicated solo-reader edition with restored card hints, continuous stage flow, and verA thinking aids",
                    "body": null,
                    "fullMessage": "refactor(original): clean up into dedicated solo-reader edition with restored card hints, continuous stage flow, and verA thinking aids",
                    "author": "tarohrdins",
                    "date": "2026-10-29T18:00:35+09:00",
                    "dateUtc": "2026-10-29T09:00:35Z",
                    "displayDate": "2026-10-29 18:00:35 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/e3d551696e518d9b9d7fdbfea34e63a0ac1cd9ad"
                },
                {
                    "hash": "fd410e8",
                    "title": "docs: refine all rescue function labels, exact UI positions, and verification details",
                    "message": "docs: refine all rescue function labels, exact UI positions, and verification details",
                    "body": null,
                    "fullMessage": "docs: refine all rescue function labels, exact UI positions, and verification details",
                    "author": "tarohrdins",
                    "date": "2026-10-29T16:46:19+09:00",
                    "dateUtc": "2026-10-29T07:46:19Z",
                    "displayDate": "2026-10-29 16:46:19 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/fd410e86a82cd355b209888356cef31c56500398"
                },
                {
                    "hash": "adf1d5a",
                    "title": "docs & fix: refine facilitator guide with smart deck rules, pass importance, and 1->4->3->5/6 presentation flow",
                    "message": "docs & fix: refine facilitator guide with smart deck rules, pass importance, and 1->4->3->5/6 presentation flow",
                    "body": null,
                    "fullMessage": "docs & fix: refine facilitator guide with smart deck rules, pass importance, and 1->4->3->5/6 presentation flow",
                    "author": "tarohrdins",
                    "date": "2026-10-29T16:27:29+09:00",
                    "dateUtc": "2026-10-29T07:27:29Z",
                    "displayDate": "2026-10-29 16:27:29 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/adf1d5a54c28257bf52d16796b9928d3930b202b"
                },
                {
                    "hash": "9a3b183",
                    "title": "docs & feat: align facilitator guide and UI strictly with question card-driven principles",
                    "message": "docs & feat: align facilitator guide and UI strictly with question card-driven principles",
                    "body": null,
                    "fullMessage": "docs & feat: align facilitator guide and UI strictly with question card-driven principles",
                    "author": "tarohrdins",
                    "date": "2026-10-29T15:58:31+09:00",
                    "dateUtc": "2026-10-29T06:58:31Z",
                    "displayDate": "2026-10-29 15:58:31 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/9a3b18313e3e4255ab2bf319497bc96306f043a2"
                },
                {
                    "hash": "2d080f3",
                    "title": "docs: add comprehensive facilitator guide for verA",
                    "message": "docs: add comprehensive facilitator guide for verA",
                    "body": null,
                    "fullMessage": "docs: add comprehensive facilitator guide for verA",
                    "author": "tarohrdins",
                    "date": "2026-10-29T15:37:26+09:00",
                    "dateUtc": "2026-10-29T06:37:26Z",
                    "displayDate": "2026-10-29 15:37:26 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/2d080f370d6227e0cf828c6b08b34ce39b5c8c1e"
                },
                {
                    "hash": "bb99400",
                    "title": "feat: STAGE 3〜6の思考プロセス・UX改善（急所選択・因果コンテキスト連携・解決策と事前準備の整理・具体例ヒント拡充）",
                    "message": "feat: STAGE 3〜6の思考プロセス・UX改善（急所選択・因果コンテキスト連携・解決策と事前準備の整理・具体例ヒント拡充）",
                    "body": null,
                    "fullMessage": "feat: STAGE 3〜6の思考プロセス・UX改善（急所選択・因果コンテキスト連携・解決策と事前準備の整理・具体例ヒント拡充）",
                    "author": "tarohrdins",
                    "date": "2026-10-29T15:09:43+09:00",
                    "dateUtc": "2026-10-29T06:09:43Z",
                    "displayDate": "2026-10-29 15:09:43 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/bb99400e93aabd4f4fee45f5bee9b1e8f6a472be"
                },
                {
                    "hash": "3e63b32",
                    "title": "fix: STAGE 5の改善点カウント表示修正・右パネルはみ出し解消・STAGE 5/6での複数改善点の明示表示対応",
                    "message": "fix: STAGE 5の改善点カウント表示修正・右パネルはみ出し解消・STAGE 5/6での複数改善点の明示表示対応",
                    "body": null,
                    "fullMessage": "fix: STAGE 5の改善点カウント表示修正・右パネルはみ出し解消・STAGE 5/6での複数改善点の明示表示対応",
                    "author": "tarohrdins",
                    "date": "2026-10-29T14:44:45+09:00",
                    "dateUtc": "2026-10-29T05:44:45Z",
                    "displayDate": "2026-10-29 14:44:45 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/3e63b32368fbc1f33c47793ba024dba70ef42de2"
                },
                {
                    "hash": "3409520",
                    "title": "fix(verA): 8つの突破ヒントを中央ポップアップモーダル化し現在のSTAGEに応じた自動選択・アクション連携を実装",
                    "message": "fix(verA): 8つの突破ヒントを中央ポップアップモーダル化し現在のSTAGEに応じた自動選択・アクション連携を実装",
                    "body": null,
                    "fullMessage": "fix(verA): 8つの突破ヒントを中央ポップアップモーダル化し現在のSTAGEに応じた自動選択・アクション連携を実装",
                    "author": "tarohrdins",
                    "date": "2026-10-29T11:49:34+09:00",
                    "dateUtc": "2026-10-29T02:49:34Z",
                    "displayDate": "2026-10-29 11:49:34 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/3409520a528702724ac02d65f3b1adfcc53e6e6b"
                },
                {
                    "hash": "ea1e0e9",
                    "title": "fix(all): STAGE3因果関係図でSVGレイヤーが付箋のドラッグ・矢印接続クリックを遮っていたpointer-events不具合を修正",
                    "message": "fix(all): STAGE3因果関係図でSVGレイヤーが付箋のドラッグ・矢印接続クリックを遮っていたpointer-events不具合を修正",
                    "body": null,
                    "fullMessage": "fix(all): STAGE3因果関係図でSVGレイヤーが付箋のドラッグ・矢印接続クリックを遮っていたpointer-events不具合を修正",
                    "author": "tarohrdins",
                    "date": "2026-10-29T10:47:18+09:00",
                    "dateUtc": "2026-10-29T01:47:18Z",
                    "displayDate": "2026-10-29 10:47:18 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/ea1e0e9fd3a1ac9e8c9465f0914a648d92e92335"
                },
                {
                    "hash": "d37049d",
                    "title": "fix(all): 各STAGE本来の思考ルール厳守（STAGE3での解決策提示禁止・矢印具体例追加）および因果関係図の矢印描画・接続UX改善",
                    "message": "fix(all): 各STAGE本来の思考ルール厳守（STAGE3での解決策提示禁止・矢印具体例追加）および因果関係図の矢印描画・接続UX改善",
                    "body": null,
                    "fullMessage": "fix(all): 各STAGE本来の思考ルール厳守（STAGE3での解決策提示禁止・矢印具体例追加）および因果関係図の矢印描画・接続UX改善",
                    "author": "tarohrdins",
                    "date": "2026-10-29T10:21:17+09:00",
                    "dateUtc": "2026-10-29T01:21:17Z",
                    "displayDate": "2026-10-29 10:21:17 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/d37049d567bd6849db7eb61244334dd08af6a2bd"
                },
                {
                    "hash": "3097cfd",
                    "title": "refactor(verA): 受講者の思考を妨げないレイアウトへ再設計（伴走アシストの左カラム移動・AI候補の右パネルタブ化）",
                    "message": "refactor(verA): 受講者の思考を妨げないレイアウトへ再設計（伴走アシストの左カラム移動・AI候補の右パネルタブ化）",
                    "body": null,
                    "fullMessage": "refactor(verA): 受講者の思考を妨げないレイアウトへ再設計（伴走アシストの左カラム移動・AI候補の右パネルタブ化）",
                    "author": "tarohrdins",
                    "date": "2026-10-29T10:00:06+09:00",
                    "dateUtc": "2026-10-29T01:00:06Z",
                    "displayDate": "2026-10-29 10:00:06 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/3097cfd902985d261f99e9883008b4ad88371087"
                },
                {
                    "hash": "089f2a1",
                    "title": "fix(verA): 構造解説の用語修正（rAnalysis・自己免疫システムの排除）と「もっとわかりやすく表現して」ボタンへのUI変更",
                    "message": "fix(verA): 構造解説の用語修正（rAnalysis・自己免疫システムの排除）と「もっとわかりやすく表現して」ボタンへのUI変更",
                    "body": null,
                    "fullMessage": "fix(verA): 構造解説の用語修正（rAnalysis・自己免疫システムの排除）と「もっとわかりやすく表現して」ボタンへのUI変更",
                    "author": "tarohrdins",
                    "date": "2026-10-29T09:29:03+09:00",
                    "dateUtc": "2026-10-29T00:29:03Z",
                    "displayDate": "2026-10-29 09:29:03 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/089f2a1951c4391a0355a4905d3c8fb631cf4e0f"
                },
                {
                    "hash": "d9f53fa",
                    "title": "feat(verA): 全STAGE連動キャラ伴走アシスト・WS対応具体例ヒント・3視点矢印メモ＆rAnalysis構造解説の実装",
                    "message": "feat(verA): 全STAGE連動キャラ伴走アシスト・WS対応具体例ヒント・3視点矢印メモ＆rAnalysis構造解説の実装",
                    "body": null,
                    "fullMessage": "feat(verA): 全STAGE連動キャラ伴走アシスト・WS対応具体例ヒント・3視点矢印メモ＆rAnalysis構造解説の実装",
                    "author": "tarohrdins",
                    "date": "2026-10-29T09:16:52+09:00",
                    "dateUtc": "2026-10-29T00:16:52Z",
                    "displayDate": "2026-10-29 09:16:52 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/d9f53faa73e8f285e0fd2c80256971de8d41a3aa"
                },
                {
                    "hash": "6ace621",
                    "title": "feat: Secret Manager ボリュームマウント (/secrets/.env) 読み込み対応",
                    "message": "feat: Secret Manager ボリュームマウント (/secrets/.env) 読み込み対応",
                    "body": null,
                    "fullMessage": "feat: Secret Manager ボリュームマウント (/secrets/.env) 読み込み対応",
                    "author": "tarohrdins",
                    "date": "2026-10-29T00:13:42+09:00",
                    "dateUtc": "2026-10-28T15:13:42Z",
                    "displayDate": "2026-10-29 00:13:42 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/6ace621a030b06dc9691219645b47e36fee3a830"
                },
                {
                    "hash": "5091704",
                    "title": "Initial commit: multi-version structure (original, verA, prototype), LiteLLM api.php, and Cloud Run Dockerfile",
                    "message": "Initial commit: multi-version structure (original, verA, prototype), LiteLLM api.php, and Cloud Run Dockerfile",
                    "body": null,
                    "fullMessage": "Initial commit: multi-version structure (original, verA, prototype), LiteLLM api.php, and Cloud Run Dockerfile",
                    "author": "tarohrdins",
                    "date": "2026-10-28T22:44:33+09:00",
                    "dateUtc": "2026-10-28T13:44:33Z",
                    "displayDate": "2026-10-28 22:44:33 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/qCard56/commit/509170409499992ac585088953f29d6626662d8c"
                }
            ]
        },
        {
            "id": "mangagenx",
            "name": "mangaGenX",
            "tagline": "4コママンガ生成AIスタジオ",
            "brand": "HRD",
            "productionUrl": "https://managenx.hrdapp.net",
            "variants": [
                {
                    "id": "public",
                    "name": "一般向け本番スタジオ (mainブランチ)",
                    "path": "/",
                    "url": "https://managenx.hrdapp.net/",
                    "customDomainUrl": "https://managenx.hrdapp.net/",
                    "cloudRunUrl": "https://mangagenx-238247655707.asia-northeast1.run.app/",
                    "branch": "main"
                },
                {
                    "id": "internal",
                    "name": "社内専用スタジオ (internalブランチ)",
                    "path": "/",
                    "url": "https://internal.mangagenx.hrdapp.net/",
                    "customDomainUrl": "https://internal.mangagenx.hrdapp.net/",
                    "cloudRunUrl": "https://mangagenx-internal-238247655707.asia-northeast1.run.app/",
                    "branch": "internal"
                }
            ],
            "repoUrl": "https://github.com/apphrdins/mangaGenX",
            "branch": "main",
            "stack": {
                "runtime": "PHP 8.2",
                "webServer": "Apache",
                "db": "none",
                "hasDatabase": false,
                "ai": "Gemini 2.5 Flash / OpenAI Image API"
            },
            "deployment": {
                "serviceName": "mangagenx",
                "deployedBranch": "main",
                "deploymentTrigger": "Cloud Build 自動ビルド (push to main)",
                "isLatestCommitDeployed": true,
                "deployedCommitHash": "4b622a6",
                "deployedAt": "2026-11-09T16:44:01+09:00",
                "latestReadyRevision": "mangagenx-auto",
                "liveStatus": "ACTIVE",
                "maxInstances": "default (Auto-scaling)"
            },
            "fetch": {
                "status": "SUCCESS",
                "source": "github_api",
                "error": null,
                "totalCommitsFound": 8,
                "returnedCommitsCount": 8,
                "limit": 100,
                "isTruncated": false
            },
            "latestCommit": {
                "hash": "4b622a6",
                "title": "docs: GitHub 組織移管に伴いリポジトリ参照先を apphrdins/mangaGenX に更新",
                "date": "2026-11-09T16:44:01+09:00",
                "displayDate": "2026-11-09 16:44:01 JST"
            },
            "commits": [
                {
                    "hash": "4b622a6",
                    "title": "docs: GitHub 組織移管に伴いリポジトリ参照先を apphrdins/mangaGenX に更新",
                    "message": "docs: GitHub 組織移管に伴いリポジトリ参照先を apphrdins/mangaGenX に更新",
                    "body": null,
                    "fullMessage": "docs: GitHub 組織移管に伴いリポジトリ参照先を apphrdins/mangaGenX に更新",
                    "author": "tarohrdins",
                    "date": "2026-11-09T16:44:01+09:00",
                    "dateUtc": "2026-11-09T07:44:01Z",
                    "displayDate": "2026-11-09 16:44:01 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/4b622a6aac48aad16e6b1a41a88cdd7d20b0bd10"
                },
                {
                    "hash": "2ce6318",
                    "title": "feat: 社外向けページ(manual.html, service_plan.html)の member 配置・ブランド刷新(mangaGenX)・導線防御",
                    "message": "feat: 社外向けページ(manual.html, service_plan.html)の member 配置・ブランド刷新(mangaGenX)・導線防御",
                    "body": null,
                    "fullMessage": "feat: 社外向けページ(manual.html, service_plan.html)の member 配置・ブランド刷新(mangaGenX)・導線防御",
                    "author": "tarohrdins",
                    "date": "2026-10-26T17:32:44+09:00",
                    "dateUtc": "2026-10-26T08:32:44Z",
                    "displayDate": "2026-10-26 17:32:44 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/2ce63189972cef06f88267110fe58f380f068957"
                },
                {
                    "hash": "46b88d6",
                    "title": "feat(internal): 社内テスト用に mangagenx-internal を認証なし公開モード(--allow-unauthenticated)に対応",
                    "message": "feat(internal): 社内テスト用に mangagenx-internal を認証なし公開モード(--allow-unauthenticated)に対応",
                    "body": null,
                    "fullMessage": "feat(internal): 社内テスト用に mangagenx-internal を認証なし公開モード(--allow-unauthenticated)に対応",
                    "author": "tarohrdins",
                    "date": "2026-10-26T09:27:29+09:00",
                    "dateUtc": "2026-10-26T00:27:29Z",
                    "displayDate": "2026-10-26 09:27:29 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/46b88d64d407c2c61b0ad1f0bcae0e17231568ce"
                },
                {
                    "hash": "0f65720",
                    "title": "feat: 社内限定版 Cloud Run (mangagenx-internal) 用 Dockerfile・デプロイ設定・運用マニュアルを追加",
                    "message": "feat: 社内限定版 Cloud Run (mangagenx-internal) 用 Dockerfile・デプロイ設定・運用マニュアルを追加",
                    "body": null,
                    "fullMessage": "feat: 社内限定版 Cloud Run (mangagenx-internal) 用 Dockerfile・デプロイ設定・運用マニュアルを追加",
                    "author": "tarohrdins",
                    "date": "2026-10-26T08:49:41+09:00",
                    "dateUtc": "2026-10-25T23:49:41Z",
                    "displayDate": "2026-10-26 08:49:41 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/0f65720c54e9c05d5d1d99bee7ee76dbd22d9a01"
                },
                {
                    "hash": "3feb8bb",
                    "title": "Antigravity 用 Git/Cloud Run 開発運用ルールを追加",
                    "message": "Antigravity 用 Git/Cloud Run 開発運用ルールを追加",
                    "body": null,
                    "fullMessage": "Antigravity 用 Git/Cloud Run 開発運用ルールを追加",
                    "author": "tarohrdins",
                    "date": "2026-10-26T08:08:29+09:00",
                    "dateUtc": "2026-10-25T23:08:29Z",
                    "displayDate": "2026-10-26 08:08:29 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/3feb8bb77650c24c161f232a61e3361bd67860ee"
                },
                {
                    "hash": "6c9ee80",
                    "title": "トリガー: Cloud Run 自動ビルド開始",
                    "message": "トリガー: Cloud Run 自動ビルド開始",
                    "body": null,
                    "fullMessage": "トリガー: Cloud Run 自動ビルド開始",
                    "author": "tarohrdins",
                    "date": "2026-10-26T01:30:54+09:00",
                    "dateUtc": "2026-10-25T16:30:54Z",
                    "displayDate": "2026-10-26 01:30:54 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/6c9ee80368c9d49f2ab9919fca3772ae9cce0614"
                },
                {
                    "hash": "4bd78c5",
                    "title": "Cloud Run 用 Dockerfile を追加 (DocumentRoot を member に設定)",
                    "message": "Cloud Run 用 Dockerfile を追加 (DocumentRoot を member に設定)",
                    "body": null,
                    "fullMessage": "Cloud Run 用 Dockerfile を追加 (DocumentRoot を member に設定)",
                    "author": "tarohrdins",
                    "date": "2026-10-26T00:36:34+09:00",
                    "dateUtc": "2026-10-25T15:36:34Z",
                    "displayDate": "2026-10-26 00:36:34 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/4bd78c5a5d4e6dcc2787370e8bda1cf130a940ef"
                },
                {
                    "hash": "88231eb",
                    "title": "初回コミット: mangaGenX 初期ソースコード登録",
                    "message": "初回コミット: mangaGenX 初期ソースコード登録",
                    "body": null,
                    "fullMessage": "初回コミット: mangaGenX 初期ソースコード登録",
                    "author": "tarohrdins",
                    "date": "2026-10-25T23:12:53+09:00",
                    "dateUtc": "2026-10-25T14:12:53Z",
                    "displayDate": "2026-10-25 23:12:53 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/mangaGenX/commit/88231ebe3cb566a53ce3004234931a32775af559"
                }
            ]
        },
        {
            "id": "targetdm-hrd",
            "name": "targetDM (HRD)",
            "tagline": "HRD事業向け ターゲットメール配信システム",
            "brand": "HRD",
            "productionUrl": "https://hrd.targetdm.hrdapp.net",
            "variants": [
                {
                    "id": "portal",
                    "name": "HRDメール配信管理ポータル",
                    "path": "/",
                    "url": "https://hrd.targetdm.hrdapp.net/",
                    "customDomainUrl": "https://hrd.targetdm.hrdapp.net/",
                    "cloudRunUrl": "https://targetdm-hrd-238247655707.asia-northeast1.run.app/",
                    "dir": "HRD/"
                },
                {
                    "id": "cron",
                    "name": "定期配信バッチ (Cloud Scheduler)",
                    "path": "/cron/send_batch.php",
                    "url": "https://hrd.targetdm.hrdapp.net/cron/send_batch.php",
                    "customDomainUrl": "https://hrd.targetdm.hrdapp.net/cron/send_batch.php",
                    "cloudRunUrl": "https://targetdm-hrd-238247655707.asia-northeast1.run.app/cron/send_batch.php",
                    "dir": "HRD/cron/"
                }
            ],
            "repoUrl": "https://github.com/apphrdins/targetDM",
            "branch": "main",
            "stack": {
                "runtime": "PHP 8.2",
                "webServer": "Apache (DocRoot: public/)",
                "db": "SQLite (db.sqlite)",
                "hasDatabase": true,
                "ai": "Gemini API (配信文面生成・バウンス解析)"
            },
            "deployment": {
                "serviceName": "targetdm-hrd",
                "deployedBranch": "main",
                "deploymentTrigger": "Cloud Build 自動ビルド (push to main)",
                "isLatestCommitDeployed": true,
                "deployedCommitHash": "7516328",
                "deployedAt": "2026-11-03T13:51:58+09:00",
                "latestReadyRevision": "targetdm-hrd-auto",
                "liveStatus": "ACTIVE",
                "maxInstances": "1 (固定：SQLite破損防止)"
            },
            "fetch": {
                "status": "SUCCESS",
                "source": "github_api",
                "error": null,
                "totalCommitsFound": 4,
                "returnedCommitsCount": 4,
                "limit": 100,
                "isTruncated": false
            },
            "latestCommit": {
                "hash": "7516328",
                "title": "Update fallback configuration values for METALOG and HRD",
                "date": "2026-11-03T13:51:58+09:00",
                "displayDate": "2026-11-03 13:51:58 JST"
            },
            "commits": [
                {
                    "hash": "7516328",
                    "title": "Update fallback configuration values for METALOG and HRD",
                    "message": "Update fallback configuration values for METALOG and HRD",
                    "body": null,
                    "fullMessage": "Update fallback configuration values for METALOG and HRD",
                    "author": "tarohrdins",
                    "date": "2026-11-03T13:51:58+09:00",
                    "dateUtc": "2026-11-03T04:51:58Z",
                    "displayDate": "2026-11-03 13:51:58 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/75163286641578f7cf5a99ecc900ee2369e4faaa"
                },
                {
                    "hash": "e507d17",
                    "title": "Fix Secret Manager file detection and admin login fallback in HRD and METALOG",
                    "message": "Fix Secret Manager file detection and admin login fallback in HRD and METALOG",
                    "body": null,
                    "fullMessage": "Fix Secret Manager file detection and admin login fallback in HRD and METALOG",
                    "author": "tarohrdins",
                    "date": "2026-11-03T13:46:18+09:00",
                    "dateUtc": "2026-11-03T04:46:18Z",
                    "displayDate": "2026-11-03 13:46:18 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/e507d174924e89fe514fce43270993661e884141"
                },
                {
                    "hash": "c46edda",
                    "title": "Set production Cloud Run URLs for targetdm-hrd and targetdm-metalog",
                    "message": "Set production Cloud Run URLs for targetdm-hrd and targetdm-metalog",
                    "body": null,
                    "fullMessage": "Set production Cloud Run URLs for targetdm-hrd and targetdm-metalog",
                    "author": "tarohrdins",
                    "date": "2026-11-03T13:37:03+09:00",
                    "dateUtc": "2026-11-03T04:37:03Z",
                    "displayDate": "2026-11-03 13:37:03 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/c46eddaaf72258a67f7c584e184dff9c3cfafa3d"
                },
                {
                    "hash": "3c409ee",
                    "title": "Initial monorepo migration for HRD and METALOG DM systems (Cloud Run ready)",
                    "message": "Initial monorepo migration for HRD and METALOG DM systems (Cloud Run ready)",
                    "body": null,
                    "fullMessage": "Initial monorepo migration for HRD and METALOG DM systems (Cloud Run ready)",
                    "author": "tarohrdins",
                    "date": "2026-11-03T12:23:52+09:00",
                    "dateUtc": "2026-11-03T03:23:52Z",
                    "displayDate": "2026-11-03 12:23:52 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/3c409ee91cce990572f239ee3aa5307a4bfb0ddb"
                }
            ]
        },
        {
            "id": "targetdm-metalog",
            "name": "targetDM (METALOG)",
            "tagline": "METALOG事業向け ターゲットメール配信システム",
            "brand": "METALOG",
            "productionUrl": "https://metalog.targetdm.hrdapp.net",
            "variants": [
                {
                    "id": "portal",
                    "name": "METALOGメール配信管理ポータル",
                    "path": "/",
                    "url": "https://metalog.targetdm.hrdapp.net/",
                    "customDomainUrl": "https://metalog.targetdm.hrdapp.net/",
                    "cloudRunUrl": "https://targetdm-metalog-238247655707.asia-northeast1.run.app/",
                    "dir": "METALOG/"
                },
                {
                    "id": "cron",
                    "name": "定期配信バッチ (Cloud Scheduler)",
                    "path": "/cron/send_batch.php",
                    "url": "https://metalog.targetdm.hrdapp.net/cron/send_batch.php",
                    "customDomainUrl": "https://metalog.targetdm.hrdapp.net/cron/send_batch.php",
                    "cloudRunUrl": "https://targetdm-metalog-238247655707.asia-northeast1.run.app/cron/send_batch.php",
                    "dir": "METALOG/cron/"
                }
            ],
            "repoUrl": "https://github.com/apphrdins/targetDM",
            "branch": "main",
            "stack": {
                "runtime": "PHP 8.2",
                "webServer": "Apache (DocRoot: public/)",
                "db": "SQLite (db.sqlite / dbM.sqlite)",
                "hasDatabase": true,
                "ai": "Gemini API"
            },
            "deployment": {
                "serviceName": "targetdm-metalog",
                "deployedBranch": "main",
                "deploymentTrigger": "Cloud Build 自動ビルド (push to main)",
                "isLatestCommitDeployed": true,
                "deployedCommitHash": "7516328",
                "deployedAt": "2026-11-03T13:51:58+09:00",
                "latestReadyRevision": "targetdm-metalog-auto",
                "liveStatus": "ACTIVE",
                "maxInstances": "1 (固定：SQLite破損防止)"
            },
            "fetch": {
                "status": "SUCCESS",
                "source": "github_api",
                "error": null,
                "totalCommitsFound": 4,
                "returnedCommitsCount": 4,
                "limit": 100,
                "isTruncated": false
            },
            "latestCommit": {
                "hash": "7516328",
                "title": "Update fallback configuration values for METALOG and HRD",
                "date": "2026-11-03T13:51:58+09:00",
                "displayDate": "2026-11-03 13:51:58 JST"
            },
            "commits": [
                {
                    "hash": "7516328",
                    "title": "Update fallback configuration values for METALOG and HRD",
                    "message": "Update fallback configuration values for METALOG and HRD",
                    "body": null,
                    "fullMessage": "Update fallback configuration values for METALOG and HRD",
                    "author": "tarohrdins",
                    "date": "2026-11-03T13:51:58+09:00",
                    "dateUtc": "2026-11-03T04:51:58Z",
                    "displayDate": "2026-11-03 13:51:58 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/75163286641578f7cf5a99ecc900ee2369e4faaa"
                },
                {
                    "hash": "e507d17",
                    "title": "Fix Secret Manager file detection and admin login fallback in HRD and METALOG",
                    "message": "Fix Secret Manager file detection and admin login fallback in HRD and METALOG",
                    "body": null,
                    "fullMessage": "Fix Secret Manager file detection and admin login fallback in HRD and METALOG",
                    "author": "tarohrdins",
                    "date": "2026-11-03T13:46:18+09:00",
                    "dateUtc": "2026-11-03T04:46:18Z",
                    "displayDate": "2026-11-03 13:46:18 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/e507d174924e89fe514fce43270993661e884141"
                },
                {
                    "hash": "c46edda",
                    "title": "Set production Cloud Run URLs for targetdm-hrd and targetdm-metalog",
                    "message": "Set production Cloud Run URLs for targetdm-hrd and targetdm-metalog",
                    "body": null,
                    "fullMessage": "Set production Cloud Run URLs for targetdm-hrd and targetdm-metalog",
                    "author": "tarohrdins",
                    "date": "2026-11-03T13:37:03+09:00",
                    "dateUtc": "2026-11-03T04:37:03Z",
                    "displayDate": "2026-11-03 13:37:03 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/c46eddaaf72258a67f7c584e184dff9c3cfafa3d"
                },
                {
                    "hash": "3c409ee",
                    "title": "Initial monorepo migration for HRD and METALOG DM systems (Cloud Run ready)",
                    "message": "Initial monorepo migration for HRD and METALOG DM systems (Cloud Run ready)",
                    "body": null,
                    "fullMessage": "Initial monorepo migration for HRD and METALOG DM systems (Cloud Run ready)",
                    "author": "tarohrdins",
                    "date": "2026-11-03T12:23:52+09:00",
                    "dateUtc": "2026-11-03T03:23:52Z",
                    "displayDate": "2026-11-03 12:23:52 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/targetDM/commit/3c409ee91cce990572f239ee3aa5307a4bfb0ddb"
                }
            ]
        },
        {
            "id": "l3support",
            "name": "l3Support",
            "tagline": "研修現場実践・行動定着サポートシステム",
            "brand": "HRD",
            "productionUrl": "https://l3support.hrdapp.net",
            "variants": [
                {
                    "id": "student",
                    "name": "受講者用マイページ / 現場実践入力",
                    "path": "/",
                    "url": "https://l3support.hrdapp.net/",
                    "customDomainUrl": "https://l3support.hrdapp.net/",
                    "cloudRunUrl": "https://l3support-238247655707.asia-northeast1.run.app/"
                },
                {
                    "id": "admin",
                    "name": "全体管理者ダッシュボード",
                    "path": "/admin.php",
                    "url": "https://l3support.hrdapp.net/admin.php",
                    "customDomainUrl": "https://l3support.hrdapp.net/admin.php",
                    "cloudRunUrl": "https://l3support-238247655707.asia-northeast1.run.app/admin.php"
                },
                {
                    "id": "demo",
                    "name": "体験デモツアー環境",
                    "path": "/demo/",
                    "url": "https://l3support.hrdapp.net/demo/",
                    "customDomainUrl": "https://l3support.hrdapp.net/demo/",
                    "cloudRunUrl": "https://l3support-238247655707.asia-northeast1.run.app/demo/"
                },
                {
                    "id": "lp",
                    "name": "サービス案内LP",
                    "path": "/lp.php",
                    "url": "https://l3support.hrdapp.net/lp.php",
                    "customDomainUrl": "https://l3support.hrdapp.net/lp.php",
                    "cloudRunUrl": "https://l3support-238247655707.asia-northeast1.run.app/lp.php"
                },
                {
                    "id": "cron",
                    "name": "定期リマインドバッチ (Cloud Scheduler)",
                    "path": "/remindMail.php",
                    "url": "https://l3support.hrdapp.net/remindMail.php",
                    "customDomainUrl": "https://l3support.hrdapp.net/remindMail.php",
                    "cloudRunUrl": "https://l3support-238247655707.asia-northeast1.run.app/remindMail.php"
                }
            ],
            "repoUrl": "https://github.com/apphrdins/l3Support",
            "branch": "main",
            "stack": {
                "runtime": "PHP 8.2",
                "webServer": "Apache",
                "db": "SQLite (data/l3Support.db)",
                "hasDatabase": true,
                "ai": "Gemini 3 Flash API (定着アドバイス・振り返り要約)"
            },
            "deployment": {
                "serviceName": "l3support",
                "deployedBranch": "main",
                "deploymentTrigger": "Cloud Build 自動ビルド (push to main)",
                "isLatestCommitDeployed": true,
                "deployedCommitHash": "8b48e52",
                "deployedAt": "2026-11-11T16:53:15+09:00",
                "latestReadyRevision": "l3support-auto",
                "liveStatus": "ACTIVE",
                "maxInstances": "1 (固定：SQLite破損防止)"
            },
            "fetch": {
                "status": "SUCCESS",
                "source": "github_api",
                "error": null,
                "totalCommitsFound": 24,
                "returnedCommitsCount": 24,
                "limit": 100,
                "isTruncated": false
            },
            "latestCommit": {
                "hash": "8b48e52",
                "title": "docs: チーム伴走メンバー向けスタート活用ガイド（team_action_member_guide.html）を追加",
                "date": "2026-11-11T16:53:15+09:00",
                "displayDate": "2026-11-11 16:53:15 JST"
            },
            "commits": [
                {
                    "hash": "8b48e52",
                    "title": "docs: チーム伴走メンバー向けスタート活用ガイド（team_action_member_guide.html）を追加",
                    "message": "docs: チーム伴走メンバー向けスタート活用ガイド（team_action_member_guide.html）を追加",
                    "body": null,
                    "fullMessage": "docs: チーム伴走メンバー向けスタート活用ガイド（team_action_member_guide.html）を追加",
                    "author": "tarohrdins",
                    "date": "2026-11-11T16:53:15+09:00",
                    "dateUtc": "2026-11-11T07:53:15Z",
                    "displayDate": "2026-11-11 16:53:15 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/8b48e52eb4b06cc8b67510015170584ac8b529c8"
                },
                {
                    "hash": "e8085e7",
                    "title": "feat: 受講者進捗画面に一括目標案内送信ボタンを復活、受講者情報の画面直接編集機能を追加",
                    "message": "feat: 受講者進捗画面に一括目標案内送信ボタンを復活、受講者情報の画面直接編集機能を追加",
                    "body": null,
                    "fullMessage": "feat: 受講者進捗画面に一括目標案内送信ボタンを復活、受講者情報の画面直接編集機能を追加",
                    "author": "tarohrdins",
                    "date": "2026-11-11T16:31:55+09:00",
                    "dateUtc": "2026-11-11T07:31:55Z",
                    "displayDate": "2026-11-11 16:31:55 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/e8085e7aed8463caa1b1bc7cf62a16f60aee3132"
                },
                {
                    "hash": "ec38398",
                    "title": "fix: align next automated reminder time to 13:15 lunch batch",
                    "message": "fix: align next automated reminder time to 13:15 lunch batch",
                    "body": null,
                    "fullMessage": "fix: align next automated reminder time to 13:15 lunch batch",
                    "author": "tarohrdins",
                    "date": "2026-11-11T14:06:11+09:00",
                    "dateUtc": "2026-11-11T05:06:11Z",
                    "displayDate": "2026-11-11 14:06:11 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/ec38398bcf92b1b5f21d389048bff38d68777b5a"
                },
                {
                    "hash": "132fa33",
                    "title": "docs: システム管理者から組織管理者へ説明するためのスクリーンショット付きスタートガイド（org_admin_guide.html）を追加",
                    "message": "docs: システム管理者から組織管理者へ説明するためのスクリーンショット付きスタートガイド（org_admin_guide.html）を追加",
                    "body": null,
                    "fullMessage": "docs: システム管理者から組織管理者へ説明するためのスクリーンショット付きスタートガイド（org_admin_guide.html）を追加",
                    "author": "tarohrdins",
                    "date": "2026-11-11T08:48:29+09:00",
                    "dateUtc": "2026-11-10T23:48:29Z",
                    "displayDate": "2026-11-11 08:48:29 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/132fa33fd2269f85030a8b7ed1ace1c52d4f6d58"
                },
                {
                    "hash": "f26c359",
                    "title": "fix: 完了メッセージのHTMLエスケープ解除、バックアップダウンロードの堅牢化、組織一覧での案内非表示修正",
                    "message": "fix: 完了メッセージのHTMLエスケープ解除、バックアップダウンロードの堅牢化、組織一覧での案内非表示修正",
                    "body": null,
                    "fullMessage": "fix: 完了メッセージのHTMLエスケープ解除、バックアップダウンロードの堅牢化、組織一覧での案内非表示修正",
                    "author": "tarohrdins",
                    "date": "2026-11-11T00:08:03+09:00",
                    "dateUtc": "2026-11-10T15:08:03Z",
                    "displayDate": "2026-11-11 00:08:03 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/f26c359a61bd453fb6f479f63a0510bf495504de"
                },
                {
                    "hash": "1a2d5c6",
                    "title": "feat: サービス最上位管理者と組織管理者のアクセス分離および組織の完全バックアップ付き削除機能を追加",
                    "message": "feat: サービス最上位管理者と組織管理者のアクセス分離および組織の完全バックアップ付き削除機能を追加",
                    "body": null,
                    "fullMessage": "feat: サービス最上位管理者と組織管理者のアクセス分離および組織の完全バックアップ付き削除機能を追加",
                    "author": "tarohrdins",
                    "date": "2026-11-10T23:58:54+09:00",
                    "dateUtc": "2026-11-10T14:58:54Z",
                    "displayDate": "2026-11-10 23:58:54 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/1a2d5c658b27e8612e426baf55fd938eebfe8033"
                },
                {
                    "hash": "f53e36d",
                    "title": "feat: 「管理者」ボタンから組織管理者設定（組織名・通知メール・動作確認Bcc）を変更できるモーダル機能を追加",
                    "message": "feat: 「管理者」ボタンから組織管理者設定（組織名・通知メール・動作確認Bcc）を変更できるモーダル機能を追加",
                    "body": null,
                    "fullMessage": "feat: 「管理者」ボタンから組織管理者設定（組織名・通知メール・動作確認Bcc）を変更できるモーダル機能を追加",
                    "author": "tarohrdins",
                    "date": "2026-11-10T16:11:28+09:00",
                    "dateUtc": "2026-11-10T07:11:28Z",
                    "displayDate": "2026-11-10 16:11:28 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/f53e36d866bd41cf5a6e974adb41b68d6680d099"
                },
                {
                    "hash": "a759c3d",
                    "title": "fix: ヘルプおよび管理者ドロップダウンメニューが全画面で開くようJSを共通領域へ移動",
                    "message": "fix: ヘルプおよび管理者ドロップダウンメニューが全画面で開くようJSを共通領域へ移動",
                    "body": null,
                    "fullMessage": "fix: ヘルプおよび管理者ドロップダウンメニューが全画面で開くようJSを共通領域へ移動",
                    "author": "tarohrdins",
                    "date": "2026-11-10T16:07:23+09:00",
                    "dateUtc": "2026-11-10T07:07:23Z",
                    "displayDate": "2026-11-10 16:07:23 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/a759c3d6467732e9618ca7bb096092ca9734d978"
                },
                {
                    "hash": "57dad7a",
                    "title": "refactor: 画面階層に応じたナビゲーションタブの動的表示に改修（研修一覧・期一覧ではクラス専用メニューを非表示化し直感的な階層遷移を実現）",
                    "message": "refactor: 画面階層に応じたナビゲーションタブの動的表示に改修（研修一覧・期一覧ではクラス専用メニューを非表示化し直感的な階層遷移を実現）",
                    "body": null,
                    "fullMessage": "refactor: 画面階層に応じたナビゲーションタブの動的表示に改修（研修一覧・期一覧ではクラス専用メニューを非表示化し直感的な階層遷移を実現）",
                    "author": "tarohrdins",
                    "date": "2026-11-10T16:00:57+09:00",
                    "dateUtc": "2026-11-10T07:00:57Z",
                    "displayDate": "2026-11-10 16:00:57 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/57dad7a6ba19db54e37b14ce60821f70431dfed2"
                },
                {
                    "hash": "86e33dd",
                    "title": "fix: モーダルダイアログが画面外にはみ出て作成ボタンが押せなくなる表示崩れを修正（ヘッダー・フッター固定＆ボディスクロール化）",
                    "message": "fix: モーダルダイアログが画面外にはみ出て作成ボタンが押せなくなる表示崩れを修正（ヘッダー・フッター固定＆ボディスクロール化）",
                    "body": null,
                    "fullMessage": "fix: モーダルダイアログが画面外にはみ出て作成ボタンが押せなくなる表示崩れを修正（ヘッダー・フッター固定＆ボディスクロール化）",
                    "author": "tarohrdins",
                    "date": "2026-11-10T15:53:28+09:00",
                    "dateUtc": "2026-11-10T06:53:28Z",
                    "displayDate": "2026-11-10 15:53:28 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/86e33dd36b40ce775997b0b81351a53c66375134"
                },
                {
                    "hash": "b229d3e",
                    "title": "fix: 研修プログラム未作成時にクラス作成が空振りする問題を修正し、新規組織時の誘導UIを追加",
                    "message": "fix: 研修プログラム未作成時にクラス作成が空振りする問題を修正し、新規組織時の誘導UIを追加",
                    "body": null,
                    "fullMessage": "fix: 研修プログラム未作成時にクラス作成が空振りする問題を修正し、新規組織時の誘導UIを追加",
                    "author": "tarohrdins",
                    "date": "2026-11-10T15:48:33+09:00",
                    "dateUtc": "2026-11-10T06:48:33Z",
                    "displayDate": "2026-11-10 15:48:33 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/b229d3ed09ec74c779cba2e1fbf7c8373d244e60"
                },
                {
                    "hash": "c16fa51",
                    "title": "feat: 各組織のセットアップに動作確認・モニタリング用Bccメールアドレス（monitor_bcc_email）機能を追加",
                    "message": "feat: 各組織のセットアップに動作確認・モニタリング用Bccメールアドレス（monitor_bcc_email）機能を追加",
                    "body": null,
                    "fullMessage": "feat: 各組織のセットアップに動作確認・モニタリング用Bccメールアドレス（monitor_bcc_email）機能を追加",
                    "author": "tarohrdins",
                    "date": "2026-11-09T15:13:31+09:00",
                    "dateUtc": "2026-11-09T06:13:31Z",
                    "displayDate": "2026-11-09 15:13:31 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/c16fa51ebfacb06b9e144f3e1075580d84bae88c"
                },
                {
                    "hash": "07ed5f7",
                    "title": "Enhance supervisor guide and core code: destination confirm, URL security, QR mismatch prevention",
                    "message": "Enhance supervisor guide and core code: destination confirm, URL security, QR mismatch prevention",
                    "body": null,
                    "fullMessage": "Enhance supervisor guide and core code: destination confirm, URL security, QR mismatch prevention",
                    "author": "tarohrdins",
                    "date": "2026-11-06T16:02:39+09:00",
                    "dateUtc": "2026-11-06T07:02:39Z",
                    "displayDate": "2026-11-06 16:02:39 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/07ed5f7665726b76d9e0b5a65669c5bf0b9aa2c9"
                },
                {
                    "hash": "2ff6878",
                    "title": "Add supervisor A4 support guide with workflow screenshots",
                    "message": "Add supervisor A4 support guide with workflow screenshots",
                    "body": null,
                    "fullMessage": "Add supervisor A4 support guide with workflow screenshots",
                    "author": "tarohrdins",
                    "date": "2026-11-05T19:52:39+09:00",
                    "dateUtc": "2026-11-05T10:52:39Z",
                    "displayDate": "2026-11-05 19:52:39 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/2ff6878f81bcc4f9fcf2f47f0d688d603e432c81"
                },
                {
                    "hash": "f528ddf",
                    "title": "fix: bind reminder mail URL/subject directly to target cycle and auto-select active uncompleted cycle on entry",
                    "message": "fix: bind reminder mail URL/subject directly to target cycle and auto-select active uncompleted cycle on entry",
                    "body": null,
                    "fullMessage": "fix: bind reminder mail URL/subject directly to target cycle and auto-select active uncompleted cycle on entry",
                    "author": "tarohrdins",
                    "date": "2026-11-05T18:53:37+09:00",
                    "dateUtc": "2026-11-05T09:53:37Z",
                    "displayDate": "2026-11-05 18:53:37 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/f528ddf8f6079190a805f974fe21fa38aceb8ea6"
                },
                {
                    "hash": "4066cbf",
                    "title": "feat: complete redesign of participant progress screen (7-column table, KPI cards, sticky header, pill filters, unified '...' action menu)",
                    "message": "feat: complete redesign of participant progress screen (7-column table, KPI cards, sticky header, pill filters, unified '...' action menu)",
                    "body": null,
                    "fullMessage": "feat: complete redesign of participant progress screen (7-column table, KPI cards, sticky header, pill filters, unified '...' action menu)",
                    "author": "tarohrdins",
                    "date": "2026-11-05T14:15:27+09:00",
                    "dateUtc": "2026-11-05T05:15:27Z",
                    "displayDate": "2026-11-05 14:15:27 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/4066cbfce90f459da35b5ebc6e141749cca7e2ff"
                },
                {
                    "hash": "136f159",
                    "title": "fix: optimize print layout and compact dummy text to fit strictly on single A4 page",
                    "message": "fix: optimize print layout and compact dummy text to fit strictly on single A4 page",
                    "body": null,
                    "fullMessage": "fix: optimize print layout and compact dummy text to fit strictly on single A4 page",
                    "author": "tarohrdins",
                    "date": "2026-11-05T08:51:45+09:00",
                    "dateUtc": "2026-11-04T23:51:45Z",
                    "displayDate": "2026-11-05 08:51:45 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/136f1595e2fe25d8462fc95eefe34ea60e295ff5"
                },
                {
                    "hash": "07e4494",
                    "title": "fix: make feedback_sheet show fixed dummy sample when token=sample or invalid",
                    "message": "fix: make feedback_sheet show fixed dummy sample when token=sample or invalid",
                    "body": null,
                    "fullMessage": "fix: make feedback_sheet show fixed dummy sample when token=sample or invalid",
                    "author": "tarohrdins",
                    "date": "2026-11-05T08:43:47+09:00",
                    "dateUtc": "2026-11-04T23:43:47Z",
                    "displayDate": "2026-11-05 08:43:47 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/07e449464d28360260ba9e58105c8d58e6e8a64c"
                },
                {
                    "hash": "88e0205",
                    "title": "refactor: replace personal names with LT and 事務局, preserving only 越智様",
                    "message": "refactor: replace personal names with LT and 事務局, preserving only 越智様",
                    "body": null,
                    "fullMessage": "refactor: replace personal names with LT and 事務局, preserving only 越智様",
                    "author": "tarohrdins",
                    "date": "2026-11-05T08:27:12+09:00",
                    "dateUtc": "2026-11-04T23:27:12Z",
                    "displayDate": "2026-11-05 08:27:12 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/88e0205a18e6b998302a7cfb184f949daefc72f6"
                },
                {
                    "hash": "8a98fed",
                    "title": "feat: implement supervisor feedback CSV export, input misdirection guards, delivery status tracking, 1on1 sheet, and business presentation HTML for Ochi/Suzuki requirements",
                    "message": "feat: implement supervisor feedback CSV export, input misdirection guards, delivery status tracking, 1on1 sheet, and business presentation HTML for Ochi/Suzuki requirements",
                    "body": null,
                    "fullMessage": "feat: implement supervisor feedback CSV export, input misdirection guards, delivery status tracking, 1on1 sheet, and business presentation HTML for Ochi/Suzuki requirements",
                    "author": "tarohrdins",
                    "date": "2026-11-05T08:13:30+09:00",
                    "dateUtc": "2026-11-04T23:13:30Z",
                    "displayDate": "2026-11-05 08:13:30 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/8a98fedd8de38cc437d56bf4ab109777e194f881"
                },
                {
                    "hash": "917f2b2",
                    "title": "fix: implement PRG pattern and button debounce for manual remind to prevent duplicate submissions",
                    "message": "fix: implement PRG pattern and button debounce for manual remind to prevent duplicate submissions",
                    "body": null,
                    "fullMessage": "fix: implement PRG pattern and button debounce for manual remind to prevent duplicate submissions",
                    "author": "tarohrdins",
                    "date": "2026-11-04T08:48:24+09:00",
                    "dateUtc": "2026-11-03T23:48:24Z",
                    "displayDate": "2026-11-04 08:48:24 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/917f2b2597b5a4a05712248809a7f0db045497d3"
                },
                {
                    "hash": "7014c8e",
                    "title": "fix: auto-resolve sakura server base URL in CLI cron mode",
                    "message": "fix: auto-resolve sakura server base URL in CLI cron mode",
                    "body": null,
                    "fullMessage": "fix: auto-resolve sakura server base URL in CLI cron mode",
                    "author": "tarohrdins",
                    "date": "2026-11-04T01:41:06+09:00",
                    "dateUtc": "2026-11-03T16:41:06Z",
                    "displayDate": "2026-11-04 01:41:06 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/7014c8e8ae53993838aac47d6e7383e19c94ef85"
                },
                {
                    "hash": "4b19539",
                    "title": "feat: track last reminder sent time and history for participants and reports",
                    "message": "feat: track last reminder sent time and history for participants and reports",
                    "body": null,
                    "fullMessage": "feat: track last reminder sent time and history for participants and reports",
                    "author": "tarohrdins",
                    "date": "2026-11-04T00:52:59+09:00",
                    "dateUtc": "2026-11-03T15:52:59Z",
                    "displayDate": "2026-11-04 00:52:59 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/4b1953925a94069b2859fc8162309d967e962221"
                },
                {
                    "hash": "7ca3dda",
                    "title": "feat: initial commit for l3Support migration with Cloud Run & SMTP support",
                    "message": "feat: initial commit for l3Support migration with Cloud Run & SMTP support",
                    "body": null,
                    "fullMessage": "feat: initial commit for l3Support migration with Cloud Run & SMTP support",
                    "author": "tarohrdins",
                    "date": "2026-11-03T17:46:44+09:00",
                    "dateUtc": "2026-11-03T08:46:44Z",
                    "displayDate": "2026-11-03 17:46:44 JST",
                    "changedFiles": [],
                    "changedFilesCount": null,
                    "githubUrl": "https://github.com/apphrdins/l3Support/commit/7ca3dda868ce0dd1bc481610e692e9369467304e"
                }
            ]
        }
    ]
}