Repository navigation
Conversation
doctor --quiet (-q) prints nothing when compatible and one line per problem otherwise, for CI. --version / -v / version prints the SDK name and version. formatDoctorReport and parseDoctorArgs are exported. Test PR for Autter's product walk. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🚦 Pre-merge checks ·
|
| Check | Status | Explanation |
|---|---|---|
| Batch size limit not detected | 1 potential issue(s) detected (max risk 66/100): packages/runtime-node/src/doctor.ts:29. | |
| Missing linked tracker issue | 1 potential issue(s) detected (max risk 50/100): packages/runtime-node/src/index.ts:105. | |
| Co-change coupling | 1 file(s) changed without a partner they usually change with. | |
| Complexity Guard | 1 finding(s) on changed lines. |
✅ Passed checks (167)
| Check | Status | Explanation |
|---|---|---|
| Too many files changed | ✅ Passed | Changed 4 file(s), within the limit of 25. |
| Too many lines changed | ✅ Passed | Changed 109 line(s), within the limit of 500. |
| Too many unrelated chapters | ✅ Passed | 2 chapter(s) detected, within the limit of 6. |
| Generated files hiding real changes | ✅ Passed | Generated-file volume (0 lines) does not obscure the 109 hand-written line(s). |
| Missing PR context | ✅ Passed | PR context looks sufficient. |
| Mixed concerns (refactor + behavior change) | ✅ Passed | The PR adds two features and makes no renames, moves, or no-behavior cleanup. The stderr routing change is a small behavior change tied to the quiet feature, not a separate refactor. |
| Migration + app logic + UI combined in one PR | ✅ Passed | No database migrations or UI changes are in the diff. |
| Sensitive data in logs | ✅ Passed | No sensitive data in logs issues detected. |
| Log injection | ✅ Passed | No log injection issues detected. |
| Missing audit logging | ✅ Passed | No missing audit logging issues detected. |
| Removed observability | ✅ Passed | No removed observability issues detected. |
| Rate limiting not detected | ✅ Passed | No rate limiting not detected issues detected. |
| Rate limiting removed | ✅ Passed | No rate limiting removed issues detected. |
| Pagination not detected | ✅ Passed | No pagination not detected issues detected. |
| Merge-blocking marker left in the change | ✅ Passed | No pending-work markers added by this diff. |
| Known-defect marker shipped in code | ✅ Passed | No pending-work markers added by this diff. |
| Untracked TODO without an issue reference | ✅ Passed | No pending-work markers added by this diff. |
| Test disabled or left pending | ✅ Passed | No pending-work markers added by this diff. |
| Redundant alias / duplicate import | ✅ Passed | No additional explanation was reported. |
| Redundant type construct | ✅ Passed | No additional explanation was reported. |
| Unnecessary type assertion | ✅ Passed | No additional explanation was reported. |
| Module smell | ✅ Passed | No additional explanation was reported. |
| Dead export (no callers) | ✅ Passed | No additional explanation was reported. |
| Code duplication / DRY violation | ✅ Passed | No additional explanation was reported. |
| Silent exception swallowing | ✅ Passed | No silent exception swallowing issues detected. |
| Unhandled promise rejection | ✅ Passed | No unhandled promise rejection issues detected. |
| Circuit breaker not detected | ✅ Passed | No circuit breaker not detected issues detected. |
| Stack trace leakage | ✅ Passed | No stack trace leakage issues detected. |
| Multi-write without detected transaction | ✅ Passed | No multi-write without detected transaction issues detected. |
| Possible TOCTOU in critical path | ✅ Passed | No possible toctou in critical path issues detected. |
| Idempotency key not detected | ✅ Passed | No idempotency key not detected issues detected. |
| Possible non-atomic read-modify-write | ✅ Passed | No possible non-atomic read-modify-write issues detected. |
| Optimistic locking not detected | ✅ Passed | No optimistic locking not detected issues detected. |
| Prompt injection risk | ✅ Passed | No LLM/AI-integration code touched by this diff. |
| LLM output used in a dangerous sink | ✅ Passed | No LLM/AI-integration code touched by this diff. |
| Sensitive data in prompt or system-prompt leakage | ✅ Passed | No LLM/AI-integration code touched by this diff. |
| Over-privileged LLM tool / excessive agency | ✅ Passed | No LLM/AI-integration code touched by this diff. |
| Missing validation on an LLM-driven decision | ✅ Passed | No LLM/AI-integration code touched by this diff. |
| Unbounded LLM usage (denial-of-wallet) | ✅ Passed | No LLM/AI-integration code touched by this diff. |
| Table exposed without row-level security | ✅ Passed | No row-level-security-related code touched by this diff. |
| Over-broad row-level security policy | ✅ Passed | No row-level-security-related code touched by this diff. |
| Code path that bypasses row-level security | ✅ Passed | No row-level-security-related code touched by this diff. |
| Privileged database credential reachable from the client | ✅ Passed | No row-level-security-related code touched by this diff. |
| Privileged query without row-level scoping | ✅ Passed | No row-level-security-related code touched by this diff. |
| Row-level security enabled with no policy | ✅ Passed | No row-level-security-related code touched by this diff. |
| Template-default gradient styling | ✅ Passed | No added frontend pages or design-slop markers in this diff. |
| Interchangeable AI marketing copy | ✅ Passed | No added frontend pages or design-slop markers in this diff. |
| Placeholder content shipped to users | ✅ Passed | No added frontend pages or design-slop markers in this diff. |
| Emoji standing in for an icon system | ✅ Passed | No added frontend pages or design-slop markers in this diff. |
| Call-to-action that goes nowhere | ✅ Passed | No added frontend pages or design-slop markers in this diff. |
| Templated page composition | ✅ Passed | No added frontend pages or design-slop markers in this diff. |
| Color outside the brand palette | ✅ Passed | No added frontend markup or brand-relevant style changes in this diff. |
| Hardcoded style bypassing design tokens | ✅ Passed | No added frontend markup or brand-relevant style changes in this diff. |
| Typography outside the brand type system | ✅ Passed | No added frontend markup or brand-relevant style changes in this diff. |
| One-off UI instead of the shared component | ✅ Passed | No added frontend markup or brand-relevant style changes in this diff. |
| Copy that does not match brand voice | ✅ Passed | No added frontend markup or brand-relevant style changes in this diff. |
| Screen does not match the rest of the product | ✅ Passed | No added frontend markup or brand-relevant style changes in this diff. |
| PII in logs | ✅ Passed | No pii in logs issues detected. |
| PII or internals leaked in error response | ✅ Passed | No pii or internals leaked in error response issues detected. |
| PII stored without application-level encryption | ✅ Passed | No pii stored without application-level encryption issues detected. |
| User data stored without retention controls | ✅ Passed | No user data stored without retention controls issues detected. |
| PII sent to external / cross-border destination | ✅ Passed | No pii sent to external / cross-border destination issues detected. |
| Lockfile resolution / integrity tampered | ✅ Passed | No lockfile resolution / integrity tampered issues detected. |
| Dependency runs install-time lifecycle script | ✅ Passed | No dependency runs install-time lifecycle script issues detected. |
| Possible dependency-confusion attack | ✅ Passed | No possible dependency-confusion attack issues detected. |
| Lockfile resolves a dependency the manifest does not declare | ✅ Passed | No lockfile resolves a dependency the manifest does not declare issues detected. |
| Checked-in build artefact modified without source change | ✅ Passed | No checked-in build artefact modified without source change issues detected. |
| Dockerfile build-step is insecure | ✅ Passed | No dockerfile build-step is insecure issues detected. |
| External artefact pulled in without integrity pinning | ✅ Passed | No external artefact pulled in without integrity pinning issues detected. |
| Changed export, importer not updated | ✅ Passed | No changed export with an un-updated importer detected. |
| Missing CODEOWNERS reviewer approval | ✅ Passed | No missing codeowners reviewer approval issues detected. |
| Missing security-team review on sensitive path | ✅ Passed | No missing security-team review on sensitive path issues detected. |
| Source changes without matching tests | ✅ Passed | No source changes without matching tests issues detected. |
| Migration missing rollback / down step | ✅ Passed | No migration missing rollback / down step issues detected. |
| Frontend importing database client directly | ✅ Passed | No frontend importing database client directly issues detected. |
| Route handler bypassing service layer | ✅ Passed | No route handler bypassing service layer issues detected. |
| Backend service importing UI module | ✅ Passed | No backend service importing ui module issues detected. |
| Cross-context internals import | ✅ Passed | No cross-context internals import issues detected. |
| Workspace package rule violation | ✅ Passed | No workspace package rule violation issues detected. |
| Inconsistent logging pattern | ✅ Passed | No inconsistent logging pattern issues detected. |
| Inconsistent error handling | ✅ Passed | No inconsistent error handling issues detected. |
| Endpoint missing input validation | ✅ Passed | No endpoint missing input validation issues detected. |
| Multi-write without transaction wrapper | ✅ Passed | No multi-write without transaction wrapper issues detected. |
| New feature shipped without feature flag | ✅ Passed | No new feature shipped without feature flag issues detected. |
| Module placed in the wrong workspace package | ✅ Passed | No module placed in the wrong workspace package issues detected. |
| Hallucinated import (package not installed) | ✅ Passed | No hallucinated import (package not installed) issues remaining after verification. |
| Nonexistent package (not found in registry) | ✅ Passed | No nonexistent package (not found in registry) issues detected. |
| Call to function that does not exist | ✅ Passed | No call to function that does not exist issues detected. |
| Generic placeholder identifier in production logic | ✅ Passed | No generic placeholder identifier in production logic issues detected. |
| Repetitive boilerplate (duplicated block) | ✅ Passed | No repetitive boilerplate (duplicated block) issues detected. |
| Overbroad try/catch swallowing all exceptions | ✅ Passed | No overbroad try/catch swallowing all exceptions issues detected. |
| TODO / FIXME on critical path | ✅ Passed | No todo / fixme on critical path issues detected. |
| Comment contradicts or fabricates code behaviour | ✅ Passed | No comment contradicts or fabricates code behaviour issues detected. |
| Abstraction defined but never used | ✅ Passed | No abstraction defined but never used issues detected. |
| Code style differs from rest of codebase | ✅ Passed | No code style differs from rest of codebase issues detected. |
| Established pattern ignored | ✅ Passed | No established pattern ignored issues detected. |
| Unhandled edge case (null / empty / zero / boundary) | ✅ Passed | No unhandled edge case (null / empty / zero / boundary) issues detected. |
| Insecure training-data / doc-example pattern | ✅ Passed | No insecure training-data / doc-example pattern issues detected. |
| Dead code (defined but never referenced) | ✅ Passed | No dead code (defined but never referenced) issues detected. |
| Deprecated API call | ✅ Passed | No deprecated api call issues detected. |
| API pattern from wrong library version | ✅ Passed | No api pattern from wrong library version issues detected. |
| API endpoint removed | ✅ Passed | No api endpoint removed issues detected. |
| HTTP method changed (GET ↔ POST etc.) | ✅ Passed | No http method changed (get ↔ post etc.) issues detected. |
| New required field added to request | ✅ Passed | No new required field added to request issues detected. |
| Field removed from response schema | ✅ Passed | No field removed from response schema issues detected. |
| Response field type changed | ✅ Passed | No response field type changed issues detected. |
| HTTP status code changed | ✅ Passed | No http status code changed issues detected. |
| Auth requirement added / removed / changed | ✅ Passed | No auth requirement added / removed / changed issues detected. |
| Error response shape changed | ✅ Passed | No error response shape changed issues detected. |
| Pagination behaviour changed | ✅ Passed | No pagination behaviour changed issues detected. |
| Outbound webhook payload schema changed | ✅ Passed | No outbound webhook payload schema changed issues detected. |
| GraphQL field removed without deprecation | ✅ Passed | No graphql field removed without deprecation issues detected. |
| GraphQL enum value removed | ✅ Passed | No graphql enum value removed issues detected. |
| Connected repositories | ✅ Passed | No contract break found against Autter-dev/autter-same-boat, Autter-dev/autter-cli. |
| Vendor API consumer | ✅ Passed | This PR does not touch call sites of an open vendor API change. |
| SQL injection | ✅ Passed | No sql injection issues detected. |
| Cross-site scripting (XSS) | ✅ Passed | No cross-site scripting (xss) issues detected. |
| Path traversal | ✅ Passed | No path traversal issues detected. |
| Command injection | ✅ Passed | No command injection issues detected. |
| Insecure deserialization | ✅ Passed | No insecure deserialization issues detected. |
| Weak cryptography | ✅ Passed | No weak cryptography issues detected. |
| Hardcoded secret | ✅ Passed | No hardcoded secret issues detected. |
| Insecure randomness for security material | ✅ Passed | No insecure randomness for security material issues detected. |
| Unsafe file upload | ✅ Passed | No unsafe file upload issues detected. |
| Missing input validation | ✅ Passed | No missing input validation issues detected. |
| Unsafe CORS configuration | ✅ Passed | No unsafe cors configuration issues detected. |
| Unsafe / open redirect | ✅ Passed | No unsafe / open redirect issues detected. |
| Missing CSRF protection | ✅ Passed | No missing csrf protection issues detected. |
| Unsafe cookie / session settings | ✅ Passed | No unsafe cookie / session settings issues detected. |
| Sensitive data exposure | ✅ Passed | No sensitive data exposure issues detected. |
| Invisible Unicode / Trojan Source characters | ✅ Passed | No invisible unicode / trojan source characters issues detected. |
| API key in source | ✅ Passed | No api key in source detected. |
| Access token in source | ✅ Passed | No access token in source detected. |
| Private key in source | ✅ Passed | No private key in source detected. |
| Database connection URL with embedded credentials | ✅ Passed | No database connection url with embedded credentials detected. |
| Cloud credential in source | ✅ Passed | No cloud credential in source detected. |
| Webhook signing secret in source | ✅ Passed | No webhook signing secret in source detected. |
| OAuth client secret in source | ✅ Passed | No oauth client secret in source detected. |
| JWT signing secret in source | ✅ Passed | No jwt signing secret in source detected. |
| Hardcoded password | ✅ Passed | No hardcoded password detected. |
| Auth middleware removed from route | ✅ Passed | No auth middleware removed from route issues detected. |
| Route protection changed (protected → public) | ✅ Passed | No route protection changed (protected → public) issues detected. |
| Permission / RBAC check removed | ✅ Passed | No permission / rbac check removed issues detected. |
| Required role weakened | ✅ Passed | No required role weakened issues detected. |
| Admin-only route exposed to lower privilege | ✅ Passed | No admin-only route exposed to lower privilege issues detected. |
| Token validation skipped in middleware chain | ✅ Passed | No token validation skipped in middleware chain issues detected. |
| JWT verification weakened or changed | ✅ Passed | No jwt verification weakened or changed issues detected. |
| Session expiration / TTL changed | ✅ Passed | No session expiration / ttl changed issues detected. |
| Password reset flow changed | ✅ Passed | No password reset flow changed issues detected. |
| OAuth callback / redirect handling changed | ✅ Passed | No oauth callback / redirect handling changed issues detected. |
| Webhook endpoint missing signature verification | ✅ Passed | No webhook endpoint missing signature verification issues detected. |
| Public route touches private/PII data | ✅ Passed | No public route touches private/pii data issues detected. |
| Frontend performance issue | ✅ Passed | No additional explanation was reported. |
| Frontend security issue | ✅ Passed | No additional explanation was reported. |
| Frontend correctness issue | ✅ Passed | No additional explanation was reported. |
| Accessibility issue | ✅ Passed | No additional explanation was reported. |
| Frontend maintainability issue | ✅ Passed | No additional explanation was reported. |
| Code correctness issue | ✅ Passed | No additional explanation was reported. |
| Runtime error risk | ✅ Passed | No additional explanation was reported. |
| Resource leak risk | ✅ Passed | No additional explanation was reported. |
| Data integrity risk | ✅ Passed | No additional explanation was reported. |
| Maintainability issue | ✅ Passed | No additional explanation was reported. |
| Scanner suppressions added | ✅ Passed | No additional explanation was reported. |
| Scanner settings changed | ✅ Passed | No additional explanation was reported. |
| Bundle Size Monitor | ✅ Passed | No additional explanation was reported. |
| Release Notes Curator | ✅ Passed | No additional explanation was reported. |
| Intent vs. implementation | ✅ Passed | The diff delivers both asks: doctor --quiet/-q prints nothing when compatible and one line per problem otherwise, refuses --json, and --version/-v/version print the SDK name and version, with the requested exports and tests in place. Requirements: 6 implemented. 2 change(s) with no backing requirement. (Int ... [truncated 42 chars] |
This comment is updated automatically whenever Autter reviews a new PR revision.
💡 1 suggestion(s) — conventions, hardening and hygiene, not defectsInline comments are reserved for concrete defects. These are things worth knowing that the diff does not prove wrong — a missing hardening layer, a convention the repo usually follows, a file that historically changes alongside one you touched. Skim, adopt what fits, ignore the rest.
🔎 1 low-signal finding(s) (test-file conventions, hardening advice on internal routes, packages the registry knows) were kept off this PR — see the Autter dashboard. |
Confidence Score: 4/5
Safe to merge; only minor suggestions remain. Findings
Summary
Diagramflowchart LR
subgraph g1["CLI version command and package exports"]
f1["…/src/cli.ts"]
f3["…/src/index.ts"]
end
subgraph g2["Quiet doctor reporting"]
f2["…/src/doctor.ts"]
f4["…/test/doctor-quiet.test.mjs (new)"]
end
f3 -->|"imports"| f2
f1 -->|"imports"| f2
View this PR in Autter · Reviewed at |
🤖 Release Notes CuratorRelease impact: minor. This adds user-facing capability ( One thing to confirm before release: in Draft changelog entry:
Custom agent · runs after review · configured in Autter |
Autter product walkAutter walked this change and found no problems. Revision: This change is a package or command-line tool, so Autter installed it the way a user receives it into a clean project and used it, rather than only running the repo's own tests. User swarm: 5 scripted and regular-user agents.
Live view: streamed through the Autter API relay from ap-southeast-1. Attempts
The product walk is advisory: it never blocks a merge. |
🧪 Autter test runAutter checked This PR changes 4 source files. It ran the project's test commands for the workspaces this PR touched, because those suites are the fastest check that the change did not break existing behavior. It wrote 2 temporary tests for changed files that had no matching test, so the new behavior is still checked. It also executed 8 checks from the PR's test plan. Targeted agent checks: Autter ran targeted checks against the files this PR changed — it executed uncovered test-plan items and, where a changed file had no matching test, wrote a temporary test to verify the new behavior. Execution summary: 13 checks executed · 13 passed. Project test commands
Autter targeted verification11 tests executed · 11 passed. Code-level simulationsRevision
Declared tests: 43 test file(s) found — 17 ran, 0 not observed in suite output, 26 did not run. "Did not run" means no test command that Autter executed covers the file, so nothing in it was checked.
|
| Changed file | Related test | Result |
|---|---|---|
packages/runtime-node/src/cli.ts |
packages/runtime-node/test/doctor-quiet.test.mjs |
✅ no declared test — temporary test passed |
packages/runtime-node/src/doctor.ts |
packages/runtime-node/test/doctor-quiet.test.mjs |
✅ no declared test — temporary test passed |
packages/runtime-node/src/index.ts |
packages/runtime-node/test/doctor-quiet.test.mjs |
✅ existing test passes |
🤖 Coverage-check evidence
packages/runtime-node/src/cli.ts
packages/runtime-node/src/doctor.ts
packages/runtime-node/src/index.ts
Temporary tests are written under .autter/scratch/ for verification only — they are never committed to the repository.
Test plan (from the PR description)
- ✅ Run
npm run buildandnpm run test -w @autter/runtime-node. — verified by agent execution - ✅ Run
npx @autter/runtime-node doctorand compare the output withmain. — verified by agent execution - ✅ Run
npx @autter/runtime-node doctor --quietagainst a healthy ingester and confirm only the essential output appears. — verified by agent execution - ✅ Run
doctor --quietwith a deliberately mismatched SDK or ingester version and confirm the mismatch is reported. — verified by agent execution - ✅ Run
doctor --quietwith a missing or malformed ingest key and confirm the key problem is reported. — verified by agent execution - ✅ Run
doctor --quietwith the ingester URL pointing at an unreachable host and confirm the failure is reported. — verified by agent execution - ✅ Run
npx @autter/runtime-node --version,-v, andversion, and confirm each prints<name> <version>. — verified by agent execution - ✅ Run
doctor --help(or the equivalent usage path) and confirm--quietis documented. — verified by agent execution
🤖 Agent-executed checks
✅ Run npm run build and npm run test -w @autter/runtime-node.
Build completed successfully. Runtime-node suite: 129 tests, 129 passed, 0 failed.
✅ Run npx @autter/runtime-node doctor and compare the output with main.
Both doctor reports exited 0 and matched; report identified runtime-node@1.5.0, ingester@1.5.0, and schema unconfigured.
✅ Run npx @autter/runtime-node doctor --quiet against a healthy ingester and confirm only the essential output appears.
Exit 0; stdout/stderr empty.
✅ Run doctor --quiet with a deliberately mismatched SDK or ingester version and confirm the mismatch is reported.
Exit 1; quiet output named incompatible features and said operation logging needs ingester >=1.4.0, yours is 1.3.4.
✅ Run doctor --quiet with a missing or malformed ingest key and confirm the key problem is reported.
Exit 1; output: autter doctor: ingest key rejected (401). The supplied key was not echoed.
✅ Run doctor --quiet with the ingester URL pointing at an unreachable host and confirm the failure is reported.
Exit 2; output reported the ingester unreachable at 127.0.0.1:9.
✅ Run npx @autter/runtime-node --version, -v, and version, and confirm each prints <name> <version>.
Each exited 0 and printed @autter/runtime-node 1.5.0.
✅ Run doctor --help (or the equivalent usage path) and confirm --quiet is documented.
Exit 0; help output documented -q, --quiet.
⬜ items could not be verified automatically and still need a manual check.
|
🟡 [deterministic] Tests failed: packages/runtime-node/test/doctor.test.mjs — Risk: 40/100
Failing tests
🛠 AI fix prompt (copy & paste into your coding agent)Flagged by Autter security & observability checks. |
Autter review completed — merge blockedAutter completed its review and found at least one confirmed merge-blocking finding. Autter blocked this PR: test; test_failure; 2 confirmed correctness/runtime finding(s). See the findings below and the full PR review for details. How to fix: Resolve the blocking finding (or have a maintainer dismiss it), then push a new commit. Other findings explain the additional warnings, but they did not independently block this PR. The merge gate remains blocked until the confirmed finding is resolved. RetryRetrying reruns the review on the same commit. If the commit is unchanged, the same finding and block may be reproduced.
Autter will post a new comment when the retry starts. |
| return lines.join("\n"); | ||
| } | ||
|
|
||
| /** One line per problem, or nothing at all when everything is compatible. */ |
There was a problem hiding this comment.
🟠 [verified] Simulation failed: Quiet doctor reports mismatch, key, and unreachable-ingester failures — Risk: 75/100
Ran: node '.autter/scratch/doctor-quiet-harness.mjs'
The 503 key-check case exits nonzero and reports the storage-unavailable problem rather than only a generic incompatible status.: expected The 503 invocation exits nonzero and stderr identifies storage unavailable without relying only on a generic incompatible message.; observed {"exitCode":1,"stdout":"","stderr":"autter doctor: incompatible (exit 1)"}
Confirmed changed-code cause: runDoctor classifies a POST /v1/traces 503 as key="storage_unavailable" and exitCode=1, but formatQuietDoctorReport only renders rejected/client_key keys, feature mismatches, and issues. With a compatible /v1/compat response and no other problems, its lines remain empty and it falls through to "autter doctor: incompatible (exit 1)". The CLI correctly sends this nonzero report to stderr, so the missing diagnostic is specifically in quiet report formatting.
🛠 AI fix prompt (copy & paste into your coding agent)
In formatQuietDoctorReport, add a diagnostic for report.key === "storage_unavailable" (for example, "autter doctor: storage unavailable (503)") before the generic fallback. Add a quiet-formatting regression test for a report with key="storage_unavailable", exitCode=1, compatible features, and no issues; preferably also cover the CLI's stderr behavior for that report.
Flagged by Autter security & observability checks.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🤖 Release Notes CuratorRelease impact: minor. The PR adds user-facing capabilities ( Labeled Heads-up for the release notes: when Changelog entry (draft):
Custom agent · runs after review · configured in Autter |
|
🟠 [verified] Change fails its execution check: packages/runtime-node/src/doctor.ts — Risk: 70/100 The execution check failed while exercising the changed behavior in Ran: 🛠 AI fix prompt (copy & paste into your coding agent)Flagged by Autter security & observability checks. |
🤖 Release Notes CuratorRelease impact: minor. The PR adds user-facing capability (a Changelog draft:
Custom agent · runs after review · configured in Autter |
🤖 Release Notes CuratorRelease impact: minor. The PR adds user-facing capability ( One behavior change to note: on a non-zero doctor exit, human-readable output now goes to stderr instead of stdout, and Changelog draft:
Custom agent · runs after review · configured in Autter |
|
🟠 [verified] Change fails its execution check: packages/runtime-node/src/cli.ts — Risk: 70/100 The execution check failed while exercising the changed behavior in Ran: 🛠 AI fix prompt (copy & paste into your coding agent)Flagged by Autter security & observability checks. |
🤖 Release Notes CuratorRelease impact: minor. This adds user-facing capability ( Changelog entry:
Custom agent · runs after review · configured in Autter |
There was a problem hiding this comment.
Autter approved #30 with notes: the merge gate is clear, and 4 non-blocking finding(s) remain as review detail. (Also detected: 1 finding(s) dismissed as likely false positives by verification, 1 low-signal finding(s) kept off GitHub and shown in the Autter dashboard.)
🤖 Release Notes CuratorRelease impact: minor. This adds user-facing capabilities ( Changelog draft:
Custom agent · runs after review · configured in Autter |
There was a problem hiding this comment.
Autter approved #30 with notes: the merge gate is clear, and 5 non-blocking finding(s) remain as review detail. (Also detected: 1 finding(s) dismissed as likely false positives by verification, 1 low-signal finding(s) kept off GitHub and shown in the Autter dashboard.)
🤖 Release Notes CuratorRelease impact: minor. This adds user-facing capability: Changelog entry (draft):
Custom agent · runs after review · configured in Autter |
There was a problem hiding this comment.
Autter approved #30 with notes: the merge gate is clear, and 5 non-blocking finding(s) remain as review detail. (Also detected: 1 finding(s) dismissed as likely false positives by verification, 1 low-signal finding(s) kept off GitHub and shown in the Autter dashboard.)
Autter task listNo concrete follow-up tasks were generated for this PR. Generated from PR diff, blast radius, and context. Issues foundNo unresolved code findings remain for this revision — 2 finding(s) dismissed as likely false positives by verification. Dismissed findings stay listed with their verdicts in the Autter review dashboard. 5 additional non-blocking finding(s) are available in the Autter review. |
This is a test PR to exercise Autter's product walk. It will not be merged.
Two small CLI and library changes to
@autter/runtime-node:autter-runtime doctor --quiet(-q) prints nothing when everything is compatible, and one line per problem otherwise, which suits CI. It can't be combined with--json.formatDoctorReport(report, { quiet })andparseDoctorArgsare now exported.autter-runtime --version(also-vandversion) prints the SDK name and version.Tests:
packages/runtime-node/test/doctor-quiet.test.mjs.npm test -w @autter/runtime-nodepasses (129 tests).What the walk should exercise: the package walk, which installs the package like a consumer and runs scripted users against the CLI.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary
Summary generated by Autter.
Why this change
The runtime-node doctor and CLI need quiet-reporting and version-query behavior that can be checked with regression tests.
What changes for users
Adds
doctor --quietsupport and handles--version,-v, andversionin the runtime-node CLI. Exposes the version-line helper from the package entry point and adds a doctor quiet-mode test.Implementation and review notes
DoctorOptions,parseDoctorArgs, andformatDoctorReporthandle quiet mode.packages/runtime-node/src/index.ts.packages/runtime-node/test/doctor-quiet.test.mjs.Changes
Adds quiet-mode support for the runtime-node doctor and version reporting through
--version,-v, andversion. Exports the version-line helper from the package entry point and adds a regression test for quiet doctor behavior. These additive CLI changes do not alter existing API or wire-format contracts.Acceptance Criteria
Test Plan
npm run test -w @autter/runtime-nodeand confirm the doctor quiet-mode test passes.--quietand confirm normal report output is suppressed while mismatch, key, and unreachable-ingester failures remain visible.--version,-v, andversion; confirm each reports the installed SDK name and version.Rollback Plan
Related Issues
No linked issue was identified.
Written for commit a3a2d46. Summary will update on new commits.