Skip to content

docs: update mcp docs for IHalClient pivot, scoped HalToolCollectionManager, and gap resolutions#82

Merged
brenpike merged 25 commits into
mainfrom
docs/mcp-gap-analysis
Apr 29, 2026
Merged

docs: update mcp docs for IHalClient pivot, scoped HalToolCollectionManager, and gap resolutions#82
brenpike merged 25 commits into
mainfrom
docs/mcp-gap-analysis

Conversation

@brenpike
Copy link
Copy Markdown
Owner

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

brenpike and others added 2 commits April 28, 2026 20:14
…anager, and gap resolutions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…p docs

Replace leftover GetHalAsync references with IHalClient.GetAsync in
REQ-38, Non-HAL response scenario, CancellationToken threading, and
async conventions test bullets. Update null-response error message to
match the canonical format. Update Key Points bullet to reflect that
IHalClient wraps the registered HttpClient internally.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c5b5097d6d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md Outdated
Comment thread docs/mcp/requirements.md
Comment thread docs/mcp/requirements.md Outdated
Fix three issues found during Codex review of PR #82:
- REQ-05 truncation formula now subtracts 2 for the "__" separator,
  with a prefixBudget <= 0 guard in the architecture pseudocode
- Sanitization step 1 now strips scheme+:// only, retaining the
  authority (host+port) consistent with the examples
- REQ-24 clarifies HalToolCollectionManager uses ILoggerFactory for
  per-tool loggers only; swap logging is at call site

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 617602bcd7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md Outdated
Move the lowercase step before the [^a-z0-9] replacement in both
requirements.md (REQ-05) and architecture.md (Sanitize pseudocode).
Uppercase letters were being replaced with underscores instead of
normalized to lowercase because the character class [a-z0-9] does
not match A-Z.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3bf4a8a263

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/architecture.md Outdated
Comment thread docs/mcp/architecture.md Outdated
…on in mcp docs

Replace new Uri(x) with new Uri(x, UriKind.RelativeOrAbsolute) in all
pseudocode call sites to support relative hrefs from HAL APIs. Remove
ILogger<NavigateToRootTool> constructor parameter since DI container is
not built during WithHalApi registration; logger is now resolved from
RequestContext.Services inside InvokeAsync.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d9fa41ad34

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md
Add REQ-46 requiring WithHalApi to explicitly set
McpServerOptions.ScopeRequests = true, ensuring per-invocation
scoped DI regardless of host defaults. Update architecture.md
registration sequence (renumbered) and SDK Alignment bullet
from "default" to "enforced".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f0bd3a1bcc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md Outdated
brenpike and others added 4 commits April 28, 2026 21:20
The code sample used a named HttpClient registration that never
registered IHalClient, causing InvalidOperationException at runtime
when tools resolve IHalClient from RequestContext.Services (REQ-40).
Switch to AddHttpClient<IHalClient, HalClient>(...) and update the
Key Points bullet to document the typed-client pattern.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ts guard to mcp docs

Fix 1: Insert query-string/fragment stripping as sanitization step 2
(after scheme-strip) in REQ-05 and Sanitize pseudocode to prevent
sensitive query parameters from leaking into MCP tool names. Update
REQ-36 to require query/fragment stripping before href logging. Add
`/orders?page=2` example to both naming tables.

Fix 2: Add concurrent-navigation-session constraint to Out of Scope
(requirements) and SwapTools Key behaviors (architecture). v1 is
single-session only; the global tool collection is not safe for
concurrent agents.

Fix 3: Guard against empty/null LinkObjects in SwapTools step 4 to
avoid IndexOutOfRangeException on rels with zero link objects. Document
skip behavior in REQ-04.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Introduce HalClientResult (REQ-01a) and GetResultAsync (REQ-03a) to
client requirements. Update MCP requirements and architecture to use
GetResultAsync, enabling tools to report HTTP status codes in error
messages and distinguish 404 from non-HAL responses.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… and architecture

Tool name collisions are easy to produce (punctuation variants,
truncation, CURIE-like rels). Add deterministic _2, _3, ... suffix
dedup in SwapTools with seenNames set, update REQ-05 collision rule,
collision examples table, HalNavigationTool _name override field,
ProtocolTool.Name fallback, Key behaviors bullet, and test strategy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9010fb790e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md Outdated
Comment thread docs/client/requirements.md Outdated
brenpike and others added 3 commits April 28, 2026 21:55
…n in log call sites

