Skip to content

Add parent tool progressive disclosure - #2021

Merged
Aaronontheweb merged 1 commit into
goal/pit-of-success-agent-toolsfrom
goal/pit-of-success-progressive-disclosure
Aug 20, 2026
Merged

Add parent tool progressive disclosure#2021
Aaronontheweb merged 1 commit into
goal/pit-of-success-agent-toolsfrom
goal/pit-of-success-progressive-disclosure

Conversation

@Aaronontheweb

@Aaronontheweb Aaronontheweb commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add internal Core and Deferred tool exposure tiers.
  • Seed parent sessions with exactly ten core tools.
  • Lease discovered first-party and MCP tools without granting invocation authority.
  • Filter search, load, suggestions, and server summaries before result limits.
  • Hide denied tools without revealing whether hidden names exist.
  • Protect complete operator shadow catalogs from agent file and shell access.
  • Preserve public registry contracts and legacy catalog behavior.

Stack

Deterministic evaluation evidence

  • The parent Core snapshot contains 10 tool definitions totaling 10,879 serialized UTF-8 bytes.
  • Initial model requests exclude Deferred tool schemas.
  • A successful policy-visible load activates one Deferred tool without granting invocation authority.
  • Model failure evicts the transient Deferred lease.
  • Hidden tools remain absent from exact search, fuzzy suggestions, server summaries, and load responses.
  • No hosted behavioral run was used as evidence for this PR.

Validation

  • Actors: 3,460 passed; one expected Windows-only skip.
  • Security: 1,052 passed.
  • Daemon shadow and path checks: 5 passed.
  • Strict OpenSpec validation passed.
  • Header and no-BOM checks passed.
  • Slopwatch reported zero issues.
  • Diff checks passed.
  • Independent security and API review passed.

@Aaronontheweb
Aaronontheweb force-pushed the goal/pit-of-success-progressive-disclosure branch from aaa136a to 551ac4b Compare August 19, 2026 21:50
Comment on lines +413 to +419
foreach (var entry in deferredFirstPartyTools.OrderBy(
static entry => entry.Registration.Tool.Name,
StringComparer.Ordinal))
{
var tool = entry.Registration.Tool;
sb.AppendLine($"{tool.Name}: {BuildCompactHint(tool.Description)}");
}

private static ToolRegistry CreateFullFirstPartyRegistry()
{
var paths = new NetclawPaths(Path.Combine(Path.GetTempPath(), "netclaw-core-tool-contract"));
[InlineData("mcp/synthetic-server.md")]
public void Operator_tool_catalogs_are_denied_to_read_write_and_shell(string relativePath)
{
var paths = new NetclawPaths(Path.Combine(Path.GetTempPath(), "netclaw-policy-contract"));
Comment on lines +24 to +25
var catalogPath = Path.Combine(
[paths.ToolingShadowDirectory, ..relativePath.Split('/')]);
new ShellCommandPolicy(),
new ToolPathPolicy([]));

var operatorCatalog = File.ReadAllText(Path.Combine(paths.McpShadowDirectory, "memorizer.md"));
@Aaronontheweb
Aaronontheweb force-pushed the goal/pit-of-success-progressive-disclosure branch from 551ac4b to 169b543 Compare August 20, 2026 04:07
@Aaronontheweb
Aaronontheweb force-pushed the goal/pit-of-success-progressive-disclosure branch from 169b543 to af7e19e Compare August 20, 2026 04:50
@Aaronontheweb
Aaronontheweb force-pushed the goal/pit-of-success-progressive-disclosure branch from af7e19e to d260358 Compare August 20, 2026 05:33
@Aaronontheweb

Copy link
Copy Markdown
Collaborator Author

Sanitized hosted follow-up from the completed top-of-stack rollout proof (#2039): deferred tool discovery passed 5/5. Every trial used search_tools and none used a shell fallback. Raw transcripts and environment details are not published.

@Aaronontheweb
Aaronontheweb merged commit 94705cb into dev Aug 20, 2026
37 of 43 checks passed
@Aaronontheweb
Aaronontheweb deleted the goal/pit-of-success-progressive-disclosure branch August 20, 2026 08:29
@Aaronontheweb Aaronontheweb added enhancement New feature or request tools Issues related to agent tools: file_read, web_search, shell_execute, image processing, etc. performance Memory, CPU, and I/O optimization issues. context-pipeline LLM context assembly: prompt layers, dynamic injection, memory recall, temporal grounding security Security-related changes labels Aug 20, 2026
@Aaronontheweb Aaronontheweb mentioned this pull request Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

context-pipeline LLM context assembly: prompt layers, dynamic injection, memory recall, temporal grounding enhancement New feature or request performance Memory, CPU, and I/O optimization issues. security Security-related changes tools Issues related to agent tools: file_read, web_search, shell_execute, image processing, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant