Repository navigation
Wire tool-manifest (S24) observe-only - #52
Merged
Merged
Conversation
…ance shadow, flagged event envelope headers SHIP_TOOL_MANIFEST=shadow|on records conformance findings from executeAction, never blocking. SHIP_EVENT_ENVELOPE=on adds two signed headers to run webhooks; off is byte-identical. http-client example gains verifyEvent/EventDedupe. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqsBNqvaWezf1DwQrAnVgX
Keeps both the tool validate and placement shadow-report commands in cli.ts. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqsBNqvaWezf1DwQrAnVgX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
teploy-ship tool validate <manifest.json> [--grant <json|file>] [--json]: read-only dry run (validateManifest + effectivePermissions with an admin-entered grant, excess reported, exit 1 if invalid). Persists nothing. No grant means nothing granted.src/tool-manifest-shadow.ts, hooked intoexecuteAction(agent.ts, shared by live and durable loops):SHIP_TOOL_MANIFEST=shadow|on(default off) runsconformanceCheckson every executed action and appends findings totool-manifest-shadow.jsonl(SHIP_TOOL_MANIFEST_SHADOW_FILE).onalso logs to stderr. Never blocks, quarantines or alters a call. Manifest comes fromSHIP_TOOL_MANIFEST_FILE; none configured means nothing recorded; a bad one records oneerrorrecord.SHIP_EVENT_ENVELOPE=on(default off): run webhooks gain two additive headersX-Teploy-Event(signed EventEnvelope: eventId = delivery id, cursor = event_seq, data.payloadSha256 binds the body) andX-Teploy-Event-Signature. Body and all existing headers unchanged. No envelope without a secret or an event_seq.examples/http-client.mjs:verifyEventport +EventDedupe;docs/HTTP_CLIENT.md: event verification section.Checks
node --test dist/**/*.test.js: 1997 pass, 0 fail (14 new insrc/tool-manifest-wiring.test.ts);scripts/http-client.test.mjs1 pass.Not verified / still open
undeclared-host,secret-in-argv,secret-in-promptcannot fire from this path until the executor/credential layer reports hosts and injected secrets.🤖 Generated with Claude Code
https://claude.ai/code/session_01VqsBNqvaWezf1DwQrAnVgX
Generated by Claude Code