Commit sealed class for HalClientResult (REQ-01a) and propagate sanitized
href convention through MCP architecture pseudocode and log template tables
to close the gap between REQ-36 and REQ-28-32 log message templates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 70d006aebb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md Outdated
brenpike and others added 2 commits April 28, 2026 22:05
…ation story

HalClient requires HalClientOptions via constructor injection (client
REQ-01). Without .AddHalOptions(), IHalClient activation fails at
runtime. Updated the Integration Story code block and key points bullet
to show the required call from Chatter.Rest.Hal.Client.DependencyInjection.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
# Conflicts:
#	.claude/skills/run-codex-review-loop/github-pr-review-graphql.md
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9a96b4aa58

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md Outdated
… example

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6db5a314e0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/mcp/requirements.md Outdated
…hrefs with URL query params

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7974655682

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .claude/references/github-pr-review-graphql.md
Comment thread .claude/references/github-pr-review-graphql.md Outdated
…l.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e4a3cabd91

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .claude/references/github-pr-review-graphql.md Outdated
…raphql.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2c14f898d9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .claude/references/github-pr-review-graphql.md Outdated
Comment thread .claude/skills/run-codex-review-loop/SKILL.md Outdated
…tch to run-codex-review-loop step 2

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8f07e2afe7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .claude/references/github-pr-review-graphql.md
…phql.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 28a049e2b6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .claude/skills/watch-pr-feedback/SKILL.md Outdated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 53c9408932

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .claude/references/github-pr-review-graphql.md
Comment thread docs/mcp/requirements.md Outdated
brenpike and others added 2 commits April 28, 2026 23:18
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 811757a4ee

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .claude/references/github-pr-review-graphql.md Outdated
…eview-graphql.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@brenpike brenpike merged commit c93a33c into main Apr 29, 2026
2 checks passed
@brenpike brenpike deleted the docs/mcp-gap-analysis branch April 29, 2026 12:33
brenpike added a commit that referenced this pull request May 1, 2026
…design fixes (#84)

* docs: update mcp docs for IHalClient pivot, scoped HalToolCollectionManager, and gap resolutions

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

* docs: fix remaining stale GetHalAsync and HttpClient references in mcp docs

Replace leftover GetHalAsync references with IHalClient.GetAsync in
REQ-38, Non-HAL response scenario, CancellationToken threading, and
async conventions test bullets. Update null-response error message to
match the canonical format. Update Key Points bullet to reflect that
IHalClient wraps the registered HttpClient internally.

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

* docs: fix Codex review findings in mcp requirements and architecture

Fix three issues found during Codex review of PR #82:
- REQ-05 truncation formula now subtracts 2 for the "__" separator,
  with a prefixBudget <= 0 guard in the architecture pseudocode
- Sanitization step 1 now strips scheme+:// only, retaining the
  authority (host+port) consistent with the examples
- REQ-24 clarifies HalToolCollectionManager uses ILoggerFactory for
  per-tool loggers only; swap logging is at call site

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

* docs: fix case normalization order in tool-name sanitization algorithm

Move the lowercase step before the [^a-z0-9] replacement in both
requirements.md (REQ-05) and architecture.md (Sanitize pseudocode).
Uppercase letters were being replaced with underscores instead of
normalized to lowercase because the character class [a-z0-9] does
not match A-Z.

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

* docs: fix relative URI handling and NavigateToRootTool DI contradiction in mcp docs

Replace new Uri(x) with new Uri(x, UriKind.RelativeOrAbsolute) in all
pseudocode call sites to support relative hrefs from HAL APIs. Remove
ILogger<NavigateToRootTool> constructor parameter since DI container is
not built during WithHalApi registration; logger is now resolved from
RequestContext.Services inside InvokeAsync.

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

* docs: enforce ScopeRequests=true in WithHalApi registration (REQ-46)

Add REQ-46 requiring WithHalApi to explicitly set
McpServerOptions.ScopeRequests = true, ensuring per-invocation
scoped DI regardless of host defaults. Update architecture.md
registration sequence (renumbered) and SDK Alignment bullet
from "default" to "enforced".

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

* docs: fix IHalClient DI registration in Integration Story example

The code sample used a named HttpClient registration that never
registered IHalClient, causing InvalidOperationException at runtime
when tools resolve IHalClient from RequestContext.Services (REQ-40).
Switch to AddHttpClient<IHalClient, HalClient>(...) and update the
Key Points bullet to document the typed-client pattern.

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

* docs: add query-strip, single-session constraint, and empty-LinkObjects guard to mcp docs

Fix 1: Insert query-string/fragment stripping as sanitization step 2
(after scheme-strip) in REQ-05 and Sanitize pseudocode to prevent
sensitive query parameters from leaking into MCP tool names. Update
REQ-36 to require query/fragment stripping before href logging. Add
`/orders?page=2` example to both naming tables.

Fix 2: Add concurrent-navigation-session constraint to Out of Scope
(requirements) and SwapTools Key behaviors (architecture). v1 is
single-session only; the global tool collection is not safe for
concurrent agents.

Fix 3: Guard against empty/null LinkObjects in SwapTools step 4 to
avoid IndexOutOfRangeException on rels with zero link objects. Document
skip behavior in REQ-04.

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

* docs: add HalClientResult envelope and GetResultAsync to client/MCP docs

Introduce HalClientResult (REQ-01a) and GetResultAsync (REQ-03a) to
client requirements. Update MCP requirements and architecture to use
GetResultAsync, enabling tools to report HTTP status codes in error
messages and distinguish 404 from non-HAL responses.

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

* docs: add counter-based tool name collision dedup to mcp requirements and architecture

Tool name collisions are easy to produce (punctuation variants,
truncation, CURIE-like rels). Add deterministic _2, _3, ... suffix
dedup in SwapTools with seenNames set, update REQ-05 collision rule,
collision examples table, HalNavigationTool _name override field,
ProtocolTool.Name fallback, Key behaviors bullet, and test strategy.

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

* update agent framework

* update agent framework

* docs: fix HalClientResult type ambiguity and enforce href sanitization in log call sites

Commit sealed class for HalClientResult (REQ-01a) and propagate sanitized
href convention through MCP architecture pseudocode and log template tables
to close the gap between REQ-36 and REQ-28-32 log message templates.

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

* docs: chain .AddHalOptions() to IHalClient registration in MCP integration story

HalClient requires HalClientOptions via constructor injection (client
REQ-01). Without .AddHalOptions(), IHalClient activation fails at
runtime. Updated the Integration Story code block and key points bullet
to show the required call from Chatter.Rest.Hal.Client.DependencyInjection.

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

* docs: fix AddHalOptions missing configure delegate in MCP integration example

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

* docs: anchor REQ-05 scheme-strip to string start to protect relative hrefs with URL query params

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

* docs: add pageInfo to comments connections in github-pr-review-graphql.md

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

* docs: add pageInfo to reviewThreads connections in github-pr-review-graphql.md

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

* docs: add after cursor args to GraphQL queries; add review summary fetch to run-codex-review-loop step 2

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

* docs: add per-thread comment pagination query to github-pr-review-graphql.md

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

* docs: add review summary fetch to watch-pr-feedback detection path

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

* docs: add Fetch Reviews query to github-pr-review-graphql.md

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

* docs: make REQ-05 scheme-strip regex case-insensitive

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

* docs: fix per-thread comment pagination cursor wording in github-pr-review-graphql.md

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

* docs(mcp): add SwapTools tuple return and NavigateToRootTool InvokeAsync flow

- SwapTools returns (int removed, int added) instead of void; counts
  are computed inside the lock, eliminating post-lock ToolCollection
  reads and the associated race condition (F1) and count inaccuracy (F2)
- Add ## InvokeAsync Flow (NavigateToRootTool) pseudocode section
  matching the existing HalNavigationTool section
- Update HalNavigationTool InvokeAsync flow and call-site logging
  pattern to use tuple destructure
- Update REQ-42 to document SwapTools return type semantics

* docs(mcp): fix McpServerOptions resolution and removedCount calculation

Addresses Codex P1 and P2 findings on PR #84.

- P1: Resolve McpServerOptions from request.Services in HalNavigationTool
  InvokeAsync step 1; replace _mcpOptions.ToolCollection with
  mcpOptions.ToolCollection in trace-loop (step 6b). Update prose and
  call-site logging pattern comment to match.
- P2: Replace collection.Count - 1 with collection.Count -
  navigateToRoot.Count in SwapTools algorithm; update key behaviors
  bullet to describe removedCount semantics accurately.

* docs(mcp): fix addedCount hardcoded subtraction in SwapTools algorithm

Use navigateToRoot.Count instead of constant 1 for addedCount, matching
the same fix applied to removedCount. Addresses Codex P2 on PR #84.

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant