pi-usereq 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.g.conf +20 -0
- package/.github/workflows/release-npm.yml +131 -0
- package/.gitignore +270 -0
- package/CHANGELOG.md +221 -0
- package/LICENSE +674 -0
- package/README.md +260 -0
- package/TODO.md +20 -0
- package/docs/pi.dev/agent-document-manifest.json +6399 -0
- package/docs/pi.dev/coding-agent-docs/compaction.md +394 -0
- package/docs/pi.dev/coding-agent-docs/custom-provider.md +596 -0
- package/docs/pi.dev/coding-agent-docs/development.md +71 -0
- package/docs/pi.dev/coding-agent-docs/extensions.md +2262 -0
- package/docs/pi.dev/coding-agent-docs/images/doom-extension.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/exy.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/interactive-mode.png +0 -0
- package/docs/pi.dev/coding-agent-docs/images/tree-view.png +0 -0
- package/docs/pi.dev/coding-agent-docs/json.md +82 -0
- package/docs/pi.dev/coding-agent-docs/keybindings.md +175 -0
- package/docs/pi.dev/coding-agent-docs/models.md +392 -0
- package/docs/pi.dev/coding-agent-docs/packages.md +218 -0
- package/docs/pi.dev/coding-agent-docs/prompt-templates.md +67 -0
- package/docs/pi.dev/coding-agent-docs/providers.md +195 -0
- package/docs/pi.dev/coding-agent-docs/rpc.md +1377 -0
- package/docs/pi.dev/coding-agent-docs/sdk.md +1124 -0
- package/docs/pi.dev/coding-agent-docs/session.md +412 -0
- package/docs/pi.dev/coding-agent-docs/settings.md +247 -0
- package/docs/pi.dev/coding-agent-docs/shell-aliases.md +13 -0
- package/docs/pi.dev/coding-agent-docs/skills.md +232 -0
- package/docs/pi.dev/coding-agent-docs/terminal-setup.md +106 -0
- package/docs/pi.dev/coding-agent-docs/termux.md +127 -0
- package/docs/pi.dev/coding-agent-docs/themes.md +295 -0
- package/docs/pi.dev/coding-agent-docs/tmux.md +61 -0
- package/docs/pi.dev/coding-agent-docs/tree.md +231 -0
- package/docs/pi.dev/coding-agent-docs/tui.md +887 -0
- package/docs/pi.dev/coding-agent-docs/windows.md +17 -0
- package/docs/pi.dev/mom-docs/artifacts-server.md +475 -0
- package/docs/pi.dev/mom-docs/events.md +307 -0
- package/docs/pi.dev/mom-docs/new.md +970 -0
- package/docs/pi.dev/mom-docs/sandbox.md +153 -0
- package/docs/pi.dev/mom-docs/slack-bot-minimal-guide.md +399 -0
- package/docs/pi.dev/mom-docs/v86.md +319 -0
- package/docs/pi.dev/pods-docs/gml-4.5.md +189 -0
- package/docs/pi.dev/pods-docs/gpt-oss.md +233 -0
- package/docs/pi.dev/pods-docs/implementation-plan.md +183 -0
- package/docs/pi.dev/pods-docs/kimi-k2.md +197 -0
- package/docs/pi.dev/pods-docs/models.md +116 -0
- package/docs/pi.dev/pods-docs/plan.md +166 -0
- package/docs/pi.dev/pods-docs/qwen3-coder.md +132 -0
- package/images/flowchart-bw.png +0 -0
- package/images/flowchart-bw.svg +102 -0
- package/images/flowchart.md +100 -0
- package/images/flowchart.png +0 -0
- package/images/flowchart.svg +3 -0
- package/package.json +46 -0
- package/req/docs/REFERENCES.md +4554 -0
- package/req/docs/REQUIREMENTS.md +475 -0
- package/req/docs/WORKFLOW.md +1059 -0
- package/scripts/debug-extension.ts +497 -0
- package/scripts/lib/extension-debug-harness.ts +450 -0
- package/scripts/lib/recording-extension-api.ts +786 -0
- package/scripts/lib/sdk-smoke.ts +503 -0
- package/scripts/pi-usereq-debug.sh +330 -0
- package/scripts/tool-args-to-params.ts +208 -0
- package/src/cli.ts +349 -0
- package/src/core/agent-tool-json.ts +621 -0
- package/src/core/compress-files.ts +72 -0
- package/src/core/compress-payload.ts +648 -0
- package/src/core/compress.ts +464 -0
- package/src/core/config.ts +272 -0
- package/src/core/doxygen-parser.ts +318 -0
- package/src/core/errors.ts +31 -0
- package/src/core/extension-status.ts +660 -0
- package/src/core/find-constructs.ts +319 -0
- package/src/core/find-payload.ts +915 -0
- package/src/core/generate-markdown.ts +120 -0
- package/src/core/path-context.ts +196 -0
- package/src/core/pi-notify.ts +430 -0
- package/src/core/pi-usereq-tools.ts +140 -0
- package/src/core/prompts.ts +184 -0
- package/src/core/reference-payload.ts +818 -0
- package/src/core/resources.ts +63 -0
- package/src/core/runtime-project-paths.ts +99 -0
- package/src/core/settings-menu.ts +233 -0
- package/src/core/source-analyzer.ts +1721 -0
- package/src/core/static-check.ts +674 -0
- package/src/core/token-counter.ts +729 -0
- package/src/core/tool-runner.ts +717 -0
- package/src/core/utils.ts +185 -0
- package/src/index.ts +2209 -0
- package/src/resources/guidelines/Google_C++_Style_Guide.md +3711 -0
- package/src/resources/guidelines/Google_Python_Style_Guide.md +3709 -0
- package/src/resources/prompts/analyze.md +130 -0
- package/src/resources/prompts/change.md +227 -0
- package/src/resources/prompts/check.md +139 -0
- package/src/resources/prompts/cover.md +219 -0
- package/src/resources/prompts/create.md +104 -0
- package/src/resources/prompts/fix.md +221 -0
- package/src/resources/prompts/flowchart.md +220 -0
- package/src/resources/prompts/implement.md +163 -0
- package/src/resources/prompts/new.md +226 -0
- package/src/resources/prompts/readme.md +182 -0
- package/src/resources/prompts/recreate.md +213 -0
- package/src/resources/prompts/refactor.md +213 -0
- package/src/resources/prompts/references.md +100 -0
- package/src/resources/prompts/renumber.md +119 -0
- package/src/resources/prompts/workflow.md +202 -0
- package/src/resources/prompts/write.md +99 -0
- package/src/resources/sounds/Machine-alert-beep-sound-effect.mp3 +0 -0
- package/src/resources/sounds/Soft-high-tech-notification-sound-effect.mp3 +0 -0
- package/src/resources/templates/Document_Source_Code_in_Doxygen_Style.md +130 -0
- package/src/resources/templates/HDT_Test_Authoring_Guide.md +318 -0
- package/src/resources/templates/Requirements_Template.md +78 -0
- package/tests/attended-results-scenarios.ts +758 -0
- package/tests/attended-results.test.ts +39 -0
- package/tests/cli-command-option-parity.test.ts +815 -0
- package/tests/debug-extension-harness.test.ts +463 -0
- package/tests/extension-registration.test.ts +2006 -0
- package/tests/fixtures/fixture_c.c +361 -0
- package/tests/fixtures/fixture_cpp.cpp +407 -0
- package/tests/fixtures/fixture_csharp.cs +411 -0
- package/tests/fixtures/fixture_elixir.ex +409 -0
- package/tests/fixtures/fixture_go.go +341 -0
- package/tests/fixtures/fixture_haskell.hs +250 -0
- package/tests/fixtures/fixture_java.java +430 -0
- package/tests/fixtures/fixture_javascript.js +383 -0
- package/tests/fixtures/fixture_kotlin.kt +451 -0
- package/tests/fixtures/fixture_lua.lua +276 -0
- package/tests/fixtures/fixture_perl.pl +310 -0
- package/tests/fixtures/fixture_php.php +433 -0
- package/tests/fixtures/fixture_python.py +502 -0
- package/tests/fixtures/fixture_ruby.rb +345 -0
- package/tests/fixtures/fixture_rust.rs +380 -0
- package/tests/fixtures/fixture_scala.scala +398 -0
- package/tests/fixtures/fixture_shell.sh +276 -0
- package/tests/fixtures/fixture_swift.swift +397 -0
- package/tests/fixtures/fixture_typescript.ts +434 -0
- package/tests/fixtures/fixture_zig.zig +295 -0
- package/tests/fixtures_attended_results/project/compress-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/compress.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-invalid-command.json +5 -0
- package/tests/fixtures_attended_results/project/enable-static-check-valid.json +5 -0
- package/tests/fixtures_attended_results/project/files-static-check.json +5 -0
- package/tests/fixtures_attended_results/project/find-line-numbers.json +5 -0
- package/tests/fixtures_attended_results/project/find.json +5 -0
- package/tests/fixtures_attended_results/project/get-base-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-clean.json +5 -0
- package/tests/fixtures_attended_results/project/git-check-dirty.json +5 -0
- package/tests/fixtures_attended_results/project/git-path.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-invalid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-create-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-nonexistent.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-delete-valid.json +5 -0
- package/tests/fixtures_attended_results/project/git-wt-name.json +5 -0
- package/tests/fixtures_attended_results/project/references.json +5 -0
- package/tests/fixtures_attended_results/project/static-check.json +5 -0
- package/tests/fixtures_attended_results/project/tokens.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-compress-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-find-line-numbers/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-references/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/files-tokens/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-command/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-dummy/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-pylance/fixture_zig.zig.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_c.c.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_cpp.cpp.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_csharp.cs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_elixir.ex.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_go.go.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_haskell.hs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_java.java.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_javascript.js.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_kotlin.kt.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_lua.lua.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_perl.pl.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_php.php.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_python.py.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_ruby.rb.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_rust.rs.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_scala.scala.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_shell.sh.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_swift.swift.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_typescript.ts.json +5 -0
- package/tests/fixtures_attended_results/standalone/test-static-check-ruff/fixture_zig.zig.json +5 -0
- package/tests/helpers.ts +204 -0
- package/tests/oracle-project.test.ts +63 -0
- package/tests/oracle-standalone.test.ts +48 -0
- package/tests/prompt-rendering.test.ts +66 -0
- package/tests/release-workflow.test.ts +133 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code": 0,
|
|
3
|
+
"stdout": "{\n \"request\": {\n \"tool_name\": \"files-references\",\n \"scope\": \"explicit-files\",\n \"base_dir_path\": \"<ROOT>\",\n \"source_directory_count\": 0,\n \"source_directory_paths\": [],\n \"requested_file_count\": 1,\n \"requested_input_paths\": [\n \"tests/fixtures/fixture_elixir.ex\"\n ],\n \"requested_canonical_paths\": [\n \"tests/fixtures/fixture_elixir.ex\"\n ]\n },\n \"summary\": {\n \"processable_file_count\": 1,\n \"analyzed_file_count\": 1,\n \"error_file_count\": 0,\n \"skipped_file_count\": 0,\n \"total_symbol_count\": 66,\n \"total_import_count\": 5,\n \"total_comment_count\": 57,\n \"total_standalone_comment_count\": 26,\n \"total_doxygen_field_count\": 33,\n \"symbol_kind_counts\": {\n \"FUNCTION\": 40,\n \"IMPL\": 6,\n \"MODULE\": 9,\n \"PROTOCOL\": 5,\n \"STRUCT\": 6\n }\n },\n \"repository\": {\n \"root_directory_path\": \"<ROOT>\",\n \"source_directory_paths\": [],\n \"file_count\": 1,\n \"file_canonical_paths\": [\n \"tests/fixtures/fixture_elixir.ex\"\n ],\n \"directory_tree\": {\n \"node_name\": \".\",\n \"relative_path\": \".\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"tests\",\n \"relative_path\": \"tests\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixtures\",\n \"relative_path\": \"tests/fixtures\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixture_elixir.ex\",\n \"relative_path\": \"tests/fixtures/fixture_elixir.ex\",\n \"node_kind\": \"file\",\n \"child_count\": 0,\n \"children\": []\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"files\": [\n {\n \"start_line_number\": 1,\n \"end_line_number\": 409,\n \"line_range\": [\n 1,\n 409\n ],\n \"request_index\": 0,\n \"input_path\": \"tests/fixtures/fixture_elixir.ex\",\n \"canonical_path\": \"tests/fixtures/fixture_elixir.ex\",\n \"absolute_path\": \"<ROOT>/tests/fixtures/fixture_elixir.ex\",\n \"file_name\": \"fixture_elixir.ex\",\n \"file_extension\": \".ex\",\n \"language_id\": \"elixir\",\n \"language_name\": \"Elixir\",\n \"status\": \"analyzed\",\n \"exists\": true,\n \"is_file\": true,\n \"import_count\": 5,\n \"symbol_count\": 66,\n \"comment_count\": 57,\n \"standalone_comment_count\": 26,\n \"doxygen_field_count\": 33,\n \"file_description_text\": \"@file fixture_elixir.ex\",\n \"imports\": [\n {\n \"start_line_number\": 18,\n \"end_line_number\": 18,\n \"line_range\": [\n 18,\n 18\n ],\n \"import_name\": \"GenServer\",\n \"statement_text\": \"use GenServer\"\n },\n {\n \"start_line_number\": 19,\n \"end_line_number\": 19,\n \"line_range\": [\n 19,\n 19\n ],\n \"import_name\": \"Enum\",\n \"statement_text\": \"import Enum\"\n },\n {\n \"start_line_number\": 20,\n \"end_line_number\": 20,\n \"line_range\": [\n 20,\n 20\n ],\n \"import_name\": \"MyApp.Config\",\n \"statement_text\": \"alias MyApp.Config\"\n },\n {\n \"start_line_number\": 21,\n \"end_line_number\": 21,\n \"line_range\": [\n 21,\n 21\n ],\n \"import_name\": \"MyApp.Server.State\",\n \"statement_text\": \"alias MyApp.Server.State\"\n },\n {\n \"start_line_number\": 22,\n \"end_line_number\": 22,\n \"line_range\": [\n 22,\n 22\n ],\n \"import_name\": \"Logger\",\n \"statement_text\": \"require Logger\"\n }\n ],\n \"symbols\": [\n {\n \"start_line_number\": 10,\n \"end_line_number\": 183,\n \"line_range\": [\n 10,\n 183\n ],\n \"declaration_order_index\": 0,\n \"symbol_name\": \"MyApp.Server\",\n \"qualified_name\": \"MyApp.Server\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.Server do\",\n \"child_symbol_names\": [\n \"add_item\",\n \"get_items\",\n \"notify\",\n \"via_tuple\",\n \"init\",\n \"handle_call\",\n \"handle_call\",\n \"handle_cast\",\n \"handle_info\",\n \"handle_internal\",\n \"my_macro\"\n ],\n \"child_qualified_names\": [\n \"MyApp.Server.add_item\",\n \"MyApp.Server.get_items\",\n \"MyApp.Server.notify\",\n \"MyApp.Server.via_tuple\",\n \"MyApp.Server.init\",\n \"MyApp.Server.handle_call\",\n \"MyApp.Server.handle_call\",\n \"MyApp.Server.handle_cast\",\n \"MyApp.Server.handle_info\",\n \"MyApp.Server.handle_internal\",\n \"MyApp.Server.my_macro\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Main module ───────────────────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Main module ───────────────────────────────────────────────────────\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 26,\n \"end_line_number\": 26,\n \"line_range\": [\n 26,\n 26\n ],\n \"text\": \"── Constants ───────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Constants ───────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 28,\n \"end_line_number\": 28,\n \"line_range\": [\n 28,\n 28\n ],\n \"text\": \"@brief Default timeout for GenServer calls in milliseconds.\",\n \"text_lines\": [\n \"@brief Default timeout for GenServer calls in milliseconds.\"\n ]\n },\n {\n \"start_line_number\": 31,\n \"end_line_number\": 31,\n \"line_range\": [\n 31,\n 31\n ],\n \"text\": \"@brief Maximum items stored in server state.\",\n \"text_lines\": [\n \"@brief Maximum items stored in server state.\"\n ]\n },\n {\n \"start_line_number\": 34,\n \"end_line_number\": 34,\n \"line_range\": [\n 34,\n 34\n ],\n \"text\": \"── Struct ──────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Struct ──────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 46,\n \"end_line_number\": 46,\n \"line_range\": [\n 46,\n 46\n ],\n \"text\": \"── Typespecs ───────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Typespecs ───────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 57,\n \"end_line_number\": 57,\n \"line_range\": [\n 57,\n 57\n ],\n \"text\": \"── Public API ──────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Public API ──────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 106,\n \"end_line_number\": 106,\n \"line_range\": [\n 106,\n 106\n ],\n \"text\": \"── Private helpers ─────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Private helpers ─────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 108,\n \"end_line_number\": 108,\n \"line_range\": [\n 108,\n 108\n ],\n \"text\": \"@brief Generate a via-tuple for process registration.\",\n \"text_lines\": [\n \"@brief Generate a via-tuple for process registration.\"\n ]\n },\n {\n \"start_line_number\": 109,\n \"end_line_number\": 109,\n \"line_range\": [\n 109,\n 109\n ],\n \"text\": \"@param name The server name.\",\n \"text_lines\": [\n \"@param name The server name.\"\n ]\n },\n {\n \"start_line_number\": 110,\n \"end_line_number\": 110,\n \"line_range\": [\n 110,\n 110\n ],\n \"text\": \"@return Via-tuple for Registry lookup.\",\n \"text_lines\": [\n \"@return Via-tuple for Registry lookup.\"\n ]\n },\n {\n \"start_line_number\": 115,\n \"end_line_number\": 115,\n \"line_range\": [\n 115,\n 115\n ],\n \"text\": \"── GenServer callbacks ─────────────────────────────────────────────\",\n \"text_lines\": [\n \"── GenServer callbacks ─────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 119,\n \"end_line_number\": 119,\n \"line_range\": [\n 119,\n 119\n ],\n \"text\": \"Validate required options\",\n \"text_lines\": [\n \"Validate required options\"\n ]\n },\n {\n \"start_line_number\": 135,\n \"end_line_number\": 135,\n \"line_range\": [\n 135,\n 135\n ],\n \"text\": \"Check capacity before adding\",\n \"text_lines\": [\n \"Check capacity before adding\"\n ]\n },\n {\n \"start_line_number\": 161,\n \"end_line_number\": 161,\n \"line_range\": [\n 161,\n 161\n ],\n \"text\": \"@brief Handle internal state cleanup and maintenance.\",\n \"text_lines\": [\n \"@brief Handle internal state cleanup and maintenance.\"\n ]\n },\n {\n \"start_line_number\": 162,\n \"end_line_number\": 162,\n \"line_range\": [\n 162,\n 162\n ],\n \"text\": \"@param state Current server state.\",\n \"text_lines\": [\n \"@param state Current server state.\"\n ]\n },\n {\n \"start_line_number\": 163,\n \"end_line_number\": 163,\n \"line_range\": [\n 163,\n 163\n ],\n \"text\": \"@return Updated state with pruned items.\",\n \"text_lines\": [\n \"@return Updated state with pruned items.\"\n ]\n },\n {\n \"start_line_number\": 165,\n \"end_line_number\": 165,\n \"line_range\": [\n 165,\n 165\n ],\n \"text\": \"Prune items exceeding max capacity\",\n \"text_lines\": [\n \"Prune items exceeding max capacity\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 44,\n \"end_line_number\": 69,\n \"line_range\": [\n 44,\n 69\n ],\n \"declaration_order_index\": 1,\n \"symbol_name\": \"[:name, :port, items: [], started_at: nil]\",\n \"qualified_name\": \"[:name, :port, items: [], started_at: nil]\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"defstruct [:name, :port, items: [], started_at: nil]\",\n \"child_symbol_names\": [\n \"start_link\"\n ],\n \"child_qualified_names\": [\n \"[:name, :port, items: [], started_at: nil].start_link\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Maximum items stored in server state.\",\n \"doxygen\": {\n \"brief\": [\n \"Maximum items stored in server state.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 46,\n \"end_line_number\": 46,\n \"line_range\": [\n 46,\n 46\n ],\n \"text\": \"── Typespecs ───────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Typespecs ───────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 57,\n \"end_line_number\": 57,\n \"line_range\": [\n 57,\n 57\n ],\n \"text\": \"── Public API ──────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Public API ──────────────────────────────────────────────────────\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 66,\n \"end_line_number\": 69,\n \"line_range\": [\n 66,\n 69\n ],\n \"declaration_order_index\": 2,\n \"symbol_name\": \"start_link\",\n \"qualified_name\": \"[:name, :port, items: [], started_at: nil].start_link\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def start_link(opts) do\",\n \"parent_symbol_name\": \"[:name, :port, items: [], started_at: nil]\",\n \"parent_qualified_name\": \"[:name, :port, items: [], started_at: nil]\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 79,\n \"end_line_number\": 81,\n \"line_range\": [\n 79,\n 81\n ],\n \"declaration_order_index\": 3,\n \"symbol_name\": \"add_item\",\n \"qualified_name\": \"MyApp.Server.add_item\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def add_item(server, item) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 90,\n \"end_line_number\": 92,\n \"line_range\": [\n 90,\n 92\n ],\n \"declaration_order_index\": 4,\n \"symbol_name\": \"get_items\",\n \"qualified_name\": \"MyApp.Server.get_items\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def get_items(server) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 102,\n \"end_line_number\": 104,\n \"line_range\": [\n 102,\n 104\n ],\n \"declaration_order_index\": 5,\n \"symbol_name\": \"notify\",\n \"qualified_name\": \"MyApp.Server.notify\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def notify(server, event) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 111,\n \"end_line_number\": 113,\n \"line_range\": [\n 111,\n 113\n ],\n \"declaration_order_index\": 6,\n \"symbol_name\": \"via_tuple\",\n \"qualified_name\": \"MyApp.Server.via_tuple\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"defp via_tuple(name) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Generate a via-tuple for process registration.\",\n \"doxygen\": {\n \"brief\": [\n \"Generate a via-tuple for process registration.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"name\",\n \"description\": \"The server name.\"\n }\n ],\n \"returns\": [\n \"Via-tuple for Registry lookup.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 118,\n \"end_line_number\": 131,\n \"line_range\": [\n 118,\n 131\n ],\n \"declaration_order_index\": 7,\n \"symbol_name\": \"init\",\n \"qualified_name\": \"MyApp.Server.init\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def init(opts) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"── GenServer callbacks ─────────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── GenServer callbacks ─────────────────────────────────────────────\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 119,\n \"end_line_number\": 119,\n \"line_range\": [\n 119,\n 119\n ],\n \"text\": \"Validate required options\",\n \"text_lines\": [\n \"Validate required options\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 134,\n \"end_line_number\": 142,\n \"line_range\": [\n 134,\n 142\n ],\n \"declaration_order_index\": 8,\n \"symbol_name\": \"handle_call\",\n \"qualified_name\": \"MyApp.Server.handle_call\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def handle_call({:add_item, item}, _from, state) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [\n {\n \"start_line_number\": 135,\n \"end_line_number\": 135,\n \"line_range\": [\n 135,\n 135\n ],\n \"text\": \"Check capacity before adding\",\n \"text_lines\": [\n \"Check capacity before adding\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 145,\n \"end_line_number\": 147,\n \"line_range\": [\n 145,\n 147\n ],\n \"declaration_order_index\": 9,\n \"symbol_name\": \"handle_call\",\n \"qualified_name\": \"MyApp.Server.handle_call\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def handle_call(:get_items, _from, state) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 150,\n \"end_line_number\": 153,\n \"line_range\": [\n 150,\n 153\n ],\n \"declaration_order_index\": 10,\n \"symbol_name\": \"handle_cast\",\n \"qualified_name\": \"MyApp.Server.handle_cast\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def handle_cast({:notify, event}, state) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 156,\n \"end_line_number\": 159,\n \"line_range\": [\n 156,\n 159\n ],\n \"declaration_order_index\": 11,\n \"symbol_name\": \"handle_info\",\n \"qualified_name\": \"MyApp.Server.handle_info\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def handle_info(:timeout, state) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 164,\n \"end_line_number\": 168,\n \"line_range\": [\n 164,\n 168\n ],\n \"declaration_order_index\": 12,\n \"symbol_name\": \"handle_internal\",\n \"qualified_name\": \"MyApp.Server.handle_internal\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"defp handle_internal(state) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Handle internal state cleanup and maintenance.\",\n \"doxygen\": {\n \"brief\": [\n \"Handle internal state cleanup and maintenance.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"state\",\n \"description\": \"Current server state.\"\n }\n ],\n \"returns\": [\n \"Updated state with pruned items.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 165,\n \"end_line_number\": 165,\n \"line_range\": [\n 165,\n 165\n ],\n \"text\": \"Prune items exceeding max capacity\",\n \"text_lines\": [\n \"Prune items exceeding max capacity\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 176,\n \"end_line_number\": 182,\n \"line_range\": [\n 176,\n 182\n ],\n \"declaration_order_index\": 13,\n \"symbol_name\": \"my_macro\",\n \"qualified_name\": \"MyApp.Server.my_macro\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"defmacro my_macro(expr) do\",\n \"parent_symbol_name\": \"MyApp.Server\",\n \"parent_qualified_name\": \"MyApp.Server\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 187,\n \"end_line_number\": 200,\n \"line_range\": [\n 187,\n 200\n ],\n \"declaration_order_index\": 14,\n \"symbol_name\": \"Printable\",\n \"qualified_name\": \"Printable\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"defprotocol Printable do\",\n \"child_symbol_names\": [\n \"print\",\n \"print\",\n \"print\"\n ],\n \"child_qualified_names\": [\n \"Printable.print\",\n \"Printable.print\",\n \"Printable.print\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Protocol ──────────────────────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Protocol ──────────────────────────────────────────────────────────\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 199,\n \"end_line_number\": 200,\n \"line_range\": [\n 199,\n 200\n ],\n \"declaration_order_index\": 15,\n \"symbol_name\": \"print\",\n \"qualified_name\": \"Printable.print\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def print(data)\",\n \"parent_symbol_name\": \"Printable\",\n \"parent_qualified_name\": \"Printable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 204,\n \"end_line_number\": 214,\n \"line_range\": [\n 204,\n 214\n ],\n \"declaration_order_index\": 16,\n \"symbol_name\": \"Printable\",\n \"qualified_name\": \"Printable\",\n \"symbol_kind\": \"IMPL\",\n \"type_label\": \"IMPL\",\n \"signature_text\": \"defimpl Printable, for: MyApp.Server do\",\n \"child_symbol_names\": [\n \"print\",\n \"print\",\n \"print\"\n ],\n \"child_qualified_names\": [\n \"Printable.print\",\n \"Printable.print\",\n \"Printable.print\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Protocol implementation ───────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Protocol implementation ───────────────────────────────────────────\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 211,\n \"end_line_number\": 213,\n \"line_range\": [\n 211,\n 213\n ],\n \"declaration_order_index\": 17,\n \"symbol_name\": \"print\",\n \"qualified_name\": \"Printable.print\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def print(server) do\",\n \"parent_symbol_name\": \"Printable\",\n \"parent_qualified_name\": \"Printable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 216,\n \"end_line_number\": 220,\n \"line_range\": [\n 216,\n 220\n ],\n \"declaration_order_index\": 18,\n \"symbol_name\": \"Printable\",\n \"qualified_name\": \"Printable\",\n \"symbol_kind\": \"IMPL\",\n \"type_label\": \"IMPL\",\n \"signature_text\": \"defimpl Printable, for: BitString do\",\n \"child_symbol_names\": [\n \"print\",\n \"print\",\n \"print\"\n ],\n \"child_qualified_names\": [\n \"Printable.print\",\n \"Printable.print\",\n \"Printable.print\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 217,\n \"end_line_number\": 219,\n \"line_range\": [\n 217,\n 219\n ],\n \"declaration_order_index\": 19,\n \"symbol_name\": \"print\",\n \"qualified_name\": \"Printable.print\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def print(str) do\",\n \"parent_symbol_name\": \"Printable\",\n \"parent_qualified_name\": \"Printable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 224,\n \"end_line_number\": 296,\n \"line_range\": [\n 224,\n 296\n ],\n \"declaration_order_index\": 20,\n \"symbol_name\": \"MyApp.Utils\",\n \"qualified_name\": \"MyApp.Utils\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.Utils do\",\n \"child_symbol_names\": [\n \"classify\",\n \"classify\",\n \"classify\",\n \"classify\",\n \"classify\",\n \"classify\",\n \"process_list\",\n \"pythagorean_triples\",\n \"safe_divide\",\n \"safe_divide\",\n \"factorial\",\n \"factorial\"\n ],\n \"child_qualified_names\": [\n \"MyApp.Utils.classify\",\n \"MyApp.Utils.classify\",\n \"MyApp.Utils.classify\",\n \"MyApp.Utils.classify\",\n \"MyApp.Utils.classify\",\n \"MyApp.Utils.classify\",\n \"MyApp.Utils.process_list\",\n \"MyApp.Utils.pythagorean_triples\",\n \"MyApp.Utils.safe_divide\",\n \"MyApp.Utils.safe_divide\",\n \"MyApp.Utils.factorial\",\n \"MyApp.Utils.factorial\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Utility module with guards and pipes ──────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Utility module with guards and pipes ──────────────────────────────\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 237,\n \"end_line_number\": 258,\n \"line_range\": [\n 237,\n 258\n ],\n \"declaration_order_index\": 21,\n \"symbol_name\": \"classify\",\n \"qualified_name\": \"MyApp.Utils.classify\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def classify(value) when is_integer(value) and value > 0, do: :positive\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 238,\n \"end_line_number\": 258,\n \"line_range\": [\n 238,\n 258\n ],\n \"declaration_order_index\": 22,\n \"symbol_name\": \"classify\",\n \"qualified_name\": \"MyApp.Utils.classify\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def classify(value) when is_integer(value) and value < 0, do: :negative\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 239,\n \"end_line_number\": 258,\n \"line_range\": [\n 239,\n 258\n ],\n \"declaration_order_index\": 23,\n \"symbol_name\": \"classify\",\n \"qualified_name\": \"MyApp.Utils.classify\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def classify(0), do: :zero\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 240,\n \"end_line_number\": 258,\n \"line_range\": [\n 240,\n 258\n ],\n \"declaration_order_index\": 24,\n \"symbol_name\": \"classify\",\n \"qualified_name\": \"MyApp.Utils.classify\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def classify(value) when is_binary(value), do: :string\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 241,\n \"end_line_number\": 258,\n \"line_range\": [\n 241,\n 258\n ],\n \"declaration_order_index\": 25,\n \"symbol_name\": \"classify\",\n \"qualified_name\": \"MyApp.Utils.classify\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def classify(value) when is_list(value), do: :list\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 242,\n \"end_line_number\": 258,\n \"line_range\": [\n 242,\n 258\n ],\n \"declaration_order_index\": 26,\n \"symbol_name\": \"classify\",\n \"qualified_name\": \"MyApp.Utils.classify\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def classify(_), do: :unknown\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 251,\n \"end_line_number\": 258,\n \"line_range\": [\n 251,\n 258\n ],\n \"declaration_order_index\": 27,\n \"symbol_name\": \"process_list\",\n \"qualified_name\": \"MyApp.Utils.process_list\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def process_list(items) do\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 267,\n \"end_line_number\": 274,\n \"line_range\": [\n 267,\n 274\n ],\n \"declaration_order_index\": 28,\n \"symbol_name\": \"pythagorean_triples\",\n \"qualified_name\": \"MyApp.Utils.pythagorean_triples\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def pythagorean_triples(range) do\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 284,\n \"end_line_number\": 296,\n \"line_range\": [\n 284,\n 296\n ],\n \"declaration_order_index\": 29,\n \"symbol_name\": \"safe_divide\",\n \"qualified_name\": \"MyApp.Utils.safe_divide\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def safe_divide(_, 0), do: {:error, :division_by_zero}\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 285,\n \"end_line_number\": 296,\n \"line_range\": [\n 285,\n 296\n ],\n \"declaration_order_index\": 30,\n \"symbol_name\": \"safe_divide\",\n \"qualified_name\": \"MyApp.Utils.safe_divide\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def safe_divide(a, b), do: {:ok, a / b}\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 294,\n \"end_line_number\": 296,\n \"line_range\": [\n 294,\n 296\n ],\n \"declaration_order_index\": 31,\n \"symbol_name\": \"factorial\",\n \"qualified_name\": \"MyApp.Utils.factorial\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def factorial(0), do: 1\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 295,\n \"end_line_number\": 296,\n \"line_range\": [\n 295,\n 296\n ],\n \"declaration_order_index\": 32,\n \"symbol_name\": \"factorial\",\n \"qualified_name\": \"MyApp.Utils.factorial\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def factorial(n) when n > 0, do: n * factorial(n - 1)\",\n \"parent_symbol_name\": \"MyApp.Utils\",\n \"parent_qualified_name\": \"MyApp.Utils\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 300,\n \"end_line_number\": 315,\n \"line_range\": [\n 300,\n 315\n ],\n \"declaration_order_index\": 33,\n \"symbol_name\": \"MyApp.Plugin\",\n \"qualified_name\": \"MyApp.Plugin\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.Plugin do\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Behaviour definition ─────────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Behaviour definition ─────────────────────────────────────────────\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 318,\n \"end_line_number\": 321,\n \"line_range\": [\n 318,\n 321\n ],\n \"declaration_order_index\": 34,\n \"symbol_name\": \"MyApp.Extra\",\n \"qualified_name\": \"MyApp.Extra\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.Extra do\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"coverage extension block\",\n \"attached_comment_lines\": [\n \"coverage extension block\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 319,\n \"end_line_number\": 319,\n \"line_range\": [\n 319,\n 319\n ],\n \"text\": \"inline module comment\",\n \"text_lines\": [\n \"inline module comment\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 320,\n \"end_line_number\": 321,\n \"line_range\": [\n 320,\n 321\n ],\n \"declaration_order_index\": 35,\n \"symbol_name\": \"[:name]\",\n \"qualified_name\": \"[:name]\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"defstruct [:name]\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"inline module comment\",\n \"attached_comment_lines\": [\n \"inline module comment\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 323,\n \"end_line_number\": 325,\n \"line_range\": [\n 323,\n 325\n ],\n \"declaration_order_index\": 36,\n \"symbol_name\": \"MyApp.Audit\",\n \"qualified_name\": \"MyApp.Audit\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.Audit do\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 324,\n \"end_line_number\": 325,\n \"line_range\": [\n 324,\n 325\n ],\n \"declaration_order_index\": 37,\n \"symbol_name\": \"[:id]\",\n \"qualified_name\": \"[:id]\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"defstruct [:id]\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 327,\n \"end_line_number\": 329,\n \"line_range\": [\n 327,\n 329\n ],\n \"declaration_order_index\": 38,\n \"symbol_name\": \"MyApp.State\",\n \"qualified_name\": \"MyApp.State\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.State do\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 328,\n \"end_line_number\": 329,\n \"line_range\": [\n 328,\n 329\n ],\n \"declaration_order_index\": 39,\n \"symbol_name\": \"[:status]\",\n \"qualified_name\": \"[:status]\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"defstruct [:status]\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 331,\n \"end_line_number\": 333,\n \"line_range\": [\n 331,\n 333\n ],\n \"declaration_order_index\": 40,\n \"symbol_name\": \"MyApp.Payload\",\n \"qualified_name\": \"MyApp.Payload\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.Payload do\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 332,\n \"end_line_number\": 333,\n \"line_range\": [\n 332,\n 333\n ],\n \"declaration_order_index\": 41,\n \"symbol_name\": \"[:value]\",\n \"qualified_name\": \"[:value]\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"defstruct [:value]\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 335,\n \"end_line_number\": 337,\n \"line_range\": [\n 335,\n 337\n ],\n \"declaration_order_index\": 42,\n \"symbol_name\": \"MyApp.Context\",\n \"qualified_name\": \"MyApp.Context\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule MyApp.Context do\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 336,\n \"end_line_number\": 337,\n \"line_range\": [\n 336,\n 337\n ],\n \"declaration_order_index\": 43,\n \"symbol_name\": \"[:meta]\",\n \"qualified_name\": \"[:meta]\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"defstruct [:meta]\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 339,\n \"end_line_number\": 341,\n \"line_range\": [\n 339,\n 341\n ],\n \"declaration_order_index\": 44,\n \"symbol_name\": \"Auditable\",\n \"qualified_name\": \"Auditable\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"defprotocol Auditable do\",\n \"child_symbol_names\": [\n \"audit\",\n \"audit\"\n ],\n \"child_qualified_names\": [\n \"Auditable.audit\",\n \"Auditable.audit\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 340,\n \"end_line_number\": 341,\n \"line_range\": [\n 340,\n 341\n ],\n \"declaration_order_index\": 45,\n \"symbol_name\": \"audit\",\n \"qualified_name\": \"Auditable.audit\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def audit(data)\",\n \"parent_symbol_name\": \"Auditable\",\n \"parent_qualified_name\": \"Auditable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 343,\n \"end_line_number\": 345,\n \"line_range\": [\n 343,\n 345\n ],\n \"declaration_order_index\": 46,\n \"symbol_name\": \"Renderable\",\n \"qualified_name\": \"Renderable\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"defprotocol Renderable do\",\n \"child_symbol_names\": [\n \"render\",\n \"render\"\n ],\n \"child_qualified_names\": [\n \"Renderable.render\",\n \"Renderable.render\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 344,\n \"end_line_number\": 345,\n \"line_range\": [\n 344,\n 345\n ],\n \"declaration_order_index\": 47,\n \"symbol_name\": \"render\",\n \"qualified_name\": \"Renderable.render\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def render(data)\",\n \"parent_symbol_name\": \"Renderable\",\n \"parent_qualified_name\": \"Renderable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 347,\n \"end_line_number\": 349,\n \"line_range\": [\n 347,\n 349\n ],\n \"declaration_order_index\": 48,\n \"symbol_name\": \"Parsable\",\n \"qualified_name\": \"Parsable\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"defprotocol Parsable do\",\n \"child_symbol_names\": [\n \"parse\",\n \"parse\"\n ],\n \"child_qualified_names\": [\n \"Parsable.parse\",\n \"Parsable.parse\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 348,\n \"end_line_number\": 349,\n \"line_range\": [\n 348,\n 349\n ],\n \"declaration_order_index\": 49,\n \"symbol_name\": \"parse\",\n \"qualified_name\": \"Parsable.parse\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def parse(data)\",\n \"parent_symbol_name\": \"Parsable\",\n \"parent_qualified_name\": \"Parsable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 351,\n \"end_line_number\": 353,\n \"line_range\": [\n 351,\n 353\n ],\n \"declaration_order_index\": 50,\n \"symbol_name\": \"Validatable\",\n \"qualified_name\": \"Validatable\",\n \"symbol_kind\": \"PROTOCOL\",\n \"type_label\": \"PROTOCOL\",\n \"signature_text\": \"defprotocol Validatable do\",\n \"child_symbol_names\": [\n \"validate\",\n \"validate\"\n ],\n \"child_qualified_names\": [\n \"Validatable.validate\",\n \"Validatable.validate\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 352,\n \"end_line_number\": 353,\n \"line_range\": [\n 352,\n 353\n ],\n \"declaration_order_index\": 51,\n \"symbol_name\": \"validate\",\n \"qualified_name\": \"Validatable.validate\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def validate(data)\",\n \"parent_symbol_name\": \"Validatable\",\n \"parent_qualified_name\": \"Validatable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 355,\n \"end_line_number\": 357,\n \"line_range\": [\n 355,\n 357\n ],\n \"declaration_order_index\": 52,\n \"symbol_name\": \"Auditable\",\n \"qualified_name\": \"Auditable\",\n \"symbol_kind\": \"IMPL\",\n \"type_label\": \"IMPL\",\n \"signature_text\": \"defimpl Auditable, for: Any do\",\n \"child_symbol_names\": [\n \"audit\",\n \"audit\"\n ],\n \"child_qualified_names\": [\n \"Auditable.audit\",\n \"Auditable.audit\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 356,\n \"end_line_number\": 357,\n \"line_range\": [\n 356,\n 357\n ],\n \"declaration_order_index\": 53,\n \"symbol_name\": \"audit\",\n \"qualified_name\": \"Auditable.audit\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def audit(data), do: data\",\n \"parent_symbol_name\": \"Auditable\",\n \"parent_qualified_name\": \"Auditable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 359,\n \"end_line_number\": 361,\n \"line_range\": [\n 359,\n 361\n ],\n \"declaration_order_index\": 54,\n \"symbol_name\": \"Renderable\",\n \"qualified_name\": \"Renderable\",\n \"symbol_kind\": \"IMPL\",\n \"type_label\": \"IMPL\",\n \"signature_text\": \"defimpl Renderable, for: Any do\",\n \"child_symbol_names\": [\n \"render\",\n \"render\"\n ],\n \"child_qualified_names\": [\n \"Renderable.render\",\n \"Renderable.render\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 360,\n \"end_line_number\": 361,\n \"line_range\": [\n 360,\n 361\n ],\n \"declaration_order_index\": 55,\n \"symbol_name\": \"render\",\n \"qualified_name\": \"Renderable.render\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def render(data), do: data\",\n \"parent_symbol_name\": \"Renderable\",\n \"parent_qualified_name\": \"Renderable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 363,\n \"end_line_number\": 365,\n \"line_range\": [\n 363,\n 365\n ],\n \"declaration_order_index\": 56,\n \"symbol_name\": \"Parsable\",\n \"qualified_name\": \"Parsable\",\n \"symbol_kind\": \"IMPL\",\n \"type_label\": \"IMPL\",\n \"signature_text\": \"defimpl Parsable, for: Any do\",\n \"child_symbol_names\": [\n \"parse\",\n \"parse\"\n ],\n \"child_qualified_names\": [\n \"Parsable.parse\",\n \"Parsable.parse\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 364,\n \"end_line_number\": 365,\n \"line_range\": [\n 364,\n 365\n ],\n \"declaration_order_index\": 57,\n \"symbol_name\": \"parse\",\n \"qualified_name\": \"Parsable.parse\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def parse(data), do: data\",\n \"parent_symbol_name\": \"Parsable\",\n \"parent_qualified_name\": \"Parsable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 367,\n \"end_line_number\": 369,\n \"line_range\": [\n 367,\n 369\n ],\n \"declaration_order_index\": 58,\n \"symbol_name\": \"Validatable\",\n \"qualified_name\": \"Validatable\",\n \"symbol_kind\": \"IMPL\",\n \"type_label\": \"IMPL\",\n \"signature_text\": \"defimpl Validatable, for: Any do\",\n \"child_symbol_names\": [\n \"validate\",\n \"validate\"\n ],\n \"child_qualified_names\": [\n \"Validatable.validate\",\n \"Validatable.validate\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 368,\n \"end_line_number\": 369,\n \"line_range\": [\n 368,\n 369\n ],\n \"declaration_order_index\": 59,\n \"symbol_name\": \"validate\",\n \"qualified_name\": \"Validatable.validate\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def validate(data), do: data\",\n \"parent_symbol_name\": \"Validatable\",\n \"parent_qualified_name\": \"Validatable\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 372,\n \"end_line_number\": 408,\n \"line_range\": [\n 372,\n 408\n ],\n \"declaration_order_index\": 60,\n \"symbol_name\": \"ReqCoverElixir\",\n \"qualified_name\": \"ReqCoverElixir\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"defmodule ReqCoverElixir do\",\n \"child_symbol_names\": [\n \"req_cover_elixir_1\",\n \"req_cover_elixir_2\",\n \"req_cover_elixir_3\",\n \"req_cover_elixir_4\",\n \"req_cover_elixir_5\"\n ],\n \"child_qualified_names\": [\n \"ReqCoverElixir.req_cover_elixir_1\",\n \"ReqCoverElixir.req_cover_elixir_2\",\n \"ReqCoverElixir.req_cover_elixir_3\",\n \"ReqCoverElixir.req_cover_elixir_4\",\n \"ReqCoverElixir.req_cover_elixir_5\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 1.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 1.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 1.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 373,\n \"end_line_number\": 373,\n \"line_range\": [\n 373,\n 373\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 1\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 1\"\n ]\n },\n {\n \"start_line_number\": 374,\n \"end_line_number\": 374,\n \"line_range\": [\n 374,\n 374\n ],\n \"text\": \"@brief Coverage helper construct 1.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 1.\"\n ]\n },\n {\n \"start_line_number\": 375,\n \"end_line_number\": 375,\n \"line_range\": [\n 375,\n 375\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 1.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 1.\"\n ]\n },\n {\n \"start_line_number\": 376,\n \"end_line_number\": 376,\n \"line_range\": [\n 376,\n 376\n ],\n \"text\": \"@param value Input value for helper construct 1.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 1.\"\n ]\n },\n {\n \"start_line_number\": 377,\n \"end_line_number\": 377,\n \"line_range\": [\n 377,\n 377\n ],\n \"text\": \"@return Output value for helper construct 1.\",\n \"text_lines\": [\n \"@return Output value for helper construct 1.\"\n ]\n },\n {\n \"start_line_number\": 380,\n \"end_line_number\": 380,\n \"line_range\": [\n 380,\n 380\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 2\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 2\"\n ]\n },\n {\n \"start_line_number\": 381,\n \"end_line_number\": 381,\n \"line_range\": [\n 381,\n 381\n ],\n \"text\": \"@brief Coverage helper construct 2.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 382,\n \"end_line_number\": 382,\n \"line_range\": [\n 382,\n 382\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 2.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 2.\"\n ]\n },\n {\n \"start_line_number\": 383,\n \"end_line_number\": 383,\n \"line_range\": [\n 383,\n 383\n ],\n \"text\": \"@param value Input value for helper construct 2.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 384,\n \"end_line_number\": 384,\n \"line_range\": [\n 384,\n 384\n ],\n \"text\": \"@return Output value for helper construct 2.\",\n \"text_lines\": [\n \"@return Output value for helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 387,\n \"end_line_number\": 387,\n \"line_range\": [\n 387,\n 387\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 3\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 3\"\n ]\n },\n {\n \"start_line_number\": 388,\n \"end_line_number\": 388,\n \"line_range\": [\n 388,\n 388\n ],\n \"text\": \"@brief Coverage helper construct 3.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 389,\n \"end_line_number\": 389,\n \"line_range\": [\n 389,\n 389\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 3.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 3.\"\n ]\n },\n {\n \"start_line_number\": 390,\n \"end_line_number\": 390,\n \"line_range\": [\n 390,\n 390\n ],\n \"text\": \"@param value Input value for helper construct 3.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 391,\n \"end_line_number\": 391,\n \"line_range\": [\n 391,\n 391\n ],\n \"text\": \"@return Output value for helper construct 3.\",\n \"text_lines\": [\n \"@return Output value for helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 394,\n \"end_line_number\": 394,\n \"line_range\": [\n 394,\n 394\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 395,\n \"end_line_number\": 395,\n \"line_range\": [\n 395,\n 395\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 396,\n \"end_line_number\": 396,\n \"line_range\": [\n 396,\n 396\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 4.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 4.\"\n ]\n },\n {\n \"start_line_number\": 397,\n \"end_line_number\": 397,\n \"line_range\": [\n 397,\n 397\n ],\n \"text\": \"@param value Input value for helper construct 4.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 398,\n \"end_line_number\": 398,\n \"line_range\": [\n 398,\n 398\n ],\n \"text\": \"@return Output value for helper construct 4.\",\n \"text_lines\": [\n \"@return Output value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 401,\n \"end_line_number\": 401,\n \"line_range\": [\n 401,\n 401\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 402,\n \"end_line_number\": 402,\n \"line_range\": [\n 402,\n 402\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 403,\n \"end_line_number\": 403,\n \"line_range\": [\n 403,\n 403\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 5.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 5.\"\n ]\n },\n {\n \"start_line_number\": 404,\n \"end_line_number\": 404,\n \"line_range\": [\n 404,\n 404\n ],\n \"text\": \"@param value Input value for helper construct 5.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 405,\n \"end_line_number\": 405,\n \"line_range\": [\n 405,\n 405\n ],\n \"text\": \"@return Output value for helper construct 5.\",\n \"text_lines\": [\n \"@return Output value for helper construct 5.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 378,\n \"end_line_number\": 408,\n \"line_range\": [\n 378,\n 408\n ],\n \"declaration_order_index\": 61,\n \"symbol_name\": \"req_cover_elixir_1\",\n \"qualified_name\": \"ReqCoverElixir.req_cover_elixir_1\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def req_cover_elixir_1(value), do: value + 1\",\n \"parent_symbol_name\": \"ReqCoverElixir\",\n \"parent_qualified_name\": \"ReqCoverElixir\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Coverage helper construct 1.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 1.\",\n \"Coverage helper construct 2.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 1.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 1.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 1.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 380,\n \"end_line_number\": 380,\n \"line_range\": [\n 380,\n 380\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 2\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 2\"\n ]\n },\n {\n \"start_line_number\": 381,\n \"end_line_number\": 381,\n \"line_range\": [\n 381,\n 381\n ],\n \"text\": \"@brief Coverage helper construct 2.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 382,\n \"end_line_number\": 382,\n \"line_range\": [\n 382,\n 382\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 2.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 2.\"\n ]\n },\n {\n \"start_line_number\": 383,\n \"end_line_number\": 383,\n \"line_range\": [\n 383,\n 383\n ],\n \"text\": \"@param value Input value for helper construct 2.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 384,\n \"end_line_number\": 384,\n \"line_range\": [\n 384,\n 384\n ],\n \"text\": \"@return Output value for helper construct 2.\",\n \"text_lines\": [\n \"@return Output value for helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 387,\n \"end_line_number\": 387,\n \"line_range\": [\n 387,\n 387\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 3\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 3\"\n ]\n },\n {\n \"start_line_number\": 388,\n \"end_line_number\": 388,\n \"line_range\": [\n 388,\n 388\n ],\n \"text\": \"@brief Coverage helper construct 3.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 389,\n \"end_line_number\": 389,\n \"line_range\": [\n 389,\n 389\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 3.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 3.\"\n ]\n },\n {\n \"start_line_number\": 390,\n \"end_line_number\": 390,\n \"line_range\": [\n 390,\n 390\n ],\n \"text\": \"@param value Input value for helper construct 3.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 391,\n \"end_line_number\": 391,\n \"line_range\": [\n 391,\n 391\n ],\n \"text\": \"@return Output value for helper construct 3.\",\n \"text_lines\": [\n \"@return Output value for helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 394,\n \"end_line_number\": 394,\n \"line_range\": [\n 394,\n 394\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 395,\n \"end_line_number\": 395,\n \"line_range\": [\n 395,\n 395\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 396,\n \"end_line_number\": 396,\n \"line_range\": [\n 396,\n 396\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 4.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 4.\"\n ]\n },\n {\n \"start_line_number\": 397,\n \"end_line_number\": 397,\n \"line_range\": [\n 397,\n 397\n ],\n \"text\": \"@param value Input value for helper construct 4.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 398,\n \"end_line_number\": 398,\n \"line_range\": [\n 398,\n 398\n ],\n \"text\": \"@return Output value for helper construct 4.\",\n \"text_lines\": [\n \"@return Output value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 401,\n \"end_line_number\": 401,\n \"line_range\": [\n 401,\n 401\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 402,\n \"end_line_number\": 402,\n \"line_range\": [\n 402,\n 402\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 403,\n \"end_line_number\": 403,\n \"line_range\": [\n 403,\n 403\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 5.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 5.\"\n ]\n },\n {\n \"start_line_number\": 404,\n \"end_line_number\": 404,\n \"line_range\": [\n 404,\n 404\n ],\n \"text\": \"@param value Input value for helper construct 5.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 405,\n \"end_line_number\": 405,\n \"line_range\": [\n 405,\n 405\n ],\n \"text\": \"@return Output value for helper construct 5.\",\n \"text_lines\": [\n \"@return Output value for helper construct 5.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 385,\n \"end_line_number\": 408,\n \"line_range\": [\n 385,\n 408\n ],\n \"declaration_order_index\": 62,\n \"symbol_name\": \"req_cover_elixir_2\",\n \"qualified_name\": \"ReqCoverElixir.req_cover_elixir_2\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def req_cover_elixir_2(value), do: value + 2\",\n \"parent_symbol_name\": \"ReqCoverElixir\",\n \"parent_qualified_name\": \"ReqCoverElixir\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Coverage helper construct 2.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 2.\",\n \"Coverage helper construct 3.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 2.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 2.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 2.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 387,\n \"end_line_number\": 387,\n \"line_range\": [\n 387,\n 387\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 3\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 3\"\n ]\n },\n {\n \"start_line_number\": 388,\n \"end_line_number\": 388,\n \"line_range\": [\n 388,\n 388\n ],\n \"text\": \"@brief Coverage helper construct 3.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 389,\n \"end_line_number\": 389,\n \"line_range\": [\n 389,\n 389\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 3.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 3.\"\n ]\n },\n {\n \"start_line_number\": 390,\n \"end_line_number\": 390,\n \"line_range\": [\n 390,\n 390\n ],\n \"text\": \"@param value Input value for helper construct 3.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 391,\n \"end_line_number\": 391,\n \"line_range\": [\n 391,\n 391\n ],\n \"text\": \"@return Output value for helper construct 3.\",\n \"text_lines\": [\n \"@return Output value for helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 394,\n \"end_line_number\": 394,\n \"line_range\": [\n 394,\n 394\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 395,\n \"end_line_number\": 395,\n \"line_range\": [\n 395,\n 395\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 396,\n \"end_line_number\": 396,\n \"line_range\": [\n 396,\n 396\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 4.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 4.\"\n ]\n },\n {\n \"start_line_number\": 397,\n \"end_line_number\": 397,\n \"line_range\": [\n 397,\n 397\n ],\n \"text\": \"@param value Input value for helper construct 4.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 398,\n \"end_line_number\": 398,\n \"line_range\": [\n 398,\n 398\n ],\n \"text\": \"@return Output value for helper construct 4.\",\n \"text_lines\": [\n \"@return Output value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 401,\n \"end_line_number\": 401,\n \"line_range\": [\n 401,\n 401\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 402,\n \"end_line_number\": 402,\n \"line_range\": [\n 402,\n 402\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 403,\n \"end_line_number\": 403,\n \"line_range\": [\n 403,\n 403\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 5.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 5.\"\n ]\n },\n {\n \"start_line_number\": 404,\n \"end_line_number\": 404,\n \"line_range\": [\n 404,\n 404\n ],\n \"text\": \"@param value Input value for helper construct 5.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 405,\n \"end_line_number\": 405,\n \"line_range\": [\n 405,\n 405\n ],\n \"text\": \"@return Output value for helper construct 5.\",\n \"text_lines\": [\n \"@return Output value for helper construct 5.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 392,\n \"end_line_number\": 408,\n \"line_range\": [\n 392,\n 408\n ],\n \"declaration_order_index\": 63,\n \"symbol_name\": \"req_cover_elixir_3\",\n \"qualified_name\": \"ReqCoverElixir.req_cover_elixir_3\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def req_cover_elixir_3(value), do: value + 3\",\n \"parent_symbol_name\": \"ReqCoverElixir\",\n \"parent_qualified_name\": \"ReqCoverElixir\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Coverage helper construct 3.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 3.\",\n \"Coverage helper construct 4.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 3.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 3.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 3.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 394,\n \"end_line_number\": 394,\n \"line_range\": [\n 394,\n 394\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 395,\n \"end_line_number\": 395,\n \"line_range\": [\n 395,\n 395\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 396,\n \"end_line_number\": 396,\n \"line_range\": [\n 396,\n 396\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 4.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 4.\"\n ]\n },\n {\n \"start_line_number\": 397,\n \"end_line_number\": 397,\n \"line_range\": [\n 397,\n 397\n ],\n \"text\": \"@param value Input value for helper construct 4.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 398,\n \"end_line_number\": 398,\n \"line_range\": [\n 398,\n 398\n ],\n \"text\": \"@return Output value for helper construct 4.\",\n \"text_lines\": [\n \"@return Output value for helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 401,\n \"end_line_number\": 401,\n \"line_range\": [\n 401,\n 401\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 402,\n \"end_line_number\": 402,\n \"line_range\": [\n 402,\n 402\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 403,\n \"end_line_number\": 403,\n \"line_range\": [\n 403,\n 403\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 5.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 5.\"\n ]\n },\n {\n \"start_line_number\": 404,\n \"end_line_number\": 404,\n \"line_range\": [\n 404,\n 404\n ],\n \"text\": \"@param value Input value for helper construct 5.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 405,\n \"end_line_number\": 405,\n \"line_range\": [\n 405,\n 405\n ],\n \"text\": \"@return Output value for helper construct 5.\",\n \"text_lines\": [\n \"@return Output value for helper construct 5.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 399,\n \"end_line_number\": 408,\n \"line_range\": [\n 399,\n 408\n ],\n \"declaration_order_index\": 64,\n \"symbol_name\": \"req_cover_elixir_4\",\n \"qualified_name\": \"ReqCoverElixir.req_cover_elixir_4\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def req_cover_elixir_4(value), do: value + 4\",\n \"parent_symbol_name\": \"ReqCoverElixir\",\n \"parent_qualified_name\": \"ReqCoverElixir\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Coverage helper construct 4.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 4.\",\n \"Coverage helper construct 5.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 4.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 4.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 4.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 401,\n \"end_line_number\": 401,\n \"line_range\": [\n 401,\n 401\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 402,\n \"end_line_number\": 402,\n \"line_range\": [\n 402,\n 402\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 403,\n \"end_line_number\": 403,\n \"line_range\": [\n 403,\n 403\n ],\n \"text\": \"@details Provides deterministic fixture-level Doxygen coverage block 5.\",\n \"text_lines\": [\n \"@details Provides deterministic fixture-level Doxygen coverage block 5.\"\n ]\n },\n {\n \"start_line_number\": 404,\n \"end_line_number\": 404,\n \"line_range\": [\n 404,\n 404\n ],\n \"text\": \"@param value Input value for helper construct 5.\",\n \"text_lines\": [\n \"@param value Input value for helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 405,\n \"end_line_number\": 405,\n \"line_range\": [\n 405,\n 405\n ],\n \"text\": \"@return Output value for helper construct 5.\",\n \"text_lines\": [\n \"@return Output value for helper construct 5.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 406,\n \"end_line_number\": 408,\n \"line_range\": [\n 406,\n 408\n ],\n \"declaration_order_index\": 65,\n \"symbol_name\": \"req_cover_elixir_5\",\n \"qualified_name\": \"ReqCoverElixir.req_cover_elixir_5\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"def req_cover_elixir_5(value), do: value + 5\",\n \"parent_symbol_name\": \"ReqCoverElixir\",\n \"parent_qualified_name\": \"ReqCoverElixir\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"Coverage helper construct 5.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 5.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 5.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 5.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 5.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n }\n ],\n \"standalone_comments\": [\n {\n \"start_line_number\": 2,\n \"end_line_number\": 2,\n \"line_range\": [\n 2,\n 2\n ],\n \"text\": \"@brief Comprehensive Elixir test fixture for parser validation.\",\n \"text_lines\": [\n \"@brief Comprehensive Elixir test fixture for parser validation.\"\n ]\n },\n {\n \"start_line_number\": 3,\n \"end_line_number\": 3,\n \"line_range\": [\n 3,\n 3\n ],\n \"text\": \"@details Covers pattern matching, guards, pipe operator, behaviours,\",\n \"text_lines\": [\n \"@details Covers pattern matching, guards, pipe operator, behaviours,\"\n ]\n },\n {\n \"start_line_number\": 4,\n \"end_line_number\": 4,\n \"line_range\": [\n 4,\n 4\n ],\n \"text\": \"GenServer callbacks, supervisors, comprehensions, sigils,\",\n \"text_lines\": [\n \"GenServer callbacks, supervisors, comprehensions, sigils,\"\n ]\n },\n {\n \"start_line_number\": 5,\n \"end_line_number\": 5,\n \"line_range\": [\n 5,\n 5\n ],\n \"text\": \"structs with enforce_keys, typespecs, and ExUnit testing.\",\n \"text_lines\": [\n \"structs with enforce_keys, typespecs, and ExUnit testing.\"\n ]\n },\n {\n \"start_line_number\": 6,\n \"end_line_number\": 6,\n \"line_range\": [\n 6,\n 6\n ],\n \"text\": \"Single line comment\",\n \"text_lines\": [\n \"Single line comment\"\n ]\n },\n {\n \"start_line_number\": 26,\n \"end_line_number\": 26,\n \"line_range\": [\n 26,\n 26\n ],\n \"text\": \"── Constants ───────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Constants ───────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 28,\n \"end_line_number\": 28,\n \"line_range\": [\n 28,\n 28\n ],\n \"text\": \"@brief Default timeout for GenServer calls in milliseconds.\",\n \"text_lines\": [\n \"@brief Default timeout for GenServer calls in milliseconds.\"\n ]\n },\n {\n \"start_line_number\": 31,\n \"end_line_number\": 31,\n \"line_range\": [\n 31,\n 31\n ],\n \"text\": \"@brief Maximum items stored in server state.\",\n \"text_lines\": [\n \"@brief Maximum items stored in server state.\"\n ]\n },\n {\n \"start_line_number\": 34,\n \"end_line_number\": 34,\n \"line_range\": [\n 34,\n 34\n ],\n \"text\": \"── Struct ──────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Struct ──────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 46,\n \"end_line_number\": 46,\n \"line_range\": [\n 46,\n 46\n ],\n \"text\": \"── Typespecs ───────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Typespecs ───────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 57,\n \"end_line_number\": 57,\n \"line_range\": [\n 57,\n 57\n ],\n \"text\": \"── Public API ──────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Public API ──────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 106,\n \"end_line_number\": 106,\n \"line_range\": [\n 106,\n 106\n ],\n \"text\": \"── Private helpers ─────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Private helpers ─────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 119,\n \"end_line_number\": 119,\n \"line_range\": [\n 119,\n 119\n ],\n \"text\": \"Validate required options\",\n \"text_lines\": [\n \"Validate required options\"\n ]\n },\n {\n \"start_line_number\": 135,\n \"end_line_number\": 135,\n \"line_range\": [\n 135,\n 135\n ],\n \"text\": \"Check capacity before adding\",\n \"text_lines\": [\n \"Check capacity before adding\"\n ]\n },\n {\n \"start_line_number\": 165,\n \"end_line_number\": 165,\n \"line_range\": [\n 165,\n 165\n ],\n \"text\": \"Prune items exceeding max capacity\",\n \"text_lines\": [\n \"Prune items exceeding max capacity\"\n ]\n },\n {\n \"start_line_number\": 373,\n \"end_line_number\": 373,\n \"line_range\": [\n 373,\n 373\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 1\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 1\"\n ]\n },\n {\n \"start_line_number\": 374,\n \"end_line_number\": 374,\n \"line_range\": [\n 374,\n 374\n ],\n \"text\": \"@brief Coverage helper construct 1.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 1.\"\n ]\n },\n {\n \"start_line_number\": 380,\n \"end_line_number\": 380,\n \"line_range\": [\n 380,\n 380\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 2\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 2\"\n ]\n },\n {\n \"start_line_number\": 381,\n \"end_line_number\": 381,\n \"line_range\": [\n 381,\n 381\n ],\n \"text\": \"@brief Coverage helper construct 2.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 387,\n \"end_line_number\": 387,\n \"line_range\": [\n 387,\n 387\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 3\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 3\"\n ]\n },\n {\n \"start_line_number\": 388,\n \"end_line_number\": 388,\n \"line_range\": [\n 388,\n 388\n ],\n \"text\": \"@brief Coverage helper construct 3.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 394,\n \"end_line_number\": 394,\n \"line_range\": [\n 394,\n 394\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 395,\n \"end_line_number\": 395,\n \"line_range\": [\n 395,\n 395\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 401,\n \"end_line_number\": 401,\n \"line_range\": [\n 401,\n 401\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 402,\n \"end_line_number\": 402,\n \"line_range\": [\n 402,\n 402\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 409,\n \"end_line_number\": 409,\n \"line_range\": [\n 409,\n 409\n ],\n \"text\": \"REQ-COVER-SRS-231 END\",\n \"text_lines\": [\n \"REQ-COVER-SRS-231 END\"\n ]\n }\n ]\n }\n ]\n}\n",
|
|
4
|
+
"stderr": ""
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"code": 0,
|
|
3
|
+
"stdout": "{\n \"request\": {\n \"tool_name\": \"files-references\",\n \"scope\": \"explicit-files\",\n \"base_dir_path\": \"<ROOT>\",\n \"source_directory_count\": 0,\n \"source_directory_paths\": [],\n \"requested_file_count\": 1,\n \"requested_input_paths\": [\n \"tests/fixtures/fixture_go.go\"\n ],\n \"requested_canonical_paths\": [\n \"tests/fixtures/fixture_go.go\"\n ]\n },\n \"summary\": {\n \"processable_file_count\": 1,\n \"analyzed_file_count\": 1,\n \"error_file_count\": 0,\n \"skipped_file_count\": 0,\n \"total_symbol_count\": 43,\n \"total_import_count\": 5,\n \"total_comment_count\": 113,\n \"total_standalone_comment_count\": 53,\n \"total_doxygen_field_count\": 35,\n \"symbol_kind_counts\": {\n \"CONSTANT\": 5,\n \"FUNCTION\": 13,\n \"INTERFACE\": 5,\n \"METHOD\": 5,\n \"MODULE\": 5,\n \"STRUCT\": 5,\n \"TYPE_ALIAS\": 5\n }\n },\n \"repository\": {\n \"root_directory_path\": \"<ROOT>\",\n \"source_directory_paths\": [],\n \"file_count\": 1,\n \"file_canonical_paths\": [\n \"tests/fixtures/fixture_go.go\"\n ],\n \"directory_tree\": {\n \"node_name\": \".\",\n \"relative_path\": \".\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"tests\",\n \"relative_path\": \"tests\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixtures\",\n \"relative_path\": \"tests/fixtures\",\n \"node_kind\": \"directory\",\n \"child_count\": 1,\n \"children\": [\n {\n \"node_name\": \"fixture_go.go\",\n \"relative_path\": \"tests/fixtures/fixture_go.go\",\n \"node_kind\": \"file\",\n \"child_count\": 0,\n \"children\": []\n }\n ]\n }\n ]\n }\n ]\n }\n },\n \"files\": [\n {\n \"start_line_number\": 1,\n \"end_line_number\": 341,\n \"line_range\": [\n 1,\n 341\n ],\n \"request_index\": 0,\n \"input_path\": \"tests/fixtures/fixture_go.go\",\n \"canonical_path\": \"tests/fixtures/fixture_go.go\",\n \"absolute_path\": \"<ROOT>/tests/fixtures/fixture_go.go\",\n \"file_name\": \"fixture_go.go\",\n \"file_extension\": \".go\",\n \"language_id\": \"go\",\n \"language_name\": \"Go\",\n \"status\": \"analyzed\",\n \"exists\": true,\n \"is_file\": true,\n \"import_count\": 5,\n \"symbol_count\": 43,\n \"comment_count\": 113,\n \"standalone_comment_count\": 53,\n \"doxygen_field_count\": 35,\n \"file_description_text\": \"@file fixture_go.go\",\n \"imports\": [\n {\n \"start_line_number\": 14,\n \"end_line_number\": 14,\n \"line_range\": [\n 14,\n 14\n ],\n \"import_name\": \"(\",\n \"statement_text\": \"import (\"\n },\n {\n \"start_line_number\": 289,\n \"end_line_number\": 289,\n \"line_range\": [\n 289,\n 289\n ],\n \"import_name\": \"\\\"os\\\"\",\n \"statement_text\": \"import \\\"os\\\"\"\n },\n {\n \"start_line_number\": 290,\n \"end_line_number\": 290,\n \"line_range\": [\n 290,\n 290\n ],\n \"import_name\": \"\\\"time\\\"\",\n \"statement_text\": \"import \\\"time\\\"\"\n },\n {\n \"start_line_number\": 291,\n \"end_line_number\": 291,\n \"line_range\": [\n 291,\n 291\n ],\n \"import_name\": \"\\\"strings\\\"\",\n \"statement_text\": \"import \\\"strings\\\"\"\n },\n {\n \"start_line_number\": 292,\n \"end_line_number\": 292,\n \"line_range\": [\n 292,\n 292\n ],\n \"import_name\": \"\\\"bytes\\\"\",\n \"statement_text\": \"import \\\"bytes\\\"\"\n }\n ],\n \"symbols\": [\n {\n \"start_line_number\": 12,\n \"end_line_number\": 48,\n \"line_range\": [\n 12,\n 48\n ],\n \"declaration_order_index\": 0,\n \"symbol_name\": \"main\",\n \"qualified_name\": \"main\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"package main\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [\n \"MaxSize\",\n \"globalVar\"\n ],\n \"child_qualified_names\": [\n \"main.MaxSize\",\n \"main.globalVar\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Package main is the entry point for the application.\",\n \"attached_comment_lines\": [\n \"Package main is the entry point for the application.\",\n \"It demonstrates Go-specific constructs including generics,\",\n \"goroutines, channels, embedded structs, and type switches.\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 21,\n \"end_line_number\": 21,\n \"line_range\": [\n 21,\n 21\n ],\n \"text\": \"── Constants and variables ────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Constants and variables ────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 23,\n \"end_line_number\": 23,\n \"line_range\": [\n 23,\n 23\n ],\n \"text\": \"MaxSize defines the upper bound for buffer allocation.\",\n \"text_lines\": [\n \"MaxSize defines the upper bound for buffer allocation.\"\n ]\n },\n {\n \"start_line_number\": 26,\n \"end_line_number\": 26,\n \"line_range\": [\n 26,\n 26\n ],\n \"text\": \"globalVar is a package-level mutable counter.\",\n \"text_lines\": [\n \"globalVar is a package-level mutable counter.\"\n ]\n },\n {\n \"start_line_number\": 29,\n \"end_line_number\": 29,\n \"line_range\": [\n 29,\n 29\n ],\n \"text\": \"Iota-based enum-like constants for log levels.\",\n \"text_lines\": [\n \"Iota-based enum-like constants for log levels.\"\n ]\n },\n {\n \"start_line_number\": 31,\n \"end_line_number\": 31,\n \"line_range\": [\n 31,\n 31\n ],\n \"text\": \"LogDebug is the most verbose logging level.\",\n \"text_lines\": [\n \"LogDebug is the most verbose logging level.\"\n ]\n },\n {\n \"start_line_number\": 33,\n \"end_line_number\": 33,\n \"line_range\": [\n 33,\n 33\n ],\n \"text\": \"LogInfo is the standard informational level.\",\n \"text_lines\": [\n \"LogInfo is the standard informational level.\"\n ]\n },\n {\n \"start_line_number\": 35,\n \"end_line_number\": 35,\n \"line_range\": [\n 35,\n 35\n ],\n \"text\": \"LogError logs only error conditions.\",\n \"text_lines\": [\n \"LogError logs only error conditions.\"\n ]\n },\n {\n \"start_line_number\": 39,\n \"end_line_number\": 39,\n \"line_range\": [\n 39,\n 39\n ],\n \"text\": \"── Struct definitions ─────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Struct definitions ─────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 41,\n \"end_line_number\": 41,\n \"line_range\": [\n 41,\n 41\n ],\n \"text\": \"Server represents an HTTP server with host and port configuration.\",\n \"text_lines\": [\n \"Server represents an HTTP server with host and port configuration.\"\n ]\n },\n {\n \"start_line_number\": 42,\n \"end_line_number\": 42,\n \"line_range\": [\n 42,\n 42\n ],\n \"text\": \"It embeds sync.Mutex for concurrent access protection.\",\n \"text_lines\": [\n \"It embeds sync.Mutex for concurrent access protection.\"\n ]\n },\n {\n \"start_line_number\": 44,\n \"end_line_number\": 44,\n \"line_range\": [\n 44,\n 44\n ],\n \"text\": \"Port number the server listens on.\",\n \"text_lines\": [\n \"Port number the server listens on.\"\n ]\n },\n {\n \"start_line_number\": 45,\n \"end_line_number\": 45,\n \"line_range\": [\n 45,\n 45\n ],\n \"text\": \"Hostname or IP address to bind to.\",\n \"text_lines\": [\n \"Hostname or IP address to bind to.\"\n ]\n },\n {\n \"start_line_number\": 46,\n \"end_line_number\": 46,\n \"line_range\": [\n 46,\n 46\n ],\n \"text\": \"Embedded mutex for thread-safe operations.\",\n \"text_lines\": [\n \"Embedded mutex for thread-safe operations.\"\n ]\n },\n {\n \"start_line_number\": 47,\n \"end_line_number\": 47,\n \"line_range\": [\n 47,\n 47\n ],\n \"text\": \"Route handler registry.\",\n \"text_lines\": [\n \"Route handler registry.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 24,\n \"end_line_number\": 24,\n \"line_range\": [\n 24,\n 24\n ],\n \"declaration_order_index\": 1,\n \"symbol_name\": \"MaxSize\",\n \"qualified_name\": \"main.MaxSize\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"const MaxSize = 100\",\n \"visibility\": \"pub\",\n \"parent_symbol_name\": \"main\",\n \"parent_qualified_name\": \"main\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"── Constants and variables ────────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Constants and variables ────────────────────────────────────────────\",\n \"MaxSize defines the upper bound for buffer allocation.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 27,\n \"end_line_number\": 27,\n \"line_range\": [\n 27,\n 27\n ],\n \"declaration_order_index\": 2,\n \"symbol_name\": \"globalVar\",\n \"qualified_name\": \"main.globalVar\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"var globalVar = 0\",\n \"visibility\": \"priv\",\n \"parent_symbol_name\": \"main\",\n \"parent_qualified_name\": \"main\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"attached_comment_summary_text\": \"globalVar is a package-level mutable counter.\",\n \"attached_comment_lines\": [\n \"globalVar is a package-level mutable counter.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 43,\n \"end_line_number\": 48,\n \"line_range\": [\n 43,\n 48\n ],\n \"declaration_order_index\": 3,\n \"symbol_name\": \"Server\",\n \"qualified_name\": \"Server\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"type Server struct\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Server represents an HTTP server with host and port configuration.\",\n \"attached_comment_lines\": [\n \"Server represents an HTTP server with host and port configuration.\",\n \"It embeds sync.Mutex for concurrent access protection.\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 44,\n \"end_line_number\": 44,\n \"line_range\": [\n 44,\n 44\n ],\n \"text\": \"Port number the server listens on.\",\n \"text_lines\": [\n \"Port number the server listens on.\"\n ]\n },\n {\n \"start_line_number\": 45,\n \"end_line_number\": 45,\n \"line_range\": [\n 45,\n 45\n ],\n \"text\": \"Hostname or IP address to bind to.\",\n \"text_lines\": [\n \"Hostname or IP address to bind to.\"\n ]\n },\n {\n \"start_line_number\": 46,\n \"end_line_number\": 46,\n \"line_range\": [\n 46,\n 46\n ],\n \"text\": \"Embedded mutex for thread-safe operations.\",\n \"text_lines\": [\n \"Embedded mutex for thread-safe operations.\"\n ]\n },\n {\n \"start_line_number\": 47,\n \"end_line_number\": 47,\n \"line_range\": [\n 47,\n 47\n ],\n \"text\": \"Route handler registry.\",\n \"text_lines\": [\n \"Route handler registry.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 51,\n \"end_line_number\": 51,\n \"line_range\": [\n 51,\n 51\n ],\n \"declaration_order_index\": 4,\n \"symbol_name\": \"HandlerFunc\",\n \"qualified_name\": \"HandlerFunc\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type HandlerFunc func(ctx context.Context, req []byte) ([]byte, error)\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"HandlerFunc defines the signature for HTTP request handlers.\",\n \"attached_comment_lines\": [\n \"HandlerFunc defines the signature for HTTP request handlers.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 54,\n \"end_line_number\": 58,\n \"line_range\": [\n 54,\n 58\n ],\n \"declaration_order_index\": 5,\n \"symbol_name\": \"Address\",\n \"qualified_name\": \"Address\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"type Address struct\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Embedded struct demonstrating composition over inheritance.\",\n \"attached_comment_lines\": [\n \"Embedded struct demonstrating composition over inheritance.\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 55,\n \"end_line_number\": 55,\n \"line_range\": [\n 55,\n 55\n ],\n \"text\": \"Street name and number.\",\n \"text_lines\": [\n \"Street name and number.\"\n ]\n },\n {\n \"start_line_number\": 56,\n \"end_line_number\": 56,\n \"line_range\": [\n 56,\n 56\n ],\n \"text\": \"City name.\",\n \"text_lines\": [\n \"City name.\"\n ]\n },\n {\n \"start_line_number\": 57,\n \"end_line_number\": 57,\n \"line_range\": [\n 57,\n 57\n ],\n \"text\": \"Postal/ZIP code.\",\n \"text_lines\": [\n \"Postal/ZIP code.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 61,\n \"end_line_number\": 66,\n \"line_range\": [\n 61,\n 66\n ],\n \"declaration_order_index\": 6,\n \"symbol_name\": \"Employee\",\n \"qualified_name\": \"Employee\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"type Employee struct\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Employee composes Person-like fields with an embedded Address.\",\n \"attached_comment_lines\": [\n \"Employee composes Person-like fields with an embedded Address.\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 62,\n \"end_line_number\": 62,\n \"line_range\": [\n 62,\n 62\n ],\n \"text\": \"Full name of the employee.\",\n \"text_lines\": [\n \"Full name of the employee.\"\n ]\n },\n {\n \"start_line_number\": 63,\n \"end_line_number\": 63,\n \"line_range\": [\n 63,\n 63\n ],\n \"text\": \"Age in years.\",\n \"text_lines\": [\n \"Age in years.\"\n ]\n },\n {\n \"start_line_number\": 64,\n \"end_line_number\": 64,\n \"line_range\": [\n 64,\n 64\n ],\n \"text\": \"Embedded address (promoted fields).\",\n \"text_lines\": [\n \"Embedded address (promoted fields).\"\n ]\n },\n {\n \"start_line_number\": 65,\n \"end_line_number\": 65,\n \"line_range\": [\n 65,\n 65\n ],\n \"text\": \"Optional reference to reporting manager.\",\n \"text_lines\": [\n \"Optional reference to reporting manager.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 71,\n \"end_line_number\": 74,\n \"line_range\": [\n 71,\n 74\n ],\n \"declaration_order_index\": 7,\n \"symbol_name\": \"Handler\",\n \"qualified_name\": \"Handler\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"type Handler interface\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Interface definitions ──────────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Interface definitions ──────────────────────────────────────────────\",\n \"Handler defines the interface for request processing components.\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 72,\n \"end_line_number\": 72,\n \"line_range\": [\n 72,\n 72\n ],\n \"text\": \"Handle processes a request and returns a response.\",\n \"text_lines\": [\n \"Handle processes a request and returns a response.\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 77,\n \"end_line_number\": 81,\n \"line_range\": [\n 77,\n 81\n ],\n \"declaration_order_index\": 8,\n \"symbol_name\": \"ReadWriteCloser\",\n \"qualified_name\": \"ReadWriteCloser\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"type ReadWriteCloser interface\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"ReadWriteCloser composes standard io interfaces.\",\n \"attached_comment_lines\": [\n \"ReadWriteCloser composes standard io interfaces.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 86,\n \"end_line_number\": 86,\n \"line_range\": [\n 86,\n 86\n ],\n \"declaration_order_index\": 9,\n \"symbol_name\": \"MyInt\",\n \"qualified_name\": \"MyInt\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type MyInt int\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Type aliases and definitions ───────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Type aliases and definitions ───────────────────────────────────────\",\n \"MyInt is a custom integer type supporting additional methods.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 89,\n \"end_line_number\": 91,\n \"line_range\": [\n 89,\n 91\n ],\n \"declaration_order_index\": 10,\n \"symbol_name\": \"String\",\n \"qualified_name\": \"String\",\n \"symbol_kind\": \"METHOD\",\n \"type_label\": \"METHOD\",\n \"signature_text\": \"func (m MyInt) String() string\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"String returns the string representation of MyInt.\",\n \"attached_comment_lines\": [\n \"String returns the string representation of MyInt.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 90,\n \"text\": \"return fmt.Sprintf(\\\"MyInt(%d)\\\", int(m))\"\n }\n ]\n },\n {\n \"start_line_number\": 104,\n \"end_line_number\": 106,\n \"line_range\": [\n 104,\n 106\n ],\n \"declaration_order_index\": 11,\n \"symbol_name\": \"Ordered\",\n \"qualified_name\": \"Ordered\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"type Ordered interface\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Ordered constrains types that support comparison operators.\",\n \"attached_comment_lines\": [\n \"Ordered constrains types that support comparison operators.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 111,\n \"end_line_number\": 113,\n \"line_range\": [\n 111,\n 113\n ],\n \"declaration_order_index\": 12,\n \"symbol_name\": \"main\",\n \"qualified_name\": \"main\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func main()\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [\n \"MaxSize\",\n \"globalVar\"\n ],\n \"child_qualified_names\": [\n \"main.MaxSize\",\n \"main.globalVar\"\n ],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"── Functions ──────────────────────────────────────────────────────────\",\n \"attached_comment_lines\": [\n \"── Functions ──────────────────────────────────────────────────────────\",\n \"main is the application entry point.\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 116,\n \"end_line_number\": 119,\n \"line_range\": [\n 116,\n 119\n ],\n \"declaration_order_index\": 13,\n \"symbol_name\": \"init\",\n \"qualified_name\": \"init\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func init()\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"init runs before main for package-level initialization.\",\n \"attached_comment_lines\": [\n \"init runs before main for package-level initialization.\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 117,\n \"end_line_number\": 117,\n \"line_range\": [\n 117,\n 117\n ],\n \"text\": \"Package initialization — set default global state\",\n \"text_lines\": [\n \"Package initialization — set default global state\"\n ]\n }\n ],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 123,\n \"end_line_number\": 132,\n \"line_range\": [\n 123,\n 132\n ],\n \"declaration_order_index\": 14,\n \"symbol_name\": \"Start\",\n \"qualified_name\": \"Start\",\n \"symbol_kind\": \"METHOD\",\n \"type_label\": \"METHOD\",\n \"signature_text\": \"func (s *Server) Start() error\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Start begins listening on the configured host and port.\",\n \"attached_comment_lines\": [\n \"Start begins listening on the configured host and port.\",\n \"@receiver s Pointer to Server instance.\"\n ],\n \"body_comment_entries\": [\n {\n \"start_line_number\": 126,\n \"end_line_number\": 126,\n \"line_range\": [\n 126,\n 126\n ],\n \"text\": \"Validate port before binding\",\n \"text_lines\": [\n \"Validate port before binding\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 128,\n \"text\": \"return fmt.Errorf(\\\"invalid port: %d\\\", s.Port)\"\n },\n {\n \"line_number\": 131,\n \"text\": \"return nil\"\n }\n ]\n },\n {\n \"start_line_number\": 138,\n \"end_line_number\": 143,\n \"line_range\": [\n 138,\n 143\n ],\n \"declaration_order_index\": 15,\n \"symbol_name\": \"Register\",\n \"qualified_name\": \"Register\",\n \"symbol_kind\": \"METHOD\",\n \"type_label\": \"METHOD\",\n \"signature_text\": \"func (s *Server) Register(path string, handler HandlerFunc)\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"@receiver s Pointer to Server.\",\n \"doxygen\": {\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"path\",\n \"description\": \"The URL path to register.\"\n },\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"handler\",\n \"description\": \"The function to invoke for this path.\"\n }\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 180,\n \"end_line_number\": 185,\n \"line_range\": [\n 180,\n 185\n ],\n \"declaration_order_index\": 16,\n \"symbol_name\": \"Divide\",\n \"qualified_name\": \"Divide\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func Divide(a, b int) (int, int, error)\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"@param a Dividend.\",\n \"doxygen\": {\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"a\",\n \"description\": \"Dividend.\"\n },\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"b\",\n \"description\": \"Divisor; must not be zero.\"\n }\n ],\n \"returns\": [\n \"Quotient and remainder, or error if b is zero.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 182,\n \"text\": \"return 0, 0, fmt.Errorf(\\\"division by zero\\\")\"\n },\n {\n \"line_number\": 184,\n \"text\": \"return a / b, a % b, nil\"\n }\n ]\n },\n {\n \"start_line_number\": 192,\n \"end_line_number\": 200,\n \"line_range\": [\n 192,\n 200\n ],\n \"declaration_order_index\": 17,\n \"symbol_name\": \"ParseConfig\",\n \"qualified_name\": \"ParseConfig\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func ParseConfig(input string) (host string, port int, err error)\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"ParseConfig extracts host and port from a config string.\",\n \"doxygen\": {\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"input\",\n \"description\": \"Configuration string in \\\"host:port\\\" format.\"\n }\n ],\n \"returns\": [\n \"Named host and port values, or error.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 193,\n \"end_line_number\": 193,\n \"line_range\": [\n 193,\n 193\n ],\n \"text\": \"Named returns allow bare return in simple cases\",\n \"text_lines\": [\n \"Named returns allow bare return in simple cases\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 197,\n \"text\": \"return\"\n },\n {\n \"line_number\": 199,\n \"text\": \"return\"\n }\n ]\n },\n {\n \"start_line_number\": 206,\n \"end_line_number\": 213,\n \"line_range\": [\n 206,\n 213\n ],\n \"declaration_order_index\": 18,\n \"symbol_name\": \"Counter\",\n \"qualified_name\": \"Counter\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func Counter() func() int\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Counter returns a closure that increments and returns a count.\",\n \"doxygen\": {\n \"returns\": [\n \"Closure yielding successive integer counts.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 209,\n \"end_line_number\": 209,\n \"line_range\": [\n 209,\n 209\n ],\n \"text\": \"Capture count from enclosing scope\",\n \"text_lines\": [\n \"Capture count from enclosing scope\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 208,\n \"text\": \"return func() int {\"\n },\n {\n \"line_number\": 211,\n \"text\": \"return count\"\n }\n ]\n },\n {\n \"start_line_number\": 221,\n \"end_line_number\": 243,\n \"line_range\": [\n 221,\n 243\n ],\n \"declaration_order_index\": 19,\n \"symbol_name\": \"FanOut\",\n \"qualified_name\": \"FanOut\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func FanOut(items []string, workers int) <-chan string\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"@param items Slice of strings to process.\",\n \"doxygen\": {\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"items\",\n \"description\": \"Slice of strings to process.\"\n },\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"workers\",\n \"description\": \"Number of concurrent worker goroutines.\"\n }\n ],\n \"returns\": [\n \"Channel delivering processed results.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 229,\n \"end_line_number\": 229,\n \"line_range\": [\n 229,\n 229\n ],\n \"text\": \"Each worker processes items from the slice\",\n \"text_lines\": [\n \"Each worker processes items from the slice\"\n ]\n },\n {\n \"start_line_number\": 236,\n \"end_line_number\": 236,\n \"line_range\": [\n 236,\n 236\n ],\n \"text\": \"Close channel when all workers finish\",\n \"text_lines\": [\n \"Close channel when all workers finish\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 242,\n \"text\": \"return results\"\n }\n ]\n },\n {\n \"start_line_number\": 223,\n \"end_line_number\": 223,\n \"line_range\": [\n 223,\n 223\n ],\n \"declaration_order_index\": 20,\n \"symbol_name\": \"wg\",\n \"qualified_name\": \"wg\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"var wg sync.WaitGroup\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 250,\n \"end_line_number\": 266,\n \"line_range\": [\n 250,\n 266\n ],\n \"declaration_order_index\": 21,\n \"symbol_name\": \"Describe\",\n \"qualified_name\": \"Describe\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func Describe(v interface{}) string\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Describe returns a description string for any value using type switch.\",\n \"doxygen\": {\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"v\",\n \"description\": \"Any value to describe.\"\n }\n ],\n \"returns\": [\n \"Human-readable type description.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": [\n {\n \"line_number\": 253,\n \"text\": \"return fmt.Sprintf(\\\"int: %d\\\", val)\"\n },\n {\n \"line_number\": 255,\n \"text\": \"return fmt.Sprintf(\\\"string: %q\\\", val)\"\n },\n {\n \"line_number\": 258,\n \"text\": \"return \\\"bool: true\\\"\"\n },\n {\n \"line_number\": 260,\n \"text\": \"return \\\"bool: false\\\"\"\n },\n {\n \"line_number\": 262,\n \"text\": \"return \\\"nil\\\"\"\n },\n {\n \"line_number\": 264,\n \"text\": \"return fmt.Sprintf(\\\"unknown: %T\\\", val)\"\n }\n ]\n },\n {\n \"start_line_number\": 273,\n \"end_line_number\": 282,\n \"line_range\": [\n 273,\n 282\n ],\n \"declaration_order_index\": 22,\n \"symbol_name\": \"SafeExecute\",\n \"qualified_name\": \"SafeExecute\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func SafeExecute(fn func()) (err error)\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"SafeExecute runs a function with panic recovery.\",\n \"doxygen\": {\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"fn\",\n \"description\": \"The function to execute safely.\"\n }\n ],\n \"returns\": [\n \"Error if fn panicked, nil otherwise.\"\n ]\n },\n \"body_comment_entries\": [\n {\n \"start_line_number\": 276,\n \"end_line_number\": 276,\n \"line_range\": [\n 276,\n 276\n ],\n \"text\": \"Convert panic to error\",\n \"text_lines\": [\n \"Convert panic to error\"\n ]\n }\n ],\n \"exit_point_entries\": [\n {\n \"line_number\": 281,\n \"text\": \"return nil\"\n }\n ]\n },\n {\n \"start_line_number\": 285,\n \"end_line_number\": 293,\n \"line_range\": [\n 285,\n 293\n ],\n \"declaration_order_index\": 23,\n \"symbol_name\": \"utilx\",\n \"qualified_name\": \"utilx\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"package utilx\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"coverage extension block\",\n \"attached_comment_lines\": [\n \"coverage extension block\"\n ],\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 286,\n \"end_line_number\": 293,\n \"line_range\": [\n 286,\n 293\n ],\n \"declaration_order_index\": 24,\n \"symbol_name\": \"configx\",\n \"qualified_name\": \"configx\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"package configx\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 287,\n \"end_line_number\": 293,\n \"line_range\": [\n 287,\n 293\n ],\n \"declaration_order_index\": 25,\n \"symbol_name\": \"jobsx\",\n \"qualified_name\": \"jobsx\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"package jobsx\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 288,\n \"end_line_number\": 293,\n \"line_range\": [\n 288,\n 293\n ],\n \"declaration_order_index\": 26,\n \"symbol_name\": \"metricx\",\n \"qualified_name\": \"metricx\",\n \"symbol_kind\": \"MODULE\",\n \"type_label\": \"MODULE\",\n \"signature_text\": \"package metricx\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [\n \"Stop\"\n ],\n \"child_qualified_names\": [\n \"metricx.Stop\"\n ],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 293,\n \"end_line_number\": 293,\n \"line_range\": [\n 293,\n 293\n ],\n \"declaration_order_index\": 27,\n \"symbol_name\": \"Stop\",\n \"qualified_name\": \"metricx.Stop\",\n \"symbol_kind\": \"METHOD\",\n \"type_label\": \"METHOD\",\n \"signature_text\": \"func (s *Server) Stop() {}\",\n \"visibility\": \"pub\",\n \"parent_symbol_name\": \"metricx\",\n \"parent_qualified_name\": \"metricx\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 1,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 294,\n \"end_line_number\": 294,\n \"line_range\": [\n 294,\n 294\n ],\n \"declaration_order_index\": 28,\n \"symbol_name\": \"Reset\",\n \"qualified_name\": \"Reset\",\n \"symbol_kind\": \"METHOD\",\n \"type_label\": \"METHOD\",\n \"signature_text\": \"func (s *Server) Reset() {}\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 295,\n \"end_line_number\": 295,\n \"line_range\": [\n 295,\n 295\n ],\n \"declaration_order_index\": 29,\n \"symbol_name\": \"Session\",\n \"qualified_name\": \"Session\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"type Session struct { Id string }\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 296,\n \"end_line_number\": 296,\n \"line_range\": [\n 296,\n 296\n ],\n \"declaration_order_index\": 30,\n \"symbol_name\": \"Bucket\",\n \"qualified_name\": \"Bucket\",\n \"symbol_kind\": \"STRUCT\",\n \"type_label\": \"STRUCT\",\n \"signature_text\": \"type Bucket struct { Name string }\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 297,\n \"end_line_number\": 297,\n \"line_range\": [\n 297,\n 297\n ],\n \"declaration_order_index\": 31,\n \"symbol_name\": \"Closer\",\n \"qualified_name\": \"Closer\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"type Closer interface { Close() error }\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 298,\n \"end_line_number\": 298,\n \"line_range\": [\n 298,\n 298\n ],\n \"declaration_order_index\": 32,\n \"symbol_name\": \"Starter\",\n \"qualified_name\": \"Starter\",\n \"symbol_kind\": \"INTERFACE\",\n \"type_label\": \"INTERFACE\",\n \"signature_text\": \"type Starter interface { Start() error }\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 299,\n \"end_line_number\": 299,\n \"line_range\": [\n 299,\n 299\n ],\n \"declaration_order_index\": 33,\n \"symbol_name\": \"UserAlias\",\n \"qualified_name\": \"UserAlias\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type UserAlias string\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 300,\n \"end_line_number\": 300,\n \"line_range\": [\n 300,\n 300\n ],\n \"declaration_order_index\": 34,\n \"symbol_name\": \"Amount\",\n \"qualified_name\": \"Amount\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type Amount int\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 301,\n \"end_line_number\": 301,\n \"line_range\": [\n 301,\n 301\n ],\n \"declaration_order_index\": 35,\n \"symbol_name\": \"Resolver\",\n \"qualified_name\": \"Resolver\",\n \"symbol_kind\": \"TYPE_ALIAS\",\n \"type_label\": \"TYPE_ALIAS\",\n \"signature_text\": \"type Resolver func(string) error\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 302,\n \"end_line_number\": 302,\n \"line_range\": [\n 302,\n 302\n ],\n \"declaration_order_index\": 36,\n \"symbol_name\": \"RetryCount\",\n \"qualified_name\": \"RetryCount\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"const RetryCount = 3\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 303,\n \"end_line_number\": 303,\n \"line_range\": [\n 303,\n 303\n ],\n \"declaration_order_index\": 37,\n \"symbol_name\": \"LastError\",\n \"qualified_name\": \"LastError\",\n \"symbol_kind\": \"CONSTANT\",\n \"type_label\": \"CONSTANT\",\n \"signature_text\": \"var LastError error\",\n \"visibility\": \"pub\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 311,\n \"end_line_number\": 311,\n \"line_range\": [\n 311,\n 311\n ],\n \"declaration_order_index\": 38,\n \"symbol_name\": \"reqCoverGo1\",\n \"qualified_name\": \"reqCoverGo1\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverGo1(value int) int { return value + 1 }\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 1.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 1.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 1.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 1.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 1.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 318,\n \"end_line_number\": 318,\n \"line_range\": [\n 318,\n 318\n ],\n \"declaration_order_index\": 39,\n \"symbol_name\": \"reqCoverGo2\",\n \"qualified_name\": \"reqCoverGo2\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverGo2(value int) int { return value + 2 }\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 2.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 2.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 2.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 2.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 2.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 325,\n \"end_line_number\": 325,\n \"line_range\": [\n 325,\n 325\n ],\n \"declaration_order_index\": 40,\n \"symbol_name\": \"reqCoverGo3\",\n \"qualified_name\": \"reqCoverGo3\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverGo3(value int) int { return value + 3 }\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 3.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 3.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 3.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 3.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 3.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 332,\n \"end_line_number\": 332,\n \"line_range\": [\n 332,\n 332\n ],\n \"declaration_order_index\": 41,\n \"symbol_name\": \"reqCoverGo4\",\n \"qualified_name\": \"reqCoverGo4\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverGo4(value int) int { return value + 4 }\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 4.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 4.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 4.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 4.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 4.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n },\n {\n \"start_line_number\": 339,\n \"end_line_number\": 339,\n \"line_range\": [\n 339,\n 339\n ],\n \"declaration_order_index\": 42,\n \"symbol_name\": \"reqCoverGo5\",\n \"qualified_name\": \"reqCoverGo5\",\n \"symbol_kind\": \"FUNCTION\",\n \"type_label\": \"FUNCTION\",\n \"signature_text\": \"func reqCoverGo5(value int) int { return value + 5 }\",\n \"visibility\": \"priv\",\n \"child_symbol_names\": [],\n \"child_qualified_names\": [],\n \"depth\": 0,\n \"attached_comment_summary_text\": \"Coverage helper construct 5.\",\n \"doxygen\": {\n \"brief\": [\n \"Coverage helper construct 5.\"\n ],\n \"details\": [\n \"Provides deterministic fixture-level Doxygen coverage block 5.\"\n ],\n \"params\": [\n {\n \"direction\": \"unspecified\",\n \"parameter_name\": \"value\",\n \"description\": \"Input value for helper construct 5.\"\n }\n ],\n \"returns\": [\n \"Output value for helper construct 5.\"\n ]\n },\n \"body_comment_entries\": [],\n \"exit_point_entries\": []\n }\n ],\n \"standalone_comments\": [\n {\n \"start_line_number\": 2,\n \"end_line_number\": 2,\n \"line_range\": [\n 2,\n 2\n ],\n \"text\": \"@brief Go language test fixture.\",\n \"text_lines\": [\n \"@brief Go language test fixture.\"\n ]\n },\n {\n \"start_line_number\": 3,\n \"end_line_number\": 3,\n \"line_range\": [\n 3,\n 3\n ],\n \"text\": \"@details Parser validation constructs.\",\n \"text_lines\": [\n \"@details Parser validation constructs.\"\n ]\n },\n {\n \"start_line_number\": 5,\n \"end_line_number\": 5,\n \"line_range\": [\n 5,\n 5\n ],\n \"text\": \"Single line comment\",\n \"text_lines\": [\n \"Single line comment\"\n ]\n },\n {\n \"start_line_number\": 6,\n \"end_line_number\": 7,\n \"line_range\": [\n 6,\n 7\n ],\n \"text\": \"Multi-line comment\",\n \"text_lines\": [\n \"Multi-line\",\n \"comment\"\n ]\n },\n {\n \"start_line_number\": 29,\n \"end_line_number\": 29,\n \"line_range\": [\n 29,\n 29\n ],\n \"text\": \"Iota-based enum-like constants for log levels.\",\n \"text_lines\": [\n \"Iota-based enum-like constants for log levels.\"\n ]\n },\n {\n \"start_line_number\": 31,\n \"end_line_number\": 31,\n \"line_range\": [\n 31,\n 31\n ],\n \"text\": \"LogDebug is the most verbose logging level.\",\n \"text_lines\": [\n \"LogDebug is the most verbose logging level.\"\n ]\n },\n {\n \"start_line_number\": 33,\n \"end_line_number\": 33,\n \"line_range\": [\n 33,\n 33\n ],\n \"text\": \"LogInfo is the standard informational level.\",\n \"text_lines\": [\n \"LogInfo is the standard informational level.\"\n ]\n },\n {\n \"start_line_number\": 35,\n \"end_line_number\": 35,\n \"line_range\": [\n 35,\n 35\n ],\n \"text\": \"LogError logs only error conditions.\",\n \"text_lines\": [\n \"LogError logs only error conditions.\"\n ]\n },\n {\n \"start_line_number\": 39,\n \"end_line_number\": 39,\n \"line_range\": [\n 39,\n 39\n ],\n \"text\": \"── Struct definitions ─────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Struct definitions ─────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 72,\n \"end_line_number\": 72,\n \"line_range\": [\n 72,\n 72\n ],\n \"text\": \"Handle processes a request and returns a response.\",\n \"text_lines\": [\n \"Handle processes a request and returns a response.\"\n ]\n },\n {\n \"start_line_number\": 93,\n \"end_line_number\": 93,\n \"line_range\": [\n 93,\n 93\n ],\n \"text\": \"── Generic types (Go 1.18+) ───────────────────────────────────────────\",\n \"text_lines\": [\n \"── Generic types (Go 1.18+) ───────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 95,\n \"end_line_number\": 95,\n \"line_range\": [\n 95,\n 95\n ],\n \"text\": \"Pair holds two values of potentially different types.\",\n \"text_lines\": [\n \"Pair holds two values of potentially different types.\"\n ]\n },\n {\n \"start_line_number\": 96,\n \"end_line_number\": 96,\n \"line_range\": [\n 96,\n 96\n ],\n \"text\": \"@tparam A The type of the first element.\",\n \"text_lines\": [\n \"@tparam A The type of the first element.\"\n ]\n },\n {\n \"start_line_number\": 97,\n \"end_line_number\": 97,\n \"line_range\": [\n 97,\n 97\n ],\n \"text\": \"@tparam B The type of the second element.\",\n \"text_lines\": [\n \"@tparam B The type of the second element.\"\n ]\n },\n {\n \"start_line_number\": 117,\n \"end_line_number\": 117,\n \"line_range\": [\n 117,\n 117\n ],\n \"text\": \"Package initialization — set default global state\",\n \"text_lines\": [\n \"Package initialization — set default global state\"\n ]\n },\n {\n \"start_line_number\": 126,\n \"end_line_number\": 126,\n \"line_range\": [\n 126,\n 126\n ],\n \"text\": \"Validate port before binding\",\n \"text_lines\": [\n \"Validate port before binding\"\n ]\n },\n {\n \"start_line_number\": 134,\n \"end_line_number\": 134,\n \"line_range\": [\n 134,\n 134\n ],\n \"text\": \"Register adds a handler function for a specific route path.\",\n \"text_lines\": [\n \"Register adds a handler function for a specific route path.\"\n ]\n },\n {\n \"start_line_number\": 145,\n \"end_line_number\": 145,\n \"line_range\": [\n 145,\n 145\n ],\n \"text\": \"── Generic function ───────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Generic function ───────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 147,\n \"end_line_number\": 147,\n \"line_range\": [\n 147,\n 147\n ],\n \"text\": \"Max returns the larger of two ordered values.\",\n \"text_lines\": [\n \"Max returns the larger of two ordered values.\"\n ]\n },\n {\n \"start_line_number\": 148,\n \"end_line_number\": 148,\n \"line_range\": [\n 148,\n 148\n ],\n \"text\": \"@tparam T Type constrained to Ordered interface.\",\n \"text_lines\": [\n \"@tparam T Type constrained to Ordered interface.\"\n ]\n },\n {\n \"start_line_number\": 149,\n \"end_line_number\": 149,\n \"line_range\": [\n 149,\n 149\n ],\n \"text\": \"@param a First value.\",\n \"text_lines\": [\n \"@param a First value.\"\n ]\n },\n {\n \"start_line_number\": 150,\n \"end_line_number\": 150,\n \"line_range\": [\n 150,\n 150\n ],\n \"text\": \"@param b Second value.\",\n \"text_lines\": [\n \"@param b Second value.\"\n ]\n },\n {\n \"start_line_number\": 151,\n \"end_line_number\": 151,\n \"line_range\": [\n 151,\n 151\n ],\n \"text\": \"@return The greater of a and b.\",\n \"text_lines\": [\n \"@return The greater of a and b.\"\n ]\n },\n {\n \"start_line_number\": 159,\n \"end_line_number\": 159,\n \"line_range\": [\n 159,\n 159\n ],\n \"text\": \"Filter returns elements matching a predicate.\",\n \"text_lines\": [\n \"Filter returns elements matching a predicate.\"\n ]\n },\n {\n \"start_line_number\": 160,\n \"end_line_number\": 160,\n \"line_range\": [\n 160,\n 160\n ],\n \"text\": \"@tparam T Element type (any).\",\n \"text_lines\": [\n \"@tparam T Element type (any).\"\n ]\n },\n {\n \"start_line_number\": 161,\n \"end_line_number\": 161,\n \"line_range\": [\n 161,\n 161\n ],\n \"text\": \"@param items Slice of items to filter.\",\n \"text_lines\": [\n \"@param items Slice of items to filter.\"\n ]\n },\n {\n \"start_line_number\": 162,\n \"end_line_number\": 162,\n \"line_range\": [\n 162,\n 162\n ],\n \"text\": \"@param pred Predicate function returning true to keep element.\",\n \"text_lines\": [\n \"@param pred Predicate function returning true to keep element.\"\n ]\n },\n {\n \"start_line_number\": 163,\n \"end_line_number\": 163,\n \"line_range\": [\n 163,\n 163\n ],\n \"text\": \"@return Filtered slice.\",\n \"text_lines\": [\n \"@return Filtered slice.\"\n ]\n },\n {\n \"start_line_number\": 174,\n \"end_line_number\": 174,\n \"line_range\": [\n 174,\n 174\n ],\n \"text\": \"── Multiple return values ─────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Multiple return values ─────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 176,\n \"end_line_number\": 176,\n \"line_range\": [\n 176,\n 176\n ],\n \"text\": \"Divide performs safe integer division with error handling.\",\n \"text_lines\": [\n \"Divide performs safe integer division with error handling.\"\n ]\n },\n {\n \"start_line_number\": 187,\n \"end_line_number\": 187,\n \"line_range\": [\n 187,\n 187\n ],\n \"text\": \"── Named return values ────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Named return values ────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 193,\n \"end_line_number\": 193,\n \"line_range\": [\n 193,\n 193\n ],\n \"text\": \"Named returns allow bare return in simple cases\",\n \"text_lines\": [\n \"Named returns allow bare return in simple cases\"\n ]\n },\n {\n \"start_line_number\": 202,\n \"end_line_number\": 202,\n \"line_range\": [\n 202,\n 202\n ],\n \"text\": \"── Closure ────────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Closure ────────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 209,\n \"end_line_number\": 209,\n \"line_range\": [\n 209,\n 209\n ],\n \"text\": \"Capture count from enclosing scope\",\n \"text_lines\": [\n \"Capture count from enclosing scope\"\n ]\n },\n {\n \"start_line_number\": 215,\n \"end_line_number\": 215,\n \"line_range\": [\n 215,\n 215\n ],\n \"text\": \"── Goroutine and channels ─────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Goroutine and channels ─────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 217,\n \"end_line_number\": 217,\n \"line_range\": [\n 217,\n 217\n ],\n \"text\": \"FanOut distributes work across n goroutines via channels.\",\n \"text_lines\": [\n \"FanOut distributes work across n goroutines via channels.\"\n ]\n },\n {\n \"start_line_number\": 229,\n \"end_line_number\": 229,\n \"line_range\": [\n 229,\n 229\n ],\n \"text\": \"Each worker processes items from the slice\",\n \"text_lines\": [\n \"Each worker processes items from the slice\"\n ]\n },\n {\n \"start_line_number\": 236,\n \"end_line_number\": 236,\n \"line_range\": [\n 236,\n 236\n ],\n \"text\": \"Close channel when all workers finish\",\n \"text_lines\": [\n \"Close channel when all workers finish\"\n ]\n },\n {\n \"start_line_number\": 245,\n \"end_line_number\": 245,\n \"line_range\": [\n 245,\n 245\n ],\n \"text\": \"── Type switch ────────────────────────────────────────────────────────\",\n \"text_lines\": [\n \"── Type switch ────────────────────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 268,\n \"end_line_number\": 268,\n \"line_range\": [\n 268,\n 268\n ],\n \"text\": \"── Defer and panic recovery ───────────────────────────────────────────\",\n \"text_lines\": [\n \"── Defer and panic recovery ───────────────────────────────────────────\"\n ]\n },\n {\n \"start_line_number\": 276,\n \"end_line_number\": 276,\n \"line_range\": [\n 276,\n 276\n ],\n \"text\": \"Convert panic to error\",\n \"text_lines\": [\n \"Convert panic to error\"\n ]\n },\n {\n \"start_line_number\": 305,\n \"end_line_number\": 305,\n \"line_range\": [\n 305,\n 305\n ],\n \"text\": \"REQ-COVER-SRS-231 START\",\n \"text_lines\": [\n \"REQ-COVER-SRS-231 START\"\n ]\n },\n {\n \"start_line_number\": 306,\n \"end_line_number\": 306,\n \"line_range\": [\n 306,\n 306\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 1\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 1\"\n ]\n },\n {\n \"start_line_number\": 307,\n \"end_line_number\": 307,\n \"line_range\": [\n 307,\n 307\n ],\n \"text\": \"@brief Coverage helper construct 1.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 1.\"\n ]\n },\n {\n \"start_line_number\": 313,\n \"end_line_number\": 313,\n \"line_range\": [\n 313,\n 313\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 2\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 2\"\n ]\n },\n {\n \"start_line_number\": 314,\n \"end_line_number\": 314,\n \"line_range\": [\n 314,\n 314\n ],\n \"text\": \"@brief Coverage helper construct 2.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 2.\"\n ]\n },\n {\n \"start_line_number\": 320,\n \"end_line_number\": 320,\n \"line_range\": [\n 320,\n 320\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 3\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 3\"\n ]\n },\n {\n \"start_line_number\": 321,\n \"end_line_number\": 321,\n \"line_range\": [\n 321,\n 321\n ],\n \"text\": \"@brief Coverage helper construct 3.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 3.\"\n ]\n },\n {\n \"start_line_number\": 327,\n \"end_line_number\": 327,\n \"line_range\": [\n 327,\n 327\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 4\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 4\"\n ]\n },\n {\n \"start_line_number\": 328,\n \"end_line_number\": 328,\n \"line_range\": [\n 328,\n 328\n ],\n \"text\": \"@brief Coverage helper construct 4.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 4.\"\n ]\n },\n {\n \"start_line_number\": 334,\n \"end_line_number\": 334,\n \"line_range\": [\n 334,\n 334\n ],\n \"text\": \"@REQ-COVER-SRS-231 block 5\",\n \"text_lines\": [\n \"@REQ-COVER-SRS-231 block 5\"\n ]\n },\n {\n \"start_line_number\": 335,\n \"end_line_number\": 335,\n \"line_range\": [\n 335,\n 335\n ],\n \"text\": \"@brief Coverage helper construct 5.\",\n \"text_lines\": [\n \"@brief Coverage helper construct 5.\"\n ]\n },\n {\n \"start_line_number\": 341,\n \"end_line_number\": 341,\n \"line_range\": [\n 341,\n 341\n ],\n \"text\": \"REQ-COVER-SRS-231 END\",\n \"text_lines\": [\n \"REQ-COVER-SRS-231 END\"\n ]\n }\n ]\n }\n ]\n}\n",
|
|
4
|
+
"stderr": ""
|
|
5
|
+
}
|