Skip to content

docs: 水素タンク SHM 設計メモ + IHI ポートフォリオ - #37

Merged
keisuke58 merged 2 commits into
mainfrom
claude/claude-md-docs-3xmxud
Aug 1, 2026
Merged

docs: 水素タンク SHM 設計メモ + IHI ポートフォリオ#37
keisuke58 merged 2 commits into
mainfrom
claude/claude-md-docs-3xmxud

Conversation

@keisuke58

@keisuke58 keisuke58 commented Jul 3, 2026

Copy link
Copy Markdown
Owner

概要

水素タンク (LH2) SHM ラインの設計メモと、IHI 推薦就活用ポートフォリオを追加します(ドキュメントのみ/コード実装なし)。

追加内容

1. 水素タンク SHM 設計メモ(docs/HYDROGEN_TANK_SHM.md

フェアリング SHM 資産を極低温 LH2 タンクへ拡張する設計メモ:

  • ジオメトリ(Al-Li 円筒タンク)/ 極低温材料物性(design assumption 明記)/ 荷重(内圧+熱+疲労)
  • 欠陥モデル(溶接・熱サイクル微小亀裂・断熱剥離・水素脆化)
  • グラフ/特徴量は既存34次元に最小差分train.py/DA/conformal を無改修接続)
  • 再利用マップ・1サンプル FEM 実行計画(M1〜M5)・リスク一覧
  • ROADMAP.md に Phase 6 として追記

