In internal/zip/zip.go lines 94-96, when the accumulated file size hits maxTotalSize (10 MB), the walk is stopped by returning io.EOF. The caller treats io.EOF as normal success. No flag or error is returned to indicate the zip is incomplete. The run command in cmd/run.go never learns files were silently dropped, so it submits a partial repo to the API without any warning. For large repos this means graph analysis is based on a subset of files with no visible indication to the user.
Fix: Change RepoZip signature to return a truncated bool: func RepoZip(root string) ([]byte, bool, error). In cmd/run.go caller, log a warning if truncated is true. All callers of RepoZip in cmd/run.go and dryRunHandler in cmd/status.go need updating.
Affected files:
- internal/zip/zip.go:94-96
- cmd/run.go:118
- cmd/status.go dryRunHandler
@claude please implement this