{
  "schemaVersion": "2026-07-08",
  "locales": [
    "en",
    "ko"
  ],
  "routes": [
    {
      "locale": "en",
      "title": "Documentation",
      "section": "Overview",
      "route": "/docs/en",
      "summary": "Entrypoint for Survey Editor authoring docs, runtime contracts, and agent-readable navigation.",
      "canonicalTerms": [
        "Survey Editor",
        "GUI Mode",
        "HTML Mode",
        "Style Mode",
        "Runtime & Logic"
      ],
      "exampleCoverage": [
        "Docs card grid",
        "Mode overview"
      ],
      "keyContracts": [
        "Docs entrypoint is additive to the product app",
        "Docs pages are locale-prefixed under /docs/en and /docs/ko"
      ],
      "relatedRoutes": [
        "/docs/en/gui",
        "/docs/en/html",
        "/docs/en/style",
        "/docs/en/runtime",
        "/docs/en/reference"
      ],
      "taskTags": [
        "GUI",
        "HTML DSL",
        "Style",
        "Runtime/Logic",
        "Reference"
      ]
    },
    {
      "locale": "en",
      "title": "GUI Mode",
      "section": "GUI",
      "route": "/docs/en/gui",
      "summary": "Visual authoring surfaces for block management, question settings, attributes, logic buttons, and style previews.",
      "canonicalTerms": [
        "GUI Mode",
        "Survey Editor",
        "Block Rail",
        "Question Editor"
      ],
      "exampleCoverage": [
        "Workbench surface links",
        "Question editor links",
        "Block rail links"
      ],
      "keyContracts": [
        "GUI settings must round trip to HTML Mode",
        "GUI does not replace the canonical HTML source"
      ],
      "relatedRoutes": [
        "/docs/en/gui/workbench-surface",
        "/docs/en/gui/question-editor",
        "/docs/en/gui/block-rail-context-menu",
        "/docs/en/html"
      ],
      "taskTags": [
        "GUI"
      ]
    },
    {
      "locale": "en",
      "title": "Workbench Surface",
      "section": "GUI",
      "route": "/docs/en/gui/workbench-surface",
      "summary": "Workbench layout boundaries across navigation, Block Rail, canvas, GUI, HTML, Style, Quota, and Link surfaces.",
      "canonicalTerms": [
        "Workbench",
        "Editor",
        "Quota",
        "Link",
        "Block Rail"
      ],
      "exampleCoverage": [
        "Top navigation",
        "Left rail",
        "Selected block editor",
        "Survey Link settings dialog"
      ],
      "keyContracts": [
        "Workbench orchestrates surfaces without owning parser/runtime behavior",
        "Logic stays progressive and local to selected blocks"
      ],
      "relatedRoutes": [
        "/docs/en/gui",
        "/docs/en/gui/question-editor",
        "/docs/en/html",
        "/docs/en/style"
      ],
      "taskTags": [
        "GUI"
      ]
    },
    {
      "locale": "en",
      "title": "Question Editor",
      "section": "GUI",
      "route": "/docs/en/gui/question-editor",
      "summary": "Question settings for type, mode, display style, options, attributes, validation, and logic entry points.",
      "canonicalTerms": [
        "type",
        "mode",
        "display-style",
        "option",
        "attribute",
        "validation"
      ],
      "exampleCoverage": [
        "Editing rules",
        "Attributes",
        "Validation",
        "Logic buttons"
      ],
      "keyContracts": [
        "mode expresses answer semantics",
        "display-style expresses visual presentation only where allowed"
      ],
      "relatedRoutes": [
        "/docs/en/gui",
        "/docs/en/html/dsl-guide",
        "/docs/en/runtime/question-objects",
        "/docs/en/runtime/validation-errors"
      ],
      "taskTags": [
        "GUI",
        "Question Objects",
        "Validation"
      ]
    },
    {
      "locale": "en",
      "title": "Block Rail & Context Menu",
      "section": "GUI",
      "route": "/docs/en/gui/block-rail-context-menu",
      "summary": "Block navigation, context-menu insertion, type defaults, nested variants, filters, and TEST jump-rail reuse.",
      "canonicalTerms": [
        "Block Rail",
        "context menu",
        "row-aware insert",
        "TEST mode"
      ],
      "exampleCoverage": [
        "Right-click menu",
        "Type-level defaults",
        "Nested variants",
        "Filter behavior"
      ],
      "keyContracts": [
        "Insert actions use the pointer row, not stale focus",
        "TEST jump rail omits authoring mutations"
      ],
      "relatedRoutes": [
        "/docs/en/gui",
        "/docs/en/gui/workbench-surface",
        "/docs/en/gui/question-editor"
      ],
      "taskTags": [
        "GUI"
      ]
    },
    {
      "locale": "en",
      "title": "HTML Mode",
      "section": "HTML",
      "route": "/docs/en/html",
      "summary": "Canonical survey source for GUI round trips, Survey Link rendering, simulation, persistence, and export projection.",
      "canonicalTerms": [
        "HTML Mode",
        "canonical survey source",
        "HTML DSL",
        "source-of-truth"
      ],
      "exampleCoverage": [
        "DSL guide",
        "Asset media",
        "Redirects",
        "Sections and loops",
        "Script blocks"
      ],
      "keyContracts": [
        "HTML Mode is the source of truth",
        "Generated docs must avoid legacy DSL aliases"
      ],
      "relatedRoutes": [
        "/docs/en/html/dsl-guide",
        "/docs/en/html/asset-media",
        "/docs/en/html/terminal-redirects",
        "/docs/en/html/sections-loops-logic",
        "/docs/en/html/script-blocks"
      ],
      "taskTags": [
        "HTML DSL",
        "Asset Media",
        "Redirects",
        "Loops/Logic",
        "Script Blocks"
      ]
    },
    {
      "locale": "en",
      "title": "HTML DSL",
      "section": "HTML",
      "route": "/docs/en/html/dsl-guide",
      "summary": "Canonical survey-specific tags and attributes parsed into the survey model with supported compatibility paths only.",
      "canonicalTerms": [
        "question",
        "options",
        "attributes",
        "survey-config",
        "display-style",
        "Template Expression"
      ],
      "exampleCoverage": [
        "Minimal question",
        "Canonical tags",
        "Question display styles",
        "Quota/runtime columns"
      ],
      "keyContracts": [
        "Parser validates canonical rules",
        "New output must not revive legacy display or mode aliases"
      ],
      "relatedRoutes": [
        "/docs/en/html",
        "/docs/en/gui/question-editor",
        "/docs/en/runtime/logic-guide",
        "/docs/en/reference/compatibility-notes"
      ],
      "taskTags": [
        "HTML DSL",
        "GUI",
        "Style",
        "Validation"
      ]
    },
    {
      "locale": "en",
      "title": "Asset Media",
      "section": "HTML",
      "route": "/docs/en/html/asset-media",
      "summary": "Uploaded asset helpers and media questions for public images, videos, and GLB files without response-variable semantics.",
      "canonicalTerms": [
        "$asset.img",
        "$asset.video",
        "$asset.glb",
        "question type=\"video\"",
        "question type=\"glb\""
      ],
      "exampleCoverage": [
        "Video gate",
        "GLB model",
        "Dynamic source locks",
        "No-answer export boundary"
      ],
      "keyContracts": [
        "Media helpers are survey-asset-only",
        "Media gates do not create answer variables"
      ],
      "relatedRoutes": [
        "/docs/en/html",
        "/docs/en/html/dsl-guide",
        "/docs/en/reference/changelog"
      ],
      "taskTags": [
        "Asset Media",
        "HTML DSL",
        "GUI"
      ]
    },
    {
      "locale": "en",
      "title": "Terminal Redirects",
      "section": "HTML",
      "route": "/docs/en/html/terminal-redirects",
      "summary": "Optional terminal redirect groups, URL templates, redirectGroup export semantics, and TEST/LIVE behavior.",
      "canonicalTerms": [
        "redirect",
        "group",
        "default",
        "redirectGroup",
        "TEST",
        "LIVE"
      ],
      "exampleCoverage": [
        "Minimal default group",
        "Route conditions",
        "URL templates",
        "Export value"
      ],
      "keyContracts": [
        "Exactly one default group is canonical when redirects are enabled",
        "Absent redirects leave redirectGroup null"
      ],
      "relatedRoutes": [
        "/docs/en/html",
        "/docs/en/runtime/logic-guide",
        "/docs/en/reference/changelog"
      ],
      "taskTags": [
        "Redirects",
        "HTML DSL",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "en",
      "title": "Sections, Loops & Logic",
      "section": "HTML",
      "route": "/docs/en/html/sections-loops-logic",
      "summary": "Flow blocks for sections, loops, share-list reuse, conditional rendering, jumps, and screen-out behavior.",
      "canonicalTerms": [
        "section",
        "loop",
        "share-list",
        "if",
        "condition",
        "jump",
        "screen-out"
      ],
      "exampleCoverage": [
        "Conditions",
        "Loops",
        "Jump behavior",
        "Screen-out behavior"
      ],
      "keyContracts": [
        "Flow blocks preserve the canonical answer model",
        "Conditions must use the safe evaluator"
      ],
      "relatedRoutes": [
        "/docs/en/html",
        "/docs/en/runtime/logic-guide",
        "/docs/en/runtime/question-objects"
      ],
      "taskTags": [
        "Loops/Logic",
        "HTML DSL",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "en",
      "title": "Script Blocks",
      "section": "HTML",
      "route": "/docs/en/html/script-blocks",
      "summary": "Restricted helper scripts for reusable predicates and transforms shared by conditions, run-code, validation, and templates.",
      "canonicalTerms": [
        "script",
        "registerSurveyHelper",
        "if",
        "condition",
        "run-code",
        "validation"
      ],
      "exampleCoverage": [
        "Helper declaration",
        "Safe helpers",
        "Run generate parity",
        "DSL validation"
      ],
      "keyContracts": [
        "Script helpers evaluate into a safe helper surface",
        "Scripts must not widen unsafe runtime permissions"
      ],
      "relatedRoutes": [
        "/docs/en/html",
        "/docs/en/runtime/logic-guide",
        "/docs/en/runtime/run-generate-specify-condition"
      ],
      "taskTags": [
        "Script Blocks",
        "Runtime/Logic",
        "Run Generate",
        "Validation"
      ]
    },
    {
      "locale": "en",
      "title": "Style Mode",
      "section": "Style",
      "route": "/docs/en/style",
      "summary": "Built-in CSS and preview coverage for Survey Link rendering without changing DSL semantics.",
      "canonicalTerms": [
        "Style Mode",
        "built-in CSS",
        "class hooks",
        "public link fallback"
      ],
      "exampleCoverage": [
        "Built-in CSS",
        "Public Link Fallback",
        "Class Hooks"
      ],
      "keyContracts": [
        "Style changes presentation only",
        "Style must not alter validation, persistence, export, or routing semantics"
      ],
      "relatedRoutes": [
        "/docs/en/style/builtin-css",
        "/docs/en/style/public-link-fallback",
        "/docs/en/style/class-hooks",
        "/docs/en/html/dsl-guide"
      ],
      "taskTags": [
        "Style"
      ]
    },
    {
      "locale": "en",
      "title": "Built-in CSS",
      "section": "Style",
      "route": "/docs/en/style/builtin-css",
      "summary": "Default respondent CSS and preview expectations for question types, display styles, validation errors, and name badges.",
      "canonicalTerms": [
        "built-in CSS",
        "Classic Clean",
        "question-name",
        "validation errors"
      ],
      "exampleCoverage": [
        "Preview coverage checklist",
        "Question name badges",
        "Validation error styling"
      ],
      "keyContracts": [
        "Built-in CSS should be language-independent",
        "Respondent-facing guidance stays icon-first where possible"
      ],
      "relatedRoutes": [
        "/docs/en/style",
        "/docs/en/style/class-hooks",
        "/docs/en/style/public-link-fallback"
      ],
      "taskTags": [
        "Style",
        "Validation"
      ]
    },
    {
      "locale": "en",
      "title": "Public Link Fallback",
      "section": "Style",
      "route": "/docs/en/style/public-link-fallback",
      "summary": "Runtime fallback to Classic Clean when no explicit safe public style selection can be used.",
      "canonicalTerms": [
        "Public Survey Link",
        "Classic Clean",
        "saved style selection",
        "CSS snapshot"
      ],
      "exampleCoverage": [
        "Runtime rule",
        "Authoring implications"
      ],
      "keyContracts": [
        "Fallback does not mutate stored style selection",
        "Unsafe style snapshots must not be injected"
      ],
      "relatedRoutes": [
        "/docs/en/style",
        "/docs/en/style/builtin-css",
        "/docs/en/reference/changelog"
      ],
      "taskTags": [
        "Style",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "en",
      "title": "Class Hooks",
      "section": "Style",
      "route": "/docs/en/style/class-hooks",
      "summary": "Deterministic rendered DSL classes for Style Mode previews and authored CSS overrides.",
      "canonicalTerms": [
        "question",
        "question-desc",
        "question-error",
        "option",
        "attribute",
        "class hooks"
      ],
      "exampleCoverage": [
        "Question classes",
        "Option classes",
        "Attribute classes",
        "Authored class append behavior"
      ],
      "keyContracts": [
        "Class names stay stable for authored overrides",
        "Class hooks do not change answer semantics"
      ],
      "relatedRoutes": [
        "/docs/en/style",
        "/docs/en/style/builtin-css",
        "/docs/en/html/dsl-guide"
      ],
      "taskTags": [
        "Style",
        "HTML DSL"
      ]
    },
    {
      "locale": "en",
      "title": "Runtime & Logic",
      "section": "Runtime",
      "route": "/docs/en/runtime",
      "summary": "Runtime evaluation for conditions, templates, run-code, validation, helper scripts, quota snapshots, answer piping, and simulation.",
      "canonicalTerms": [
        "Runtime & Logic",
        "Template Expression",
        "run-code",
        "validation",
        "$quota",
        "$status"
      ],
      "exampleCoverage": [
        "Logic Guide",
        "Overlay Runtime",
        "Question Objects",
        "Validation & Errors"
      ],
      "keyContracts": [
        "Runtime logic uses controlled DSL locations",
        "Simulation and Survey Link share safe-evaluator expectations"
      ],
      "relatedRoutes": [
        "/docs/en/runtime/logic-guide",
        "/docs/en/runtime/overlay",
        "/docs/en/runtime/question-objects",
        "/docs/en/runtime/validation-errors",
        "/docs/en/runtime/run-generate-specify-condition"
      ],
      "taskTags": [
        "Runtime/Logic",
        "Question Objects",
        "Validation",
        "Run Generate",
        "Overlay"
      ]
    },
    {
      "locale": "en",
      "title": "Logic Guide",
      "section": "Runtime",
      "route": "/docs/en/runtime/logic-guide",
      "summary": "Controlled JavaScript locations, helper availability, mutation boundaries, and shared safe evaluator behavior.",
      "canonicalTerms": [
        "if",
        "condition",
        "run-code",
        "validation",
        "script",
        "$curr",
        "$now",
        "$params",
        "$quota",
        "$status"
      ],
      "exampleCoverage": [
        "Location table",
        "Runtime helpers",
        "Mutation boundary",
        "Redirect route evaluation"
      ],
      "keyContracts": [
        "Only run-code may mutate answers through allowed methods",
        "Template Expressions are render-time only"
      ],
      "relatedRoutes": [
        "/docs/en/runtime",
        "/docs/en/html/script-blocks",
        "/docs/en/runtime/question-objects",
        "/docs/en/html/terminal-redirects"
      ],
      "taskTags": [
        "Runtime/Logic",
        "Script Blocks",
        "Redirects",
        "Loops/Logic"
      ]
    },
    {
      "locale": "en",
      "title": "Overlay Runtime",
      "section": "Runtime",
      "route": "/docs/en/runtime/overlay",
      "summary": "Overlay authoring and Survey Link language application for rootless entry fragments, lang/dir metadata, and unavailable states.",
      "canonicalTerms": [
        "overlay",
        "entry",
        "lang",
        "dir",
        "?lang",
        "Survey Link"
      ],
      "exampleCoverage": [
        "Authoring entrypoint",
        "Per-language source format",
        "Unavailable language states"
      ],
      "keyContracts": [
        "Overlay changes translated text only, not canonical survey source",
        "Code-bearing DSL blocks are not translated as free text"
      ],
      "relatedRoutes": [
        "/docs/en/runtime",
        "/docs/en/html/dsl-guide",
        "/docs/en/reference/changelog"
      ],
      "taskTags": [
        "Overlay",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "en",
      "title": "Question Objects",
      "section": "Runtime",
      "route": "/docs/en/runtime/question-objects",
      "summary": "Question object metadata, live answer state, aliases, answer readers, $curr, $quota, and mutation methods.",
      "canonicalTerms": [
        "Question Object",
        "$curr",
        "$quota",
        "setAnswer",
        "clearAnswer",
        "option aliases",
        "attribute aliases"
      ],
      "exampleCoverage": [
        "Core metadata",
        "Answer readers",
        "Aliases",
        "Mutation methods"
      ],
      "keyContracts": [
        "Metadata is read-only",
        "Mutation methods are available only in explicitly mutable flows"
      ],
      "relatedRoutes": [
        "/docs/en/runtime",
        "/docs/en/runtime/logic-guide",
        "/docs/en/gui/question-editor"
      ],
      "taskTags": [
        "Question Objects",
        "Runtime/Logic",
        "Run Generate"
      ]
    },
    {
      "locale": "en",
      "title": "Validation & Errors",
      "section": "Runtime",
      "route": "/docs/en/runtime/validation-errors",
      "summary": "Question-local validation tags, error rendering, and runtime-safe fallback behavior.",
      "canonicalTerms": [
        "validation",
        "question-error",
        "required",
        "soft validation",
        "hard validation"
      ],
      "exampleCoverage": [
        "Validation tag",
        "Error area",
        "Fallback behavior"
      ],
      "keyContracts": [
        "Empty error containers must not consume layout height",
        "Validation must not mutate answers"
      ],
      "relatedRoutes": [
        "/docs/en/runtime",
        "/docs/en/runtime/logic-guide",
        "/docs/en/style/builtin-css"
      ],
      "taskTags": [
        "Validation",
        "Runtime/Logic",
        "Style"
      ]
    },
    {
      "locale": "en",
      "title": "Run Generate Conditions",
      "section": "Runtime",
      "route": "/docs/en/runtime/run-generate-specify-condition",
      "summary": "Specify Condition JSON scenarios and fixed answer overrides for Run generate simulation passes.",
      "canonicalTerms": [
        "Run generate",
        "Specify Condition",
        "scenario",
        "count",
        "weight",
        "fixed answers"
      ],
      "exampleCoverage": [
        "JSON schema",
        "Scenario distribution",
        "Fixed overrides"
      ],
      "keyContracts": [
        "Sample size is the total generated row count",
        "Scenario count and weight distribute rows only"
      ],
      "relatedRoutes": [
        "/docs/en/runtime",
        "/docs/en/runtime/logic-guide",
        "/docs/en/html/script-blocks"
      ],
      "taskTags": [
        "Run Generate",
        "Runtime/Logic",
        "Question Objects",
        "Validation"
      ]
    },
    {
      "locale": "en",
      "title": "Reference",
      "section": "Reference",
      "route": "/docs/en/reference",
      "summary": "Maintenance practices and compatibility boundaries for docs and authoring behavior.",
      "canonicalTerms": [
        "Reference",
        "Compatibility Notes",
        "Maintenance Checklist",
        "Changelog"
      ],
      "exampleCoverage": [
        "Changelog",
        "Compatibility notes",
        "Maintenance checklist"
      ],
      "keyContracts": [
        "Reference pages track canonical terminology",
        "Docs maintenance follows current Survey Editor behavior"
      ],
      "relatedRoutes": [
        "/docs/en/reference/changelog",
        "/docs/en/reference/compatibility-notes",
        "/docs/en/reference/maintenance-checklist"
      ],
      "taskTags": [
        "Reference",
        "Compatibility",
        "Maintenance",
        "Changelog"
      ]
    },
    {
      "locale": "en",
      "title": "Changelog",
      "section": "Reference",
      "route": "/docs/en/reference/changelog",
      "summary": "Docs entrypoint and authoring documentation change log for recent DSL, runtime, overlay, style, and media updates.",
      "canonicalTerms": [
        "Changelog",
        "Asset Media",
        "Overlay Runtime",
        "redirectGroup",
        "display-style"
      ],
      "exampleCoverage": [
        "2026-07-07 updates",
        "2026-06-21 updates"
      ],
      "keyContracts": [
        "Changelog records docs-visible authoring contract changes",
        "Entries preserve canonical terminology"
      ],
      "relatedRoutes": [
        "/docs/en/reference",
        "/docs/en/html/asset-media",
        "/docs/en/runtime/overlay",
        "/docs/en/html/terminal-redirects"
      ],
      "taskTags": [
        "Reference",
        "Changelog",
        "Asset Media",
        "Overlay",
        "Redirects"
      ]
    },
    {
      "locale": "en",
      "title": "Compatibility Notes",
      "section": "Reference",
      "route": "/docs/en/reference/compatibility-notes",
      "summary": "Canonical terminology and legacy acceptance boundaries for number mode, rating mode, and type-aware display styles.",
      "canonicalTerms": [
        "mode=int|float",
        "display-style=input|slider|dial",
        "display-style=carousel|accordion",
        "rating mode=scale"
      ],
      "exampleCoverage": [
        "Canonical number boundary",
        "Rating scale boundary",
        "Display-style boundary"
      ],
      "keyContracts": [
        "Number mode is answer semantics only",
        "Question-level display-style is type-aware"
      ],
      "relatedRoutes": [
        "/docs/en/reference",
        "/docs/en/html/dsl-guide",
        "/docs/en/gui/question-editor"
      ],
      "taskTags": [
        "Reference",
        "Compatibility",
        "HTML DSL",
        "Style"
      ]
    },
    {
      "locale": "en",
      "title": "Maintenance Checklist",
      "section": "Reference",
      "route": "/docs/en/reference/maintenance-checklist",
      "summary": "Checklist for keeping GUI, HTML, Style, Runtime, screenshot evidence, terminology, and browser smoke current.",
      "canonicalTerms": [
        "Maintenance Checklist",
        "GUI",
        "HTML",
        "Style",
        "Runtime",
        "screenshots",
        "browser smoke"
      ],
      "exampleCoverage": [
        "Update steps",
        "Terminology scan",
        "Browser smoke"
      ],
      "keyContracts": [
        "Docs updates follow behavior changes",
        "Visible GUI changes require fresh actual-page screenshots"
      ],
      "relatedRoutes": [
        "/docs/en/reference",
        "/docs/en/reference/changelog",
        "/docs/en/reference/compatibility-notes"
      ],
      "taskTags": [
        "Reference",
        "Maintenance",
        "GUI",
        "HTML DSL",
        "Style",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "ko",
      "title": "문서",
      "section": "Overview",
      "route": "/docs/ko",
      "summary": "Survey Editor 작성 문서, 런타임 계약, AI 에이전트용 탐색의 엔트리포인트입니다.",
      "canonicalTerms": [
        "Survey Editor",
        "GUI Mode",
        "HTML Mode",
        "Style Mode",
        "Runtime & Logic"
      ],
      "exampleCoverage": [
        "Docs card grid",
        "Mode overview"
      ],
      "keyContracts": [
        "Docs entrypoint is additive to the product app",
        "Docs pages are locale-prefixed under /docs/en and /docs/ko"
      ],
      "relatedRoutes": [
        "/docs/ko/gui",
        "/docs/ko/html",
        "/docs/ko/style",
        "/docs/ko/runtime",
        "/docs/ko/reference"
      ],
      "taskTags": [
        "GUI",
        "HTML DSL",
        "Style",
        "Runtime/Logic",
        "Reference"
      ]
    },
    {
      "locale": "ko",
      "title": "GUI 모드",
      "section": "GUI",
      "route": "/docs/ko/gui",
      "summary": "블록 관리, 문항 설정, attribute, logic button, style preview를 위한 시각적 작성 화면입니다.",
      "canonicalTerms": [
        "GUI Mode",
        "Survey Editor",
        "Block Rail",
        "Question Editor"
      ],
      "exampleCoverage": [
        "Workbench surface links",
        "Question editor links",
        "Block rail links"
      ],
      "keyContracts": [
        "GUI settings must round trip to HTML Mode",
        "GUI does not replace the canonical HTML source"
      ],
      "relatedRoutes": [
        "/docs/ko/gui/workbench-surface",
        "/docs/ko/gui/question-editor",
        "/docs/ko/gui/block-rail-context-menu",
        "/docs/ko/html"
      ],
      "taskTags": [
        "GUI"
      ]
    },
    {
      "locale": "ko",
      "title": "워크벤치 화면",
      "section": "GUI",
      "route": "/docs/ko/gui/workbench-surface",
      "summary": "navigation, Block Rail, canvas, GUI, HTML, Style, Quota, Link surface의 Workbench layout boundary를 설명합니다.",
      "canonicalTerms": [
        "Workbench",
        "Editor",
        "Quota",
        "Link",
        "Block Rail"
      ],
      "exampleCoverage": [
        "Top navigation",
        "Left rail",
        "Selected block editor",
        "Survey Link settings dialog"
      ],
      "keyContracts": [
        "Workbench orchestrates surfaces without owning parser/runtime behavior",
        "Logic stays progressive and local to selected blocks"
      ],
      "relatedRoutes": [
        "/docs/ko/gui",
        "/docs/ko/gui/question-editor",
        "/docs/ko/html",
        "/docs/ko/style"
      ],
      "taskTags": [
        "GUI"
      ]
    },
    {
      "locale": "ko",
      "title": "문항 편집기",
      "section": "GUI",
      "route": "/docs/ko/gui/question-editor",
      "summary": "type, mode, display style, option, attribute, validation, logic entry point 문항 설정을 다룹니다.",
      "canonicalTerms": [
        "type",
        "mode",
        "display-style",
        "option",
        "attribute",
        "validation"
      ],
      "exampleCoverage": [
        "Editing rules",
        "Attributes",
        "Validation",
        "Logic buttons"
      ],
      "keyContracts": [
        "mode expresses answer semantics",
        "display-style expresses visual presentation only where allowed"
      ],
      "relatedRoutes": [
        "/docs/ko/gui",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/runtime/question-objects",
        "/docs/ko/runtime/validation-errors"
      ],
      "taskTags": [
        "GUI",
        "Question Objects",
        "Validation"
      ]
    },
    {
      "locale": "ko",
      "title": "블록 레일과 컨텍스트 메뉴",
      "section": "GUI",
      "route": "/docs/ko/gui/block-rail-context-menu",
      "summary": "block navigation, context-menu insertion, type default, nested variant, filter, TEST jump rail reuse를 다룹니다.",
      "canonicalTerms": [
        "Block Rail",
        "context menu",
        "row-aware insert",
        "TEST mode"
      ],
      "exampleCoverage": [
        "Right-click menu",
        "Type-level defaults",
        "Nested variants",
        "Filter behavior"
      ],
      "keyContracts": [
        "Insert actions use the pointer row, not stale focus",
        "TEST jump rail omits authoring mutations"
      ],
      "relatedRoutes": [
        "/docs/ko/gui",
        "/docs/ko/gui/workbench-surface",
        "/docs/ko/gui/question-editor"
      ],
      "taskTags": [
        "GUI"
      ]
    },
    {
      "locale": "ko",
      "title": "HTML 모드",
      "section": "HTML",
      "route": "/docs/ko/html",
      "summary": "GUI round trip, Survey Link rendering, simulation, persistence, export projection의 canonical survey source입니다.",
      "canonicalTerms": [
        "HTML Mode",
        "canonical survey source",
        "HTML DSL",
        "source-of-truth"
      ],
      "exampleCoverage": [
        "DSL guide",
        "Asset media",
        "Redirects",
        "Sections and loops",
        "Script blocks"
      ],
      "keyContracts": [
        "HTML Mode is the source of truth",
        "Generated docs must avoid legacy DSL aliases"
      ],
      "relatedRoutes": [
        "/docs/ko/html/dsl-guide",
        "/docs/ko/html/asset-media",
        "/docs/ko/html/terminal-redirects",
        "/docs/ko/html/sections-loops-logic",
        "/docs/ko/html/script-blocks"
      ],
      "taskTags": [
        "HTML DSL",
        "Asset Media",
        "Redirects",
        "Loops/Logic",
        "Script Blocks"
      ]
    },
    {
      "locale": "ko",
      "title": "HTML DSL",
      "section": "HTML",
      "route": "/docs/ko/html/dsl-guide",
      "summary": "survey-specific tag와 attribute를 model로 파싱하고 지원되는 compatibility path만 보존하는 canonical DSL입니다.",
      "canonicalTerms": [
        "question",
        "options",
        "attributes",
        "survey-config",
        "display-style",
        "Template Expression"
      ],
      "exampleCoverage": [
        "Minimal question",
        "Canonical tags",
        "Question display styles",
        "Quota/runtime columns"
      ],
      "keyContracts": [
        "Parser validates canonical rules",
        "New output must not revive legacy display or mode aliases"
      ],
      "relatedRoutes": [
        "/docs/ko/html",
        "/docs/ko/gui/question-editor",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/reference/compatibility-notes"
      ],
      "taskTags": [
        "HTML DSL",
        "GUI",
        "Style",
        "Validation"
      ]
    },
    {
      "locale": "ko",
      "title": "Asset Media",
      "section": "HTML",
      "route": "/docs/ko/html/asset-media",
      "summary": "response variable semantics 없이 public image, video, GLB file을 연결하는 uploaded asset helper와 media question입니다.",
      "canonicalTerms": [
        "$asset.img",
        "$asset.video",
        "$asset.glb",
        "question type=\"video\"",
        "question type=\"glb\""
      ],
      "exampleCoverage": [
        "Video gate",
        "GLB model",
        "Dynamic source locks",
        "No-answer export boundary"
      ],
      "keyContracts": [
        "Media helpers are survey-asset-only",
        "Media gates do not create answer variables"
      ],
      "relatedRoutes": [
        "/docs/ko/html",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/reference/changelog"
      ],
      "taskTags": [
        "Asset Media",
        "HTML DSL",
        "GUI"
      ]
    },
    {
      "locale": "ko",
      "title": "종료 리다이렉트",
      "section": "HTML",
      "route": "/docs/ko/html/terminal-redirects",
      "summary": "optional terminal redirect group, URL template, redirectGroup export semantics, TEST/LIVE behavior를 다룹니다.",
      "canonicalTerms": [
        "redirect",
        "group",
        "default",
        "redirectGroup",
        "TEST",
        "LIVE"
      ],
      "exampleCoverage": [
        "Minimal default group",
        "Route conditions",
        "URL templates",
        "Export value"
      ],
      "keyContracts": [
        "Exactly one default group is canonical when redirects are enabled",
        "Absent redirects leave redirectGroup null"
      ],
      "relatedRoutes": [
        "/docs/ko/html",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/reference/changelog"
      ],
      "taskTags": [
        "Redirects",
        "HTML DSL",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "ko",
      "title": "섹션·루프·로직",
      "section": "HTML",
      "route": "/docs/ko/html/sections-loops-logic",
      "summary": "section, loop, share-list reuse, conditional rendering, jump, screen-out behavior를 위한 flow block입니다.",
      "canonicalTerms": [
        "section",
        "loop",
        "share-list",
        "if",
        "condition",
        "jump",
        "screen-out"
      ],
      "exampleCoverage": [
        "Conditions",
        "Loops",
        "Jump behavior",
        "Screen-out behavior"
      ],
      "keyContracts": [
        "Flow blocks preserve the canonical answer model",
        "Conditions must use the safe evaluator"
      ],
      "relatedRoutes": [
        "/docs/ko/html",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/runtime/question-objects"
      ],
      "taskTags": [
        "Loops/Logic",
        "HTML DSL",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "ko",
      "title": "스크립트 블록",
      "section": "HTML",
      "route": "/docs/ko/html/script-blocks",
      "summary": "condition, run-code, validation, template이 공유하는 reusable predicate와 transform용 restricted helper script입니다.",
      "canonicalTerms": [
        "script",
        "registerSurveyHelper",
        "if",
        "condition",
        "run-code",
        "validation"
      ],
      "exampleCoverage": [
        "Helper declaration",
        "Safe helpers",
        "Run generate parity",
        "DSL validation"
      ],
      "keyContracts": [
        "Script helpers evaluate into a safe helper surface",
        "Scripts must not widen unsafe runtime permissions"
      ],
      "relatedRoutes": [
        "/docs/ko/html",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/runtime/run-generate-specify-condition"
      ],
      "taskTags": [
        "Script Blocks",
        "Runtime/Logic",
        "Run Generate",
        "Validation"
      ]
    },
    {
      "locale": "ko",
      "title": "Style 모드",
      "section": "Style",
      "route": "/docs/ko/style",
      "summary": "DSL semantics를 변경하지 않고 Survey Link rendering을 위한 built-in CSS와 preview coverage를 관리합니다.",
      "canonicalTerms": [
        "Style Mode",
        "built-in CSS",
        "class hooks",
        "public link fallback"
      ],
      "exampleCoverage": [
        "Built-in CSS",
        "Public Link Fallback",
        "Class Hooks"
      ],
      "keyContracts": [
        "Style changes presentation only",
        "Style must not alter validation, persistence, export, or routing semantics"
      ],
      "relatedRoutes": [
        "/docs/ko/style/builtin-css",
        "/docs/ko/style/public-link-fallback",
        "/docs/ko/style/class-hooks",
        "/docs/ko/html/dsl-guide"
      ],
      "taskTags": [
        "Style"
      ]
    },
    {
      "locale": "ko",
      "title": "내장 CSS",
      "section": "Style",
      "route": "/docs/ko/style/builtin-css",
      "summary": "question type, display style, validation error, name badge에 대한 default respondent CSS와 preview expectation입니다.",
      "canonicalTerms": [
        "built-in CSS",
        "Classic Clean",
        "question-name",
        "validation errors"
      ],
      "exampleCoverage": [
        "Preview coverage checklist",
        "Question name badges",
        "Validation error styling"
      ],
      "keyContracts": [
        "Built-in CSS should be language-independent",
        "Respondent-facing guidance stays icon-first where possible"
      ],
      "relatedRoutes": [
        "/docs/ko/style",
        "/docs/ko/style/class-hooks",
        "/docs/ko/style/public-link-fallback"
      ],
      "taskTags": [
        "Style",
        "Validation"
      ]
    },
    {
      "locale": "ko",
      "title": "Public Link Fallback",
      "section": "Style",
      "route": "/docs/ko/style/public-link-fallback",
      "summary": "명시적이고 안전한 public style selection을 사용할 수 없을 때 Classic Clean으로 fallback하는 runtime 규칙입니다.",
      "canonicalTerms": [
        "Public Survey Link",
        "Classic Clean",
        "saved style selection",
        "CSS snapshot"
      ],
      "exampleCoverage": [
        "Runtime rule",
        "Authoring implications"
      ],
      "keyContracts": [
        "Fallback does not mutate stored style selection",
        "Unsafe style snapshots must not be injected"
      ],
      "relatedRoutes": [
        "/docs/ko/style",
        "/docs/ko/style/builtin-css",
        "/docs/ko/reference/changelog"
      ],
      "taskTags": [
        "Style",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "ko",
      "title": "클래스 훅",
      "section": "Style",
      "route": "/docs/ko/style/class-hooks",
      "summary": "Style Mode preview와 authored CSS override를 위한 deterministic rendered DSL class입니다.",
      "canonicalTerms": [
        "question",
        "question-desc",
        "question-error",
        "option",
        "attribute",
        "class hooks"
      ],
      "exampleCoverage": [
        "Question classes",
        "Option classes",
        "Attribute classes",
        "Authored class append behavior"
      ],
      "keyContracts": [
        "Class names stay stable for authored overrides",
        "Class hooks do not change answer semantics"
      ],
      "relatedRoutes": [
        "/docs/ko/style",
        "/docs/ko/style/builtin-css",
        "/docs/ko/html/dsl-guide"
      ],
      "taskTags": [
        "Style",
        "HTML DSL"
      ]
    },
    {
      "locale": "ko",
      "title": "런타임과 로직",
      "section": "Runtime",
      "route": "/docs/ko/runtime",
      "summary": "condition, template, run-code, validation, helper script, quota snapshot, answer piping, simulation의 runtime evaluation입니다.",
      "canonicalTerms": [
        "Runtime & Logic",
        "Template Expression",
        "run-code",
        "validation",
        "$quota",
        "$status"
      ],
      "exampleCoverage": [
        "Logic Guide",
        "Overlay Runtime",
        "Question Objects",
        "Validation & Errors"
      ],
      "keyContracts": [
        "Runtime logic uses controlled DSL locations",
        "Simulation and Survey Link share safe-evaluator expectations"
      ],
      "relatedRoutes": [
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/runtime/overlay",
        "/docs/ko/runtime/question-objects",
        "/docs/ko/runtime/validation-errors",
        "/docs/ko/runtime/run-generate-specify-condition"
      ],
      "taskTags": [
        "Runtime/Logic",
        "Question Objects",
        "Validation",
        "Run Generate",
        "Overlay"
      ]
    },
    {
      "locale": "ko",
      "title": "로직 가이드",
      "section": "Runtime",
      "route": "/docs/ko/runtime/logic-guide",
      "summary": "통제된 JavaScript 위치, helper availability, mutation boundary, shared safe evaluator behavior를 다룹니다.",
      "canonicalTerms": [
        "if",
        "condition",
        "run-code",
        "validation",
        "script",
        "$curr",
        "$now",
        "$params",
        "$quota",
        "$status"
      ],
      "exampleCoverage": [
        "Location table",
        "Runtime helpers",
        "Mutation boundary",
        "Redirect route evaluation"
      ],
      "keyContracts": [
        "Only run-code may mutate answers through allowed methods",
        "Template Expressions are render-time only"
      ],
      "relatedRoutes": [
        "/docs/ko/runtime",
        "/docs/ko/html/script-blocks",
        "/docs/ko/runtime/question-objects",
        "/docs/ko/html/terminal-redirects"
      ],
      "taskTags": [
        "Runtime/Logic",
        "Script Blocks",
        "Redirects",
        "Loops/Logic"
      ]
    },
    {
      "locale": "ko",
      "title": "Overlay Runtime",
      "section": "Runtime",
      "route": "/docs/ko/runtime/overlay",
      "summary": "rootless entry fragment, lang/dir metadata, unavailable state에 대한 overlay authoring과 Survey Link language application입니다.",
      "canonicalTerms": [
        "overlay",
        "entry",
        "lang",
        "dir",
        "?lang",
        "Survey Link"
      ],
      "exampleCoverage": [
        "Authoring entrypoint",
        "Per-language source format",
        "Unavailable language states"
      ],
      "keyContracts": [
        "Overlay changes translated text only, not canonical survey source",
        "Code-bearing DSL blocks are not translated as free text"
      ],
      "relatedRoutes": [
        "/docs/ko/runtime",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/reference/changelog"
      ],
      "taskTags": [
        "Overlay",
        "Runtime/Logic"
      ]
    },
    {
      "locale": "ko",
      "title": "문항 객체",
      "section": "Runtime",
      "route": "/docs/ko/runtime/question-objects",
      "summary": "Question object metadata, live answer state, alias, answer reader, $curr, $quota, mutation method를 설명합니다.",
      "canonicalTerms": [
        "Question Object",
        "$curr",
        "$quota",
        "setAnswer",
        "clearAnswer",
        "option aliases",
        "attribute aliases"
      ],
      "exampleCoverage": [
        "Core metadata",
        "Answer readers",
        "Aliases",
        "Mutation methods"
      ],
      "keyContracts": [
        "Metadata is read-only",
        "Mutation methods are available only in explicitly mutable flows"
      ],
      "relatedRoutes": [
        "/docs/ko/runtime",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/gui/question-editor"
      ],
      "taskTags": [
        "Question Objects",
        "Runtime/Logic",
        "Run Generate"
      ]
    },
    {
      "locale": "ko",
      "title": "검증과 오류",
      "section": "Runtime",
      "route": "/docs/ko/runtime/validation-errors",
      "summary": "question-local validation tag, error rendering, runtime-safe fallback behavior를 다룹니다.",
      "canonicalTerms": [
        "validation",
        "question-error",
        "required",
        "soft validation",
        "hard validation"
      ],
      "exampleCoverage": [
        "Validation tag",
        "Error area",
        "Fallback behavior"
      ],
      "keyContracts": [
        "Empty error containers must not consume layout height",
        "Validation must not mutate answers"
      ],
      "relatedRoutes": [
        "/docs/ko/runtime",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/style/builtin-css"
      ],
      "taskTags": [
        "Validation",
        "Runtime/Logic",
        "Style"
      ]
    },
    {
      "locale": "ko",
      "title": "Run Generate 조건",
      "section": "Runtime",
      "route": "/docs/ko/runtime/run-generate-specify-condition",
      "summary": "Run generate simulation pass를 위한 Specify Condition JSON scenario와 fixed answer override입니다.",
      "canonicalTerms": [
        "Run generate",
        "Specify Condition",
        "scenario",
        "count",
        "weight",
        "fixed answers"
      ],
      "exampleCoverage": [
        "JSON schema",
        "Scenario distribution",
        "Fixed overrides"
      ],
      "keyContracts": [
        "Sample size is the total generated row count",
        "Scenario count and weight distribute rows only"
      ],
      "relatedRoutes": [
        "/docs/ko/runtime",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/html/script-blocks"
      ],
      "taskTags": [
        "Run Generate",
        "Runtime/Logic",
        "Question Objects",
        "Validation"
      ]
    },
    {
      "locale": "ko",
      "title": "레퍼런스",
      "section": "Reference",
      "route": "/docs/ko/reference",
      "summary": "docs와 authoring behavior의 maintenance practice와 compatibility boundary를 설명합니다.",
      "canonicalTerms": [
        "Reference",
        "Compatibility Notes",
        "Maintenance Checklist",
        "Changelog"
      ],
      "exampleCoverage": [
        "Changelog",
        "Compatibility notes",
        "Maintenance checklist"
      ],
      "keyContracts": [
        "Reference pages track canonical terminology",
        "Docs maintenance follows current Survey Editor behavior"
      ],
      "relatedRoutes": [
        "/docs/ko/reference/changelog",
        "/docs/ko/reference/compatibility-notes",
        "/docs/ko/reference/maintenance-checklist"
      ],
      "taskTags": [
        "Reference",
        "Compatibility",
        "Maintenance",
        "Changelog"
      ]
    },
    {
      "locale": "ko",
      "title": "변경 이력",
      "section": "Reference",
      "route": "/docs/ko/reference/changelog",
      "summary": "최근 DSL, runtime, overlay, style, media update에 대한 docs entrypoint와 authoring documentation change log입니다.",
      "canonicalTerms": [
        "Changelog",
        "Asset Media",
        "Overlay Runtime",
        "redirectGroup",
        "display-style"
      ],
      "exampleCoverage": [
        "2026-07-07 updates",
        "2026-06-21 updates"
      ],
      "keyContracts": [
        "Changelog records docs-visible authoring contract changes",
        "Entries preserve canonical terminology"
      ],
      "relatedRoutes": [
        "/docs/ko/reference",
        "/docs/ko/html/asset-media",
        "/docs/ko/runtime/overlay",
        "/docs/ko/html/terminal-redirects"
      ],
      "taskTags": [
        "Reference",
        "Changelog",
        "Asset Media",
        "Overlay",
        "Redirects"
      ]
    },
    {
      "locale": "ko",
      "title": "호환성 노트",
      "section": "Reference",
      "route": "/docs/ko/reference/compatibility-notes",
      "summary": "number mode, rating mode, type-aware display style에 대한 canonical terminology와 legacy acceptance boundary입니다.",
      "canonicalTerms": [
        "mode=int|float",
        "display-style=input|slider|dial",
        "display-style=carousel|accordion",
        "rating mode=scale"
      ],
      "exampleCoverage": [
        "Canonical number boundary",
        "Rating scale boundary",
        "Display-style boundary"
      ],
      "keyContracts": [
        "Number mode is answer semantics only",
        "Question-level display-style is type-aware"
      ],
      "relatedRoutes": [
        "/docs/ko/reference",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/gui/question-editor"
      ],
      "taskTags": [
        "Reference",
        "Compatibility",
        "HTML DSL",
        "Style"
      ]
    },
    {
      "locale": "ko",
      "title": "유지보수 체크리스트",
      "section": "Reference",
      "route": "/docs/ko/reference/maintenance-checklist",
      "summary": "GUI, HTML, Style, Runtime, screenshot evidence, terminology, browser smoke를 최신 상태로 유지하기 위한 checklist입니다.",
      "canonicalTerms": [
        "Maintenance Checklist",
        "GUI",
        "HTML",
        "Style",
        "Runtime",
        "screenshots",
        "browser smoke"
      ],
      "exampleCoverage": [
        "Update steps",
        "Terminology scan",
        "Browser smoke"
      ],
      "keyContracts": [
        "Docs updates follow behavior changes",
        "Visible GUI changes require fresh actual-page screenshots"
      ],
      "relatedRoutes": [
        "/docs/ko/reference",
        "/docs/ko/reference/changelog",
        "/docs/ko/reference/compatibility-notes"
      ],
      "taskTags": [
        "Reference",
        "Maintenance",
        "GUI",
        "HTML DSL",
        "Style",
        "Runtime/Logic"
      ]
    }
  ],
  "taskIndex": [
    {
      "tag": "Asset Media",
      "routes": [
        "/docs/en/html",
        "/docs/en/html/asset-media",
        "/docs/en/reference/changelog",
        "/docs/ko/html",
        "/docs/ko/html/asset-media",
        "/docs/ko/reference/changelog"
      ]
    },
    {
      "tag": "Changelog",
      "routes": [
        "/docs/en/reference",
        "/docs/en/reference/changelog",
        "/docs/ko/reference",
        "/docs/ko/reference/changelog"
      ]
    },
    {
      "tag": "Compatibility",
      "routes": [
        "/docs/en/reference",
        "/docs/en/reference/compatibility-notes",
        "/docs/ko/reference",
        "/docs/ko/reference/compatibility-notes"
      ]
    },
    {
      "tag": "GUI",
      "routes": [
        "/docs/en",
        "/docs/en/gui",
        "/docs/en/gui/workbench-surface",
        "/docs/en/gui/question-editor",
        "/docs/en/gui/block-rail-context-menu",
        "/docs/en/html/dsl-guide",
        "/docs/en/html/asset-media",
        "/docs/en/reference/maintenance-checklist",
        "/docs/ko",
        "/docs/ko/gui",
        "/docs/ko/gui/workbench-surface",
        "/docs/ko/gui/question-editor",
        "/docs/ko/gui/block-rail-context-menu",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/html/asset-media",
        "/docs/ko/reference/maintenance-checklist"
      ]
    },
    {
      "tag": "HTML DSL",
      "routes": [
        "/docs/en",
        "/docs/en/html",
        "/docs/en/html/dsl-guide",
        "/docs/en/html/asset-media",
        "/docs/en/html/terminal-redirects",
        "/docs/en/html/sections-loops-logic",
        "/docs/en/style/class-hooks",
        "/docs/en/reference/compatibility-notes",
        "/docs/en/reference/maintenance-checklist",
        "/docs/ko",
        "/docs/ko/html",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/html/asset-media",
        "/docs/ko/html/terminal-redirects",
        "/docs/ko/html/sections-loops-logic",
        "/docs/ko/style/class-hooks",
        "/docs/ko/reference/compatibility-notes",
        "/docs/ko/reference/maintenance-checklist"
      ]
    },
    {
      "tag": "Loops/Logic",
      "routes": [
        "/docs/en/html",
        "/docs/en/html/sections-loops-logic",
        "/docs/en/runtime/logic-guide",
        "/docs/ko/html",
        "/docs/ko/html/sections-loops-logic",
        "/docs/ko/runtime/logic-guide"
      ]
    },
    {
      "tag": "Maintenance",
      "routes": [
        "/docs/en/reference",
        "/docs/en/reference/maintenance-checklist",
        "/docs/ko/reference",
        "/docs/ko/reference/maintenance-checklist"
      ]
    },
    {
      "tag": "Overlay",
      "routes": [
        "/docs/en/runtime",
        "/docs/en/runtime/overlay",
        "/docs/en/reference/changelog",
        "/docs/ko/runtime",
        "/docs/ko/runtime/overlay",
        "/docs/ko/reference/changelog"
      ]
    },
    {
      "tag": "Question Objects",
      "routes": [
        "/docs/en/gui/question-editor",
        "/docs/en/runtime",
        "/docs/en/runtime/question-objects",
        "/docs/en/runtime/run-generate-specify-condition",
        "/docs/ko/gui/question-editor",
        "/docs/ko/runtime",
        "/docs/ko/runtime/question-objects",
        "/docs/ko/runtime/run-generate-specify-condition"
      ]
    },
    {
      "tag": "Redirects",
      "routes": [
        "/docs/en/html",
        "/docs/en/html/terminal-redirects",
        "/docs/en/runtime/logic-guide",
        "/docs/en/reference/changelog",
        "/docs/ko/html",
        "/docs/ko/html/terminal-redirects",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/reference/changelog"
      ]
    },
    {
      "tag": "Reference",
      "routes": [
        "/docs/en",
        "/docs/en/reference",
        "/docs/en/reference/changelog",
        "/docs/en/reference/compatibility-notes",
        "/docs/en/reference/maintenance-checklist",
        "/docs/ko",
        "/docs/ko/reference",
        "/docs/ko/reference/changelog",
        "/docs/ko/reference/compatibility-notes",
        "/docs/ko/reference/maintenance-checklist"
      ]
    },
    {
      "tag": "Run Generate",
      "routes": [
        "/docs/en/html/script-blocks",
        "/docs/en/runtime",
        "/docs/en/runtime/question-objects",
        "/docs/en/runtime/run-generate-specify-condition",
        "/docs/ko/html/script-blocks",
        "/docs/ko/runtime",
        "/docs/ko/runtime/question-objects",
        "/docs/ko/runtime/run-generate-specify-condition"
      ]
    },
    {
      "tag": "Runtime/Logic",
      "routes": [
        "/docs/en",
        "/docs/en/html/terminal-redirects",
        "/docs/en/html/sections-loops-logic",
        "/docs/en/html/script-blocks",
        "/docs/en/style/public-link-fallback",
        "/docs/en/runtime",
        "/docs/en/runtime/logic-guide",
        "/docs/en/runtime/overlay",
        "/docs/en/runtime/question-objects",
        "/docs/en/runtime/validation-errors",
        "/docs/en/runtime/run-generate-specify-condition",
        "/docs/en/reference/maintenance-checklist",
        "/docs/ko",
        "/docs/ko/html/terminal-redirects",
        "/docs/ko/html/sections-loops-logic",
        "/docs/ko/html/script-blocks",
        "/docs/ko/style/public-link-fallback",
        "/docs/ko/runtime",
        "/docs/ko/runtime/logic-guide",
        "/docs/ko/runtime/overlay",
        "/docs/ko/runtime/question-objects",
        "/docs/ko/runtime/validation-errors",
        "/docs/ko/runtime/run-generate-specify-condition",
        "/docs/ko/reference/maintenance-checklist"
      ]
    },
    {
      "tag": "Script Blocks",
      "routes": [
        "/docs/en/html",
        "/docs/en/html/script-blocks",
        "/docs/en/runtime/logic-guide",
        "/docs/ko/html",
        "/docs/ko/html/script-blocks",
        "/docs/ko/runtime/logic-guide"
      ]
    },
    {
      "tag": "Style",
      "routes": [
        "/docs/en",
        "/docs/en/html/dsl-guide",
        "/docs/en/style",
        "/docs/en/style/builtin-css",
        "/docs/en/style/public-link-fallback",
        "/docs/en/style/class-hooks",
        "/docs/en/runtime/validation-errors",
        "/docs/en/reference/compatibility-notes",
        "/docs/en/reference/maintenance-checklist",
        "/docs/ko",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/style",
        "/docs/ko/style/builtin-css",
        "/docs/ko/style/public-link-fallback",
        "/docs/ko/style/class-hooks",
        "/docs/ko/runtime/validation-errors",
        "/docs/ko/reference/compatibility-notes",
        "/docs/ko/reference/maintenance-checklist"
      ]
    },
    {
      "tag": "Validation",
      "routes": [
        "/docs/en/gui/question-editor",
        "/docs/en/html/dsl-guide",
        "/docs/en/html/script-blocks",
        "/docs/en/style/builtin-css",
        "/docs/en/runtime",
        "/docs/en/runtime/validation-errors",
        "/docs/en/runtime/run-generate-specify-condition",
        "/docs/ko/gui/question-editor",
        "/docs/ko/html/dsl-guide",
        "/docs/ko/html/script-blocks",
        "/docs/ko/style/builtin-css",
        "/docs/ko/runtime",
        "/docs/ko/runtime/validation-errors",
        "/docs/ko/runtime/run-generate-specify-condition"
      ]
    }
  ]
}