test: enforce coding standards guardrails and fix scs toolset logging#522
Closed
cursor[bot] wants to merge 3 commits into
Closed
test: enforce coding standards guardrails and fix scs toolset logging#522cursor[bot] wants to merge 3 commits into
cursor[bot] wants to merge 3 commits into
Conversation
Bump version to 3.2.5 across package.json, root and directory bundle manifests, and the release-metadata version contract test. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> AI-Session-Id: cc0246c6-f5e1-40f2-bf1a-6d8f3c6ba701 AI-Tool: claude-code AI-Model: unknown
…xtractors Add regression tests for release 3.2.5 merged changes: - create-agent prompt must document PLUGIN_ALLOWED_DOMAINS, allowedDomains input default, layout inclusion, and network-access guidance (#494) - chaosLoadTestExtract/ListExtract project stable shapes and derived scalars from inputs[] without leaking scriptContent or user envelopes (#481) Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>
Remove createLogger from scs.ts remediation PR preflight — toolsets are pure data and must not log. Transient preflight list failures now fail open silently per the documented best-effort policy. Add automated guardrails: - FORBIDDEN_TOOLSET_IMPORTS blocks utils/logger imports - architecture test rejects createLogger() calls in toolsets - docs/coding-standards.md documents logging rule and remote-provider fetch exception Co-authored-by: Rohan Gupta <thisrohangupta@users.noreply.github.com>
|
|
This was referenced Jul 5, 2026
Collaborator
|
Closing: duplicate 'strengthen coding standards guardrails' draft. Superseded by merged #536/#510 on Triaged as part of an open-PR cleanup pass. If this was mis-triaged, reopen and rebase onto current |
This was referenced Jul 5, 2026
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.
Description
Audited the codebase against
docs/coding-standards.mdand closed a gap in automated enforcement: toolsets must remain pure data with no logging.Changes
scs.ts: removecreateLoggerfrom remediation PR preflight; transient list failures fail open silently (best-effort policy)architecture.test.ts: blockutils/loggerimports andcreateLogger()calls in toolset filesdocs/coding-standards.md: document createLogger ban in toolsets; addsearch/remote-provider.tsto documented globalfetch()exceptionsStandards audit summary
The registry-driven model is already well enforced via
pnpm standards:check(72 tests across 9 files) and CI. Canonical surface is 11 consolidated tools (includesharness_schema) with Zod v4.Type of Change
Checklist
pnpm testpasses (2467 tests)pnpm typecheckpassespnpm buildpassespnpm standards:checkpasses (architecture guardrails — see docs/coding-standards.md)pnpm docs:checkpasses (if registry/tool counts changed)Coding Standards (registry-driven MCP model)
server.registerTool()calls — only toolset definitions insrc/registry/toolsets/console.log()insrc/(stdio JSON-RPC safety)createLogger()in toolsets (pure-data model)