feat: add SAM eslint plugin boundary rules - #1783
Draft
simple-agent-manager[bot] wants to merge 2 commits into
Draft
Conversation
|
simple-agent-manager
Bot
force-pushed
the
sam/coordinate-implement-deterministic-runtime-gkq1xt
branch
from
August 10, 2026 18:59
5863929 to
86be87c
Compare
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.



Summary
@simple-agent-manager/eslint-plugin-samunderpackages/eslint-plugin-samonly.no-unvalidated-request-json,no-unsafe-json-parse-assertion, andno-local-record-guard.rules.manifest.jsonlifecycle metadata for deterministic quality rollout.7fec2b76b5ff719a7b85b136afc28a891c0697f6.Validation
pnpm lintpnpm typecheckpnpm testValidation actually run within owned workspace:
pnpm --filter @simple-agent-manager/eslint-plugin-sam test— PASS, 16 tests passed.pnpm --filter @simple-agent-manager/eslint-plugin-sam typecheck— PASS.pnpm --filter @simple-agent-manager/eslint-plugin-sam lint— PASS.eslint@9.39.1,@typescript-eslint/parser@8.65.0,vitest@4.1.5,typescript@5.9.3, thennpm test— PASS, 16 tests passed.Full-root lint/typecheck/test were not run because this child task has exclusive ownership of
packages/eslint-plugin-sam/**and must not modify root workspace wiring or lockfile.Staging Verification (REQUIRED for all code changes — merge-blocking)
All checkboxes below are mandatory for any PR that changes runtime code (
.ts,.tsx,.go, etc.). WriteN/A: docs-onlyONLY if the PR contains zero runtime code changes. See.claude/rules/13-staging-verification.md.Staging Verification Evidence
N/A by explicit task constraint: do not deploy to staging. This PR only adds an unpublished local ESLint plugin package and fixture tests; it does not alter deployed application behavior.
UI Compliance Checklist (Required for UI changes)
End-to-End Verification (Required for multi-component changes)
Data Flow Trace
N/A: no application data flow. The plugin exports ESLint rule objects from
packages/eslint-plugin-sam/src/index.jsand tests invoke the rules with ESLint RuleTester inpackages/eslint-plugin-sam/tests/rules.test.js.Untested Gaps
Root integration is intentionally not wired in this child PR because the task grants exclusive ownership only for
packages/eslint-plugin-sam/**. Integration branch should add workspace/root config and lockfile wiring separately.Post-Mortem (Required for bug fix PRs)
N/A: not a bug fix.
Specialist Review Evidence (Required for agent-authored PRs)
needs-human-reviewlabel added and merge deferred to humanExceptions (If any)
Agent Preflight (Required)
Classification
External References
N/A: no external API change. ESLint 9 compatibility was verified by isolated local install and RuleTester execution.
Codebase Impact Analysis
Affected components and paths:
packages/eslint-plugin-sam/src/rules/*— advisory AST matchers for request JSON, JSON.parse assertions, and local record guards.packages/eslint-plugin-sam/tests/fixtures/*— fixture corpus for true positives, safe negatives, comments/strings/multiline, aliases, and near misses.packages/eslint-plugin-sam/docs/rules/*andpackages/eslint-plugin-sam/rules.manifest.json— rule docs and lifecycle ownership metadata.Documentation & Specs
packages/eslint-plugin-sam/docs/rules/.packages/eslint-plugin-sam/rules.manifest.jsonwith owner, matcher version, advisory stage, gate owner, evidence incident, baseline/backlog link, dates, false-positive samples, and expiring exemptions.Constitution & Risk Check
Checked Principle XI (No Hardcoded Values) and file-size limits. No deployment config/timeouts/limits/identifiers were added. Rule files remain below the repository file-size threshold. Suggestions are advisory only and do not declare
meta.fixable.