Record per-step line ranges + daemon-outage durability (v1.7.1) - #56
Conversation
Store the exact line ranges each agent checkpoint (step) touches on the durable Checkpoint metric event (cli_metrics event 4, value position 9), so per-session step detail survives a later checkpoint overwriting those lines — the case the authorship note drops. The event already carried the tool, session id and trace id. Also close a durability gap: checkpoint IPC was fire-and-forget with no daemon liveness check, so a down daemon silently dropped a whole session's steps. On a send failure the checkpoint handler now spawns the daemon via ensure_daemon_running and retries once (no-op when already up, so the hot path is unchanged). Generated-By: PostHog Desktop Task-Id: c9f915d0-9325-4314-9f85-5f6a1d7ca97f
There was a problem hiding this comment.
🔴 Autter review in progress — running security, correctness & dependency checks on this PR. Follow live step-by-step progress on the autter/review-gate check in the merge box. Merge is blocked until the gate completes; Autter approves automatically when the review comes back clean, and releases this hold with a neutral review when it finds non-blocking issues.
🤖 AI authorship99% of changed code was AI-written — 0% human, 1% untracked, across 97 attributed line(s). By model: Most AI-authored files:
Provenance measured at authorship time by the autter CLI. |
🚦 Pre-merge checks ·
|
| Check | Status | Explanation |
|---|---|---|
| Batch size limit not detected | 1 potential issue(s) detected (max risk 68/100): src/daemon/checkpoint.rs:52. | |
| Missing linked tracker issue | 1 potential issue(s) detected (max risk 50/100): src/daemon/checkpoint.rs:48. | |
| Source changes without matching tests | 3 potential issue(s) detected (max risk 73/100): src/commands/autter_handlers.rs:543, src/daemon/checkpoint.rs:48, src/metrics/events.rs:455. |
✅ Passed checks (177)
| Check | Status | Explanation |
|---|---|---|
| Too many files changed | ✅ Passed | Changed 6 file(s), within the limit of 50. |
| Too many lines changed | ✅ Passed | Changed 104 line(s), within the limit of 1000. |
| Too many unrelated chapters | ✅ Passed | 2 chapter(s) detected, within the limit of 6. |
| Generated files hiding real changes | ✅ Passed | Generated-file volume (2 lines) does not obscure the 102 hand-written line(s). |
| Missing PR context | ✅ Passed | PR context looks sufficient. |
| Mixed concerns (refactor + behavior change) | ✅ Passed | No clear mix of refactor and behavior changes detected. |
| Migration + app logic + UI combined in one PR | ✅ Passed | Migration, app logic, and UI are not all combined. |
| 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. |
| 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. |
| 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. |
| Publicly exposed storage | ✅ Passed | No publicly exposed storage issues detected. |
| Over-permissive IAM policy | ✅ Passed | No over-permissive iam policy issues detected. |
| Security group open to the internet | ✅ Passed | No security group open to the internet issues detected. |
| Unencrypted storage at rest | ✅ Passed | No unencrypted storage at rest issues detected. |
| Infrastructure missing access logging | ✅ Passed | No infrastructure missing access logging issues detected. |
| Hardcoded secret in IaC | ✅ Passed | No hardcoded secret in iac issues detected. |
| Infrastructure misconfiguration | ✅ Passed | No infrastructure misconfiguration issues detected. |
| Deprecated Kubernetes API version | ✅ Passed | No deprecated kubernetes api version issues detected. |
| Compound IaC attack chain | ✅ Passed | No compound iac attack chain 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| Direct env-var access bypasses config module | ✅ Passed | No direct env-var access bypasses config module issues detected. |
| Hallucinated import (package not installed) | ✅ Passed | No hallucinated import (package not installed) issues detected. |
| 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. |
| Doc-copy code with insecure defaults | ✅ Passed | No doc-copy code with insecure defaults 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. |
| 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. |
| 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. |
| Dependency has known CVE | ✅ Passed | No dependency has known cve findings. |
| Malware package in dependency | ✅ Passed | No malware package in dependency findings. |
| Possible typosquat dependency | ✅ Passed | No possible typosquat dependency findings. |
| Newly introduced dependency | ✅ Passed | No newly introduced dependency findings. |
| Unpinned production dependency | ✅ Passed | No unpinned production dependency findings. |
| Deprecated dependency | ✅ Passed | No deprecated dependency findings. |
| License allow-list violation | ✅ Passed | No license allow-list violation findings. |
| 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. |
| 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. |
| Co-change coupling | ✅ Passed | No additional explanation was reported. |
| Redundant alias / duplicate import | ✅ Passed | No additional explanation was reported. |
| Redundant type construct | ✅ Passed | No additional explanation was reported. |
| Simplifiable code | ✅ Passed | No additional explanation was reported. |
| Unnecessary type assertion | ✅ Passed | No additional explanation was reported. |
| Module smell | ✅ Passed | No additional explanation was reported. |
| Excessive complexity | ✅ 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. |
| AI authorship | ✅ Passed | 99% AI-authored (claude:claude-opus-4-8: 99%), 0% human, 1% untracked. |
| Dependency Auditor | ✅ Passed | No additional explanation was reported. |
| Complexity Guard | ✅ Passed | No additional explanation was reported. |
| Release Notes Curator | ✅ Passed | No additional explanation was reported. |
This comment is updated automatically whenever Autter reviews a new PR revision.
🧭 PR hygiene & process suggestionsAutter has 4 suggestion(s) about the shape of this PR (size, scope, reviewability). These are process guidance — not code defects — so they are consolidated here instead of posted as inline comments on individual files. 🔴 Source changes without matching tests — Risk: 95/100This source file was changed but no sibling test file is added or modified anywhere in the PR. Blast radius — skipping this guardrail cascades to the downstream usage that depends on this file: functions 🛠 AI fix prompt (copy & paste into your coding agent)🔴 Source changes without matching tests — Risk: 95/100This source file was changed but no sibling test file is added or modified anywhere in the PR. Blast radius — skipping this guardrail cascades to the downstream usage that depends on this file: functions 🛠 AI fix prompt (copy & paste into your coding agent)🔴 Source changes without matching tests — Risk: 95/100This source file was changed but no sibling test file is added or modified anywhere in the PR. Blast radius — skipping this guardrail cascades to the downstream usage that depends on this file: functions 🛠 AI fix prompt (copy & paste into your coding agent)🟠 Missing linked tracker issue — Risk: 65/100This PR's title and body do not reference any tracker issue (GitHub 🛠 AI fix prompt (copy & paste into your coding agent)Flagged by Autter PR-hygiene checks. 💡 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.
|
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: gix-fs@0.19.1 — CVE-2026-44471 — Risk: 75/100
gix-fs@0.19.1 (crates.io) is affected by CVE-2026-44471 (GHSA-f89h-2fjh-2r9q) — high severity. gix-fs: Symlink prefix-reuse allows worktree escape during checkout
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `gix-fs` past the version affected by CVE-2026-44471, or apply the advisory's mitigation. Details: https://osv.dev/GHSA-f89h-2fjh-2r9q.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: gix-validate@0.11.0 — CVE-2026-82253 — Risk: 75/100
gix-validate@0.11.0 (crates.io) is affected by CVE-2026-82253 (GHSA-p3hw-mv63-rf9w) — high severity. gix's submodule name validation bypass + trust inheritance flaw enables path traversal and credential disclosure
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `gix-validate` past the version affected by CVE-2026-82253, or apply the advisory's mitigation. Details: https://osv.dev/GHSA-p3hw-mv63-rf9w.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: anyhow@1.0.102 — RUSTSEC-2026-0190 — Risk: 50/100
anyhow@1.0.102 (crates.io) is affected by RUSTSEC-2026-0190 — unknown severity. Unsoundness in Error::downcast_mut()
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `anyhow` past the version affected by RUSTSEC-2026-0190, or apply the advisory's mitigation. Details: https://osv.dev/RUSTSEC-2026-0190.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: crossbeam-epoch@0.9.18 — RUSTSEC-2026-0204 — Risk: 50/100
crossbeam-epoch@0.9.18 (crates.io) is affected by RUSTSEC-2026-0204 — unknown severity. Invalid pointer dereference in fmt::Pointer impl for Atomic and Shared when the underlying pointer is invalid
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `crossbeam-epoch` past the version affected by RUSTSEC-2026-0204, or apply the advisory's mitigation. Details: https://osv.dev/RUSTSEC-2026-0204.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: event-listener@5.4.1 — RUSTSEC-2026-0221 — Risk: 50/100
event-listener@5.4.1 (crates.io) is affected by RUSTSEC-2026-0221 — unknown severity. event-listener allows !Send tags to cross thread boundaries via StackSlot
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `event-listener` past the version affected by RUSTSEC-2026-0221, or apply the advisory's mitigation. Details: https://osv.dev/RUSTSEC-2026-0221.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: memmap2@0.9.9 — RUSTSEC-2026-0186 — Risk: 50/100
memmap2@0.9.9 (crates.io) is affected by RUSTSEC-2026-0186 — unknown severity. Unchecked pointer offset in crate memmap2
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `memmap2` past the version affected by RUSTSEC-2026-0186, or apply the advisory's mitigation. Details: https://osv.dev/RUSTSEC-2026-0186.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: paste@1.0.15 — RUSTSEC-2024-0436 — Risk: 50/100
paste@1.0.15 (crates.io) is affected by RUSTSEC-2024-0436 — unknown severity. paste - no longer maintained
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `paste` past the version affected by RUSTSEC-2024-0436, or apply the advisory's mitigation. Details: https://osv.dev/RUSTSEC-2024-0436.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: rand@0.8.5 — RUSTSEC-2026-0097 — Risk: 50/100
rand@0.8.5 (crates.io) is affected by RUSTSEC-2026-0097 — unknown severity. Rand is unsound with a custom logger using rand::rng()
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `rand` past the version affected by RUSTSEC-2026-0097, or apply the advisory's mitigation. Details: https://osv.dev/RUSTSEC-2026-0097.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟠 [deterministic] Vulnerable dependency: scc@2.4.0 — RUSTSEC-2026-0205 — Risk: 50/100
scc@2.4.0 (crates.io) is affected by RUSTSEC-2026-0205 — unknown severity. Array::insert violates exception safety if compare function panics, leading to potential Double-Free
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `scc` past the version affected by RUSTSEC-2026-0205, or apply the advisory's mitigation. Details: https://osv.dev/RUSTSEC-2026-0205.
Flagged by Autter security & observability checks.
| [[package]] | ||
| name = "autter" | ||
| version = "1.7.0" | ||
| version = "1.7.1" |
There was a problem hiding this comment.
🟡 [deterministic] Vulnerable dependency: rand@0.8.5 — GHSA-cq8v-f236-94qc — Risk: 35/100
rand@0.8.5 (crates.io) is affected by GHSA-cq8v-f236-94qc — low severity. Rand is unsound with a custom logger using rand::rng()
🛠 AI fix prompt (copy & paste into your coding agent)
Upgrade `rand` past the version affected by GHSA-cq8v-f236-94qc, or apply the advisory's mitigation. Details: https://osv.dev/GHSA-cq8v-f236-94qc.
Flagged by Autter security & observability checks.
|
Autter found 1 issue(s) it could not attach to the current diff (the anchor line is not part of a diff hunk, or the PR advanced during the review): 🔴 [deterministic] Build failed: autter (risk 80/100)
|
🧪 Autter test runAutter checked This PR changes 5 source files. It ran the project's test command for the workspace this PR touched, because those suites are the fastest check that the change did not break existing behavior. Targeted agent checks: Autter also checks the change itself: it executes the test-plan items the project's suites do not cover, and it writes a temporary test for each changed file that has no test. That session stopped before it reported anything, because it stopped with an error. Nothing from it is included below — only the project's own test commands are reported. As a result, 3 changed files and 3 test-plan items stayed unchecked. Execution summary: 1 check executed · 0 passed · 1 failed. Why suites failed
Project test commands
❌ autter — `cargo test` outputFailing tests3 test cases failed.
Full failure outputthe file failed before any test reported — the file failed before any test reported — the file failed before any test reported — Declared tests: 3 test file(s) found — 3 ran, 0 not observed in suite output, 0 did not run. The project's command reported 0 of them. Autter ran the other 3 files one by one so every declared test has a verdict (0 passed, 3 failed). Tests for this change Autter wrote no test for this change. The session that writes them stopped before it reported anything, because it stopped with an error. 3 changed source files therefore have no execution-backed check in this run. Changed files with no execution-backed check
Test plan (from the PR description)
⬜ items could not be verified automatically and still need a manual check. |
|
Autter's deep review traced 3 finding(s) to file(s) this PR does not change — they can't be shown as inline comments, but the change still affects them: 🟡 [deterministic] Tests failed: agent-support/vscode/src/test/extension.test.ts (risk 40/100)
Failing tests
🟡 [deterministic] Tests failed: agent-support/vscode/src/test/semver.test.ts (risk 40/100)
Failing tests
🟡 [deterministic] Tests failed: agent-support/vscode/src/test/vscode-hooks.test.ts (risk 40/100)
Failing tests
|
|
Autter found 1 issue(s) it could not attach to the current diff (the anchor line is not part of a diff hunk, or the PR advanced during the review): 🟠 [deterministic] Tests failed: autter (risk 75/100)
Failing tests
|
Autter product walkAutter did not drive this change in a browser. Autter must build the app before it can open it in a browser. The build of autter ( |
Autter task listNo concrete follow-up tasks were generated for this PR. Generated from PR diff, blast radius, and context. Issues found
+ 1 suggestion(s) (conventions, hardening, hygiene) in the review summary comment. 🛠 Fix optionsCheck one option and Autter will start a fix run for the unresolved issues above.
Checking a box triggers the fix run immediately — Autter comments back with the issues being fixed and the branch created for each. |
What
Makes the CLI reliably track what each agent step did and which lines it touched, so the AI usage page can show per-session step detail. Also bumps the release version to 1.7.1 so it deploys.
Per-step line ranges
Each checkpoint (step) now records the exact line ranges it touched on the durable
cli_metricsCheckpoint event (event_id = 4, new value position9 = line_ranges, JSON[[start,end],…]). The event already carried the tool, session id and trace id.This matters because the
authorship/3.0.0note only keeps line attributions that survive to commit — when an agent revises its own edit before committing, the earlier step vanishes from the note. The Checkpoint event fires once per file per checkpoint regardless, so step detail is now complete.Daemon-outage durability
Checkpoint IPC was fire-and-forget with no liveness check: a down daemon silently dropped a whole session's steps (
exit(0)). On a send failure the handler now spawns the daemon viaensure_daemon_runningand retries once. It is a no-op when the daemon is already up, so the hot path is unchanged; it also rescues transient blips.Release
Cargo.toml/Cargo.lock/INSTALL.md: 1.7.0 → 1.7.1.main,tag-release.ymltagsv1.7.1andrelease.ymlpublishes binaries + npm.Consumer
The dashboard side (backend read + interactive JSON tree on the AI Provenance page) lands in the paired autter-monorepo PR.
Testing
cargo buildpasses. The newline_rangesposition is additive — older rows simply lack it and the reader treats them as empty.Created with PostHog Desktop
Summary
Summary generated by Autter.
Record per-step line ranges + daemon-outage durability (v1.7.1) updates 6 file(s) on posthog/provenance-session-steps against main. The AI-generated summary was temporarily unavailable, so Autter produced this deterministic summary instead.
Changes
Test Plan
Acceptance Criteria
Rollback Plan
Related Issues
Risk Assessment