2. IHI ポートフォリオ(portfolio/ihi/ihi_interview_prep.md

GNN-SHM 研究を IHI 事業(SRB-3 / LE-9 / 水素)へ接続する志望動機・想定Q&A・技術キーワード・準備チェックリスト。既存 portfolio/ の interview_prep 形式に準拠。

補足

  • 図・表ラベルは英語(プロジェクト規約準拠)
  • ドキュメントのみ(コード影響なし)

Summary by CodeRabbit

  • Documentation
    • Added a roadmap entry for cryogenic hydrogen tank structural health monitoring.
    • Added a design note covering tank geometry, materials, loading conditions, defect modeling, graph features, validation plans, risks, and next steps.
    • Added Japanese IHI interview-preparation materials connecting the project’s structural health monitoring research with aerospace, infrastructure, engine, and hydrogen applications.

フェアリング SHM 資産を極低温 LH2 タンクへ拡張する設計メモ:
ジオメトリ・極低温 Al-Li 材料・内圧/熱荷重・欠陥モデル(溶接/微小亀裂/断熱剥離)・
グラフ特徴量の差分・再利用マップ・1サンプル FEM 実行計画。
ROADMAP.md に Phase 6 として追記。

Co-Authored-By: Claude <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR adds a Phase 6 hydrogen tank SHM roadmap entry, a detailed cryogenic hydrogen tank design note, and a Japanese IHI interview-preparation guide covering the repository’s SHM research.

Changes

Hydrogen SHM Documentation

Layer / File(s) Summary
Hydrogen tank SHM roadmap and design plan
ROADMAP.md, docs/HYDROGEN_TANK_SHM.md
The roadmap adds Phase 6. The design note defines tank geometry, materials, loading, defects, graph features, FEM execution, milestones, open risks, and follow-up actions.
IHI interview preparation
portfolio/ihi/ihi_interview_prep.md
The Japanese guide summarizes the SHM research, technical methods, IHI business mappings, interview answers, terminology, preparation tasks, and repository references.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the hydrogen tank SHM design memo and IHI portfolio documentation added in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/claude-md-docs-3xmxud

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

GNN-SHM 研究(H3フェアリング→水素タンク)を IHI 事業(SRB-3/LE-9/水素)へ
接続する志望動機・想定Q&A・技術キーワード・準備チェックリスト。
既存 portfolio/ の interview_prep 形式に準拠。

Co-Authored-By: Claude <noreply@anthropic.com>
@keisuke58 keisuke58 changed the title docs: 水素タンク (LH2) SHM 設計メモを追加 docs: 水素タンク SHM 設計メモ + IHI ポートフォリオ Aug 1, 2026
@keisuke58
keisuke58 marked this pull request as ready for review August 1, 2026 07:12
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@keisuke58
keisuke58 merged commit 229e693 into main Aug 1, 2026
1 check passed

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🧹 Nitpick comments (1)
portfolio/ihi/ihi_interview_prep.md (1)

22-27: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add sources for the IHI business mapping.

Link the exact official source used for each row. IHI publishes material supporting SRB-3 development, LE-9 work, and ammonia/hydrogen value-chain activities. (ihi.co.jp)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@portfolio/ihi/ihi_interview_prep.md` around lines 22 - 27, Add an official
IHI source link for each business-area row in the mapping table, using sources
that directly support SRB-3 development, LE-9 or aircraft-engine work,
hydrogen/ammonia value-chain activities, and social-infrastructure or inspection
services. Keep the existing research-connection descriptions unchanged and place
each link with its corresponding row.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/HYDROGEN_TANK_SHM.md`:
- Line 132: Update the documented build_graph.py command to use the supported
--sample_dir argument, replacing the invalid --data_dir option while preserving
the existing dataset path.
- Around line 77-78: Update the documentation statement referencing
generate_cohesive_fairing.py and generate_czm_sector12.py so it describes their
cohesive/CZM logic as reusable scaffolding rather than an as-is weld-defect
model. State that porosity, lack of fusion, and cracking require defect-specific
geometry, constitutive behavior, and calibration validation.
- Around line 27-29: Update the modeling guidance in the 部位 and 対称セクタ entries to
define how localized weld defects are handled: specify weld placement relative
to the sector cut and the corresponding sector-boundary conditions, or require a
non-symmetric model for weld-defect cases. Ensure FEM responses and defect
labels remain physically valid without unintentionally omitting or periodically
repeating arbitrary weld flaws.
- Line 110: Update the OGW conformal entry in the documentation table to qualify
the FPR claim as applying only to the source-month healthy calibration
population under healthy exchangeability, rather than presenting it as a global
guarantee. Mention that the 20 K operating-point shift requires target-domain
recalibration or held-out target-healthy validation before deployment.
- Around line 87-96: Align the documented feature contract with
build_curvature_graph and the downstream pipeline before asserting no changes
are needed: either define which existing 34 channels are replaced by
internal_pressure_flag, cryo_property_delta, and weld_line_flag while preserving
d.x.shape[1] at 34, or update train.py, models.py, normalization, feature
slicing, checkpoints, DA, and conformal handling to support the new input
dimension.

In `@portfolio/ihi/ihi_interview_prep.md`:
- Around line 42-43: Update the interview-prep document’s claims around sim2real
adaptation, temperature robustness, and the references at the noted FPR
statements to avoid unconditional target-domain guarantees. Specify the
calibration population and target-domain evaluation result, and use wording such
as statistically controlling or evaluating FPR unless exchangeability and the
deployment guarantee are explicitly supported.
- Around line 11-16: Add a dated JAXA or MEXT investigation citation to the H3
F8 failure statement, using a source that specifically documents CFRP/Al
sandwich adapter skin-core delamination. Keep the existing wording tied to that
documented adapter delamination rather than broadening it to generic fairing
debonding.

---

Nitpick comments:
In `@portfolio/ihi/ihi_interview_prep.md`:
- Around line 22-27: Add an official IHI source link for each business-area row
in the mapping table, using sources that directly support SRB-3 development,
LE-9 or aircraft-engine work, hydrogen/ammonia value-chain activities, and
social-infrastructure or inspection services. Keep the existing
research-connection descriptions unchanged and place each link with its
corresponding row.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: df2b684a-910e-489c-ba55-912536ff6ec6

📥 Commits

Reviewing files that changed from the base of the PR and between 6724b61 and 880959b.

📒 Files selected for processing (3)
  • ROADMAP.md
  • docs/HYDROGEN_TANK_SHM.md
  • portfolio/ihi/ihi_interview_prep.md

Comment thread docs/HYDROGEN_TANK_SHM.md
Comment on lines +27 to +29
| モデル化 | **対称セクタ**(1/6 or 1/12)+ 周方向対称 BC | フェアリング生成器と同方針で軽量化 |
| 要素 | 連続体シェル / ソリッドシェル(壁厚方向 1–数層) | GW 解析は面内伝播が主 |
| 部位 | barrel(円筒部)+ dome(鏡板)+ **溶接線 (weld land)** | 溶接線は欠陥集中部位として明示的にモデル化 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -t f -g 'generate_fairing_dataset.py' -g 'generate_realistic_fairing.py' . \
  -x rg -n -C 3 'sector|symmetr|periodic|weld'

Repository: keisuke58/Payload_gnn

Length of output: 6685


Resolve sector symmetry before modeling localized weld defects.

1/6 or 1/12 circumferential sectors with symmetry boundary conditions cannot represent any arbitrary localized weld flaw without omitting it or repeating it periodically. Define weld placement relative to the sector cut, specify sector-boundary conditions, or use a non-symmetric model for weld cases so the FEM response and defect labels remain physically valid.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` around lines 27 - 29, Update the modeling guidance
in the 部位 and 対称セクタ entries to define how localized weld defects are handled:
specify weld placement relative to the sector cut and the corresponding
sector-boundary conditions, or require a non-symmetric model for weld-defect
cases. Ensure FEM responses and defect labels remain physically valid without
unintentionally omitting or periodically repeating arbitrary weld flaws.

Comment thread docs/HYDROGEN_TANK_SHM.md
Comment on lines +77 to +78
`generate_cohesive_fairing.py` / `generate_czm_sector12.py` の cohesive/CZM 実装が
insulation debond と weld flaw の界面モデルにそのまま使える。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -t f -g 'generate_cohesive_fairing.py' -g 'generate_czm_sector12.py' . \
  -x rg -n -C 4 'cohesive|CZM|weld|debond|crack|pore|fusion'

Repository: keisuke58/Payload_gnn

Length of output: 16161


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Repo files matching relevant names:\n'
git ls-files | rg 'HYDROGEN_TANK_SHM|generate_cohesive_fairing|generate_czm_sector12|segment|weld|debond|cohesive|CZM' || true

printf '\nRelevant docs section:\n'
sed -n '1,140p' docs/HYDROGEN_TANK_SHM.md 2>/dev/null || true

printf '\nSearch for generate_czm_sector12.py anywhere:\n'
git ls-files | rg 'generate_czm_sector12|sector12|sector.*12' || true

Repository: keisuke58/Payload_gnn

Length of output: 5473


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'src/generate_czm_sector12.py outline:\n'
ast-grep outline src/generate_czm_sector12.py --view expanded | sed -n '1,220p' || true

printf '\nDefect/weld/CZM references in generate_czm_sector12.py:\n'
rg -n -C 5 'defect|defect_type|debond|cohesive|CZM|weld|pore|porosity|fusion|split|crack|void|section|damage' src/generate_czm_sector12.py || true

printf '\nFirst 220 lines:\n'
sed -n '1,220p' src/generate_czm_sector12.py

Repository: keisuke58/Payload_gnn

Length of output: 50377


Use CZM scaffolding for weld defects, not “as-is” reuse.

generate_cohesive_fairing.py and generate_czm_sector12.py already implement debond/inner_debond with CZM or degraded material sections. Weld porosity, lack of fusion, and cracking can require different weld-geometry representation, Al-Li/cohesive constitutive behavior, and calibration. Keep reusable code/pipeline scaffolding, but require validation for each weld-defect model.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` around lines 77 - 78, Update the documentation
statement referencing generate_cohesive_fairing.py and generate_czm_sector12.py
so it describes their cohesive/CZM logic as reusable scaffolding rather than an
as-is weld-defect model. State that porosity, lack of fusion, and cracking
require defect-specific geometry, constitutive behavior, and calibration
validation.

Comment thread docs/HYDROGEN_TANK_SHM.md
Comment on lines +87 to +96
**追加候補(差分)**
- `internal_pressure_flag` / 局所内圧応力成分(+1–3 dim)
- `cryo_property_delta` — RT 物性からの極低温シフト量(E/α のスカラー化, +1–2 dim)
- `weld_line_flag` — 溶接線近傍ノードの境界フラグ(+1 dim, 既存 boundary フラグ拡張)

**維持**: 位置・幾何(10)、変位(4)、応力(5)、ひずみ(3)、熱応力(1)、繊維配向は
Al-Li 等方材では 0 埋め or 省略(CFRP クライオタンク時に復活)。

> 設計原則: **新スキーマを作らず既存34次元に最小差分で足す**。
> こうすることで `train.py` / `models.py` / DA / conformal を改修なしで接続できる。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -C 4 \
  'internal_pressure_flag|cryo_property_delta|weld_line_flag|build_curvature_graph|in_channels|input_dim|x\.shape|state_dict' \
  . || true

Repository: keisuke58/Payload_gnn

Length of output: 50378


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== HYDROGEN_TANK_SHM relevant lines =="
sed -n '30,115p' docs/HYDROGEN_TANK_SHM.md

echo
echo "== build_graph node feature construction =="
sed -n '360,576p' src/build_graph.py

echo
echo "== train.py model input construction =="
fd -a 'train\.py$' . | while read -r f; do
  echo "--- $f ---"
  rg -n -C 3 'Data|x=|input|x_train|Data\(' "$f" || true
done

echo
echo "== models model definitions and factory =="
rg -n -C 4 'class .*GNN|def build_gnn_model|def build_model|in_channels|=.*in_channels|linear.*hidden|GATConv|Sequential' src/models*.py src/model_store.py || true

Repository: keisuke58/Payload_gnn

Length of output: 50377


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== train.py data loading / model construction =="
sed -n '1158,1235p' src/train.py
sed -n '635,670p' src/train.py

echo
echo "== DA files =="
fd -a 'domain_adapt\.py$|payload_da_gw\.py$|\.py$' scripts domain_adapt src | rg -v '__pycache__|venv' | while read -r f; do
  if rg -q 'x\.shape|load_state|DataParallel|DistributedDataParallel|model_state_dict|Data\(|batch\.x|batch\.edge_attr|conformal|ogw|AnomalyGFM|Predict' "$f" 2>/dev/null; then
    echo "--- $f ---"
    rg -n -C 3 'x\.shape|load_state|DataParallel|DistributedDataParallel|model_state_dict|Data\(|batch\.x|batch\.edge_attr|conformal|ogw|AnomalyGFM|Predict' "$f" || true
  fi
done

echo
echo "== check proposed feature names in all tracked files =="
git ls-files | xargs rg -n --null 'internal_pressure_flag|cryo_property_delta|weld_line_flag|node_type_boundary|node_type_loaded' || true

echo
echo "== deterministic feature layout sum from source comments =="
python3 - <<'PY'
from pathlib import Path
p = Path("src/build_graph.py")
text = p.read_text()
start = text.index('Node features (dim=34):')
end = text.index('Edge features', start)
block = text[start:end].splitlines()[1:17]
sums = {}
for line in block:
    if line.strip().startswith(' ') and ',' in line:
        name = line.strip().split(',', 1)[0].strip().strip('#')
        sums[name] = int(line.strip().split(' = ')[1].split('#')[0])
print(sums)
print("sum", sum(sums.values()), "expected", 34)
PY

Repository: keisuke58/Payload_gnn

Length of output: 50378


Align the 34-feature contract before claiming no downstream changes.

build_curvature_graph builds the fixed layout documented at lines 84–93 and does not consume internal_pressure_flag, cryo_property_delta, or weld_line_flag. train.py detects in_channels from d.x.shape[1] and checkpoints store input dimensionals, so adding these channels changes normalization, model input projection, batch feature slicing, and saved model contracts. Define the 34-channel replacements, or update the training/model/norm/checkpoint/conformal pipeline with the new input dimension.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` around lines 87 - 96, Align the documented feature
contract with build_curvature_graph and the downstream pipeline before asserting
no changes are needed: either define which existing 34 channels are replaced by
internal_pressure_flag, cryo_property_delta, and weld_line_flag while preserving
d.x.shape[1] at 34, or update train.py, models.py, normalization, feature
slicing, checkpoints, DA, and conformal handling to support the new input
dimension.

Comment thread docs/HYDROGEN_TANK_SHM.md
| `train.py` / `train_gw.py` | 学習 | **無改修**(`--data_dir` 差し替え) |
| `models.py`(GAT/GCN/GIN/SAGE ほか) | モデル | 無改修 |
| `domain_adapt.py` / `payload_da_gw.py` | 常温試験→極低温運用の sim2real | 無改修(X 行列渡し) |
| OGW conformal(`scripts/*ogw*`) | 漏洩リスク判定の FPR 保証 | 閾値/コスト再設定 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

fd -t f -g '*ogw*' . \
  -x rg -n -C 4 'conformal|calibr|coverage|FPR|threshold'

Repository: keisuke58/Payload_gnn

Length of output: 24977


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== locate docs file =="
fd -t f 'HYDROGEN_TANK_SHM\.md$' .

echo "== relevant section =="
file="$(fd -t f 'HYDROGEN_TANK_SHM\.md$' . | head -n 1 || true)"
if [ -n "${file:-}" ]; then
  wc -l "$file"
  sed -n '90,120p' "$file" | cat -n
fi

echo "== nearby script references =="
rg -n -C 3 'OGW conformal|conformal|scripts/\*ogw\*|false-alarm|FPR|漏洩|閾値|cost|calibr' docs scripts 2>/dev/null || true

Repository: keisuke58/Payload_gnn

Length of output: 50378


🌐 Web query:

conformal prediction split-conformal FPR guarantee target domain exchangeability domain adaptation documentation

💡 Result:

Standard split conformal prediction relies on the assumption of data exchangeability—specifically that the calibration and test data are exchangeable—to guarantee a marginal false positive rate (FPR) of at most alpha [1][2][3]. In the context of domain adaptation or general distribution shift, this assumption is typically violated because the test (target) domain distribution differs from the training (source) domain distribution [1][2][4]. Consequently, applying standard split conformal prediction without adjustment often fails to maintain the desired marginal coverage in the target domain [1][5][6]. To address these challenges, researchers use several modified approaches: 1. Weighted Conformal Prediction: When the distribution shift is known (e.g., covariate shift where the ratio of target to source density is available), weighted conformal prediction can recover valid marginal coverage by reweighting the calibration scores [7][5][8]. 2. Adaptive/Online Conformal Inference: For non-stationary processes or sequential domain shifts, methods like adaptive conformal inference adjust the error threshold dynamically based on recent miscoverage rates to ensure long-term or local coverage guarantees [9][4]. 3. Specialized Non-exchangeable Methods: Advanced techniques have been developed to handle specific forms of non-exchangeability, such as dependent data (e.g., time series, where beta-mixing conditions may allow for coverage guarantees with a small penalty) or arbitrary distribution shifts [10][11][2][12]. Some newer research explores using optimal transport or transfer learning frameworks to align source and target domains for improved predictive performance [6][13]. In summary, while the base split conformal prediction framework lacks a theoretical guarantee for FPR under distribution shift without additional assumptions [1][3], it serves as a foundation for various adaptations designed to restore valid coverage in domain adaptation settings [7][4][8].

Citations:


Qualify the conformal FPR guarantee.

split-conformal FPR control applies to the calibration population only: the source-month healthy calibration set with healthy exchangeability. A global threshold does not hold after the 20 K operating-point shift. Replace “FPR 保証” with calibration-population/target-metric wording, state the exchangeability assumption, and require target-domain recalibration or held-out target-healthy validation before deployment.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` at line 110, Update the OGW conformal entry in the
documentation table to qualify the FPR claim as applying only to the
source-month healthy calibration population under healthy exchangeability,
rather than presenting it as a global guarantee. Mention that the 20 K
operating-point shift requires target-domain recalibration or held-out
target-healthy validation before deployment.

Comment thread docs/HYDROGEN_TANK_SHM.md
abaqus python src/extract_odb_results.py --odb abaqus_work/Job-CryoTank-Healthy.odb

# 3) グラフ化 → 1件だけ目視検証(特徴分布・欠陥ラベル)
cd src && python build_graph.py --data_dir ../dataset_cryotank_1sample

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win

Use the supported graph-builder argument.

src/build_graph.py accepts --sample_dir, or both --nodes_csv and --elems_csv. It does not accept --data_dir, so the documented M1 command exits with an argument-parsing error.

Proposed fix
- cd src && python build_graph.py --data_dir ../dataset_cryotank_1sample
+ cd src && python build_graph.py --sample_dir ../dataset_cryotank_1sample
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
cd src && python build_graph.py --data_dir ../dataset_cryotank_1sample
cd src && python build_graph.py --sample_dir ../dataset_cryotank_1sample
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/HYDROGEN_TANK_SHM.md` at line 132, Update the documented build_graph.py
command to use the supported --sample_dir argument, replacing the invalid
--data_dir option while preserving the existing dataset path.

Comment on lines +11 to +16
**課題** → 2025年 H3 F8 事故で顕在化した CFRP/Al ハニカム界面のデボンディング(skin-core 剥離)。
**手法** → FEM(Abaqus)で応答データを生成し、**曲率対応 Graph Neural Network** で node 単位に欠陥を検出・局在化。
**発展** → 検出だけでなく、①Guided-Wave センサSHM、②検出→特性同定→予後の**多段SHM**、
③FEM↔実測の**ドメイン適応(sim2real)**、④**conformal 予測で誤検出率(FPR)を保証**、まで実装済み。
**IHI への展開** → 同じ枠組みを **固体ロケットブースタ(SRB-3) 複合材構造**・**エンジン高応力部品**・
**水素タンク/水素機器**の健全性評価へ拡張できる(設計メモ `docs/HYDROGEN_TANK_SHM.md` に着手済み)。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file excerpt =="
if [ -f portfolio/ihi/ihi_interview_prep.md ]; then
  nl -ba portfolio/ihi/ihi_interview_prep.md | sed -n '1,40p'
else
  echo "file not found"
fi

echo "== related docs =="
for f in docs/HYDROGEN_TANK_SHM.md portfolio/ihi/*.md; do
  [ -e "$f" ] || continue
  echo "--- $f ($(wc -l < "$f" | tr -d ' ') lines) ---"
  rg -n "H3|F8|CFRP|Al|honeycomb|delamination|デボンディング|sk|SHM|2025|JAXA|MEXT|事故|原因" "$f" || true
done

Repository: keisuke58/Payload_gnn

Length of output: 218


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repository files =="
git ls-files portfolio/ihi/ihi_interview_prep.md docs/HYDROGEN_TANK_SHM.md 2>/dev/null || true

echo "== file excerpt =="
if [ -f portfolio/ihi/ihi_interview_prep.md ]; then
  awk '{printf "%6d\t%s\n", NR, $0}' portfolio/ihi/ihi_interview_prep.md | sed -n '1,40p'
else
  echo "file not found"
fi

echo "== targeted searches =="
for f in portfolio/ihi/ihi_interview_prep.md docs/HYDROGEN_TANK_SHM.md; do
  [ -e "$f" ] || continue
  echo "--- $f ---"
  grep -En "H3|F8|CFRP|Al|ハニカム|デボンディング|剥離|JAXA|MEXT|事故|原因|2025|SHM|HYDROGEN_TANK" "$f" || true
done

Repository: keisuke58/Payload_gnn

Length of output: 4169


🌐 Web query:

JAXA H3 F8 accident December 22 2025 CFRP aluminum honeycomb delamination official report

💡 Result:

The H3 Flight 8 (F8) launch on December 22, 2025, failed to deliver the Michibiki 5 satellite into its intended orbit due to a structural failure of the satellite mounting adapter (Payload Support Structure, PSS) [1][2][3]. Following an investigation, JAXA and the Ministry of Education, Culture, Sports, Science and Technology (MEXT) identified the root cause as delamination within the adapter [4][3]. The failure mechanism involved the following sequence: 1. Manufacturing Defects: The satellite adapter used a sandwich structure consisting of a carbon fiber reinforced plastic (CFRP) skin bonded to an aluminum honeycomb core [4][5]. During the manufacturing process, components were heated to dry before bonding. In certain areas, temperatures exceeded specifications, which weakened the adhesive strength between the CFRP skin and the aluminum honeycomb core [6][4][7]. Simultaneously, air trapped within the honeycomb cells expanded due to the heat, contributing to the formation of localized delamination (peeling) [4][7]. 2. Expansion during Flight: While this defect was not visible during ground inspections, the delamination expanded when the rocket reached the vacuum of space due to the pressure differential between the exterior and the air trapped inside the honeycomb cells [4][7]. 3. Final Failure: During fairing separation, the shock impact caused the already weakened, delaminated structure to buckle and collapse [4][7][3]. This damage effectively broke the connection between the satellite and the rocket, leading to the launch failure [4][3]. As a corrective measure, JAXA decided to revert to a fastener-based connection method for near-term operational launches while implementing repairs for other test vehicles [3]. Additionally, JAXA committed to re-evaluating other bonded structures, such as the satellite fairing, and conducting a detailed analysis of underlying organizational and process factors [3].

Citations:


🌐 Web query:

JAXA H3-F8 事故 12月22日 炭素繊維 強化 プラスチック 金属製 きごと 脱離 公式報告書

💡 Result:

2025年12月22日に打ち上げられたH3ロケット8号機の失敗に関するJAXAの公式報告書等によると、失敗の直接的な要因は、ロケット上部の衛星搭載アダプター(PSS)で発生した「炭素繊維強化プラスチック(CFRP)スキンの剥離」であると特定されています [1][2][3][4]。 詳細なメカニズムは以下の通りです: 1. 発生メカニズム: 衛星搭載アダプターは、アルミ製のハニカム構造の両面にCFRPシートを接着する構造です [3][4]。製造工程において、部材の乾燥加熱時に一部が規定以上の高温になったことで接着強度が低下したことや、ハニカム構造内の空気が膨張したことなどが重なり、CFRPスキンとアルミハニカムコアとの間に剥離が発生していました [3][4][5]。 2. 経緯: 8号機の打ち上げ時、衛星フェアリング(カバー)を分離した際の衝撃がきっかけとなり、製造段階ですでに生じていた剥離が急激に拡大しました [3][4][6]。 3. 構造への影響: 剥離の進展により衛星搭載部の強度が低下し、衛星が予定より早くロケットから脱離(損傷)する事態に至りました [3][4][6]。その後、2段エンジンの燃焼異常などが連鎖的に発生し、衛星を所定の軌道に投入できず打ち上げ失敗となりました [2][3][4][7]。 JAXAは、この知見に基づき、製造工程における加熱管理の適正化や検査体制の強化などの対策を講じています [3][4][5]。

Citations:


🌐 Web query:

MEXT H3 F8 investigation 2026 February 4 CFRP honeycomb delamination report

💡 Result:

The investigation into the H3 Rocket No. 8 launch failure, which occurred on December 22, 2025, identified the primary cause as the internal delamination of the Payload Support Structure (PSS) [1][2]. The failure process is summarized as follows: 1. Manufacturing Defect: During the assembly of the PSS, which is constructed from sandwich panels (CFRP skins with aluminum honeycomb cores), the splice bonding process resulted in temperatures higher than anticipated [3]. This excessive heat caused the internal air within the honeycomb core to expand and reduced the adhesive strength, leading to delamination between the CFRP skin and the aluminum honeycomb core [3]. 2. In-Flight Failure: It is highly likely that the PSS was already in a delaminated state at the time of launch [4][3]. During the flight, following the separation of the fairing, the impact and the pressure difference in the vacuum of space caused the existing delamination to expand rapidly [2]. 3. Structural Collapse: This rapid expansion led to local buckling and the catastrophic failure of the PSS [1][3]. The structural collapse caused the satellite and the mounting adapter to fall toward the second-stage fuel tank, damaging its piping and leading to a loss of pressure and abnormal engine combustion, which ultimately resulted in the failure to place the satellite into the designated orbit [2]. The Ministry of Education, Culture, Sports, Science and Technology (MEXT) and the Japan Aerospace Exploration Agency (JAXA) conducted multiple investigations through the Subcommittee on Research and Safety [1][5]. By the time of the interim report in April 2026, JAXA had identified the PSS delamination as the primary factor and proposed countermeasures, including replacing the adhesive-based PSS design with a fastener-based (bolt) coupling system for practical satellite missions, while utilizing a repaired PSS configuration for H3 test flight models to gather further flight data [1][5]. The final report confirmed these findings [6].

Citations:


Cite the H3 F8 investigation source.

This sentence states a specific failure fact. Add a dated JAXA or MEXT investigation source and keep the phrasing tied to what the report documents: the CFRP/Al sandwich adapter delamination, not just generic fairing debonding.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@portfolio/ihi/ihi_interview_prep.md` around lines 11 - 16, Add a dated JAXA
or MEXT investigation citation to the H3 F8 failure statement, using a source
that specifically documents CFRP/Al sandwich adapter skin-core delamination.
Keep the existing wording tied to that documented adapter delamination rather
than broadening it to generic fairing debonding.

Comment on lines +42 to +43
- **sim2real ドメイン適応**: DANN・CORAL、実 OGW データで split-conformal により **FPR を保証**
- **温度ロバスト性**: 動作点シフト(→水素タンクの極低温へ拡張)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file excerpt =="
sed -n '1,90p' portfolio/ihi/ihi_interview_prep.md

echo
echo "== conformal / FPR mentions =="
rg -n "conformal|FPR|FPR を保証|FPR 制御|FPR を評価|DANN|CORAL|温度" portfolio/ihi/ihi_interview_prep.md

Repository: keisuke58/Payload_gnn

Length of output: 3877


Replace unconditional FPR guarantees with measured target-domain FPR control.

conformal control only applies under the stated calibration population, nonconformity score, and exchangeability assumption; domain adaptation or temperature-domain shifts can violate the target deployment guarantee. Lines 42, 61-62: describe the calibration data and target-domain result, then use FPR を統計的に制御/FPR を評価 unless the target-domain guarantee is supported. Also applies to lines 14, 67.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@portfolio/ihi/ihi_interview_prep.md` around lines 42 - 43, Update the
interview-prep document’s claims around sim2real adaptation, temperature
robustness, and the references at the noted FPR statements to avoid
unconditional target-domain guarantees. Specify the calibration population and
target-domain evaluation result, and use wording such as statistically
controlling or evaluating FPR unless exchangeability and the deployment
guarantee are explicitly supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants