Repository navigation
AWS / Cisco / GCP 資格試験ガイドの拡充・完全移行と CCNA Automation API リトライロジック & UI 設計の最適化 - #118
Conversation
…y Character Creator, and GSP Kubernetes
…rnetes best practices guide
… and pie chart styling for Domain 4
…d blockquotes with zero omission in Domain 4
… test quality standards and zero-omission assertions
✅ Deploy Preview for cloud-infrastructure-studies ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughSummary by CodeRabbit
Walkthrough複数のクラウド学習ガイド、AWS・Ciscoの資格ページ、移行記録、表示テストを追加または更新しました。CCNAアーカイブの再試行処理、Mermaid描画、設定例も更新しました。 Changes共通ルールと索引
学習ガイド
資格ページ
CCNAアーカイブ
Estimated code review effort: 5 (Critical) | ~120 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 47
🤖 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 `@__tests__/aws/solutions-architect-associate/domain4/page.test.tsx`:
- Around line 30-38: Expand the tests in the DIAGRAMS and Domain4Guide suite
beyond non-empty checks: assert the expected heading count, exactly 29 Mermaid
diagrams, table row counts and cell text, supplemental content, and source-link
count/content based on the original material. Keep the assertions focused on
migration completeness so omissions in mappings, wording, or references fail the
tests.
In `@__tests__/cisco-ccde-guide.test.tsx`:
- Around line 82-101: Expand the test case around CcdeGuide to define
expectations based on the source HTML and verify every table header, data-cell
label, explanatory cell, callout, FAQ answer, and reference-source description,
not only the currently listed domain, elective, and cost values. Ensure the
assertions detect omitted or summarized migration content and cover all
supplemental items from the original material.
- Around line 25-29: Update the test around CcdeGuidePage to import or access
the page’s exported metadata directly and assert the expected metadata.title
and/or metadata.description values. Keep the existing render and heading
assertion only if still useful, but ensure the test fails when either metadata
field is removed or changed.
In @.claude/rules/tdd-commit-workflow.md:
- Line 44: Update the accessibility validation requirement in the Mermaid/SVG
diagram checklist to accept either an ariaLabel or decorative={true}, instead of
requiring ariaLabel alone, while preserving the rule that every SVG component
must specify one of these attributes.
- Around line 35-47: 学習ガイド/HTML移行の高強度テスト要件を、主要項目だけでなく全量検証に統一してください。Step 1
の表セル検証ではすべての td と th の文言を対象にし、出典リンク検証では blockquote
内に限定せず事前インベントリに含まれる全リンクとURLを確認するよう更新してください。
In `@Adk-challenge-lab-guide.html`:
- Around line 7-12: 外部 CDN の highlight.js と Mermaid の script、および highlight.js の
stylesheet link に、各リリース内容を検証した正しい sha384 の integrity 属性と crossorigin="anonymous"
を追加してください。対象の CDN URL とバージョンは変更せず、各リソースに対応するハッシュを設定し、代替として監査済みアセットをリポジトリ管理する場合は
CDN 参照を置き換えてください。
In `@Adk-challenge-lab-guide.md`:
- Around line 278-282: Update the geo_validator verification instructions in
Adk-challenge-lab-guide.md lines 278-282 to use `cd ~/adk_project && adk run
geo_validator`, instruct the reader to enter a country name, and describe
confirming the formatted JSON response; apply the same command and success
criteria in Adk-challenge-lab-guide.html lines 1056-1068, replacing the direct
agent.py execution guidance.
In `@app/aws/solutions-architect-associate/domain4/constants.ts`:
- Around line 208-212: Update the NATInstance Mermaid description in the
constants definition so it no longer suggests that NAT instances have no usage
cost; state that the EC2 instance is billed while running and may also incur
EBS, public IPv4, and data-transfer charges. Apply the same corrected wording
consistently in Domain4Guide.tsx, the HTML archive, and the Markdown archive.
In `@app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx`:
- Around line 71-77: Domain4Guide の表を含む全テーブルで、列見出しを表すすべての <th> に scope="col"
を追加してください。特に diff の thead 内にある「ツール/機能」「主な役割」「初級者向けポイント」の各 <th>
を更新し、既存の見出し文言とテーブル構造は維持してください。
- Around line 1-18: Remove the 'use client' directive from Domain4Guide so it
becomes a Server Component. Keep the existing NavBar and MermaidDiagram imports
and usage unchanged as their Client Component boundaries.
- Around line 1381-1384: Update the href in the list item for “S3 Glacier Vault
Lock” to point to the official S3 Glacier Vault Lock documentation instead of
the DynamoDB Accelerator (DAX) page, preserving the existing label and link
attributes.
In `@app/aws/solutions-architect-associate/domain4/NavBar.tsx`:
- Around line 40-70: Update NavBar with a dedicated "use client" component that
manages mobile sidebar open state, adds a toggle button with aria-expanded and
aria-controls="sidebar", and conditionally applies the open state to the
sidebar. Render a matching overlay that closes the menu when activated, while
preserving the existing navigation and activeId behavior.
In `@app/aws/solutions-architect-associate/domain4/page.css`:
- Around line 140-144: Update the .domain4-page .content rule to constrain the
main content with a centered max-width while preserving its existing sidebar
offset and spacing. Keep the page background full-width; only limit and center
the inner content area.
- Around line 1-15: Remove the custom property declarations from the
.domain4-page rule in page.css, and update its styles to use the existing shared
tokens such as --color-background, --color-foreground, and --color-border from
app/globals.css. Move any missing shared tokens to the global token architecture
rather than defining new component-level variables, including replacing the
local sidebar width variable with its established shared value.
- Around line 359-369: Replace the :global(...) wrappers in the Mermaid override
selectors within the .domain4-page .mermaid-wrap rules with standard descendant
selectors, preserving the existing .pieCircle, .pieTitleText, and .legend text
styles and page scoping.
In `@app/cisco/ccde/complete-guide/CcdeGuide.tsx`:
- Around line 17-986:
CcdeGuideを各ガイドセクション単位へ分割し、components/sections/配下に12セクション、表、FAQ、情報源などの専用コンポーネントを作成して、CcdeGuideはNavBarと各セクションの組み立てに限定してください。各セクション固有のスタイルは対応するCSS
Modulesへ移し、既存の表示内容・アンカーID・目次リンクを維持してください。
- Around line 1-5: CcdeGuide を Server Component に戻し、ファイル先頭の 'use client'
を削除してください。ブラウザAPIや状態を使う NavBar と MermaidDiagram のみが Client Component
境界になる構成を維持し、CcdeGuide 自体の表示内容や DIAGRAMS の利用は変更しないでください。
- Around line 7-17:
JSDocを追加し、app/cisco/ccde/complete-guide/CcdeGuide.tsx(7-17行)のDiagramが図表をIDで解決して表示または未定義時に非表示にする責務と、CcdeGuideがガイド全体を構成する責務を記述してください。__tests__/cisco-ccde-guide.test.tsx(9-22行)のDummyMermaidDiagramがMermaidDiagramの模擬として受け取る契約と表示責務を記述してください。app/cisco/ccde/complete-guide/NavBar.tsx(20行)のNavBarが監視する対象と状態更新の責務、app/cisco/ccde/complete-guide/page.tsx(11行)のCcdeGuidePageが担うページエントリ責務もJSDocで明記してください。
In `@app/cisco/ccde/complete-guide/NavBar.tsx`:
- Around line 5-18: Move the shared CCDE section definitions from NAV_ITEMS and
the duplicate table-of-contents data in CcdeGuide.tsx into the nearby
constants.ts, including each section ID, short navigation label, and
table-of-contents label. Update both the sticky navigation and CcdeGuide.tsx to
consume that single shared definition while preserving the current order and
displayed text.
In `@app/cisco/ccde/complete-guide/page.css`:
- Around line 1-17: Remove the page-specific custom property declarations from
the .ccde-guide-page rule, including color and font tokens, and update any
references in this stylesheet to use the existing tokens from app/globals.css
directly. Do not introduce replacement --* variables in the page CSS.
In `@archive/Aws/SAA/md/AWS-Certified-Solutions-Architect-Associate-Domain4.md`:
- Around line 218-224:
表の見出し行と区切り行の間にある不要な`<br/>`を削除し、Markdownテーブルの区切り行が見出し行の直後に続くよう修正してください。表の内容や構成は変更しないでください。
In `@archive/Cisco/html/Ccde-guide.html`:
- Around line 1-2:
移行元HTMLの配置を見直し、Ccde-guide.htmlをarchive/Cisco/html/から移行ルールで指定された適切なGcl_Archive/配下へ移動してください。元ファイルを削除せず、移動先で移行記録から追跡できる状態を維持してください。
In `@Cloud-natural-language-api-challenge-lab-guide.html`:
- Around line 807-811: Escape the raw shell redirection characters in the <pre>
blocks by replacing each displayed “>” with “>”, including the occurrences
near the analyze-response and corresponding line 819 command, while preserving
the shell commands’ rendered behavior.
- Around line 545-553: Update the Mermaid diagram labels in the visible
flowchart and the corresponding diagrams around the other referenced sections to
replace every label-internal \n with <br/>. Preserve the existing Japanese text
and diagram structure, and apply the same notation consistently with the other
guides.
- Around line 7-10: Cloud-natural-language-api-challenge-lab-guide.html lines
7-10, Cloud-speech-api-challenge-lab-guide.html lines 11-14, and
Speech-to-text-challenge-lab-best-practices.html lines 7-10 all reference Tabler
Icons without a fixed version; update each `@tabler/icons-webfont` CDN URL to the
same explicit version, replacing latest or the unversioned package reference.
In `@Cloud-speech-api-challenge-lab-guide.html`:
- Line 1120: Update the transcript value in the relevant example to restore the
French diacritics, including “maître” and “perché,” while preserving the rest of
the original transcription exactly as provided in
Cloud-speech-api-challenge-lab.md.
- Around line 1616-1621: Move useMaxWidth: false out of the top-level
mermaid.initialize configuration and add it under both the flowchart and
sequence diagram-specific configuration objects, preserving the existing value
and other Mermaid settings.
In `@Cloud-speech-api-challenge-lab-guide.md`:
- Around line 1-2: In Cloud-speech-api-challenge-lab-guide.md lines 1-2, replace
the subtitle’s h3 heading with a blank line followed by emphasized text,
preserving its wording. Apply the same change in
Speech-to-text-challenge-lab-best-practices.md lines 1-2 to the subtitle,
converting it from h3 to emphasized text after a blank line.
- Line 111:
Cloud-speech-api-challenge-lab-guide.md内の本文から、生成時の内部引用アーティファクトである<cite>タグをすべて削除してください。index="32-1"、"31-1"、"4-1"、"52-1"、"27-1"を含む各箇所の文章内容は維持し、根拠は既存の「根拠ソース」リストで示してください。
In `@Fantasy-character-creator-best-practices.html`:
- Around line 604-617:
Fantasy-character-creator-best-practices.htmlのヒーロー説明(604-617)に「Google AI Studio
/ Build modeを初めて使う方」と「ノーコードで“vibe
coding”に挑戦する方」を追加し、同HTMLの1361-1382付近ではMarkdown版にある「cartoon/video game
style」「Portrait/Backstory」およびステータス・キャラクター要素の値域と候補リストを復元してください。既存のReact + Gemini
APIやTask情報を保持し、Markdown版の詳細を省略・要約せずHTMLへ完全反映してください。
In `@Gsp-kubernetes-best-practices-guide.html`:
- Around line 490-492: Update the menuToggle button with aria-controls="sidebar"
and an initial aria-expanded="false", then synchronize aria-expanded and
aria-label whenever the sidebar is toggled or a navigation link is selected.
Ensure the values always reflect whether the sidebar is currently open or
closed.
- Around line 1263-1267: CDN script tags for highlight.js language bundles and
mermaid in the HTML need Subresource Integrity protection. Add the correct fixed
SHA-384 integrity hash and crossorigin="anonymous" attribute to each external
script, preserving their existing sources and versions.
In `@Gsp-kubernetes-best-practices-guide.md`:
- Around line 213-226: Gsp-kubernetes-best-practices-guide.md:213-226
のデプロイ手順で、valkyrie-app から実行しても YAML を解決できるよう `k8s`
への移動を明記するか、`k8s/deployment.yaml` と `k8s/service.yaml`
の相対パスを使用してください。Gsp-kubernetes-best-practices-guide.html:916-948 も Markdown
と同じ実行可能なパスまたは作業ディレクトリ変更に更新し、両形式の手順を一致させてください。
- Around line 90-96: Gsp-kubernetes-best-practices-guide.md の Dockerfile
命令表(90-96)で、FROM の説明をタグによる追跡性と、タグ+ダイジェスト固定によるビット単位の再現性に分け、golang:1.10
は変更しないでください。Gsp-kubernetes-best-practices-guide.md(249-253)の「ビルドの再現性を確保」も、ダイジェスト固定が必要な表現へ修正してください。Gsp-kubernetes-best-practices-guide.html(668-714、1026-1044)の対応する
Dockerfile 命令表とベストプラクティス表を、修正後の Markdown と同じ内容に同期してください。
In `@MIGRATION_PROGRESS.md`:
- Line 32:
移行元HTMLのアーカイブ先をMIGRATION_PROGRESS.md内のarchive/Ciscoおよびarchive/Awsから、既定のGcl_Archive/配下へ統一し、該当する参照を更新してください。HTML自体は削除せずGcl_Archive/へ移動し、関連する移行進捗リンクが新しい場所を指す状態を維持してください。
- Around line 20-22: CCDE の完了履歴から未完了の Docs Sync
手順または記録を削除し、MIGRATION_PROGRESS.md の Step 1〜3 は完了済みのまま維持してください。特に CCDE の完了ステップに
Docs Sync を追加せず、既存のテスト検証・ルーティング統合・アーカイブ移動の記録だけを残してください。
In `@Pcne-section1-vpc-design.html`:
- Around line 564-566: Update the sidebar toggle behavior around the
sidebarToggle button so mobile sidebar state is synchronized for accessibility:
initialize the closed sidebar with inert and aria-hidden="true", expose the
state through aria-expanded, and update all three attributes whenever toggled.
When opening, move focus to the first navigation link; when closing, return
focus to sidebarToggle.
In `@Pcne-section1-vpc-design.md`:
- Around line 1-2: Pcne-section1-vpc-design.md の H1 見出しと H2 見出しの間に空行を1行追加し、MD022
の見出し間隔ルールを満たしてください。
- Around line 992-999: In Pcne-section1-vpc-design.md lines 992-999, revise the
サービスアカウント guidance to limit node-pool service accounts to node operations such
as logging and image retrieval, and specify Workload Identity Federation for GKE
with per-workload Kubernetes ServiceAccounts for workload Google API
permissions. Apply the same change in Pcne-section1-vpc-design.html lines
3124-3134.
- Around line 512-536: Cloud VPN の gateway MTU と payload MTU の説明を分離し、可変の payload
MTU を「1460バイト固定」と記載しないよう修正してください。Pcne-section1-vpc-design.md の 512-536
では図と表を更新し、815-822 では HA VPN over Cloud Interconnect の gateway MTU
1440バイトと暗号スイートおよびIPv4/IPv6に応じて変化する payload MTU
を記載してください。Pcne-section1-vpc-design.html の 1791-1851 と 2613-2654 も同じ内容に同期してください。
- Around line 402-416: VPC Network Peering
を単独のスポーク間通信方式として扱わないよう修正する。Pcne-section1-vpc-design.md の402-416行と
Pcne-section1-vpc-design.html
の1530-1569行では、比較図・表にNVA/NGFWなどの中継方式を追加するか、非推移的ルーティング制約を明記する。Pcne-section1-vpc-design.md
の679-700行と Pcne-section1-vpc-design.html の2301-2306行では、明示的なルーティング設定だけでVPC
Bへ到達できる記述を削除し、必要な中継方式を記載する。
In `@Speech-to-text-challenge-lab-best-practices.html`:
- Around line 405-419: Change the outer `.sidebar` landmark from `nav` to
`aside`, keeping the inner navigation element and its existing links unchanged
so `.sidebar nav a` continues to match. Add a distinguishing `aria-label` to the
remaining navigation element to identify its purpose.
- Line 649: HTML内のコード例で生の特殊文字を使用しているため、`cat > request.json << EOF`
を含む該当箇所を修正してください。行649、669、808、826の `<pre>` 内で `>` を `>`、`<` を `<`
に置換し、行553の既存のエスケープ表記と統一してください。
- Around line 1298-1330: renderDiagrams() の document.fonts.ready 待機と
mermaid.render 呼び出しを try/catch
で保護し、フォント準備または個別の図の描画に失敗しても残りのループ処理を継続してください。失敗した図は既存の空コンテナを維持しつつ、エラー詳細を記録して原因を追跡できるようにします。さらに、renderDiagrams()
の呼び出し側にも catch を追加して未処理の Promise 拒否を防いでください。
In `@Speech-to-text-challenge-lab-best-practices.md`:
- Line 212: Update the `multi_es.flac` row so it does not assume the file is
mono or justify omitting `audioChannelCount` on that basis; instead, state that
the channel count must be verified and provide a brief `sox --i`-based
inspection step before configuring the request.
- Around line 262-266: トラブルシューティング表の400
INVALID_ARGUMENT行を、FLAC/WAVでencodingを明示すること自体ではなく、指定値がファイルヘッダーと一致しないことが原因となるよう修正してください。対処も、ヘッダー情報を確認してencodingやsampleRateHertzを一致させるか、ヘッダーと矛盾しない場合に限り省略する内容に更新し、本文の手順と整合させてください。
- Around line 217-232: フロー図の分岐構造を修正し、Markdown と HTML の両方で Start
から単一の拡張子判定ノードへ接続してください。`.wav` と `.flac`
の各遷移、および以降のチャンネル数判定に続く遷移へ、対応する条件ラベルを追加し、無条件に複数経路が実行される表現をなくしてください。
🪄 Autofix
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: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 357f381a-3d35-408b-b6e5-9fd73d343b1b
📒 Files selected for processing (37)
.claude/rules/tdd-commit-workflow.mdAdk-challenge-lab-guide.htmlAdk-challenge-lab-guide.mdCLAUDE.mdCloud-natural-language-api-challenge-lab-guide.htmlCloud-natural-language-api-challenge-lab-guide.mdCloud-speech-api-challenge-lab-guide.htmlCloud-speech-api-challenge-lab-guide.mdFantasy-character-creator-best-practices.htmlFantasy-character-creator-best-practices.mdGEMINI.mdGsp-kubernetes-best-practices-guide.htmlGsp-kubernetes-best-practices-guide.mdIap-tcp-forwarding-best-practices-guide.mdMIGRATION_PROGRESS.mdPcne-section1-vpc-design.htmlPcne-section1-vpc-design.mdSpeech-to-text-challenge-lab-best-practices.htmlSpeech-to-text-challenge-lab-best-practices.mdTerrafor-gcp-challenge-lab-guide.md__tests__/aws/solutions-architect-associate/domain4/page.test.tsx__tests__/cisco-ccde-guide.test.tsxapp/aws/solutions-architect-associate/domain4/Domain4Guide.tsxapp/aws/solutions-architect-associate/domain4/NavBar.tsxapp/aws/solutions-architect-associate/domain4/constants.tsapp/aws/solutions-architect-associate/domain4/page.cssapp/aws/solutions-architect-associate/domain4/page.tsxapp/cisco/ccde/complete-guide/CcdeGuide.tsxapp/cisco/ccde/complete-guide/NavBar.tsxapp/cisco/ccde/complete-guide/constants.tsapp/cisco/ccde/complete-guide/page.cssapp/cisco/ccde/complete-guide/page.tsxapp/constants.tsarchive/Aws/SAA/html/AWS-Certified-Solutions-Architect-Associate-Domain4.htmlarchive/Aws/SAA/md/AWS-Certified-Solutions-Architect-Associate-Domain4.mdarchive/Cisco/html/Ccde-guide.htmlcomponents/MermaidDiagram.tsx
💤 Files with no reviewable changes (2)
- Iap-tcp-forwarding-best-practices-guide.md
- Terrafor-gcp-challenge-lab-guide.md
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 47
🤖 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 `@__tests__/aws/solutions-architect-associate/domain4/page.test.tsx`:
- Around line 30-38: Expand the tests in the DIAGRAMS and Domain4Guide suite
beyond non-empty checks: assert the expected heading count, exactly 29 Mermaid
diagrams, table row counts and cell text, supplemental content, and source-link
count/content based on the original material. Keep the assertions focused on
migration completeness so omissions in mappings, wording, or references fail the
tests.
In `@__tests__/cisco-ccde-guide.test.tsx`:
- Around line 82-101: Expand the test case around CcdeGuide to define
expectations based on the source HTML and verify every table header, data-cell
label, explanatory cell, callout, FAQ answer, and reference-source description,
not only the currently listed domain, elective, and cost values. Ensure the
assertions detect omitted or summarized migration content and cover all
supplemental items from the original material.
- Around line 25-29: Update the test around CcdeGuidePage to import or access
the page’s exported metadata directly and assert the expected metadata.title
and/or metadata.description values. Keep the existing render and heading
assertion only if still useful, but ensure the test fails when either metadata
field is removed or changed.
In @.claude/rules/tdd-commit-workflow.md:
- Line 44: Update the accessibility validation requirement in the Mermaid/SVG
diagram checklist to accept either an ariaLabel or decorative={true}, instead of
requiring ariaLabel alone, while preserving the rule that every SVG component
must specify one of these attributes.
- Around line 35-47: 学習ガイド/HTML移行の高強度テスト要件を、主要項目だけでなく全量検証に統一してください。Step 1
の表セル検証ではすべての td と th の文言を対象にし、出典リンク検証では blockquote
内に限定せず事前インベントリに含まれる全リンクとURLを確認するよう更新してください。
In `@Adk-challenge-lab-guide.html`:
- Around line 7-12: 外部 CDN の highlight.js と Mermaid の script、および highlight.js の
stylesheet link に、各リリース内容を検証した正しい sha384 の integrity 属性と crossorigin="anonymous"
を追加してください。対象の CDN URL とバージョンは変更せず、各リソースに対応するハッシュを設定し、代替として監査済みアセットをリポジトリ管理する場合は
CDN 参照を置き換えてください。
In `@Adk-challenge-lab-guide.md`:
- Around line 278-282: Update the geo_validator verification instructions in
Adk-challenge-lab-guide.md lines 278-282 to use `cd ~/adk_project && adk run
geo_validator`, instruct the reader to enter a country name, and describe
confirming the formatted JSON response; apply the same command and success
criteria in Adk-challenge-lab-guide.html lines 1056-1068, replacing the direct
agent.py execution guidance.
In `@app/aws/solutions-architect-associate/domain4/constants.ts`:
- Around line 208-212: Update the NATInstance Mermaid description in the
constants definition so it no longer suggests that NAT instances have no usage
cost; state that the EC2 instance is billed while running and may also incur
EBS, public IPv4, and data-transfer charges. Apply the same corrected wording
consistently in Domain4Guide.tsx, the HTML archive, and the Markdown archive.
In `@app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx`:
- Around line 71-77: Domain4Guide の表を含む全テーブルで、列見出しを表すすべての <th> に scope="col"
を追加してください。特に diff の thead 内にある「ツール/機能」「主な役割」「初級者向けポイント」の各 <th>
を更新し、既存の見出し文言とテーブル構造は維持してください。
- Around line 1-18: Remove the 'use client' directive from Domain4Guide so it
becomes a Server Component. Keep the existing NavBar and MermaidDiagram imports
and usage unchanged as their Client Component boundaries.
- Around line 1381-1384: Update the href in the list item for “S3 Glacier Vault
Lock” to point to the official S3 Glacier Vault Lock documentation instead of
the DynamoDB Accelerator (DAX) page, preserving the existing label and link
attributes.
In `@app/aws/solutions-architect-associate/domain4/NavBar.tsx`:
- Around line 40-70: Update NavBar with a dedicated "use client" component that
manages mobile sidebar open state, adds a toggle button with aria-expanded and
aria-controls="sidebar", and conditionally applies the open state to the
sidebar. Render a matching overlay that closes the menu when activated, while
preserving the existing navigation and activeId behavior.
In `@app/aws/solutions-architect-associate/domain4/page.css`:
- Around line 140-144: Update the .domain4-page .content rule to constrain the
main content with a centered max-width while preserving its existing sidebar
offset and spacing. Keep the page background full-width; only limit and center
the inner content area.
- Around line 1-15: Remove the custom property declarations from the
.domain4-page rule in page.css, and update its styles to use the existing shared
tokens such as --color-background, --color-foreground, and --color-border from
app/globals.css. Move any missing shared tokens to the global token architecture
rather than defining new component-level variables, including replacing the
local sidebar width variable with its established shared value.
- Around line 359-369: Replace the :global(...) wrappers in the Mermaid override
selectors within the .domain4-page .mermaid-wrap rules with standard descendant
selectors, preserving the existing .pieCircle, .pieTitleText, and .legend text
styles and page scoping.
In `@app/cisco/ccde/complete-guide/CcdeGuide.tsx`:
- Around line 17-986:
CcdeGuideを各ガイドセクション単位へ分割し、components/sections/配下に12セクション、表、FAQ、情報源などの専用コンポーネントを作成して、CcdeGuideはNavBarと各セクションの組み立てに限定してください。各セクション固有のスタイルは対応するCSS
Modulesへ移し、既存の表示内容・アンカーID・目次リンクを維持してください。
- Around line 1-5: CcdeGuide を Server Component に戻し、ファイル先頭の 'use client'
を削除してください。ブラウザAPIや状態を使う NavBar と MermaidDiagram のみが Client Component
境界になる構成を維持し、CcdeGuide 自体の表示内容や DIAGRAMS の利用は変更しないでください。
- Around line 7-17:
JSDocを追加し、app/cisco/ccde/complete-guide/CcdeGuide.tsx(7-17行)のDiagramが図表をIDで解決して表示または未定義時に非表示にする責務と、CcdeGuideがガイド全体を構成する責務を記述してください。__tests__/cisco-ccde-guide.test.tsx(9-22行)のDummyMermaidDiagramがMermaidDiagramの模擬として受け取る契約と表示責務を記述してください。app/cisco/ccde/complete-guide/NavBar.tsx(20行)のNavBarが監視する対象と状態更新の責務、app/cisco/ccde/complete-guide/page.tsx(11行)のCcdeGuidePageが担うページエントリ責務もJSDocで明記してください。
In `@app/cisco/ccde/complete-guide/NavBar.tsx`:
- Around line 5-18: Move the shared CCDE section definitions from NAV_ITEMS and
the duplicate table-of-contents data in CcdeGuide.tsx into the nearby
constants.ts, including each section ID, short navigation label, and
table-of-contents label. Update both the sticky navigation and CcdeGuide.tsx to
consume that single shared definition while preserving the current order and
displayed text.
In `@app/cisco/ccde/complete-guide/page.css`:
- Around line 1-17: Remove the page-specific custom property declarations from
the .ccde-guide-page rule, including color and font tokens, and update any
references in this stylesheet to use the existing tokens from app/globals.css
directly. Do not introduce replacement --* variables in the page CSS.
In `@archive/Aws/SAA/md/AWS-Certified-Solutions-Architect-Associate-Domain4.md`:
- Around line 218-224:
表の見出し行と区切り行の間にある不要な`<br/>`を削除し、Markdownテーブルの区切り行が見出し行の直後に続くよう修正してください。表の内容や構成は変更しないでください。
In `@archive/Cisco/html/Ccde-guide.html`:
- Around line 1-2:
移行元HTMLの配置を見直し、Ccde-guide.htmlをarchive/Cisco/html/から移行ルールで指定された適切なGcl_Archive/配下へ移動してください。元ファイルを削除せず、移動先で移行記録から追跡できる状態を維持してください。
In `@Cloud-natural-language-api-challenge-lab-guide.html`:
- Around line 807-811: Escape the raw shell redirection characters in the <pre>
blocks by replacing each displayed “>” with “>”, including the occurrences
near the analyze-response and corresponding line 819 command, while preserving
the shell commands’ rendered behavior.
- Around line 545-553: Update the Mermaid diagram labels in the visible
flowchart and the corresponding diagrams around the other referenced sections to
replace every label-internal \n with <br/>. Preserve the existing Japanese text
and diagram structure, and apply the same notation consistently with the other
guides.
- Around line 7-10: Cloud-natural-language-api-challenge-lab-guide.html lines
7-10, Cloud-speech-api-challenge-lab-guide.html lines 11-14, and
Speech-to-text-challenge-lab-best-practices.html lines 7-10 all reference Tabler
Icons without a fixed version; update each `@tabler/icons-webfont` CDN URL to the
same explicit version, replacing latest or the unversioned package reference.
In `@Cloud-speech-api-challenge-lab-guide.html`:
- Line 1120: Update the transcript value in the relevant example to restore the
French diacritics, including “maître” and “perché,” while preserving the rest of
the original transcription exactly as provided in
Cloud-speech-api-challenge-lab.md.
- Around line 1616-1621: Move useMaxWidth: false out of the top-level
mermaid.initialize configuration and add it under both the flowchart and
sequence diagram-specific configuration objects, preserving the existing value
and other Mermaid settings.
In `@Cloud-speech-api-challenge-lab-guide.md`:
- Around line 1-2: In Cloud-speech-api-challenge-lab-guide.md lines 1-2, replace
the subtitle’s h3 heading with a blank line followed by emphasized text,
preserving its wording. Apply the same change in
Speech-to-text-challenge-lab-best-practices.md lines 1-2 to the subtitle,
converting it from h3 to emphasized text after a blank line.
- Line 111:
Cloud-speech-api-challenge-lab-guide.md内の本文から、生成時の内部引用アーティファクトである<cite>タグをすべて削除してください。index="32-1"、"31-1"、"4-1"、"52-1"、"27-1"を含む各箇所の文章内容は維持し、根拠は既存の「根拠ソース」リストで示してください。
In `@Fantasy-character-creator-best-practices.html`:
- Around line 604-617:
Fantasy-character-creator-best-practices.htmlのヒーロー説明(604-617)に「Google AI Studio
/ Build modeを初めて使う方」と「ノーコードで“vibe
coding”に挑戦する方」を追加し、同HTMLの1361-1382付近ではMarkdown版にある「cartoon/video game
style」「Portrait/Backstory」およびステータス・キャラクター要素の値域と候補リストを復元してください。既存のReact + Gemini
APIやTask情報を保持し、Markdown版の詳細を省略・要約せずHTMLへ完全反映してください。
In `@Gsp-kubernetes-best-practices-guide.html`:
- Around line 490-492: Update the menuToggle button with aria-controls="sidebar"
and an initial aria-expanded="false", then synchronize aria-expanded and
aria-label whenever the sidebar is toggled or a navigation link is selected.
Ensure the values always reflect whether the sidebar is currently open or
closed.
- Around line 1263-1267: CDN script tags for highlight.js language bundles and
mermaid in the HTML need Subresource Integrity protection. Add the correct fixed
SHA-384 integrity hash and crossorigin="anonymous" attribute to each external
script, preserving their existing sources and versions.
In `@Gsp-kubernetes-best-practices-guide.md`:
- Around line 213-226: Gsp-kubernetes-best-practices-guide.md:213-226
のデプロイ手順で、valkyrie-app から実行しても YAML を解決できるよう `k8s`
への移動を明記するか、`k8s/deployment.yaml` と `k8s/service.yaml`
の相対パスを使用してください。Gsp-kubernetes-best-practices-guide.html:916-948 も Markdown
と同じ実行可能なパスまたは作業ディレクトリ変更に更新し、両形式の手順を一致させてください。
- Around line 90-96: Gsp-kubernetes-best-practices-guide.md の Dockerfile
命令表(90-96)で、FROM の説明をタグによる追跡性と、タグ+ダイジェスト固定によるビット単位の再現性に分け、golang:1.10
は変更しないでください。Gsp-kubernetes-best-practices-guide.md(249-253)の「ビルドの再現性を確保」も、ダイジェスト固定が必要な表現へ修正してください。Gsp-kubernetes-best-practices-guide.html(668-714、1026-1044)の対応する
Dockerfile 命令表とベストプラクティス表を、修正後の Markdown と同じ内容に同期してください。
In `@MIGRATION_PROGRESS.md`:
- Line 32:
移行元HTMLのアーカイブ先をMIGRATION_PROGRESS.md内のarchive/Ciscoおよびarchive/Awsから、既定のGcl_Archive/配下へ統一し、該当する参照を更新してください。HTML自体は削除せずGcl_Archive/へ移動し、関連する移行進捗リンクが新しい場所を指す状態を維持してください。
- Around line 20-22: CCDE の完了履歴から未完了の Docs Sync
手順または記録を削除し、MIGRATION_PROGRESS.md の Step 1〜3 は完了済みのまま維持してください。特に CCDE の完了ステップに
Docs Sync を追加せず、既存のテスト検証・ルーティング統合・アーカイブ移動の記録だけを残してください。
In `@Pcne-section1-vpc-design.html`:
- Around line 564-566: Update the sidebar toggle behavior around the
sidebarToggle button so mobile sidebar state is synchronized for accessibility:
initialize the closed sidebar with inert and aria-hidden="true", expose the
state through aria-expanded, and update all three attributes whenever toggled.
When opening, move focus to the first navigation link; when closing, return
focus to sidebarToggle.
In `@Pcne-section1-vpc-design.md`:
- Around line 1-2: Pcne-section1-vpc-design.md の H1 見出しと H2 見出しの間に空行を1行追加し、MD022
の見出し間隔ルールを満たしてください。
- Around line 992-999: In Pcne-section1-vpc-design.md lines 992-999, revise the
サービスアカウント guidance to limit node-pool service accounts to node operations such
as logging and image retrieval, and specify Workload Identity Federation for GKE
with per-workload Kubernetes ServiceAccounts for workload Google API
permissions. Apply the same change in Pcne-section1-vpc-design.html lines
3124-3134.
- Around line 512-536: Cloud VPN の gateway MTU と payload MTU の説明を分離し、可変の payload
MTU を「1460バイト固定」と記載しないよう修正してください。Pcne-section1-vpc-design.md の 512-536
では図と表を更新し、815-822 では HA VPN over Cloud Interconnect の gateway MTU
1440バイトと暗号スイートおよびIPv4/IPv6に応じて変化する payload MTU
を記載してください。Pcne-section1-vpc-design.html の 1791-1851 と 2613-2654 も同じ内容に同期してください。
- Around line 402-416: VPC Network Peering
を単独のスポーク間通信方式として扱わないよう修正する。Pcne-section1-vpc-design.md の402-416行と
Pcne-section1-vpc-design.html
の1530-1569行では、比較図・表にNVA/NGFWなどの中継方式を追加するか、非推移的ルーティング制約を明記する。Pcne-section1-vpc-design.md
の679-700行と Pcne-section1-vpc-design.html の2301-2306行では、明示的なルーティング設定だけでVPC
Bへ到達できる記述を削除し、必要な中継方式を記載する。
In `@Speech-to-text-challenge-lab-best-practices.html`:
- Around line 405-419: Change the outer `.sidebar` landmark from `nav` to
`aside`, keeping the inner navigation element and its existing links unchanged
so `.sidebar nav a` continues to match. Add a distinguishing `aria-label` to the
remaining navigation element to identify its purpose.
- Line 649: HTML内のコード例で生の特殊文字を使用しているため、`cat > request.json << EOF`
を含む該当箇所を修正してください。行649、669、808、826の `<pre>` 内で `>` を `>`、`<` を `<`
に置換し、行553の既存のエスケープ表記と統一してください。
- Around line 1298-1330: renderDiagrams() の document.fonts.ready 待機と
mermaid.render 呼び出しを try/catch
で保護し、フォント準備または個別の図の描画に失敗しても残りのループ処理を継続してください。失敗した図は既存の空コンテナを維持しつつ、エラー詳細を記録して原因を追跡できるようにします。さらに、renderDiagrams()
の呼び出し側にも catch を追加して未処理の Promise 拒否を防いでください。
In `@Speech-to-text-challenge-lab-best-practices.md`:
- Line 212: Update the `multi_es.flac` row so it does not assume the file is
mono or justify omitting `audioChannelCount` on that basis; instead, state that
the channel count must be verified and provide a brief `sox --i`-based
inspection step before configuring the request.
- Around line 262-266: トラブルシューティング表の400
INVALID_ARGUMENT行を、FLAC/WAVでencodingを明示すること自体ではなく、指定値がファイルヘッダーと一致しないことが原因となるよう修正してください。対処も、ヘッダー情報を確認してencodingやsampleRateHertzを一致させるか、ヘッダーと矛盾しない場合に限り省略する内容に更新し、本文の手順と整合させてください。
- Around line 217-232: フロー図の分岐構造を修正し、Markdown と HTML の両方で Start
から単一の拡張子判定ノードへ接続してください。`.wav` と `.flac`
の各遷移、および以降のチャンネル数判定に続く遷移へ、対応する条件ラベルを追加し、無条件に複数経路が実行される表現をなくしてください。
🪄 Autofix
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: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 357f381a-3d35-408b-b6e5-9fd73d343b1b
📒 Files selected for processing (37)
.claude/rules/tdd-commit-workflow.mdAdk-challenge-lab-guide.htmlAdk-challenge-lab-guide.mdCLAUDE.mdCloud-natural-language-api-challenge-lab-guide.htmlCloud-natural-language-api-challenge-lab-guide.mdCloud-speech-api-challenge-lab-guide.htmlCloud-speech-api-challenge-lab-guide.mdFantasy-character-creator-best-practices.htmlFantasy-character-creator-best-practices.mdGEMINI.mdGsp-kubernetes-best-practices-guide.htmlGsp-kubernetes-best-practices-guide.mdIap-tcp-forwarding-best-practices-guide.mdMIGRATION_PROGRESS.mdPcne-section1-vpc-design.htmlPcne-section1-vpc-design.mdSpeech-to-text-challenge-lab-best-practices.htmlSpeech-to-text-challenge-lab-best-practices.mdTerrafor-gcp-challenge-lab-guide.md__tests__/aws/solutions-architect-associate/domain4/page.test.tsx__tests__/cisco-ccde-guide.test.tsxapp/aws/solutions-architect-associate/domain4/Domain4Guide.tsxapp/aws/solutions-architect-associate/domain4/NavBar.tsxapp/aws/solutions-architect-associate/domain4/constants.tsapp/aws/solutions-architect-associate/domain4/page.cssapp/aws/solutions-architect-associate/domain4/page.tsxapp/cisco/ccde/complete-guide/CcdeGuide.tsxapp/cisco/ccde/complete-guide/NavBar.tsxapp/cisco/ccde/complete-guide/constants.tsapp/cisco/ccde/complete-guide/page.cssapp/cisco/ccde/complete-guide/page.tsxapp/constants.tsarchive/Aws/SAA/html/AWS-Certified-Solutions-Architect-Associate-Domain4.htmlarchive/Aws/SAA/md/AWS-Certified-Solutions-Architect-Associate-Domain4.mdarchive/Cisco/html/Ccde-guide.htmlcomponents/MermaidDiagram.tsx
💤 Files with no reviewable changes (2)
- Iap-tcp-forwarding-best-practices-guide.md
- Terrafor-gcp-challenge-lab-guide.md
🛑 Comments failed to post (10)
app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx (3)
1-18: 🚀 Performance & Scalability | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash set -euo pipefail FILE="app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx" echo "== file exists and size ==" wc -l "$FILE" echo "== first 120 lines ==" sed -n '1,120p' "$FILE" echo "== imports/usages of hooks/browser APIs in Domain4Guide.tsx ==" python3 - <<'PY' from pathlib import Path p=Path("app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx") s=p.read_text() print("has_use_client:", "'use client'" in s or '"use client"' in s) for token in ["useState","useEffect","useContext","useLayoutEffect","useReducer","useRef","useCallback","useMemo","useImperativeHandle","router.","pathname","searchParams","cookies","headers","localStorage","sessionStorage"]: if token in s: print("contains", token) print("matches_hooks:", {token:s.count(token) for token in ["useClient","useState","useEffect","useContext","useLayoutEffect","useReducer","useRef","useCallback","useMemo","useImperativeHandle"]}) PY echo "== import chain for NavBar and MermaidDiagram ==" printf '\nNavBar imports:\n' rg -n "export .*NavBar|'use client'|useState|useEffect|cookies|headers|localStorage|sessionStorage" app/aws/solutions-architect-associate/domain4/NavBar.tsx app/aws/solutions-architect-associate/domain4/NavBar.ts 2>/dev/null || true printf '\nMermaidDiagram imports:\n' rg -n "export .*MermaidDiagram|'use client'|useState|useEffect|cookies|headers|localStorage|sessionStorage" app/components/MermaidDiagram.tsx app/components/MermaidDiagram.ts 2>/dev/null || trueRepository: myoshi2891/Cloud-Infrastructure-and-Network-Studies
Length of output: 7004
Domain4Guideを Server Component に戻してください。このコンポーネントは状態管理とブラウザ API を使用していません。
'use client'により、ガイド本文とDIAGRAMSの文字列が不用にクライアントバンドルへ入ります。NavBarとMermaidDiagramは Client Component 境界として残し、このディレクティブを削除してください。🤖 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 `@app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx` around lines 1 - 18, Remove the 'use client' directive from Domain4Guide so it becomes a Server Component. Keep the existing NavBar and MermaidDiagram imports and usage unchanged as their Client Component boundaries.Source: Coding guidelines
71-77: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
すべての列見出しへ
scope="col"を追加してください。この表を含む全表の
<th>に列見出しのスコープがありません。スクリーンリーダーが列見出しとセルを確実に関連付けられるようにしてください。修正例
-<th>ツール/機能</th> +<th scope="col">ツール/機能</th>As per coding guidelines, "表形式データは
<table>に変換し、必ず<thead>と<th scope=\"col\">を含める。"🤖 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 `@app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx` around lines 71 - 77, Domain4Guide の表を含む全テーブルで、列見出しを表すすべての <th> に scope="col" を追加してください。特に diff の thead 内にある「ツール/機能」「主な役割」「初級者向けポイント」の各 <th> を更新し、既存の見出し文言とテーブル構造は維持してください。Source: Coding guidelines
1381-1384: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Vault Lock の参照先を修正してください。
表示名は
S3 Glacier Vault Lockですが、hrefは DynamoDB Accelerator (DAX) のドキュメントを指しています。利用者が誤った資料へ移動します。修正例
- href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.html" + href="https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html"As per coding guidelines, "HTML/Markdown移行では元資料の情報を省略・要約せず、出典リンクをすべてTSXへ完全移植する。"
📝 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.<li> <a href="https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html" target="_blank" rel="noreferrer"> S3 Glacier Vault Lock </a>🤖 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 `@app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx` around lines 1381 - 1384, Update the href in the list item for “S3 Glacier Vault Lock” to point to the official S3 Glacier Vault Lock documentation instead of the DynamoDB Accelerator (DAX) page, preserving the existing label and link attributes.Source: Coding guidelines
archive/Aws/SAA/md/AWS-Certified-Solutions-Architect-Associate-Domain4.md (1)
218-224: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
表の区切り行の前から
<br/>を削除してください。Markdown の表は、見出し行の直後に区切り行が必要です。Line 219 の
<br/>が表を中断するため、この表は正しく表示されません。修正例
| ボリュームタイプ | 種別 | 主な用途 | コスト最適化のポイント | -<br/> |---|---|---|---|As per coding guidelines, "HTML/Markdown移行では元資料の情報を省略・要約せず、詳細手順、表、注釈、補足項目、出典リンクをすべてTSXへ完全移植する。"
📝 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.| ボリュームタイプ | 種別 | 主な用途 | コスト最適化のポイント | |---|---|---|---| | gp3 | SSD(汎用) | Webサーバー、開発・テスト環境、ほとんどの汎用ワークロード | gp2より約20%安価。IOPSとスループットを個別にプロビジョニングできるため、必要な分だけ課金される | | io2 / io2 Block Express | SSD(プロビジョンドIOPS) | 大規模データベース(SAP HANA、Oracleなど) | 過剰スペックにならないよう、実測IOPSに基づいてサイジングする | | st1 | HDD(スループット最適化) | ビッグデータ、ログ処理、データウェアハウス | gp3よりも大幅に安いが、ブート用途には使えない点に注意 | | sc1 | HDD(コールドHDD) | アクセス頻度が非常に低いデータ | 最安価格帯だが低頻度アクセス向け |🤖 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 `@archive/Aws/SAA/md/AWS-Certified-Solutions-Architect-Associate-Domain4.md` around lines 218 - 224, 表の見出し行と区切り行の間にある不要な`<br/>`を削除し、Markdownテーブルの区切り行が見出し行の直後に続くよう修正してください。表の内容や構成は変更しないでください。Source: Coding guidelines
Pcne-section1-vpc-design.html (1)
564-566: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
モバイルドロワーのフォーカスと状態を同期してください。
幅 900px 以下では
.sidebarを画面外へ移動するだけです。閉じた状態でもサイドバー内のリンクは Tab 操作と支援技術から到達できます。トグルボタンも展開状態を公開しません。閉じた状態ではinertとaria-hidden="true"を設定し、切替時にaria-expanded、inert、aria-hiddenを同期してください。開いた時は最初のナビゲーションリンクへ、閉じた時はトグルボタンへフォーカスを移動してください。(developer.mozilla.org)Also applies to: 3834-3846
🧰 Tools
🪛 HTMLHint (1.9.2)
[warning] 564-564: The type attribute must be present on elements.
(button-type-require)
🤖 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 `@Pcne-section1-vpc-design.html` around lines 564 - 566, Update the sidebar toggle behavior around the sidebarToggle button so mobile sidebar state is synchronized for accessibility: initialize the closed sidebar with inert and aria-hidden="true", expose the state through aria-expanded, and update all three attributes whenever toggled. When opening, move focus to the first navigation link; when closing, return focus to sidebarToggle.Pcne-section1-vpc-design.md (4)
1-2: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
見出しの間に空行を追加してください。
Line 1 の H1 と Line 2 の H2 が連続しています。MD022 を満たすため、両者の間に空行を 1 行追加してください。
🧰 Tools
🪛 markdownlint-cli2 (0.23.2)
[warning] 1-1: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below(MD022, blanks-around-headings)
[warning] 2-2: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above(MD022, blanks-around-headings)
🤖 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 `@Pcne-section1-vpc-design.md` around lines 1 - 2, Pcne-section1-vpc-design.md の H1 見出しと H2 見出しの間に空行を1行追加し、MD022 の見出し間隔ルールを満たしてください。Source: Linters/SAST tools
402-416: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
VPC Peering 単体をスポーク間通信の方式として記述しないでください。
VPC Network Peering は推移的ルーティングを提供しません。ルーティング VPC へ Peering 接続するだけでは、スポーク間通信は成立しません。スポーク間通信が必要な図と表には、NVA/NGFW をゲートウェイとして追加するか、NCC または Cloud VPN の方式へ置き換えてください。(docs.cloud.google.com)
Pcne-section1-vpc-design.md#L402-L416: 図と比較表を、NVA/NGFW を含む構成、または非推移的である制約を明示する構成へ修正してください。Pcne-section1-vpc-design.md#L679-L700: 明示的なルーティング設定だけで VPC B へ到達できるという記述を削除し、必要な中継方式を記載してください。Pcne-section1-vpc-design.html#L1530-L1569: 図と比較表を、NVA/NGFW を含む構成、または非推移的である制約を明示する構成へ修正してください。Pcne-section1-vpc-design.html#L2301-L2306: 明示的なルーティング設定だけで VPC B へ到達できるという記述を削除し、必要な中継方式を記載してください。📍 Affects 2 files
Pcne-section1-vpc-design.md#L402-L416(this comment)Pcne-section1-vpc-design.md#L679-L700Pcne-section1-vpc-design.html#L1530-L1569Pcne-section1-vpc-design.html#L2301-L2306🤖 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 `@Pcne-section1-vpc-design.md` around lines 402 - 416, VPC Network Peering を単独のスポーク間通信方式として扱わないよう修正する。Pcne-section1-vpc-design.md の402-416行と Pcne-section1-vpc-design.html の1530-1569行では、比較図・表にNVA/NGFWなどの中継方式を追加するか、非推移的ルーティング制約を明記する。Pcne-section1-vpc-design.md の679-700行と Pcne-section1-vpc-design.html の2301-2306行では、明示的なルーティング設定だけでVPC Bへ到達できる記述を削除し、必要な中継方式を記載する。
512-536: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Cloud VPN の gateway MTU と payload MTU を区別してください。
Cloud VPN の 1460 バイトは gateway MTU です。トンネルの payload MTU は暗号スイートと IPv4/IPv6 によって変化します。HA VPN over Cloud Interconnect の gateway MTU は 1440 バイトです。「payload MTU は既定で 1460 バイト固定」という記述を修正してください。(docs.cloud.google.com)
Pcne-section1-vpc-design.md#L512-L536: 図と表を gateway MTU と payload MTU の区別に合わせて修正してください。Pcne-section1-vpc-design.md#L815-L822: HA VPN over Cloud Interconnect の 1440 バイト gateway MTU と可変 payload MTU を記載してください。Pcne-section1-vpc-design.html#L1791-L1851: 図と表を gateway MTU と payload MTU の区別に合わせて修正してください。Pcne-section1-vpc-design.html#L2613-L2654: HA VPN over Cloud Interconnect の 1440 バイト gateway MTU と可変 payload MTU を記載してください。📍 Affects 2 files
Pcne-section1-vpc-design.md#L512-L536(this comment)Pcne-section1-vpc-design.md#L815-L822Pcne-section1-vpc-design.html#L1791-L1851Pcne-section1-vpc-design.html#L2613-L2654🤖 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 `@Pcne-section1-vpc-design.md` around lines 512 - 536, Cloud VPN の gateway MTU と payload MTU の説明を分離し、可変の payload MTU を「1460バイト固定」と記載しないよう修正してください。Pcne-section1-vpc-design.md の 512-536 では図と表を更新し、815-822 では HA VPN over Cloud Interconnect の gateway MTU 1440バイトと暗号スイートおよびIPv4/IPv6に応じて変化する payload MTU を記載してください。Pcne-section1-vpc-design.html の 1791-1851 と 2613-2654 も同じ内容に同期してください。
992-999: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
ワークロードの最小権限にノードプールサービスアカウントを使わないでください。
ノードプールサービスアカウントはノードのログ送信やイメージ取得などのノード処理用です。これはワークロード単位の ID 境界ではありません。ワークロードの Google API 権限には、Workload Identity Federation for GKE とワークロードごとの Kubernetes ServiceAccount を使用するように記述を修正してください。(docs.cloud.google.com)
Pcne-section1-vpc-design.md#L992-L999: ノードプールサービスアカウントの用途をノード処理へ限定し、ワークロード権限の説明を Workload Identity Federation へ変更してください。Pcne-section1-vpc-design.html#L3124-L3134: ノードプールサービスアカウントの用途をノード処理へ限定し、ワークロード権限の説明を Workload Identity Federation へ変更してください。📍 Affects 2 files
Pcne-section1-vpc-design.md#L992-L999(this comment)Pcne-section1-vpc-design.html#L3124-L3134🤖 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 `@Pcne-section1-vpc-design.md` around lines 992 - 999, In Pcne-section1-vpc-design.md lines 992-999, revise the サービスアカウント guidance to limit node-pool service accounts to node operations such as logging and image retrieval, and specify Workload Identity Federation for GKE with per-workload Kubernetes ServiceAccounts for workload Google API permissions. Apply the same change in Pcne-section1-vpc-design.html lines 3124-3134.archive/Cisco/html/Ccde-guide.html (1)
1-2: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win
移行元HTMLを
Gcl_Archive/配下へ移動してください。移行元は
archive/Cisco/html/ではなく、移行ルールが指定する適切なGcl_Archive/配下へ配置してください。元HTMLは削除せず、移動後も移行記録から追跡できる状態にしてください。As per coding guidelines: 「HTMLからの移行時は移行元HTMLを削除せず、完了後に適切な
Gcl_Archive/配下へ移動する」。🤖 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 `@archive/Cisco/html/Ccde-guide.html` around lines 1 - 2, 移行元HTMLの配置を見直し、Ccde-guide.htmlをarchive/Cisco/html/から移行ルールで指定された適切なGcl_Archive/配下へ移動してください。元ファイルを削除せず、移動先で移行記録から追跡できる状態を維持してください。Source: Coding guidelines
…ion and archive html source
…ise Infrastructure guide
…rchive into ccie subfolder
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
archive/Cisco/md/ccna/Ccna-automation-api-guide.md (1)
434-434: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick winPOSTの認証ヘッダー例を移行先と同期してください。
Line 434 は
Authorization: Bearerに変更されています。一方、app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsxの同じPOST例は Line 735-736 でX-Cisco-Meraki-API-Keyを使用しています。両方のヘッダーがサポートされる場合でも、同じガイドの同じAPI例が異なる設定を示しています。現在の標準例を統一し、旧ヘッダーは旧方式として明示してください。
修正例
- "X-Cisco-Meraki-API-Key": "<APIキー>", + "Authorization": "Bearer <APIキー>",As per coding guidelines, HTML/Markdownからの移行では元資料の情報を省略・要約・抜粋せず、詳細な内容をTSXへ移植してください。
🤖 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 `@archive/Cisco/md/ccna/Ccna-automation-api-guide.md` at line 434, 同期先のCcnaAutomationApiGuide.tsxにある同じPOST例と認証ヘッダーを統一し、標準例ではX-Cisco-Meraki-API-Keyを使用してください。Authorization: Bearerの例を残す場合は旧方式であることを明示し、MarkdownとTSX間で内容を省略せず同じ情報を反映してください。Source: Coding guidelines
🤖 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 `@Adk-challenge-lab-guide.html`:
- Around line 873-876: Mermaid シーケンス図の U->>A、A->>G、G-->>A、A-->>U
の矢印記号に含まれるすべての「>」を HTML エンティティ「>」へ置換し、Mermaid が同じ矢印として解釈できる状態を維持してください。
---
Outside diff comments:
In `@archive/Cisco/md/ccna/Ccna-automation-api-guide.md`:
- Line 434:
同期先のCcnaAutomationApiGuide.tsxにある同じPOST例と認証ヘッダーを統一し、標準例ではX-Cisco-Meraki-API-Keyを使用してください。Authorization:
Bearerの例を残す場合は旧方式であることを明示し、MarkdownとTSX間で内容を省略せず同じ情報を反映してください。
🪄 Autofix
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: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 7ed53634-a467-4369-981d-5f2b2d32655b
📒 Files selected for processing (6)
Adk-challenge-lab-guide.html__tests__/cisco/ccna/automation-api-guide/page.test.tsxapp/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsxapp/cisco/ccna/automation-api-guide/constants.tsarchive/Cisco/html/ccna/Ccna-automation-api-guide.htmlarchive/Cisco/md/ccna/Ccna-automation-api-guide.md
…hallenge-lab-guide.html
…Key and clarify bearer header notes across MD and TSX
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx (1)
789-793: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win両方の資料で最終試行の待機を防止してください。
最後の試行でも
Retry-Afterを待機してからループを抜けるため、次のリクエストがないのに処理が停止します。
app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx#L789-L793: 最終試行なら待機前に終了してください。archive/Cisco/md/ccna/Ccna-automation-api-guide.md#L489-L493: 同じ終了条件を追加してください。🤖 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 `@app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx` around lines 789 - 793, 最終試行で不要な待機を行わないよう、CcnaAutomationApiGuide.tsx のリトライ処理(789-793行)で wait_seconds の設定・sleep 前に最終試行を判定してループを終了してください。同じ終了条件を archive/Cisco/md/ccna/Ccna-automation-api-guide.md の489-493行にも追加し、両資料の動作を一致させてください。
🤖 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.
Outside diff comments:
In `@app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx`:
- Around line 789-793: 最終試行で不要な待機を行わないよう、CcnaAutomationApiGuide.tsx
のリトライ処理(789-793行)で wait_seconds の設定・sleep 前に最終試行を判定してループを終了してください。同じ終了条件を
archive/Cisco/md/ccna/Ccna-automation-api-guide.md
の489-493行にも追加し、両資料の動作を一致させてください。
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 6013d3cc-2371-473c-985e-b6f89a39e870
📒 Files selected for processing (3)
Adk-challenge-lab-guide.htmlapp/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsxarchive/Cisco/md/ccna/Ccna-automation-api-guide.md
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx`:
- Around line 789-790: Update the retry logic around the 429, RequestException,
and 5xx handling paths in
app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx (anchor lines
789-790) so every path skips time.sleep(...) when attempt == max_retries - 1 and
breaks to return the existing limit error. Apply the same change to
archive/Cisco/md/ccna/Ccna-automation-api-guide.md (sibling lines 489-490) to
keep the Markdown example synchronized.
🪄 Autofix
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: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: f0051266-37f3-4e1b-b10f-fdab13a3bac9
📒 Files selected for processing (3)
__tests__/cisco/ccna/automation-api-guide/page.test.tsxapp/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsxarchive/Cisco/md/ccna/Ccna-automation-api-guide.md
…ths in automation API guide component
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx (1)
778-779: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Retry-Afterの値を3600秒で切り捨てないでください。両方の例がサーバー指定値を変更しています。HTTP仕様どおりに値を尊重する例なら上限を削除してください。上限を意図したローカルポリシーなら、その理由を資料に明記し、対応するテストを追加してください。
app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx#L778-L779:min(parsed_val, 3600)を見直してください。archive/Cisco/md/ccna/Ccna-automation-api-guide.md#L477-L479: TSX例と同じ待機ポリシーに修正してください。🤖 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 `@app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx` around lines 778 - 779, Retry-After のサーバー指定値を3600秒で切り捨てないよう、CcnaAutomationApiGuide.tsx の該当例で min(parsed_val, 3600) を削除し、parsed_val をそのまま待機時間に使用してください。同じ待機ポリシーになるよう、archive/Cisco/md/ccna/Ccna-automation-api-guide.md の対応例も修正してください。
🤖 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 `@app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx`:
- Around line 763-764: 最終試行では再試行メッセージを出さないよう、CcnaAutomationApiGuide.tsx
の該当例では再試行メッセージ出力より前に attempt == max_retries - 1 の判定と break
を移動してください。archive/Cisco/md/ccna/Ccna-automation-api-guide.md
の同じ例もTSX例と同じ順序に修正し、両方の資料で処理と表示内容を一致させてください。
---
Duplicate comments:
In `@app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx`:
- Around line 778-779: Retry-After
のサーバー指定値を3600秒で切り捨てないよう、CcnaAutomationApiGuide.tsx の該当例で min(parsed_val, 3600)
を削除し、parsed_val
をそのまま待機時間に使用してください。同じ待機ポリシーになるよう、archive/Cisco/md/ccna/Ccna-automation-api-guide.md
の対応例も修正してください。
🪄 Autofix
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: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: a73b7cb6-4b8c-4236-8193-25e93029c9b9
📒 Files selected for processing (2)
app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsxarchive/Cisco/md/ccna/Ccna-automation-api-guide.md
…CcnaAutomationApiGuide.tsx
…cna-automation-api-guide.md
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
Note Docstrings generation - SUCCESS |
Docstrings generation was requested by @myoshi2891. The following files were modified: * `app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx` * `app/aws/solutions-architect-associate/domain4/NavBar.tsx` * `app/cisco/ccde/complete-guide/CcdeGuide.tsx` * `app/cisco/ccde/complete-guide/NavBar.tsx` * `app/cisco/ccde/complete-guide/page.tsx` * `app/cisco/ccie/enterprise-infrastructure/CcieEnterpriseGuide.tsx` * `app/cisco/ccie/enterprise-infrastructure/NavBar.tsx` * `components/sections/ccde/CertificationsEarnedSection.tsx` * `components/sections/ccde/ClosingFooter.tsx` * `components/sections/ccde/CostsSection.tsx` * `components/sections/ccde/Diagram.tsx` * `components/sections/ccde/FaqSection.tsx` * `components/sections/ccde/GlossarySection.tsx` * `components/sections/ccde/HeroSection.tsx` * `components/sections/ccde/OverallFlowSection.tsx` * `components/sections/ccde/PrerequisitesSection.tsx` * `components/sections/ccde/RecertificationSection.tsx` * `components/sections/ccde/RoadmapSection.tsx` * `components/sections/ccde/SourcesSection.tsx` * `components/sections/ccde/Step1WrittenSection.tsx` * `components/sections/ccde/Step2PracticalSection.tsx` * `components/sections/ccde/TitleBlockSection.tsx` * `components/sections/ccde/TocSection.tsx` * `components/sections/ccde/WhatIsCcdeSection.tsx` These files were kept as they were: * `app/aws/solutions-architect-associate/domain4/page.tsx` * `app/cisco/ccie/enterprise-infrastructure/page.tsx` * `app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx` These files were ignored: * `__tests__/aws/solutions-architect-associate/domain4/page.test.tsx` * `__tests__/cisco-ccde-guide.test.tsx` * `__tests__/cisco/ccie-enterprise-infrastructure.test.tsx` * `__tests__/cisco/ccna/automation-api-guide/page.test.tsx` * `__tests__/components/Header.hamburger.test.tsx` * `__tests__/lib/navigation.test.ts` These file types are not supported: * `.claude/rules/tdd-commit-workflow.md` * `Adk-challenge-lab-guide.html` * `Adk-challenge-lab-guide.md` * `CLAUDE.md` * `Cloud-natural-language-api-challenge-lab-guide.html` * `Cloud-natural-language-api-challenge-lab-guide.md` * `Cloud-speech-api-challenge-lab-guide.html` * `Cloud-speech-api-challenge-lab-guide.md` * `Fantasy-character-creator-best-practices.html` * `Fantasy-character-creator-best-practices.md` * `GEMINI.md` * `Gcl_Archive/Cisco/html/Ccde-guide.html` * `Gsp-kubernetes-best-practices-guide.html` * `Gsp-kubernetes-best-practices-guide.md` * `MIGRATION_PROGRESS.md` * `Pcne-s2-vpc-implementation.html` * `Pcne-s4-hybrid-connectivity.md` * `Pcne-section1-vpc-design.html` * `Pcne-section1-vpc-design.md` * `Speech-to-text-challenge-lab-best-practices.html` * `Speech-to-text-challenge-lab-best-practices.md` * `app/aws/solutions-architect-associate/domain4/page.css` * `app/cisco/ccde/complete-guide/page.css` * `app/cisco/ccie/enterprise-infrastructure/page.module.css` * `app/globals.css` * `archive/Aws/SAA/html/AWS-Certified-Solutions-Architect-Associate-Domain4.html` * `archive/Aws/SAA/md/AWS-Certified-Solutions-Architect-Associate-Domain4.md` * `archive/Cisco/html/ccie/Ccie-enterprise-infrastructure.html` * `archive/Cisco/html/ccna/Ccna-automation-api-guide.html` * `archive/Cisco/html/ccna/Ccna-automation-software-development-design.html` * `archive/Cisco/html/ccna/Ccna-beginner-guide.html` * `archive/Cisco/html/ccna/Ccna-ip-connectivity-guide.html` * `archive/Cisco/html/ccna/Ccna-ip-services-guide.html` * `archive/Cisco/html/ccna/Ccna-security-fundamentals.html` * `archive/Cisco/md/ccie/Ccie-enterprise-infrastructure.md` * `archive/Cisco/md/ccna/Ccna-automation-api-guide.md` * `archive/Cisco/md/ccna/Ccna-automation-software-development-design.md` * `archive/Cisco/md/ccna/Ccna-beginner-guide.md` * `archive/Cisco/md/ccna/Ccna-ip-connectivity-guide.md` * `archive/Cisco/md/ccna/Ccna-ip-services-guide.md` * `archive/Cisco/md/ccna/Ccna-security-fundamentals.md` * `components/sections/ccde/ClosingFooter.module.css` * `components/sections/ccde/FaqSection.module.css` * `components/sections/ccde/GlossarySection.module.css` * `components/sections/ccde/HeroSection.module.css` * `components/sections/ccde/SectionBase.module.css` * `components/sections/ccde/SourcesSection.module.css` * `components/sections/ccde/TitleBlockSection.module.css` * `components/sections/ccde/TocSection.module.css`
Docstrings generation was requested by @myoshi2891. * #118 (comment) The following files were modified: * `app/aws/solutions-architect-associate/domain4/Domain4Guide.tsx` * `app/aws/solutions-architect-associate/domain4/NavBar.tsx` * `app/cisco/ccna/automation-api-guide/CcnaAutomationApiGuide.tsx` * `components/sections/ccde/HeroSection.tsx` * `components/sections/ccde/Step2PracticalSection.tsx`
📝 Add docstrings to `dev`
📊 変更概要
本期間では、主に AWS SAA (Domain 4)、Cisco CCDE / CCIE、GCP (PCNE / ADK Labs) などの資格試験学習ガイドのコンポーネント化・完全移植を実施しました。また、Cisco CCNA Automation API ガイドにおける Retry-After 解析およびリトライ処理(最終試行時の sleep スキップ)の最適化とテスト追加を行ない、デザインシステム(CSS 3層アーキテクチャ)・アクセシビリティ (a11y)・Mermaid ダイアグラムの品質向上を推進しました。
🔍 主な変更内容(カテゴリ別)
1. 🎓 新規資格学習コンテンツの追加・完全移行(TDDアプローチ)
CcdeGuideを 12 個の独立セクションコンポーネントと CSS Modules に分割リファクタリング。2. ⚙️ Cisco CCNA Automation API ガイド & Retry-After ロジックの最適化
ceil計算による待機秒数の高精度化。X-Cisco-Meraki-API-Keyに統一。3. 🎨 UI/UX・デザインシステム & アクセシビリティ (a11y) 強化
globals.css等)の適用aria-label,aria-expanded,dataset.open等の属性管理を強化。4. 📁 ディレクトリ構造・アーカイブの再配置
Iap-tcp-forwarding-best-practices-guide.mdおよびTerrafor-gcp-challenge-lab-guide.mdを削除。Gcl_Archive/Cisco内のccna,ccie,ccdeサブフォルダへ体系的に整理移動。5. 🛠️ Mermaid ダイアグラム描画修復 & テスト・開発フローの強化
>→>)のエスケープ処理、CDN integrity ハッシュ更新、壊れていた</pre>タグの修復。.claude/rules/tdd-commit-workflow.mdのルールを更新し、Strict な網羅性テストと Fail → Pass → Refactor のステップ別コミットを徹底。